图灵javaer 的博客

共441人围观 0人评论

在线预览G1 Garbage-First收集器主要针对配备多颗处理器及大容量内存的机器在G1中,分代概念开始变的模糊G1将Java堆划分为多个大小相等的独立区域(Region),JVM最多可以有2048个Region。一般Region大小等于堆大小除以2048,比如堆大小为4096M,则Region大小为2M,当然也可......

共496人围观 0人评论

在线预览标记-复制算法利用GC可达性分析算法找出存活的对象(蓝色部分),把存活的对象复制到右边未使用的空间,然后把原来的内存全部清空掉。年轻代使用了复制算法,老年代未使用复制算法。是因为标记复制算法需要将一半空间空闲出来,年轻代相对老年代来说使用内存小,而老年代使用内存比较大,若空出一半,则会造成大量内存使用率不高。标......

共491人围观 0人评论

在线预览划分内存的方法:“指针碰撞”(Bump the Pointer)默认用指针碰撞“空闲列表”(Free List)解决并发问题的方法:CAS(compare and swap)本地线程分配缓冲(Thread Local Allocation Buffer,TLAB)每个线程在Java堆中预先分配一小块内存。通过­......

共410人围观 0人评论

在线预览JVM内存模型堆和方法区是线程间共享的线程栈、本地方法栈和程序计数器是每个线程独享的堆分年轻代和老年代(默认配比1:2)年轻代中分为伊甸园区和两个survivor区(默认配比8:1:1)垃圾回收的大致过程:一般分配的对象是在年轻代的伊甸园区若运行过程中伊甸园区放满了,那么会触发Yong GC minor GC,......

共432人围观 0人评论

在线预览类加载过程加载:在硬盘上查找并通过IO读入字节码文件,使用到类时才会加载补充:使用到类时才会加载这个是针对用户写的类,而支撑jvm运行的一些类比如java.lang包下的类是启动的时候就已经加载到jvm中验证:校验字节码文件的正确性比如以下字节码文件:如果手动修改这个字节码文件,则校验会报错准备:给类的静态变量......

分类选择