【Java笔记__高级特性__实用类(1)】教程文章相关的互联网学习教程文章

【Java书笔记】:《深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)》第2部分-自动内存管理,第3部分-虚拟机执行子系统,第5部分-高效并发【图】

作者:周志明 整理者GitHub:https://github.com/starjuly/UnderstandingTheJVM 第2部分-自动内存管理 第2章 Java内存区域与内存溢出异常2.2 运行时数据区域 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机的进程的启动而一直存在,有些区域则是依赖用户线程的启动和结束而建立和销毁。根据《Java虚拟机规范》的规定,Java虚拟机...

Java多线程的三大特性,线程池,JMM(Java内存模型)

一,线程的三大特性:原子性、可见性、有序性  1)原子性,即一个操作或者多个操作要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。原子性其实就是保证数据一致、线程安全一部分。  2)可见性,即当多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值。  3)有序性,即程序执行的顺序按照代码的先后顺序执行。二、JAVA多线程的内存模型  共享内存模型指的就是Java内存...

《深入理解java虚拟机-JVM高级特性与最佳实践》读书笔记 p69-100 垃圾收集器与内存分配策略

周志明《深入理解java虚拟机-JVM高级特性与最佳实践》读书笔记 p69-100 垃圾收集器与内存分配策略 1.垃圾收集算法: 1.1 标记-清除算法 Mark-Sweep 首先标记需要清除需要回收的对象,在标记完成后统一回收所有被标记的对象。 两个过程效率都不高。标记清除之后会产生大量不连续额内存碎片。 1.2 复制算法 将可用内存按容量划分为大小相等的两块,每次只使用其中的一块。每次是对整个半区进行内存回收。内存分配时也不用考虑内存碎...

Java13新特性 -- ZGC:取消使用未使用的内存

在JDK 11中,Java引入了ZGC,这是一款可伸缩的低延迟垃圾收集器,但是当时只是实验性的。号称不管你开了多大的堆内存,它都能保证在 10 毫秒内释放 JVM ,不让它停顿在那。但是,当时的设计是它不能把内存归还给操作系统。对于比较关心内存占用的应用来说,肯定希望进程不要占用过多的内存空间了。 在Java 13中,JEP 351再次对ZGC做了增强,将没有使用的堆内存归还给操作系统。ZGC当前不能把内存归还给操作系统,即使是那些很久都没...