- #JVM进阶(十八)——初识Class文件 关于类加载机制的相关知识在前面的博文中暂时先讲那么多。中间留下了很多问题,从本篇博文开始,我们来一一解决。 从我们最陌生而又最熟悉的.class文件开始说起。.class文件是一个由8位二进制构成一个字节的字节码文件,里面的格式都是按照规定好的顺序紧凑的排列在文件中。 在.class文件中,他的数据都是以无符号数和... #JVM进阶(十八)——初识Class文件 关于类加载机制的相关知识在前面的博文中暂时先讲那么多。中间留下了很多问题,从本篇博文开始,我们来一一解决。 从我们最陌生而又最熟悉的.class文件开始说起。.class文件是一个由8位二进制构成一个字节的字节码文件,里面的格式都是按照规定好的顺序紧凑的排列在文件中。 在.class文件中,他的数据都是以无符号数和...
- #JVM进阶(七)——从GC日志分析堆内存 在前面的文章中,我们只设置了整个堆的内存大小。但是我们知道,堆又分为了新生代,年老代。他们之间的内存怎么分配呢?新生代又分为Eden和Survivor,他们的比例大小能改变吗?其实这些都是可控的,以前没有讲到是因为就算讲了也只是讲讲而已,看不到实质性的东西。因此这章我们通过分析GC日志来一步步讲解如何细化设置堆内存。 ... #JVM进阶(七)——从GC日志分析堆内存 在前面的文章中,我们只设置了整个堆的内存大小。但是我们知道,堆又分为了新生代,年老代。他们之间的内存怎么分配呢?新生代又分为Eden和Survivor,他们的比例大小能改变吗?其实这些都是可控的,以前没有讲到是因为就算讲了也只是讲讲而已,看不到实质性的东西。因此这章我们通过分析GC日志来一步步讲解如何细化设置堆内存。 ...
- 剑指Offer——简述堆和栈的区别 堆(Heap) Java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建; Java虚拟机规范描述:所有的对象实例及数组都要在堆上分配; Java堆可以处于物理上不连续的内存空间,只要逻辑上连续即可; &nb... 剑指Offer——简述堆和栈的区别 堆(Heap) Java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建; Java虚拟机规范描述:所有的对象实例及数组都要在堆上分配; Java堆可以处于物理上不连续的内存空间,只要逻辑上连续即可; &nb...
- #JVM进阶(十一)——JAVA G1收集器 在前两篇博文中讲解了新生代和年老代的收集器,在本篇博文中介绍一个收集范围涵盖整个堆的收集器——G1收集器。 先讲讲G1收集器的特点,他也是个多线程的收集器,能够充分利用多个CPU进行工作,收集方式也与CMS收集器类似,因此不会有太久的停顿。 虽然回收的范围是整个堆,但还是有分代回收的回收方式。在年轻代依然采用复制算法... #JVM进阶(十一)——JAVA G1收集器 在前两篇博文中讲解了新生代和年老代的收集器,在本篇博文中介绍一个收集范围涵盖整个堆的收集器——G1收集器。 先讲讲G1收集器的特点,他也是个多线程的收集器,能够充分利用多个CPU进行工作,收集方式也与CMS收集器类似,因此不会有太久的停顿。 虽然回收的范围是整个堆,但还是有分代回收的回收方式。在年轻代依然采用复制算法...
- 堆空间的内存分配 public class Test { public static void main(String[] args) { //-Xms 调整初始堆内存 ,-Xmx 最大堆内存 //返回JVM中堆的内存总量 long initMemory = Runtime.getRuntime().totalMemory() / 1024 / 1024... 堆空间的内存分配 public class Test { public static void main(String[] args) { //-Xms 调整初始堆内存 ,-Xmx 最大堆内存 //返回JVM中堆的内存总量 long initMemory = Runtime.getRuntime().totalMemory() / 1024 / 1024...
- 大家好,我是不温卜火,是一名计算机学院大数据专业大二的学生,昵称来源于成语—不温不火,本意是希望自己性情温和。作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己所犯的错误希望能够帮助到很多和自己一样处于起步阶段的萌新。但由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教!暂时只有csdn这一个平台,博客... 大家好,我是不温卜火,是一名计算机学院大数据专业大二的学生,昵称来源于成语—不温不火,本意是希望自己性情温和。作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己所犯的错误希望能够帮助到很多和自己一样处于起步阶段的萌新。但由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教!暂时只有csdn这一个平台,博客...
- Java内存溢出OOM 前言架构StackoverFlowErrorOutOfMemoryErrorjava heap spaceGC overhead limit exceededDirect buffer memoryunable to create new native threadMetaspace元空间是什么代码 总结 前言 JVM中... Java内存溢出OOM 前言架构StackoverFlowErrorOutOfMemoryErrorjava heap spaceGC overhead limit exceededDirect buffer memoryunable to create new native threadMetaspace元空间是什么代码 总结 前言 JVM中...
- 前言 本博客介绍一种创建型模式:单例模式 这是一种比较容易理解的设计模式,可以理解为创建对象的一种很好的做法。可以尽量避免创建过多的对象,给JVM造成很大的负载。 应用场景 单例模式的一些应用场景: 1、比如数据连接类,这是需要经常调用的 2、网站访问量统计的服务类,需要多次调用 3、导出导入Excel表,一些业务复杂的系统需要多次调用 … 总结起来就... 前言 本博客介绍一种创建型模式:单例模式 这是一种比较容易理解的设计模式,可以理解为创建对象的一种很好的做法。可以尽量避免创建过多的对象,给JVM造成很大的负载。 应用场景 单例模式的一些应用场景: 1、比如数据连接类,这是需要经常调用的 2、网站访问量统计的服务类,需要多次调用 3、导出导入Excel表,一些业务复杂的系统需要多次调用 … 总结起来就...
- Java中的引用 前言整体架构强引用软引用弱引用软引用和弱引用的使用场景WeakHashMap是什么? 虚引用概念场景引用队列 ReferenceQueue GCRoots和四大引用小总结 前言 在原来的时候,我们谈到一个类的实例化 Person p = new Person() 1 在等号的左边,就是一个对象的引用,存储在栈中 而等号右边... Java中的引用 前言整体架构强引用软引用弱引用软引用和弱引用的使用场景WeakHashMap是什么? 虚引用概念场景引用队列 ReferenceQueue GCRoots和四大引用小总结 前言 在原来的时候,我们谈到一个类的实例化 Person p = new Person() 1 在等号的左边,就是一个对象的引用,存储在栈中 而等号右边...
- ClassNotfoundException java开发中经常遇到java.lang.ClassNotfoundException异常,ClassNotfoundException异常一般就是编译时找不到类,Console台就会输出异常信息。一般情况下,我们都会rebuild或者clean一下工程,让项目重新编译一遍。 两个异常的区别 不过一遇到NoClassD... ClassNotfoundException java开发中经常遇到java.lang.ClassNotfoundException异常,ClassNotfoundException异常一般就是编译时找不到类,Console台就会输出异常信息。一般情况下,我们都会rebuild或者clean一下工程,让项目重新编译一遍。 两个异常的区别 不过一遇到NoClassD...
- JVM参数调优 前言JVM参数类型查看运行的Java程序,JVM参数是否开启,具体值为多少?题外话(坑题)查看JVM默认参数工作中常用的JVM基本配置参数查看堆内存打印JVM默认参数生活常用调优参数GC垃圾收集Full GC垃圾回收 -XX:SurvivorRatio-XX:NewRatio(了解)-XX:MaxTenuringThreshold 前言... JVM参数调优 前言JVM参数类型查看运行的Java程序,JVM参数是否开启,具体值为多少?题外话(坑题)查看JVM默认参数工作中常用的JVM基本配置参数查看堆内存打印JVM默认参数生活常用调优参数GC垃圾收集Full GC垃圾回收 -XX:SurvivorRatio-XX:NewRatio(了解)-XX:MaxTenuringThreshold 前言...
- 这是我第三次写Dalvik(以下简称DVM)和ART虚拟机了,它们都是Android手机上运行java代码的虚拟虚拟机。DVM不是JVM,主要还是因为DVM的实现没有遵守JVM的实现规范。 DVM与JVM基于的架构不同 JVM是基于栈的,当它需要到栈中去读写数据时,所需的指令就因此而增多,将导致速度变慢。手机的使用要求就是要快,显然JVM是不能满足这一性能要求。所以... 这是我第三次写Dalvik(以下简称DVM)和ART虚拟机了,它们都是Android手机上运行java代码的虚拟虚拟机。DVM不是JVM,主要还是因为DVM的实现没有遵守JVM的实现规范。 DVM与JVM基于的架构不同 JVM是基于栈的,当它需要到栈中去读写数据时,所需的指令就因此而增多,将导致速度变慢。手机的使用要求就是要快,显然JVM是不能满足这一性能要求。所以...
- 此次博主为大家带来的是Hive性能调优中的JVM重用。 JVM重用是Hadoop调优参数的内容,其对Hive的性能具有非常大的影响,特别是对于很难避免小文件的场景或task特别多的场景,这类场景大多数执行时间都很短。 Hadoop的默认配置通常是使用派生JVM来执行map和Reduce任务的。这时JVM的启动过程可能会造成相当大的开销,尤其是执行的j... 此次博主为大家带来的是Hive性能调优中的JVM重用。 JVM重用是Hadoop调优参数的内容,其对Hive的性能具有非常大的影响,特别是对于很难避免小文件的场景或task特别多的场景,这类场景大多数执行时间都很短。 Hadoop的默认配置通常是使用派生JVM来执行map和Reduce任务的。这时JVM的启动过程可能会造成相当大的开销,尤其是执行的j...
- 前几天一个小学弟在咨询面试的时候怎么还会问到关于Tomcat调优和JVM优化,我听完这个的时候,当时就想说,问这个不是应该的么?那么下面就给大家好好的掰扯掰扯这个Tomcat优化和 JVM 参数优化的事情 Tomcat 关于Tomcat是什么东西,相信大家做开发的,肯定是一点也不陌生,服务器,Web应用服务器,一种轻量级的应用服务器,在中小型系统和并发访问用户不是很多... 前几天一个小学弟在咨询面试的时候怎么还会问到关于Tomcat调优和JVM优化,我听完这个的时候,当时就想说,问这个不是应该的么?那么下面就给大家好好的掰扯掰扯这个Tomcat优化和 JVM 参数优化的事情 Tomcat 关于Tomcat是什么东西,相信大家做开发的,肯定是一点也不陌生,服务器,Web应用服务器,一种轻量级的应用服务器,在中小型系统和并发访问用户不是很多...
- Volatile和JMM内存模型的可见性 谈谈对Volatile的理解JMM是什么JMM的特性可见性代码验证 JUC(java.util.concurrent) 进程和线程 进程:后台运行的程序(我们打开的一个软件,就是进程)线程:轻量级的进程,并且一个进程包含多个线程(同在一个软件内,同时运行窗口,就是线程) 并发和并行 并发:同时访问某个东西,就... Volatile和JMM内存模型的可见性 谈谈对Volatile的理解JMM是什么JMM的特性可见性代码验证 JUC(java.util.concurrent) 进程和线程 进程:后台运行的程序(我们打开的一个软件,就是进程)线程:轻量级的进程,并且一个进程包含多个线程(同在一个软件内,同时运行窗口,就是线程) 并发和并行 并发:同时访问某个东西,就...
上滑加载中
推荐直播
-
华为云码道Skill实战与极速交付,智能开发全链路实战2026/07/22 周三 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;姜浩-华为云HCDG核心组成员
直播深度解读华为云码道6月产品新特性,从Skill市场安装专家技能,带你零距离体验从需求,开发,审查,重构全链路闭环的开发过程。从零构建并交付一个完整项目,让您体验从代码提交到服务上线的“极速”之旅。
即将直播 -
聚开发者之力,创具身新未来2026/07/23 周四 15:00-17:00
张豪杰/程文/王军/刘新春/黄钦开 /张晓天
本次华为云具身智能开发平台CloudRobo培训面向具身智能开发者,带您全流程体验机器人本体R2C小时级接入、环境重建与轨迹生成仿真数据生产、PB级数据管理、数据评测、模型训推、强化学习和Benchmark一键评测等功能,并体验业界主流具身模型应用。
即将直播
热门标签