摘要:前言 因为平时的开发工具是使用IntelliJ IDEA,所以热部署项目代码的时候,使用的Jrebel。因为Jrebel是收费的,所以以前用的时候都是在网上找破解方法(国人通用做法),在网上找到的办法是输入一个在线激活服务,来进行激活。由于简单方便就一直这样用的,今天早上打开IDEA后发现,Jreb 阅读全文
posted @ 2019-07-10 01:11 纪莫 阅读(5512) 评论(3) 推荐(5) 编辑
摘要:前言 这次想介绍一下Java Stream的API使用,最近在做一个新的项目,然后终于可以从老项目的祖传代码坑里跳出来了。项目用公司自己的框架搭建完成后,我就想着把JDK版本也升级一下吧(之前的项目,最高就能用JDK7),但是后来发现公司的项目部署打包平台最高只支持到JDK8。那好吧,既然就支持到J 阅读全文
posted @ 2019-06-17 00:41 纪莫 阅读(7241) 评论(3) 推荐(8) 编辑
摘要:这里只是推荐一下好用的插件,具体的使用方法不一一详细介绍。 JRebel for IntelliJ 一款热部署插件,只要不是修改了项目的配置文件,用它都可以实现热部署。收费的,破解比较麻烦。不过功能确实很强大。算是开发必备神器了。热部署快捷键是control+F9/command+F9。 .igno 阅读全文
posted @ 2018-04-11 23:39 纪莫 阅读(162693) 评论(13) 推荐(41) 编辑
摘要:前言 JDK9引入的Java模块化系统(Java Platform Module System ,JPMS)是 对Java技术的一次重要升级,除了像之前JAR包那样充当代码的容器之外,还包括: 依赖其他模块的列表。 导出的包列表,即其他模块可以使用的列表。 开放的包列表,即其他模块可反射访问模块的列 阅读全文
posted @ 2020-07-01 08:20 纪莫 阅读(156) 评论(0) 推荐(0) 编辑
摘要:前言 上一篇我们介绍到一个类的生命周期大概分7个阶段:加载、验证、准备、解析、初始化、使用、卸载。并且也介绍了类的加载时机,下面我们将介绍一下虚拟机中类的加载的全过程。主要是类生命周期的,加载、验证、准备、解析和初始化这五个阶段所执行的具体动作。 加载 类加载过程的第一个阶段就是加载,在加载阶段,J 阅读全文
posted @ 2020-06-27 15:13 纪莫 阅读(93) 评论(0) 推荐(0) 编辑
摘要:前言 Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程被称为虚拟机的类加载机制。 类加载的时机 一个类型从被加载到虚拟机内存中开始,到卸载除内存为止,它的生命周期将会经历加载(Loading)、验证(Ve 阅读全文
posted @ 2020-06-24 18:11 纪莫 阅读(86) 评论(0) 推荐(1) 编辑
摘要:#前言 JDK的bin目录中有一系列的小工具,除了java.exe、javac.exe这两个编译和运行Java程序外,还有打包、部署、签名、调试、监控、运维等各种场景都会用到这些小工具。 这些工具根据软件可用性和授权的不同,可以把它们划分为三类: 商业授权工具: 主要是JMC(Java Missio 阅读全文
posted @ 2020-06-22 23:01 纪莫 阅读(150) 评论(0) 推荐(0) 编辑
摘要:前言 ZGC是一款在JDK11中新加入的具有实验性质的低延迟垃圾收集器,目前仅支持Linux/x86-64。ZGC收集器是一款基于Region内存布局的,(暂时)不设分代的,使用了读屏障、染色指针和内存多重映射等技术来实现可并发的标记-整理算法的,以低延迟为首要目标的一款垃圾收集器。 ZGC布局 与 阅读全文
posted @ 2020-06-20 20:30 纪莫 阅读(98) 评论(0) 推荐(0) 编辑
摘要:前言 Shenandoah作为第一款不由Oracle(包括一起的Sun)公司的虚拟机团队所领导开发的HotSpot垃圾收集器。是只存在于OpenJDK当中的,最初由RedHat公司创建的,在2014年的时候贡献给了OpenJDK。 与G1相比的优点 从代码的历史渊源上来看,Shenandoah收集器 阅读全文
posted @ 2020-06-17 22:23 纪莫 阅读(151) 评论(0) 推荐(1) 编辑
摘要:前言 从如何判定对象消亡的角度出发,垃圾收集算法可以划分为“引用计数式垃圾收集”(Reference Counting GC)和“追踪式垃圾收集”(Tracing GC)两大类,这两类也常被称作“直接垃圾收集”和“间接垃圾收集”。由于主流Java虚拟机中使用 的都是“追踪式垃圾收集”,所以后续介绍的 阅读全文
posted @ 2020-06-11 22:55 纪莫 阅读(157) 评论(0) 推荐(4) 编辑
摘要:前言 因为Java对象主要存放在Java堆里,所以垃圾收集器(Garbage Collection)在对Java堆进行回收前,第一件事情就是要确定这些对象之中哪些还“存活”着,哪些已经“死去”(不被引用了)。 判断对象是否健在的算法 1.引用计数算法 引用计数算法,很容易理解,在对象中添加一个引用计 阅读全文
posted @ 2020-06-06 18:00 纪莫 阅读(139) 评论(0) 推荐(0) 编辑
摘要:前言 先解释一下什么是类加载器,通过一个类的全限定名来获取描述该类的二进制字节流,在虚拟机中实现这个动作的代码被称为“类加载器(Class Loader)”。 类与类加载器 类加载器虽然只用于实现类的加载动作,但它在Java程序中起到的作用却远超类加载阶段。每个类加载器都有一个独立的类名称空间,所以 阅读全文
posted @ 2020-04-28 18:59 纪莫 阅读(43) 评论(0) 推荐(0) 编辑
摘要:前言 如果说垃圾收集算法是内存回收的方法论,那垃圾收集器就是内存回收的实践者。本次要介绍的是几款“经典”的垃圾收集器,之所以被称之为“经典”,是为了与几款目前仍处于实验状态,但是执行效果上哟革命性改进的高性能低延迟收集器区分开来,虽然算不上最先进的技术,但却是在实践中千锤百炼,足够成熟,可以在商用生 阅读全文
posted @ 2020-03-14 19:50 纪莫 阅读(20) 评论(0) 推荐(0) 编辑