Java虚拟机(Jvm)
文章平均质量分 76
向小凯同学学习
余生向小凯同学学习,做个暖男!
展开
-
Java虚拟机(JVM源码):编译OpenJDK源码
为什么要自己编译JDK源码作为一个搞技术的同学,如果想在技术这条路上走下去,还是多研究些本质性的东西,修炼下内功。尤其是现在JDK都出到10了,如果你没有研究过,还是停留在之前的时代,那么确实说不过去。做技术还是得有追求。一、JDK和OpenJDK的异同点关于两者之间的联系和区别,技术同学已经讨论了很多了。 简单理解下,两者目前都是甲骨文公司,Sun Jdk也就是我们所说的JDK...原创 2018-08-14 11:34:20 · 16756 阅读 · 3 评论 -
Java虚拟机(JVM源码):搭建OpenJDK(10)源码调试环境
为什么要自己调试在前面的文章,已经介绍了如何编译自己的OpenJDK。 但是光拥有了自己的JDK版本肯定是不够的。 为了深入了解Java实例的创建、初始化和执行流程以及内部实现原理,DEBUG是必不可少的必杀技。 所以,作为搞技术的有必要学习如何调试JVM源码。一、搭建前准备我这里针对的是我自己的环境,您可以根据你自己的环境,去搭建,道理都是一样的。OS:Mac系统...原创 2018-08-15 14:10:09 · 16912 阅读 · 6 评论 -
学习Java虚拟机的正确的姿势?
为什么要学习Java虚拟机多线程和虚拟机。实际工作中,大部分程序员可能几乎不用,但这两项技能是你面试所谓高级工程师的敲门砖,也是你在机会到来的时候能否顶上去的弹药库。很多人,把这两部看的太高深,望而却步,我觉得一个重要原因就是大部分博客和书籍写的太差,只讲结果不谈背景。比如,讲到虚拟机,上来就以hotspot为例,内存模型,各种分区、回收算法;讲到多线程,上来就各种synchronized关键...原创 2018-08-13 11:07:37 · 2262 阅读 · 0 评论 -
Java虚拟机:关于JDK8到JDK9-10的一点小变化(tools.jar、dt.jar)
关于JDK8到JDK9-10的一点小变化JDK在每一次版本升级中,或多或少都会有一些比较重要的变化,或许在你使用的过程中,你就很有可能遇到。一、Removed or Changed APIsJDK8在升级到9或者10的时候,有一些变化还是蛮显著的。 今天我在编译OpenJdk10的时候,使用到了本机安装JDK10,它一直给我说有两个包,在JDK10中是缺失的。这就让我很烦躁了哟。...原创 2018-08-13 20:24:32 · 8648 阅读 · 0 评论 -
Java虚拟机(JVM源码):JDK10对Java虚拟机运行时数据区的划分(详细图解)
Java虚拟机运行时数据区为什么要研究这个,因为JDK都已经发布到10了,必须要更新自己对Java虚拟机新的认识。一、运行时数据区的划分1.1 官方划分关于JDK10对运行时数据区的划分,在官方文档说的非常清楚。 学习技术,一定要学会看第一手资料。Java虚拟机规范基于JDK10地址1.2.根据文档绘数据区图 注意: 线程共享:堆、方法区 线程私有...原创 2018-08-16 11:41:46 · 960 阅读 · 0 评论 -
Java虚拟机(Jvm源码):Mac安装JProfiler和IDE集成
首先介绍一下JProfilerJProfiler是一个专业工具,用于分析正在运行的JVM中发生的事情。当您的生产系统遇到问题时,您可以将其用于开发,质量保证和消防任务。 当然这个软件是需要收费的,这个需要你自行衡量下。 我的建议是有能力,财力雄厚就买正版,或者使用其他免费的Java虚拟机工具。一、JProfiler安装前准备我这里是使用的Mac系统、IntelliJ IDEA。...原创 2018-08-24 14:25:51 · 7814 阅读 · 2 评论 -
SpringBoot项目优化和Jvm调优(楼主亲测,真实有效)
项目调优作为一名工程师,项目调优这事,是必须得熟练掌握的事情。 在SpringBoot项目中,调优主要通过配置文件和配置JVM的参数的方式进行。 在这边有一篇比较好的文章,推荐给大家! SpringBoot项目配置Tomcat和JVM参数 一、修改配置文件关于修改配置文件application.properties。 SpringBoot项目详细的配置文件修改文档其中比较...原创 2018-08-29 14:24:13 · 94924 阅读 · 18 评论