生产消费者模式使用阻塞队列控制消息的产生和消费代码实现:class MessageQueue { private final LinkedList<Message> list = new LinkedList<>(); private final int capacity; public Mess ......
366
0
0
2022-04-21
背景介绍Java源代码被编译为Class文件之后,Class文件结构是JVM加载Class,实例化对象,和进行方法调用的重要依据.每个 Class 文件都是由 8 字节为单位的字节流组成,所有的 16 位、32 位和 64 位长度的数 据将被构造成 2 个、4 个和 8 个 8 字节单位来表示。多字节数据项总是按照 Big-Endian1的顺 序进行存储。在 ......
293
0
0
2022-04-21
保护性暂停模式Guarded Suspension Pattern线程间通信模型,Future和Promise的实现原理代码实现:class GuardedSuspension { private Object response; public Object get () { synchronized (this) ......
394
0
0
2022-04-21
前一段时间一直在做性能调优的工作,颇有收获。因此,简单的总结并分享下研究成果。性能调优很有趣但也是个无底洞,不可能在一篇文章全部阐述完。这里只是提供一个方向,以后碰到了知道可以从方向方面入手即可。具体如下:代码层面for循环中不要利用 + 号去拼接字符串在循环次数比较多的for循环中,我们也不要利用 + 号去拼接字符串。具体例子如下:具体解决方法如下:根据具 ......
332
0
0
2022-04-21
听说,你已经开始学习 Java 编程了?很好。你想在你的 Linux 系统上运行 Java 程序?那就更好了。让我告诉你如何在 Ubuntu 和其他 Linux 发行版的终端中运行 Java。在 Ubuntu 中运行 Java 程序让我们在这里按正确的步骤进行。第一步:安装 Java 编译器要运行一个 Java 程序,你需要先编译该程序。为此你需要 Java ......
335
0
0
2022-04-20
显示精简版的字节码指令javap -c [.class] 显示精简版的字节码指令javap -v [.class] 字节码 助记符 指令含义 0x00 nop 什么都不做 0x01 aconst_null 将null推送至栈顶 0x02 iconst_m1 将int型-1推送至栈顶 0x03 iconst ......
280
0
0
2022-04-20
背景:springboot 1.5.1 +Thymeleaf 1.5.1 +WebUploader 0.1.5第一步:去官网下载项目包第二步:引入CSS和JS第三步:在页面上准备一个picker按钮和存放文件信息的list容器第四步:初始化WebUploader,js代码如下注释:我这里auto赋值为true,表示文件自动上传,所以页面上没有上传按钮,如果赋 ......
291
0
0
2022-04-20
外部库填补了 Java 核心库中的一些功能空白。Java 自带有一组核心库,其中包含了定义常用数据类型和相关行为的库(例如 String 和 Date)、与主机操作系统交互的实用程序(例如 System 和 File),以及一些用来管理安全性、处理网络通信、创建或解析 XML的有用的子系统。鉴于核心 ......
299
0
0
2022-04-20
短链接发送数据后断开连接,下次发送时重新建立连接// Client端 public static void main (String[] args) { for (int i = 0; i < 10; i++) { send(); } } // 发送数据 public void send () { ......
316
0
0
2022-04-20
Logstash 简介Logstash 是一个数据流引擎:它是用于数据物流的开源流式 ETL(Extract-Transform-Load)引擎在几分钟内建立数据流管道具有水平可扩展及韧性且具有自适应缓冲不可知的数据源具有200多个集成和处理器的插件生态系统使用 Elastic Stack 监视和管理部署Logstash 是如何工作的?Logstash 包含 ......
446
0
0
2022-04-20
本文案例收录在 github.com/chengxy-nds/Springboot-... 大家好,我是小富~ 最近接个任务,用webhook做了个代码提交监听功能,就是有人向远程仓库提交代码后,会在企业微信群内发送一条消息,类似 @XXX 在XXX时间,向XXX项目提交 XXXX 代码 这样的文案。 至于为啥要做这么个工具,没办法官大一级压死人,其实我 ......
392
0
0
2022-04-19
前言看到很多人不理解什么是RPC,特撰文分享一下。(尤其是那些分不清http和rpc的人,一定要看)RPC概念RPC即远程过程调用(Remote Procedure Call),这么讲你可能不明白,画个图这就是一个RPC场景我习惯这么去理解:RPC(远程过程调用)是一功能的称呼,这个功能就是客户端和服务端之间数据交互的过程,不是一个具体的技术/代码。就好比“ ......
393
0
0
2022-04-19
让用户用命令行选项调整你的 Java 应用程序运行方式。通常向终端中输入命令时,无论是启动 GUI 应用程序还是仅启动终端应用程序,都可以使用 命令行选项options or switches or flags (以下简称选项)来修改应用程序的运行方式。这是 POSIX 规范 设定的标准,因此能够检测和解析选项对 Ja ......
380
0
0
2022-04-18
不管是爱它还是恨它,都很难避开 Java。Java 仍然是一种非常流行的编程语言,在学校里教,在企业里用。如果你想使用基于 Java 的工具或用 Java 编程,你就需要在你的系统上安装 Java。这就变得很混乱,因为围绕着 Java 有很多技术术语。Java 开发工具包Java Development Kit(JDK)用于创建 Java 程序Java 运行 ......
379
0
0
2022-04-18
一本新的展示了开发者如何继续使用 Java 框架来构建新的无服务器功能的电子书。 无服务器 架构已经成为一种高效的解决方案,无论是物理服务器、虚拟机还是云环境,都可以根据实际工作负载调整超额配置和不足配置资源(如 CPU、内存、磁盘、网络)。然而,在选择新的编程语言来开发无服务器应用时,Java 开发者有一个担忧。对于云上的无服务器部 ......
317
0
0
2022-04-18