![](https://img-blog.csdnimg.cn/2019091813595558.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
《深入理解Java 虚拟机》
文章平均质量分 91
《深入理解Java 虚拟机》一书的学习总结
晓之木初
船到桥头自然直,前提是你努力过!
展开
-
JVM实战(二) :关闭dump配置,使服务快速恢复
如何让服务在OOM时快速恢复,以及如何检测服务失败原因,比较适合有线上业务运维需求的同学原创 2022-11-13 16:45:43 · 1020 阅读 · 0 评论 -
JVM实战(一): dump文件的产生以及执行shell脚本
如何配置jvm参数,在OOM时生成dump文件并执行shell 脚本原创 2021-09-19 13:09:28 · 16900 阅读 · 0 评论 -
java命令中的options
java选项分类、如何查看这些选项的默认值或运行值原创 2022-11-13 14:10:36 · 3211 阅读 · 0 评论 -
mvn命令报错:java.lang.OutOfMemoryError: unable to create new native thread的原因排查
1. 序言最近,在使用mvn test命令跑单员测试时,遇到了java.lang.OutOfMemoryError: unable to create new native thread错误unable to create new thread类型的OOM错误,一般都发生在应用程序无法创建新线程时候其出现的原因主要分为两种:系统内存耗尽,无法为新线程分配内存创建线程数超过了操作系统的限制(linux中可以通过ulimit -a查看系统的最大线程数)这篇博客讲了很多排查上述错误的方法和实例原创 2022-05-18 10:42:38 · 5837 阅读 · 0 评论 -
JVM的垃圾回收(一)
1. 絮絮叨叨一般说GC,Garbage Collection,就是指垃圾收集或垃圾回收回收的对象:程序运行中,不再使用的内存这是一个很宽泛的概念,可能指整个垃圾回收的过程,也可能特指垃圾回收这个动作垃圾收集器,Garbage Collector ,就是垃圾回收时使用的收集器,是对垃圾收集算法的具体实现1.1 GC是把双刃剑本科学习C语言、C++时,任课老师总是爱唠叨这样一句话:申请(allocate)了内存,使用完以后一定要记得释放(free)内存,不然很容易内存泄漏在C++中,原创 2021-12-26 21:30:24 · 524 阅读 · 0 评论 -
结合代码理解java的四种引用类型
1. 絮絮叨叨在工作中使用到了ThreadLocal,在学习ThreadLocal的过程中,自己发现Java的引用类型是一个基础知识而自己对Java的四种引用类型忘得差不多了,只知道一些概念,具体每种类型的特点一点都不知道 ????于是,抽空复习了一下Java的四种引用类型(其实是学习,太菜了)通过结合代码的方式,去理解、验证每种引用类型。1.1 Java基本数据类型和引用类型的内存结构说到JVM,肯定少不了内存结构、垃圾回收机制等给个自己之前博客的链接:Java内存结构、垃圾回收机制原创 2021-07-08 00:26:08 · 1021 阅读 · 5 评论 -
String类的intern方法学习
String类中的intern() 方法,属于native方法因为不同版本JDK中方法区实现的变化,尤其是字符串常量池的移动,导致intern() 方法也有所变化1. intern方法的变化1.1 JDK 1.6中String.intern() 方法在JDK 1.6中,字符串常量池位于永久代,字符串对象实例位于堆中调用intern() 方法,尝试将向字符串常量池添加字符串如果字符串常量池中没有相等的字符串,则会将字符串的内容复制一份到池中,然后返回池中的字符串地址如果字符串常量池中存.原创 2021-12-05 21:23:40 · 707 阅读 · 1 评论 -
JVM内存学习
1. JVM内存照例絮絮叨叨一下吧,虽然已经是一个工作狗了,其实自己对JVM的内存并不了解只是知道一些很凌乱的知识点:堆存放对象和数组,栈存放基本数据类型和对象的引用如果程序如果不能在递归中触底反弹,会出现StackOverflowError,就是所谓的栈溢出如果存在内存泄漏,积少成多使得堆内存不足,会出现OutOfMemoryError,就是所谓的OOM当维护的集群出现OOM异常时,自己拿到dump文件都不知道如何分析甚至,一度因为不懂GC而排斥去学习、解决与GC有关的问题1.1原创 2021-12-05 21:22:41 · 1029 阅读 · 5 评论 -
走进Java(杂七杂八、奇奇怪怪的Java“秘闻”)
1. Java发展史Java语言的前身:Oak(橡树)1991年4月,James Gosling博士领导的绿色计划开始启动该计划的目的是开发一种能够在各种消费性电子产品(如冰箱、收音机、机顶盒等)上运行的程序架构,叫做Oak1995年,互联网浪潮兴起,Oak更新自己的市场定位在1995年5月23日改名为Java,在SunWorld大会上正式发布Java 1.0 版本,首次提出Write Once, Run Anywhere的口号(跨平台特性)JDK的发展时间重要事件备注原创 2021-11-28 16:00:58 · 221 阅读 · 0 评论