- 一、前言堆分为年轻代和年老代。永久代是非堆内存,它又叫做方法区(一般的说法),主要存储已被加载的类信息、常量、静态变量。而该区域在java8已被删除,取而代之的是元空间,会在后面的章节细讲。 二、什么是标记?怎么标记?第一个问题相信大家都知道,标记就是对一些已死的对象打上记号,方便垃圾收集器GC的清理。 至于怎么标记,一般有两种方法:引用计数和可达性分析。 2.1 引用计数引用计数实现起来... 一、前言堆分为年轻代和年老代。永久代是非堆内存,它又叫做方法区(一般的说法),主要存储已被加载的类信息、常量、静态变量。而该区域在java8已被删除,取而代之的是元空间,会在后面的章节细讲。 二、什么是标记?怎么标记?第一个问题相信大家都知道,标记就是对一些已死的对象打上记号,方便垃圾收集器GC的清理。 至于怎么标记,一般有两种方法:引用计数和可达性分析。 2.1 引用计数引用计数实现起来...
- 一、前言在前期博文《JVM进阶(二)——初识JAVA堆》中讲解了虚拟机中的堆,堆是整个内存模型中占用最大的一部分,而且不是连续的。当有需要分配内存的时候,一般有两个方法分配,指针碰撞和空闲列表。该部分的内存回收是由虚拟机的垃圾收集器GC进行管理的。刚刚粗略的回忆了上一博文所讲的内容,而这一章我们的重点还在堆上面。之前有简单的提到过新生代和老年代,今天就给大家好好梳理下这部分。 二、堆类型堆... 一、前言在前期博文《JVM进阶(二)——初识JAVA堆》中讲解了虚拟机中的堆,堆是整个内存模型中占用最大的一部分,而且不是连续的。当有需要分配内存的时候,一般有两个方法分配,指针碰撞和空闲列表。该部分的内存回收是由虚拟机的垃圾收集器GC进行管理的。刚刚粗略的回忆了上一博文所讲的内容,而这一章我们的重点还在堆上面。之前有简单的提到过新生代和老年代,今天就给大家好好梳理下这部分。 二、堆类型堆...
- 一、前言众所周知,在java中内存主要分为以下几类:寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制。栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)堆:存放所有new出来的对象。静态域:存放静态成员(static定义的)。常量池:存放字符串常量和基本类型常量(public... 一、前言众所周知,在java中内存主要分为以下几类:寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制。栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)堆:存放所有new出来的对象。静态域:存放静态成员(static定义的)。常量池:存放字符串常量和基本类型常量(public...
- 一、前言若想自己编写的Java程序高效运行,以及进行正确、高效的异常诊断,JVM是不得不谈的一个话题。本”JVM进阶“专栏大部分内容均来源于经典书籍《深入理解Java虚拟机》。 二、栈存储言归正传,本文重点从虚拟机内存模型(运行时数据区域)入手。先看下图:这是一张比较官方的虚拟机模型图,今天讲的就是虚线框中栈的部分。栈是我们最常用的内存区域。它主要用来存放基本类型变量,局部变量以及对象的引... 一、前言若想自己编写的Java程序高效运行,以及进行正确、高效的异常诊断,JVM是不得不谈的一个话题。本”JVM进阶“专栏大部分内容均来源于经典书籍《深入理解Java虚拟机》。 二、栈存储言归正传,本文重点从虚拟机内存模型(运行时数据区域)入手。先看下图:这是一张比较官方的虚拟机模型图,今天讲的就是虚线框中栈的部分。栈是我们最常用的内存区域。它主要用来存放基本类型变量,局部变量以及对象的引...
- 面试官:说一下jvm里面的survivor区域 面试官:说一下jvm里面的survivor区域
- Collection、Map API在java8以后的版本重大更新就是引入了流,添加了多个默认方法,例如Arrays.asList、.of、remove*、replace*、sort、forEach、merge等等,介绍了变化最大的一个数据结构ConcurrentHashMap Collection、Map API在java8以后的版本重大更新就是引入了流,添加了多个默认方法,例如Arrays.asList、.of、remove*、replace*、sort、forEach、merge等等,介绍了变化最大的一个数据结构ConcurrentHashMap
- Java8函数式编程实战开篇暴击,电商多重优惠核销代码初探 Java8函数式编程实战开篇暴击,电商多重优惠核销代码初探
- 现代操作系统提供一种对主存(Main memory(DRAM))的抽象,叫虚拟内存,虚拟内存是硬件异常、硬件地址翻译、主存、磁盘文件和内核的交互。虚拟内存为每个进程提供一个大的、一致的和私有的地址空间。 现代操作系统提供一种对主存(Main memory(DRAM))的抽象,叫虚拟内存,虚拟内存是硬件异常、硬件地址翻译、主存、磁盘文件和内核的交互。虚拟内存为每个进程提供一个大的、一致的和私有的地址空间。
- 前言:📫 作者简介:小明java问道之路,专注于研究计算机底层,就职于金融公司后端高级工程师,擅长交易领域的高安全/可用/并发/性能的设计和架构📫 🏆 Java 领域优质创作者、阿里云专家博主、华为云专家🏆🔥 如果此文还不错的话,还请👍关注、点赞、收藏三连支持👍一下博主哦本文导读第04章开篇第一句话就是:现代微处理器可以称得上是人类创造出的最复杂的系统之一。RISC (精简指令... 前言:📫 作者简介:小明java问道之路,专注于研究计算机底层,就职于金融公司后端高级工程师,擅长交易领域的高安全/可用/并发/性能的设计和架构📫 🏆 Java 领域优质创作者、阿里云专家博主、华为云专家🏆🔥 如果此文还不错的话,还请👍关注、点赞、收藏三连支持👍一下博主哦本文导读第04章开篇第一句话就是:现代微处理器可以称得上是人类创造出的最复杂的系统之一。RISC (精简指令...
- 前言:📫 作者简介:小明java问道之路,专注于研究计算机底层,就职于金融公司后端高级工程师,擅长交易领域的高安全/可用/并发/性能的设计和架构📫 🏆 Java 领域优质创作者、阿里云专家博主、华为云专家🏆🔥 如果此文还不错的话,还请👍关注、点赞、收藏三连支持👍一下博主哦本文导读本章研究计算机上如何表示数字和其他形式数据的基本属性,计算机对这些数据执行操作的属性。一、计算机的编... 前言:📫 作者简介:小明java问道之路,专注于研究计算机底层,就职于金融公司后端高级工程师,擅长交易领域的高安全/可用/并发/性能的设计和架构📫 🏆 Java 领域优质创作者、阿里云专家博主、华为云专家🏆🔥 如果此文还不错的话,还请👍关注、点赞、收藏三连支持👍一下博主哦本文导读本章研究计算机上如何表示数字和其他形式数据的基本属性,计算机对这些数据执行操作的属性。一、计算机的编...
- 解读《深入理解计算机系统(CSAPP)》第1章计算机系统漫游,介绍计算机系统硬件组成,文中末尾有计算机系统体系架构图 解读《深入理解计算机系统(CSAPP)》第1章计算机系统漫游,介绍计算机系统硬件组成,文中末尾有计算机系统体系架构图
- java float和double精度范围为什么是上述范围boolean 只有两个值:true、false,可以使⽤ 1 bit 来存储,但是具体⼤⼩没有明确规定。JVM 会在编译时期将boolean 类型的数据转换为 int,使⽤ 1 来表示 true,0 表示 false。JVM ⽀持 boolean 数组,但是是通过读写byte 数组来实现的。基本类型都有对应的包装类型,基本类型与其对应的包 java float和double精度范围为什么是上述范围boolean 只有两个值:true、false,可以使⽤ 1 bit 来存储,但是具体⼤⼩没有明确规定。JVM 会在编译时期将boolean 类型的数据转换为 int,使⽤ 1 来表示 true,0 表示 false。JVM ⽀持 boolean 数组,但是是通过读写byte 数组来实现的。基本类型都有对应的包装类型,基本类型与其对应的包
- Minor GC 和 Full GC 有什么不同呢? Minor GC 和 Full GC 有什么不同呢?
- 一、前言应聘后端开发岗位面试过程中,有关JVM的问题必不可少,此篇博文主要梳理有关JVM工作原理、收集器有关内容。 二、java 内存与内存溢出 2.1 JVM 分区及作用程序计数器(线程私有)当前线程执行字节码的信号指示器。(每个线程都会在程序计数器中存储其指令,从而实现线程切换后恢复到正确的执行位置)虚拟机栈(栈,线程私有)每个方法执行(开始到结束就是这个方法的生命周期)都会创建一个... 一、前言应聘后端开发岗位面试过程中,有关JVM的问题必不可少,此篇博文主要梳理有关JVM工作原理、收集器有关内容。 二、java 内存与内存溢出 2.1 JVM 分区及作用程序计数器(线程私有)当前线程执行字节码的信号指示器。(每个线程都会在程序计数器中存储其指令,从而实现线程切换后恢复到正确的执行位置)虚拟机栈(栈,线程私有)每个方法执行(开始到结束就是这个方法的生命周期)都会创建一个...
- 一、在匿名内部类读取和修改外部局部变量在匿名内部类中可以访问一个外部变量,但不能对外部变量做出修改的操作,因为匿名内部类访问外部变量,相当于外部变量是用final关键字进行修饰。 二、局部变量作用域局部变量的作用域:局部变量是在某个方法中定义,当该方法执行完成后,局部变量也就消失了。【局部变量分配在JVM的虚拟机栈中,这部分内存空间随着程序的执行自动回收】,也即:局部变量的作用域是在 “方... 一、在匿名内部类读取和修改外部局部变量在匿名内部类中可以访问一个外部变量,但不能对外部变量做出修改的操作,因为匿名内部类访问外部变量,相当于外部变量是用final关键字进行修饰。 二、局部变量作用域局部变量的作用域:局部变量是在某个方法中定义,当该方法执行完成后,局部变量也就消失了。【局部变量分配在JVM的虚拟机栈中,这部分内存空间随着程序的执行自动回收】,也即:局部变量的作用域是在 “方...
上滑加载中
推荐直播
-
华为云鸿蒙应用入门级开发者认证
2025/06/11 周三 16:00-17:30
Skye / 华为云学堂技术讲师
本次直播专为备考华为云鸿蒙端云应用入门级开发者认证的学员设计,提供系统的考试辅导。深度解析认证核心知识点,涵盖HarmonyOS介绍、应用开发入门、ArkTS语言、声明式开发范式组件、Stage应用模型、玩转服务卡片、鸿蒙应用网络请求开发、鸿蒙应用云函数调用等内容。
回顾中 -
基于昇腾NPU的合成孔径雷达成像案例
2025/06/12 周四 19:00-20:00
李阳 华为开发者布道师-高校教师
介绍合成孔径雷达算法的原理和优势,了解合成孔径雷达在传统计算中的痛点,分享如何使用昇腾NPU和AscendC语言构建信号处理算子,如何助力信号处理领域的高性能计算。
回顾中 -
华为云GaussDB入门级认证 - 考试辅导
2025/06/13 周五 16:00-17:30
Steven / 华为云学堂技术讲师
本次直播为HCCDA-GaussDB认证考试提供全面辅导,旨在帮助学员深入了解数据库技术原理与应用实践。我们将详细解析考试大纲,分享高效备考策略,并讲解关键知识点,包括但不限于SQL操作介绍、GaussDB数据库管理与运维基础等。
回顾中
热门标签