E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Jvm学习
深入浅出 JVM 系列(一)初识 JVM
现在就开启我们的
JVM学习
之路吧!什么是JVM?面试官:什么是JVM?小李:JVM(JavaVirtualMachine)是Java虚拟机,
小李不秃
·
2020-01-11 09:24
深入浅出 JVM 系列(一)初识 JVM
现在就开启我们的
JVM学习
之路吧!什么是JVM?面试官:什么是JVM?小李:JVM(JavaVirtualMachine)是Java虚拟机,
小李不秃
·
2020-01-10 23:00
阿里Java岗面试必备JVM指南:内存分配+垃圾回收+调优+类加载器等
今天分享一份平时学习整理的Java程序员必备的
JVM学习
文档,这份文档不管是懂得JVM的开发者
若丨寒
·
2020-01-07 09:38
JVM学习
之—Java内存区域
为了加深对Java语言的理解,加深对Java虚拟机工作机制、底层特性的了解和掌握,准备在闲暇时间,抽空对《深入理解Java虚拟机JVM高级特性与最佳实践》一书进行学习。本文是学习此书第2章时的总结与笔记,加入了一些自己的理解,也希望能帮助到需要的人。1运行时数据区域:image1.1程序计数器:一块较小的内存空间(线程私有的内存),当前线程所执行的字节码的行号指示器。字节码解释器通过改变这个计数器
你想要怎样的未来
·
2020-01-02 18:55
JVM学习
之—垃圾回收与内存分配策略
为了加深对Java语言的理解,加深对Java虚拟机工作机制、底层特性的了解和掌握,准备在闲暇时间,抽空对《深入理解Java虚拟机JVM高级特性与最佳实践》一书进行学习。本文是学习此书第3章时的总结与笔记,加入了一些自己的理解,也希望能帮助到需要的人。不过此文没有对垃圾收集器进行表述,因为这些垃圾收集器并没有实际去底层调试过,理解并不深刻,只讲一些理论的东西也不甚有用。所以此文只对垃圾收集算法和内存
你想要怎样的未来
·
2019-12-31 01:07
jvm学习
——jstat整理
jstat是jvm最常用的命令之一,下面针对常用的几个进行整理。1、jstat-gcutilpid统计gc信息统计。[root@AY140330215454793e81Z~]#jstat-gcutil5801S0S1EOPYGCYGCTFGCFGCTGCT0.0097.375.5453.3769.83210.36610.4800.8462、jstat-gcpid可以显示gc的信息,查看gc的次数,
sleepforests
·
2019-12-30 04:06
java虚拟机
JVM学习
笔记
查看了张秀宏写的自己动手写Java虚拟机WriteyourownJavavirtualmachine,对java底层有了新的认识,将笔记整理一下Java代码编译和执行的整个过程包含了以下三个重要的机制:编译机制(编译器内):主要是编译器将.java文件转为.class字节码文件。详细都包括:1.分析和输入到符号表。2.注解处理。3.语义分析和生成class文件。类加载机制(jvm虚拟机):是通过C
吃猫的鱼0
·
2019-12-29 04:25
面试又被JVM虐哭了?20道JVM灵魂质问面试题解析,让你吊打面试官
今天给小伙伴分享BAT等大厂Java岗面试必问的JVM问题,对于这些问题还整理了视频讲解分析和
JVM学习
笔记提供参考,有需要可以加Q裙:464403846点击立即加入找群管理免费获取!
若丨寒
·
2019-12-26 16:31
JVM学习
笔记与调优实战(二):GC
标签:JVM1、什么是可回收对象(垃圾)?画图演示GC垃圾引用:强引用:强引用指的是子啊程序代码中普通存在的,类似Objectobj=newObject()这类的引用,只要强引用还在,垃圾收集器则不会回收掉被引用的对象.软引用:软引用用于描述一些还有用但并非必需的对象。对于软引用关联着的对象,在系统将要发生内存溢出异常之前,将会把这些对象列进回收范围之中进行第二次回收,如果这次回收还没有足够的内存
Vechace
·
2019-12-26 10:42
JVM学习
笔记
1.JVM运行时数据区域1.1.程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。每条线程都有一个独立的程序计数器,各条线程之间计数器互不影响,独立存储,这类内存区域被称为“线程私有”的内存。是唯一一个在JVM规范中没有规定任何OutOfMemoryError情况的区域。1.2.虚拟机栈描述的是Java方法执行的内存模型:每个方法在执行的同时都会创建一个栈帧用于存储局部
王睿同学
·
2019-12-25 20:51
JVM 从入门到实战 --- 03 简述垃圾回收算法
所以本文用餐厅回收餐桌的方式类比JVM垃圾回收算法,应该能帮助
JVM学习
的理解和记忆。经典垃圾回收算标记-清除(Mark-Sweep)研发园
程序猿杂货铺
·
2019-12-25 10:13
吃透了这些JVM核心知识点,阿里架构师都问不倒你!(附学习笔记+面试真题+视频解析)
今天分享一份平时学习的Java程序员必备的
JVM学习
文档,这份文档不管是懂得JVM的开发者和刚刚学
Java_老男孩
·
2019-12-24 22:51
Java
程序员
JVM
JVM学习
-运行时内存
运行时数据区域 Java虚拟机在执行Java程序的过程中会把它管理的各个内存区域进行划分,每个区域都有各自的用途,以及各自的创建和销毁时间。有的区域随着进程启动而创建,有的区域依赖用户线程的启动和结束而建立和销毁。jvm运行时内存区域.png程序计数器 生命周期:线程私有的内存,伴随着线程建立和销毁; 作用:当前线程所执行字节码的行号指示器; 字节码解释器工作时就是通过改变这个计数器的值来
if_wang
·
2019-12-24 17:59
JVM学习
笔记(1)-内存管理机制
简介Java与C++之间有一堆由内存动态分配与垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来。——《深入理解Java虚拟机:JVM高级特性与最佳实践》运行时数据区域Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途。以及创建和销毁的时间。有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。
黄俊彬
·
2019-12-20 10:02
JVM学习
(一):Java类的加载机制
目录目录一、类加载机制1、类加载?1.1什么是类加载机制?首先,在代码被编译器编译后生成的二进制字节流(.class)文件;然后,JVM把Class文件加载到内存,并进行验证、准备、解析、初始化;最后,能够形成被JVM直接使用的Java类型的过程。--这就是类加载机制类加载器并不需要等到某个类被“首次主动使用”时才加载它,JVM规范允许类加载器在预料某个类将要被使用时就预先加载。如果预先加载的过程
J先生有点儿屁
·
2019-12-17 03:12
JVM学习
(一)判断对象是否可回收和回收算法
一、对象已死吗?引用计数算法不能解决循环引用问题,所以java虚拟机不用这种算法判断对象是否能回收。java,c#甚至古董Lisp都是通过可达性分析算法来判断对象是否存活的。image.png引用,java1.2之后,将引用分为强引用,软引用,弱引用,虚引用4种。即使在可达性分析算法中不可达的对象,也不是非死不可的。至少需要两次标记过程。finalize()方法是对象逃脱死亡命运的最后一次机会。回
lunabird
·
2019-12-15 06:19
JVM学习
笔记
什么是Java虚拟机各个硬件平台本身不支持Java字节码,Java虚拟机就是在不同硬件平台上支持Java字节码的软件系统。Java语言写的源程序通过Java编译器,编译成与平台无关的字节码程序(.class文件),字节码文件是一种和任何具体机器环境及操作系统环境无关的中间代码,它是一种二进制文件,是Java源文件由Java编译器编译后生成的目标代码文件。Java解释器负责将字节码文件翻译成具体硬件
Charles1993
·
2019-12-04 23:29
想进阿里美团?这份JVM核心文档让你直通BAT
今天分享一份平时学习的Java程序员必备的
JVM学习
文档,这份文档不管是懂得JVM的开发者和刚刚学习的朋友都是一份非常不错的内容,同时也是面试复习的精选文档!
老男孩_Misaya
·
2019-12-02 07:22
阿里Java岗面试必备JVM指南:内存分配+垃圾回收+调优+类加载器等
今天分享一份平时学习整理的Java程序员必备的
JVM学习
文档,这份文档不管是懂得JVM的开发者
java高并发
·
2019-12-02 03:07
面试又被JVM虐哭了?20道JVM灵魂质问面试题解析,让你吊打面试官
今天给小伙伴分享BAT等大厂Java岗面试必问的JVM问题,对于这些问题还整理了视频讲解分析和
JVM学习
笔记提供参考,在文末有免费获取!
java高并发
·
2019-11-30 20:52
想要玩转 JVM?你需要这份快速上手指南,从入门进阶到源码底层,这里全都有!
今天分享一份平时学习的Java程序员必备的
JVM学习
文档,这份文档不管是懂得JVM的开发者和刚刚学
老男孩_Misaya
·
2019-11-29 19:00
JVM学习
笔记
JVM基本结构jvm基本结构PC寄存器每个线程拥有一个PC寄存器线程创建时创建PC寄存器指向下一条指令的地址执行本地方法时,PC的值是undefind方法区:用来保存类的一些元信息的(例外,jdk1.7String的常量信息已经移到了堆)类的常量池字段方法信息方法字节码通常和永久区(Perm关联在一起)永久区并不是永久不变的,只是相对的稳定堆和程序开发密切相关应用程序对象都保存在java堆中所有线
渔樵店
·
2019-11-29 03:06
深入理解
jvm学习
笔记
引言刚入门java的时候,很难理解jvm到底是啥,一个类从编写到运行,经历了什么?类、方法、变量都存在了哪里?到底什么是类加载器?什么是堆?什么是栈?什么是栈溢出?什么是堆溢出?今天就来整理一下我的学习笔记511574911694_.pic_hd.jpg可以观察一下此图,紫色部分都是线程私有的,每个线程独占此内存区域.橘黄色部分是线程共享的.1.类加载器负责加载class文件,class文件在文件
使劲敲
·
2019-11-28 15:15
JVM学习
屏幕快照2019-11-26下午7.17.44.png屏幕快照2019-11-26下午7.18.00.png1,每个线程运行时所需要的内存,称为虚拟机栈。2,每个栈有多个栈帧组成,对应着每个方法调用时所占用的内存。3,每个线程只能有一个活动栈帧,对应着当前正在执行的那个方法。
灯火楼台666
·
2019-11-27 12:15
想要玩转 JVM?你需要这份快速上手指南,从入门进阶到源码底层,这里全都有!
今天分享一份平时学习的Java程序员必备的
JVM学习
文档,这份文档不管是懂得JVM的开发者和刚刚学
Java_老男孩
·
2019-11-20 15:02
Java
程序员
后端开发
深入理解
JVM学习
笔记-类文件结构
代码编译结果从本地机器码转变为字节码时存储格式发现的一小步,确实编程语言发现的一大步。1.无关性的基石计算机只认识0和1,我们编写的程序需要经编译器翻译成由0和1构成的二进制格式才能由计算机执行,但是随着虚拟机不的蓬勃发现,编程程序的程序编译成二进制本地机器码不再是唯一选择,越来越多的编程语言选择了与操作系统和机器指令集无关的、平台中立的格式作为程序编译后的存储格式,如字节码,代码编译结果从本地机
htkeepmoving
·
2019-11-09 16:27
JVM学习
之运行期优化知识点
JAVA简介基本语言特性(面向对象(封装,继承,多态),泛型,Lambda,反射)平台无关性(JVM运行.class文件,符合平台的字节码)核心类库(集合,并发,网络,IO/NIO,安全类库等)JDK(Java开发工具包,JRE,JVM,API类库)JRE(Java运行环境,JVM,Javase核心类库)JVM(垃圾收集器,运行时,动态编译,辅助功能JFR等)JVM作为一个平台,不仅仅Java语言
GuoDongW
·
2019-11-06 17:27
Jvm学习
笔记(三)
类的初始化和加载类初始化遇到new,或读取、修改或调用一个类的static变量时。反射调用。初始化一个类时若父类没有被初始化,会初始化父类。虚拟机启动时,用户指定的运行的主类。只有遇到这四种情况时才会进行类的初始化,叫做主动引用,其他情况均不会发生类的初始化,叫做被动引用。被动引用:通过子类调用父类的static变量,子类不会被初始化,父类会被初始化。通过类名调用finalstatic常量,类不会
windfall_
·
2019-11-05 09:28
JVM学习
-垃圾收集
何为垃圾类比现实生活,对于那些你不可能再使用的物品,可以称之为生活垃圾,在编程的世界中亦是如此,对于应用程序中那些不可能再使用的对象,就是所谓的"垃圾"为何需要收集如果在你的房间中积累了一周乃至更久的垃圾没有丢掉,你的房间会怎么样?可能连站脚的地方都没有,那么在jvm中也是如此,如果不收集处理掉这些"垃圾",就没有可用的内存再被新的对象使用,最终就会导致内存溢出为何需要自动垃圾收集还是类比生活场景
0爱上1
·
2019-11-01 16:24
JVM学习
笔记--类加载机制
生命周期类加载过程类加载的时期:加载,验证,准备,初始化和卸载这5个阶段的顺序是确定的。有且只有5中情况必须立即对类进行“初始化”(主动引用)使用new实例化对象的时候。读取或设置一个类的静态字段。(被final修饰,已在编译期把结果放入常量池的静态字段除外)调用一个类的静态方法的时候。使用java反射的时候当初始化一个类,其父类没有进行过初始化的时候,需先触发其父类的初始化。当虚拟机启动时,用户
NealLemon
·
2019-11-01 00:22
01_
JVM学习
笔记_类加载机制详解一
概述把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。在java代码中,类型的加载、连接与初始化过程都是在程序运行期间完成的。提供了更大的灵活性,增加了更多的可能性。类的加载、连接与初始化加载:查找并加载类的二进制数据类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区
leofight
·
2019-10-31 22:25
JVM学习
笔记一【运行时数据区域】
开篇之前我们先思考以下问题:1.JVM都有哪些运行时数据区,各数据区的作用是什么?2.各数据区的生命周期是怎样的?3.各数据区都可能会出现什么异常?4.字符串常量池,常量池,运行时常量池到底有什么区别?程序计数器程序计数器是一块较小的内存空间,可以看做当前线程所执行字节码的行号指示器。在虚拟机概念模型了,字节码解释器工作原理就是通过改变这个计数器的值来选择下一条需要执行的字节码指令,分支、循环、跳
爪哇部落格
·
2019-10-22 18:06
JVM学习
笔记(3)之命名空间
加载器命名空间什么是加载器命名空间每个类加载器都有自己的命名空间,命名空间由该加载器及所有父加载器所加载的类组成在同一个命名空间中不会出现类的完整名字(类的包名+类名)相同的两个类在不同的命名空间中,有可能会出现类的完整名字(类的包名+类名)相同的两个类代码示例1packagecom.zh.classloader;importjava.io.ByteArrayOutputStream;import
qq_24286273
·
2019-10-22 15:36
JVM
JVM学习
笔记(2)之类加载器双亲委托机制实例
JVM学习
笔记(2)之类加载器双亲委托机制实例1、什么是类加载器的双亲委托机制类的加载器分为三种,也可以自定义,分别为BootstrapClassLoader(启动加载器)、ExtensionsClassLoader
qq_24286273
·
2019-10-21 21:28
JVM
JVM学习
笔记(1)之ClassLoader
JVM学习
笔记(1)之ClassLoader1.JVM简介JVM是伴随Java这门语言的诞生而存在的,Java的最大特点就是跨平台性,即我们常常说的一次编译,到处运行,这个特性其实就是JVM的功劳,JVM
qq_24286273
·
2019-10-20 01:32
JVM
JVM学习
笔记第一天,jclasslib的安装和使用
参考书:《实战Java虚拟机,JVM故障诊断与性能优化》葛一鸣第一章:初探Java虚拟机2000年,JDK1.3发布,Hotspot虚拟机成为Java的默认虚拟机在JAVA中,char占两字节,而不是C语言中的1字节第二章:认识Java虚拟机的基本结构类加载子系统负责从文件系统或者网络中加载Class信息,加载的类信息存放于一块成为方法区的内存空间。除了类的信息外,方法区还会存放运行时常量池信息。
kanhou98
·
2019-10-11 21:07
jvm学习
(2)JVM内存说明
前言一、类方法类方法是静态方法,前面需要有static修饰符修饰。类方法内不能涉及有关变量的内容1、不能调用类的对象方法2、不能引用对象变量3、类方法不能被重写(覆盖)4、类方法不能使用super,this关键字二、实例方法1、可以调用类的对象方法2、可以引用对象变量3、实例方法可以被重写(覆盖)4、实例方法可以使用super,this关键字区别类方法在加载类时就被分配了内存地址,因此加载后即可被
一叶飘零如秋
·
2019-09-29 20:00
【
JVM学习
】3.深入解析强引用、软引用、弱引用、幻象引用
来源:公众号:猿人谷关于强引用、软引用、弱引用、幻象引用的区别,在很多公司的面试题中经常出现,可能有些小伙伴觉得这个知识点比较冷门,但其实大家在开发中经常用到,如new一个对象的时候就是强引用的应用。在java语言中,除了原始数据类型(boolean、byte、short、char、int、float、double、long)的变量,其他所有都是所谓的引用类型,指向各种不同的对象。理解这些引用的区
alterem
·
2019-09-27 12:51
java
【
JVM学习
】2.Java虚拟机运行时数据区
来源:公众号:猿人谷这里我们先说句题外话,相信大家在面试中经常被问到介绍Java内存模型,我在面试别人时也会经常问这个问题。但是,往往都会令我比较尴尬,我还话音未落,面试者就会“背诵”一段(Java虚拟机是由堆、方法区、虚拟机栈,吧啦吧啦。。。),估计心里还一脸自豪的想幸好哥提前在网上搜过,早有准备。每每这个时候,我都不忍心打断,因为“背诵”的真的太顺畅了!这也怪不得面试者,首先Java虚拟机方面
alterem
·
2019-09-27 12:24
java
jvm学习
(1) 总体篇
1.1Java体系构成JAVA体系包括四个方面:JAVA编程语言,编辑的文件为Java源代码,文件格式为(.java);JAVA类文件格式,编译后文件格式为(.class);JAVA虚拟机,即通常所说的JVM;JAVA应用程序接口(JavaAPI)。这四者的运行关系如下:Java编译环境:程序员利用Java编程语言编写Java源代码(.java文件),利用Java编译器,将其编译为Java字节码(
一叶飘零如秋
·
2019-09-25 15:00
深入了解Java GC的工作原理
JVM学习
笔记之JVM内存管理和JVM垃圾回收的概念,JVM内存结构由堆、栈、本地方法栈、方法区等部分组成,另外JVM分别对新生代下载地址和旧生代采用不同的垃圾回收机制。
·
2019-09-25 05:44
【
JVM学习
】3.深入解析强引用、软引用、弱引用、幻象引用
来源:公众号:猿人谷关于强引用、软引用、弱引用、幻象引用的区别,在很多公司的面试题中经常出现,可能有些小伙伴觉得这个知识点比较冷门,但其实大家在开发中经常用到,如new一个对象的时候就是强引用的应用。在java语言中,除了原始数据类型(boolean、byte、short、char、int、float、double、long)的变量,其他所有都是所谓的引用类型,指向各种不同的对象。理解这些引用的区
alterem
·
2019-09-23 10:00
【
JVM学习
】2.Java虚拟机运行时数据区
来源:公众号:猿人谷这里我们先说句题外话,相信大家在面试中经常被问到介绍Java内存模型,我在面试别人时也会经常问这个问题。但是,往往都会令我比较尴尬,我还话音未落,面试者就会“背诵”一段(Java虚拟机是由堆、方法区、虚拟机栈,吧啦吧啦。。。),估计心里还一脸自豪的想幸好哥提前在网上搜过,早有准备。每每这个时候,我都不忍心打断,因为“背诵”的真的太顺畅了!这也怪不得面试者,首先Java虚拟机方面
alterem
·
2019-09-22 13:00
JVM学习
(一)Java虚拟机运行时数据区域
一、Java内存区域1、运行时数据区域根据《Java虚拟机规范(JavaSE7版)》规定,Java虚拟机所管理的内存包括以下几个运行时数据区域:1.1程序计数器程序计数器是一块较小的内存空间,可以看做是当前线程所执行的字节码的行号指示器。字节码解释器在执行时通过改变计数器的值来选取下一条要执行的字节码的指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成程序计数器是线程私
宅而不肥的小白
·
2019-09-18 17:00
JVM学习
分享-思考题
packagezero.desk.stringconstantpool;importorg.junit.Test;/***@authorZero*@since2019-09-17.*Description:*当调用intern方法时,*如果池已经包含此字符串(equals确定),则返回池中字符串。*否则,将此String对象添加到池中并且返回该String对象的引用。*/publicclassSt
DeskZero
·
2019-09-18 00:00
JVM学习
分享-练习题
packageorg.fenixsoft.clazz;publicclassTestClass{privateintm;publicintinc(){returnm+1;}}//-----------javap-verboseTestClasspackagezero.desk.metaspace;importorg.springframework.cglib.proxy.Enhancer;impo
DeskZero
·
2019-09-17 22:00
JVM学习
——虚拟机类加载机制
JVM学习
——虚拟机类加载机制1概述虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。
nero_claudius
·
2019-09-17 20:39
JVM
JVM学习
(五)——JDK 命令行工具和可视化工具
一、JDK命令行工具这些命令在JDK安装目录下的bin目录下:1、jps(查看所有Java进程)类似UNIX的ps命令。用户查看所有Java进程的启动类、传入参数和Java虚拟机参数等信息;命令说明jps显示虚拟机执行主类名称以及这些进程的本地虚拟机唯一IDjps-q只输出进程的本地虚拟机唯一ID。jps-l输出主类的全名,如果进程执行的是Jar包,输出Jar路径。jps-v输出虚拟机进程启动时J
JSai
·
2019-09-17 10:23
JVM学习
(四)——JVM垃圾回收——垃圾收集算法,垃圾收集器
垃圾收集算法1、标记-清除算法该算法分为“标记”和“清除”阶段:首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象。2、复制算法将内存分为大小相同的两块,每次使用其中的一块。当这一块的内存使用完后,就将还存活的对象复制到另一块去,然后再把使用的空间一次清理掉。这样就使每次的内存回收都是对内存区间的一半进行回收。3、标记-整理算法根据老年代的特点特出的一种标记算法,标记过程仍然与“标
JSai
·
2019-09-17 10:11
JVM学习
(三)——JVM垃圾回收——堆内存
一、JVM垃圾回收简介Java的自动内存管理主要是针对对象内存的回收和对象内存的分配。同时,Java自动内存管理最核心的功能是堆内存中对象的分配与回收。Java堆是垃圾收集器管理的主要区域,因此也被称作GC堆(GarbageCollectedHeap).从垃圾回收的角度,由于现在收集器基本都采用分代垃圾收集算法,所以Java堆还可以细分为:新生代和老年代:再细致一点有:Eden空间、FromSur
JSai
·
2019-09-16 17:39
上一页
10
11
12
13
14
15
16
17
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他