![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JDK&JVM
文章平均质量分 57
潭影空人心
千山鸟飞绝,万径人踪灭。
孤舟蓑笠翁,独钓寒江雪。
展开
-
ASM 中的跳转指令
ASM 操作中的跳转实现原理原创 2024-05-02 17:59:56 · 1010 阅读 · 1 评论 -
自己编译openJDK
1.环境:Centos6.9openJDK:openjdk-7u75-src-b13-18_dec_2014.zip下载地址:http://jdk.java.net/java-se-ri/7BootJDK:jdk-6u45-linux-x64.bin下载地址:http://www.Oracle.com/technetwork/java/javase/downloads/ja原创 2017-11-10 15:48:40 · 414 阅读 · 0 评论 -
String类中HashCode算法
public int hashCode() { int h = hash; if (h == 0 && value.length > 0) { char val[] = value; for (int i = 0; i < value.length; i++) { h ...原创 2018-02-28 11:25:06 · 633 阅读 · 0 评论 -
修改hotspot源码,使用GDB调试
在学习《JAVA虚拟机精讲》的过程中,根据书中的实战案例,自己动手修改了Launcher的源码,即java.c,现做一记录。在launcher的源码中添加一些自定义的模块,满足特定的业务场景。第一步:修改java.c文件位置:/hotspot/src/share/tools/launcher/java.c;在java.c中定义自己的函数:/*添加自定义函数*/void getParameters(...原创 2018-03-15 10:55:17 · 1107 阅读 · 0 评论 -
CentOS下安装GDB
在编译调试OpenJDK的时候,用到GDB,执行gdb后,报错:gdb: command not found. 表明机器上尚未安装GDB。现对安装过程,做一记录。1)检查机器上是否安装gdbrpm -qa | grep gdb 查看机器上安装的gdb若安装,采用如下命令卸载:rpm -e --nodeps 已安装的版本2)安装Texinfo文档系统yum install ncurses-de...原创 2018-03-15 11:06:12 · 9103 阅读 · 0 评论 -
Integer类中的valueOf方法
在一个公众号上看到一道面试题,由此引出对Integer类中的valueOf方法的探究。Integer类中的valueOf源码如下:public static Integer valueOf(int i) { assert IntegerCache.high >= 127; if (i >= IntegerCache.low && i <= I...原创 2018-11-08 21:25:52 · 6124 阅读 · 3 评论 -
Win7下jdk1.7和jdk1.8互相切换
在工作中,出现有的项目是jdk1.7,有的项目是1.8,如果将1.8编译的类放在1.7下运行,会报错。Unsupported major.minor version 52.0本机上先装的是jdk1.7,JAVA_HOME已配置好。JAVA_HOME=D:\Java\jdk1.7.0_79在oracle官网下载jdk1.8,现jdk1.8没有免安装版,需要安装。需要在jdk1.7...原创 2018-11-15 11:54:09 · 366 阅读 · 0 评论