2019年10月20日

ZGC gc策略及回收过程-源码分析

摘要: 源码文件:/src/hotspot/share/gc/z/zDirector.cpp 一、回收策略 main入口函数: ZMetronome::wait_for_tick 是zgc定义的一个循环时钟函数,sample_allocation_rate函数则用于rule_allocation_rate策 阅读全文

posted @ 2019-10-20 16:57 西楼有酒 阅读(1630) 评论(0) 推荐(0) 编辑

ZGC介绍

摘要: zgc是一款可拓展的低时延,为实现以下几个目标而诞生的垃圾回收器: 停顿时间不超过10ms 停顿时间不会因堆变大而变长 堆大小范围可支持几G到几T 再看一下zgc的标签: region-based (和G1一样) NUMA-aware Concurrent Compacting Using load 阅读全文

posted @ 2019-10-20 16:57 西楼有酒 阅读(1961) 评论(0) 推荐(0) 编辑

ZGC深入学习

摘要: ZGC简介 本次调研目标选取的是jdk11(long-term support)下首次亮相的zgc。 zgc介绍简单翻译了zgc main page:ZGC简介 另外参考hotspot garbage collector team介绍zgc用的ppt:https://archive.fosdem.o 阅读全文

posted @ 2019-10-20 16:57 西楼有酒 阅读(1945) 评论(0) 推荐(0) 编辑

2018年8月14日

学以致用,通过字节码理解:Java的内部类与外部类之私有域访问

摘要: 目录: 内部类的定义及用处 打开字节码理解内部类 一、内部类的定义及用处 内部类(inner class)是定义在另一个类中的类。使用内部类,我们可以: 访问该类定义所在的作用域中的数据,包括私有的数据 可以对同一个包中的其他类隐藏起来 当想要定义一个回调函数且不想编写大量代码时,使用匿名(anon 阅读全文

posted @ 2018-08-14 01:10 西楼有酒 阅读(1337) 评论(0) 推荐(1) 编辑

2018年8月5日

java接口的演变(jdk8的default、静态方法,jdk9的私有方法、私有静态方法)

摘要: 目录: 接口的定义 jdk7-9,接口属性的变化 jdk8,default、public static method的提出解决了什么问题,使用时需要注意什么 jdk9的补充(引入private method、private static method) 新老生常谈:接口和抽象类的对比 单继承还是多继 阅读全文

posted @ 2018-08-05 16:38 西楼有酒 阅读(3478) 评论(0) 推荐(1) 编辑

2018年7月12日

一个“Hello World”理解JVM运行时数据区

摘要: 先上一张JVM体系结构图: 1)运行时数据区:经过编译生成的字节码文件(class文件),由class loader(类加载子系统)加载后交给执行引擎执行。在执行引擎执行的过程中产生的数据会存储在一块内存区域。这块内存区域就是运行时区域 2)程序计数器:用于记录当前线程的正在执行的字节码指令位置。由 阅读全文

posted @ 2018-07-12 00:51 西楼有酒 阅读(1631) 评论(0) 推荐(5) 编辑

2018年7月8日

Java对象是怎么创建的(通过对象的创建,了解JVM内存结构)

摘要: 在代码层面,我们通过new关键字创建一个对象: 而虚拟机中,创建一个对象,则经过了许多环节,JVM的内存结构可以通过另一篇文章了解:一个“Hello World”理解JVM运行时数据区 ,本文主要基于JVM的内存结构,聊聊对象在JVM中是怎么创建的: 关键字词典: 指针碰撞:假设Java堆中的内存是 阅读全文

posted @ 2018-07-08 22:22 西楼有酒 阅读(493) 评论(0) 推荐(0) 编辑

mac下编译openjdk8?so easy!

摘要: 写在最前面的话:建议第一次编译jdk的朋友,查阅任何博客都不如认真读一遍源码中的README-builds.html 环境:macOS High Sierra(10.13.5) 编译jdk:openjdk8 操作流程就不多写了,README-builds.html写的很清晰,当然,即使跟着READM 阅读全文

posted @ 2018-07-08 19:41 西楼有酒 阅读(3498) 评论(0) 推荐(1) 编辑

2018年3月8日

彻底修改eclipse中项目的名称

摘要: 需要四个步骤: 一、右键工程:Refactor->Rename,或选中工程按F2,修改名称 二、修改项目目录下:.project文件 三、项目右键属性 --> Web Project Settings --> Context root 四、修改项目目录下:.settings\org.eclipse. 阅读全文

posted @ 2018-03-08 16:51 西楼有酒 阅读(303) 评论(0) 推荐(0) 编辑

2017年8月28日

maven更新慢,改用国内镜像地址

摘要: 方法很简单: 在 maven根目录 > conf > settings.xml 中 <mirrors>里添加以下子节点: 阅读全文

posted @ 2017-08-28 23:34 西楼有酒 阅读(146) 评论(0) 推荐(0) 编辑

导航