自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序员小潘

专注于Java后端技术分享!

  • 博客(3)
  • 资源 (1)
  • 收藏
  • 关注

原创 Java锁的膨胀过程以及一致性哈希对锁膨胀的影响

1、锁优化在JDK6之前,通过synchronized来实现同步效率是很低的,被synchronized包裹的代码块经过javac编译后,会在代码块前后加上monitorenter和monitorexit字节码指令,被synchronized修饰的方法则会被加上ACC_SYNCHRONIZED标识,不论是在字节码中如何表示,作用和功能都是一样的,线程要想执行同步代码块或同步方法,首先需要竞争锁。...

2020-02-25 21:53:59 12711 2

原创 Java垃圾收集与内存分配

内容参考《深入理解JVM虚拟机》,本文JVM均指HotSpot虚拟机。Java程序运行期间无时无刻不在产生对象,JVM为对象动态的分配内存,如果内存不释放肯定会有耗尽的一天。C语言需要开发者为创建的对象编写的配套的delete/free来释放内存,但是Java开发者却不需要那么做,这一切都要归功于:垃圾收集技术(Garbage Collection)。垃圾收集技术的历史远比Java早,1...

2020-02-09 17:28:34 3327 2

原创 Java内存区域与内存溢出

内容参考《深入理解JVM虚拟机》,本文JVM均指HotSpot虚拟机。Java与C语言针对“内存管理”有很大的不同。在C语言中,开发者需要维护对象的出生和死亡,往往需要为每个new出来的对象编写配套的delete/free代码来释放内存,否则可能发生内存泄漏或溢出。而在Java中,内存由JVM管理,垃圾回收器GC会帮助开发者自动回收不再被引用的对象来释放内存,使得Java不太会像C语言那...

2020-02-09 17:27:55 3292 1

HashMap.java

JDK7的HashMap源码阅读,几乎给每个方法和属性都加上了中文注释。 可以帮助大家更好的阅读源码,可能有理解不对的地方,望指正。

2019-12-27

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除