为什么需要编译自己的jvm源码? 想象下, 你想看看java线程是如何start的? 去源码里一找 native void start0(), 此时如果你对jvm源码比较熟悉, 那么可以下载openJDK源码借助vscode去查询底层实现, 但如果你不知道呢? 又比如 java高并发编程艺术 一书中 ...
分类:
系统相关 时间:
2020-06-26 18:11:46
阅读次数:
82
垃圾收集器与内存分配策略 对象存活判断 引用计数算法 给对象添加一个计数器,每有一个引用+1,当引用失效-1,若为0则不在被使用. 可达性分析算法 对象是否可到达GC roots 或者说GC roots 是否是对象的上层节点(祖父节点,父节点) GC roots 虚拟机栈(栈中的本地变量表)中引用的 ...
分类:
其他好文 时间:
2020-06-26 14:23:08
阅读次数:
97
流程簡述一下 sudo apt-get install default-jdk 很可惜,這個會安裝新的jdk,目前是jdk11 java --version 安裝jdk8 sudo apt-get install openjdk-8-jdk 安裝version後還是jdk11 安裝在 /usr/li ...
分类:
系统相关 时间:
2020-06-26 10:57:43
阅读次数:
121
服务器 阿里云服务器 Apache tomcat 只能在官网下载tar.gz文件 详见:https://blog.csdn.net/jenyzhang/article/details/70159769 注意事项:openJDK的安装目录:/usr/lib/jvm/java-8-openjdk-amd ...
分类:
移动开发 时间:
2020-06-25 19:42:45
阅读次数:
74
1 JDK、JRE、JVM的关系 JDK: java开发工具包 JRE: java运行时环境 JVM: java虚拟机 2 JDK下载 方式一:官网 方式二:该链接提供jdk1.6 ,jdk1.7 ,jdk1.8 ,jdk 11(长期支持版本) 的压缩包, 解压后配置可用(使用路径不能包含中文、空格 ...
分类:
编程语言 时间:
2020-06-25 19:34:21
阅读次数:
66
一、jvm垃圾回收要做的事情 哪些内存需要回收 什么时候回收 怎么回收 二、如何判断对象已经死亡,或者说确定为垃圾 引用计数法: 给对象中添加一个引用计数器,每当有一个地方引用它时,计数器的值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。这也就是需要回收的对象, ...
分类:
编程语言 时间:
2020-06-25 17:14:17
阅读次数:
46
jmeter工具中的用英文切换 1、找到jmeter文件下的bin文件 2、使用文本编辑器编辑jmeter.properties 3、找到language=en如下 #Preferred GUI language. Comment out to use the JVM default locale' ...
分类:
其他好文 时间:
2020-06-25 13:52:18
阅读次数:
79
下载地址: hsdis linux下将hsdis.so拷贝到 /usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.x86_64/lib/server 目录下(相对应于你的jdk目录lib/server下) window好像也差不多 可以先测试下是否成功 ja ...
分类:
编程语言 时间:
2020-06-25 12:08:13
阅读次数:
66
简介 Byte Code也叫做字节码,是连接java源代码和JVM的桥梁,源代码编译成为字节码,而字节码又被加载进JVM中运行。字节码怎么生成,怎么查看字节码,隐藏在Byte Code背后的秘密是什么呢?快跟小师妹一起来看看吧。 Byte Code的作用 小师妹:F师兄,为什么Java需要字节码呢? ...
分类:
编程语言 时间:
2020-06-25 11:42:53
阅读次数:
64
前言 Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程被称为虚拟机的类加载机制。 类加载的时机 一个类型从被加载到虚拟机内存中开始,到卸载除内存为止,它的生命周期将会经历加载(Loading)、验证(Ve ...
分类:
其他好文 时间:
2020-06-24 20:03:26
阅读次数:
52