Java之锁优化
锁优化 高效并发是JDK5升级到JDK6后一项重要的改进,HotSpot虚拟机开发团队在这个版本上花费了巨大的资源去实现各种锁优化。比如,自旋锁,自适应自旋锁,锁消除,锁膨胀,轻量级锁,偏向锁等。这些技术都是为了在线程之间更高效的共享数据及解决竞争问题。从而提高程序的运行效率。 自旋锁和自适应自旋锁
2023-10-27
Java之对象的实例化内存布局与访问定位+直接内存
对象的实例化内存布局与访问定位+直接内存 一、对象的实例化 1、创建对象的方式 new 最常见的方式 变形1 : Xxx的静态方法 变形2 : XxBuilder/XxoxFactory的静态方法 Class的newInstance():反射的方式,只能调用空参的构造器,权限必须是public Co
2023-10-27
Java之垃圾回收相关算法
垃圾回收相关算法 一、判断阶段:对象存活判断 在堆里存放着几乎所有的Java对象实例,在GC执行垃圾回收之前,首先需要区分出内存中哪些是存活对象,哪些是已经死亡的对象。只有被标记为己经死亡的对象,GC才会在执行垃圾回收时,释放掉其所占用的内存空间,因此这个过程我们可以称为垃圾标记阶段。 那么在JVM
2023-10-27
Java之线程安全
Java线程安全-JVM角度解析 文章已同步至GitHub开源项目: JVM底层原理解析 线程安全 当多个线程同时访问一个对象,如果不用考虑这些线程在运行环境下的调度和交替执行,也不需要考虑额外的同步,或者在调用方法时进行一些其他的协作,调用这个对象的行为都可以获得正确的结果。那么就称这个对象是线程
2023-10-27
Java之常见的垃圾回收器
垃圾回收器 一 GC的分类与性能指标 按线程数分 串行垃圾回收器 但CPU,配置较低,只有一条GC线程 并行垃圾回收器 并发较强的CPU 多条GC 按照工作模式 并发式垃圾回收器 与应用程序线程交替工作,以尽可能减少应用程序的停顿时间。 独占式垃圾回收器 一旦运行
2023-10-27
mysql索引
性能分析 文章首发于GitHub开源项目: Java成长之路 欢迎大家star! MySQL常见瓶颈 CPU SQL中对大量数据进行比较、关联、排序、分组 IO 实例内存满足不了缓存数据或排序等需要,导致产生大量 物理 IO。 数据重复且分布平均的表字段,因此应该只为最经常查询和最经常排序的数据列建
2023-10-26
我不在装模作样的拥有很多朋友
我不在装模作样的拥有很多朋友 而是真正的自我开始独自生活。 因为我发现,世界是自己的,与他人无关
2022-01-05
Java之内存模型
Java内存模型 JVM虚拟机规范中曾经试图定义一种Java内存模型,来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都可以达到一致性的内存访问效果。 然而定义这样一套内存模型并非很容易,这个模型必须足够严谨,才能让Java的并发内存访问操作不会有歧义。但是也必须足够宽松,
2021-07-09