- 1、对象创建过程 单纯从语言层面,新建一个对象,可以通过new、反射、复制、反序列化等等。接下来,我们探究以下在虚拟机中,对象的创建是一个什么样的过程。 我们以虚拟机遇到一个new指令开始: 首先检查这个指令的参数是否能在常量池中定位到一个类的符号引用 检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,就先执行相应的类加载过程 类加载检查通过后... 1、对象创建过程 单纯从语言层面,新建一个对象,可以通过new、反射、复制、反序列化等等。接下来,我们探究以下在虚拟机中,对象的创建是一个什么样的过程。 我们以虚拟机遇到一个new指令开始: 首先检查这个指令的参数是否能在常量池中定位到一个类的符号引用 检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,就先执行相应的类加载过程 类加载检查通过后...
- 在前面我们了解了虚拟机如何判断对象可回收,接下来我们了解Java虚拟机垃圾收集的一些理论和算法。 1、分代收集理论 分代收集理论,是基于程序运行对象存活数量和对象年龄之间关系的一套经验法则。 它建立在两个分代假说之上: 弱分代假说(Weak Generational Hypothesis):绝大多数对象都是朝生夕灭的。强分代假说(Strong Generat... 在前面我们了解了虚拟机如何判断对象可回收,接下来我们了解Java虚拟机垃圾收集的一些理论和算法。 1、分代收集理论 分代收集理论,是基于程序运行对象存活数量和对象年龄之间关系的一套经验法则。 它建立在两个分代假说之上: 弱分代假说(Weak Generational Hypothesis):绝大多数对象都是朝生夕灭的。强分代假说(Strong Generat...
- 1、垃圾收集概述 垃圾收集(Garbage Collection,简称GC)简单说,就是要干三件事: 哪些内存需要回收? 什么时候回收? 如何回收? 在Java的内存区域中: 程序计数器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而灭,栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作,所以这几个区域的内存回收是确定的,随着方法结束... 1、垃圾收集概述 垃圾收集(Garbage Collection,简称GC)简单说,就是要干三件事: 哪些内存需要回收? 什么时候回收? 如何回收? 在Java的内存区域中: 程序计数器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而灭,栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作,所以这几个区域的内存回收是确定的,随着方法结束...
- 什么是JVM? JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Jav... 什么是JVM? JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Jav...
- 1.开启Fetch抓取 Hive优化(十四)- Fetch抓取(Hive可以避免进行MapReduce) 2.使用本地模式 Hive优化(十五)-本地模式(小数据集缩短执行时间) 3.表的优化 Hive优化(九)-表优化 4.数据倾斜 Hive优化(五)-避免数据倾斜 某一个reduce处理数据量太大,产生处理效率降低。 1)map个数的设置 blocksize mi... 1.开启Fetch抓取 Hive优化(十四)- Fetch抓取(Hive可以避免进行MapReduce) 2.使用本地模式 Hive优化(十五)-本地模式(小数据集缩短执行时间) 3.表的优化 Hive优化(九)-表优化 4.数据倾斜 Hive优化(五)-避免数据倾斜 某一个reduce处理数据量太大,产生处理效率降低。 1)map个数的设置 blocksize mi...
- 什么是jvm? JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Jav... 什么是jvm? JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Jav...
- jvm的结构 image.png 标准参数 -help -server -client -version -showversion -cp -classpath X参数,非标准参数 -Xint -- 解释执行 -Xcomp -- 第一次使用就编译成本地代码 -Xmixed -- 混合模式,jvm自己决定 XX参数 非标准参数 相对不稳定 主要是用来JVM... jvm的结构 image.png 标准参数 -help -server -client -version -showversion -cp -classpath X参数,非标准参数 -Xint -- 解释执行 -Xcomp -- 第一次使用就编译成本地代码 -Xmixed -- 混合模式,jvm自己决定 XX参数 非标准参数 相对不稳定 主要是用来JVM...
- 前言 有8总内存泄漏,详细可以建该文 8 types of OutOfMemoryError. 其中5种OutOfMemoryError 发生在JVM heap,他们分别是: Java heap space GC overhead limit exceeded Requested array size exceeds VM limit Permgen space Metas... 前言 有8总内存泄漏,详细可以建该文 8 types of OutOfMemoryError. 其中5种OutOfMemoryError 发生在JVM heap,他们分别是: Java heap space GC overhead limit exceeded Requested array size exceeds VM limit Permgen space Metas...
- 写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成,愿将昔日所获与大家交流一二,希望对学习路上的你有所助益。同时,博主也想通过此次尝试打造一个完善的技术图书馆,任何与文章技术点有关的异常、错误、注... 写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成,愿将昔日所获与大家交流一二,希望对学习路上的你有所助益。同时,博主也想通过此次尝试打造一个完善的技术图书馆,任何与文章技术点有关的异常、错误、注...
- 前言 本系列系统的介绍了jvm调优及相关工具的使用。 笔者会先介绍jvm的基本概念,然后介绍常用命令、常用工具,最后通过一篇实战讲解内存泄漏查找方法。 目录 准备知识-jvm参数 命令篇 查看jvm运行时参数 jinfo 查看虚拟机统计信息 jstat 内存快照 jmap 线程死循环与死锁 jstack 工具篇 JVisualVm可视化监控 htop 实战-诊断内... 前言 本系列系统的介绍了jvm调优及相关工具的使用。 笔者会先介绍jvm的基本概念,然后介绍常用命令、常用工具,最后通过一篇实战讲解内存泄漏查找方法。 目录 准备知识-jvm参数 命令篇 查看jvm运行时参数 jinfo 查看虚拟机统计信息 jstat 内存快照 jmap 线程死循环与死锁 jstack 工具篇 JVisualVm可视化监控 htop 实战-诊断内...
- 如果想要查看正在运行的jvm就需要借助于jinfo命令查看。 首先,启动一个tomcat用于测试,来观察下运行的jvm参数。 cd /tmp/ rz 上传 tar -xvf apache-tomcat-7.0.57.tar.gz cd apache-tomcat-7.0.57 cd bin/ ./startup.sh #http://192.168.40.133... 如果想要查看正在运行的jvm就需要借助于jinfo命令查看。 首先,启动一个tomcat用于测试,来观察下运行的jvm参数。 cd /tmp/ rz 上传 tar -xvf apache-tomcat-7.0.57.tar.gz cd apache-tomcat-7.0.57 cd bin/ ./startup.sh #http://192.168.40.133...
- 什么是jvm? JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Jav... 什么是jvm? JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Jav...
- 本文转自微信公众号:石杉的架构笔记 目录: 前文回顾JVM在什么情况下会加载一个类?从实用角度出发,来看看验证、准备和初始化的过程核心阶段:初始化类加载器和双亲委派机制 1、前文回顾 咱们今天先来回顾一下昨天讲到的JVM整体的一个运行原理。 我们首先从“.java”代码文件,编译成“.class”字节码文件,然后类加载器把“.class”字节码文... 本文转自微信公众号:石杉的架构笔记 目录: 前文回顾JVM在什么情况下会加载一个类?从实用角度出发,来看看验证、准备和初始化的过程核心阶段:初始化类加载器和双亲委派机制 1、前文回顾 咱们今天先来回顾一下昨天讲到的JVM整体的一个运行原理。 我们首先从“.java”代码文件,编译成“.class”字节码文件,然后类加载器把“.class”字节码文...
- 大家好,我是不温卜火,是一名计算机学院大数据专业大二的学生,昵称来源于成语—不温不火,本意是希望自己性情温和。作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己所犯的错误希望能够帮助到很多和自己一样处于起步阶段的萌新。但由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教!暂时只有csdn这一个平台,博客... 大家好,我是不温卜火,是一名计算机学院大数据专业大二的学生,昵称来源于成语—不温不火,本意是希望自己性情温和。作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己所犯的错误希望能够帮助到很多和自己一样处于起步阶段的萌新。但由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教!暂时只有csdn这一个平台,博客...
- 欢迎小伙伴订阅我的新专栏“Java高薪面试宝典”,在这里我将和大家分享在Java面试中常见的核心考点和技术,为大家的Java学习之路助一臂之力! 开胃菜谱 1、JDK、JRE、JVM是什么? 2、什么是面向对象 3、Java的数据类型有哪些? 4、解释一下构造方法 5、如何理解方法的重载和重写? 6、解释this和super关键字 7、解释字符串... 欢迎小伙伴订阅我的新专栏“Java高薪面试宝典”,在这里我将和大家分享在Java面试中常见的核心考点和技术,为大家的Java学习之路助一臂之力! 开胃菜谱 1、JDK、JRE、JVM是什么? 2、什么是面向对象 3、Java的数据类型有哪些? 4、解释一下构造方法 5、如何理解方法的重载和重写? 6、解释this和super关键字 7、解释字符串...
上滑加载中
推荐直播
-
用码道,让你的AI作品三步上朋友圈2026/08/04 周二 19:00-20:00
林华鼎-华为云AI开发者运营负责人
从入门 · 到做AI应用 · 到企业级开发。不教编程,只教用AI · 零代码、有产出、能带走、可炫耀 · 每课人人动手实操
回顾中 -
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
基于华为云码道,构建你的定制化AI搭子2026/08/14 周五 09:00-11:30
明亮-华为云开发者发展与支持部部长
本期直播将向您全面介绍华为云码道产品,并基于码道手把手教你部署自己的定制化AI陪伴搭子。
回顾中
热门标签