我们知道,很多maven官方插件都支持skip参数,命令行指定skip=true即可跳过此插件的执行,非常方便。但是很多第三方的插件根本就不支持skip参数,无法通过命令行传...
我们知道,很多maven官方插件都支持skip参数,命令行指定skip=true即可跳过此插件的执行,非常方便。但是很多第三方的插件根本就不支持skip参数,无法通过命令行传...
很多文章搞长篇大论大讲特讲人类为了让计算机能够准确表示各种字符的演化历史,这完全是没有必要的,几句话就能说明白。 "字符集"和"字符集编码"是两回事 字符集(Charset ...
很不错,解决了我的生产bug😭😭😭
用JavaFX写GUI的朋友肯定少不了SceneBuilder这个神器,拖拖拽拽就能完成窗口布局。但是对于Mac M1的用户来说, SceneBuilder 并没有提供M1版...
本篇我们专注invokevirtual这一条指令,先通过简单粗暴的方式实现指令的功能,然后探究如何通过著名的虚方法表(Virtual Method Table)来进行一些优化...
我们都知道在Java中final字段都是要在定义时完成初始化工作的,否则通不过编译。但是有一处例外,那就是对于对象的字段来说final字段可以"延迟"到构造方法,或者stat...
首先需要明确几个问题。 没有Native方法JVM什么也做不了 可能很多人认为native方法是Java里的禁区,使用本地方法会牺牲可移植性,而且还会有额外开销,貌似几乎没有...
一直以来又长又臭的调用链简直就是Java语言的标志性特色,方法调用可谓是Java世界里表达一切逻辑的基石。现在我们终于具备了实现它的基础。 JVM中的5条方法调用指令 在JV...
在上一篇中我们实现了一个能跑的解释器,支持了一些基本的栈操作指令。现在我们就可以开始实现"有点用"的数学运算和条件判断了。 github: https://github.co...
在上一篇中我们已经完成了class文件的解析工作,虽然没有解析所有的属性,但是已经足够支持一些基本的算法题Java代码编译生成的class文件了。有了这一步,日后如果遇到新的...
正确解析class文件是万里长征第一步。本篇我们会全程使用golang完成class文件的解析工作。 数据类型 JVM的class文件完全是二进制文件,最小单位是字节,也有数...
学习JVM最好的方法,就是实现它,没有之一。 对JVM感兴趣的朋友可能会去主动寻找讲解JVM的书,比如《深入理解JVM》、《Java虚拟机规范》、《虚拟机的设计与实现》,但是...
随着类似Vue、Angular这类通过JS将web页面"画"出来的前端框架的流行,爬取网页不再像以前那样随便发个GET请求,解析HTML就能搞定了。对于使用这类框架制作的SP...
在Java应用中,我们往往会使用spring-kafka组件简单的设置一下group_id, topic就开始消费消息了,其实这样会埋下巨大的安全隐患,即当消费速度过慢时有可...
常见但是错误的实现 在业务系统中防重名是一个非常普遍的需求,例如用户注册时不允许用户名重复、已登录用户不可以在自己的账号范围内创建同名的某种实体等。很多人在实现的时候都是简单...
Go1.14即将于2020年2月底发布,这个版本有一些值得注意的性能改进,如下: defer 跟正常的函数调用相比,defer几乎已经没有额外的开销了。你可以在对性能极度敏感...
在讨论所有的错误处理实践之前首先要接受一个事实,那就是每调用一个函数/方法都要检查一下返回值中的err是否为空的操作是无法避免的,这可能是很多从Java转过来的开发者们除语法...
开门见山 可重复读仅能保证再次执行同样的查询时,先前返回【过】的结果一定跟之前一样,而不保证会不会多出别的记录。如果返回了之前没有出现过的记录,就是幻读。 隔离级别 数据库事...
首先我们来看一下维基百科对零拷贝给出的定义: 零拷贝描述了一种计算机中的操作,即CPU在执行某项任务时不需要先将数据从内存中的一个位置移动到另一个位置就可以完成操作,从而节省...