自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 Java内存模型(JMM)

引言在《深入理解Java虚拟机》中有一张介绍JMM的图,如下:由图可知,每一个Java线程中都有一个内部的工作内存,保存了主内存共享数据的拷贝副本。这里的工作线程与JVM内存结构中一个线程私有的内存空间——虚拟机栈不是一个概念。Java线程中的并不存在工作内存,它只是对CPU寄存器和高速缓存的抽象描述。CPU线程是CPU调度的最小单位,线程中的字节码指令最终都是在CPU中执行的,CPU在...

2020-04-16 14:31:01 117

原创 ClassLoader的加载机制

简介一个完整的Java程序是由多个.class文件组成,在程序运行过程中,需要将这些.class文件加载到JVM中才可以使用,而ClassLoader就是负责加载.class文件的。何时被加载Java程序启动时,不会一次性加载程序中所有的.class文件,而是在运行过程中动态的加载相应的类到内存中;通常情况下,.class文件会在以下两种情况被ClassLoader主动加载到内存中:调用...

2020-04-15 08:58:36 245

原创 GC回收机制

最近在拉钩课程上学习Android进阶课程,跟着老师上课的内容再整理一遍笔记,理一下思路。简介与C语言相比,Java中不需要手动释放对象内存,JVM中的垃圾回收器会自动回收。在JVM中程序计数器、虚拟栈和本地方法栈不需要考虑回收问题,它们的生命周期依赖线程的生命周期。而堆和方法区需要在程序运行期间动态分配和回收内存,所以垃圾回收器主要关注这部分内存。可达性分析JVM中通过可达性分析决定对象...

2020-04-11 14:51:59 348

原创 从JVM讨论关于程序运行时的内存分配

Java文件被JVM加载到内存的过程程序计数器**作用:**记录代码已经执行到的位置,方便CPU重新执行此线程时,知道从哪里开始执行指令。**使用场景:**恢复线程、分支操作、循环操作、跳转、异常处理等。补充:程序计数器不规定OOM;程序计数器的线程私有的,每条线程内部都有一个稀有的程序计数器,生命周期依赖线程的创建和结束;程序计数器记录的是正在执行的虚拟机字节码指令的地址,但如...

2020-04-07 13:41:20 145

原创 RecyclerView与ItemTouchHelper实现拖拽和侧滑(移动)删除

某天学习RecyclerView正好看到这样一个效果,感觉这个小功能实现应该不难而且也能巩固知识。在开发过程中RecylerView常被用来代替ListView和GirdView实现更强大的功能,这里不花太多篇幅解释RecylerView。1.布局文件本实例布局比较简单,只使用到了两个TextView和RecylerView,XML文件如下:<androidx.recyclerv...

2020-03-06 08:52:00 271

空空如也

空空如也

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

TA关注的人

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