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学习
java如何一步一步运行,详细说明
JVM学习
第一篇思考:一个Java代码是怎么运行起来的-上篇而JRE运行的是*.class的文件。所以,我们需要将java文件编译成class文件然后才可以。
aifans_bert
·
2022-04-01 01:08
java学习
java
JVM学习
:双亲委派机制
双亲委派机制1.1、如果创建一个String类publicclassString{static{System.out.println("我是自定义的hello,java!!!");}}然后Test一下publicclassStringtest{publicstaticvoidmain(String[]args){java.lang.Stringstr=newjava.lang.String();S
眼泪划过的星空
·
2022-03-25 08:58
JAVA
java
JVM学习
1.ClassLoader(类加载器)1>java虚拟机与程序的生命周期在以下情况,程序将结束生命周期(1)执行了System.exit()方法(2)程序正常执行完(3)程序在执行过程中发生异常或者错误而异常终止(4)由于操作系统发生错误而导致java虚拟机进程终止2>类的加载、连接、初始化类的加载:查找并加载类的二进制数据(将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的
Pure_Dream
·
2022-02-22 03:41
JVM学习
笔记12(垃圾回收相关算法)
垃圾回收相关算法标记阶段对象存活判断● 在堆里存放着几乎所有的Java对象实例,在GC执行垃圾回收之前,首先需要区分出内存中哪些是存活对象,哪些是已经死亡的对象。只有被标记为己经死亡的对象,GC才会在执行垃圾回收时,释放掉其所占用的内存空间,因此这个过程我们可以称为垃圾标记阶段。● 那么在JVM中究竟是如何标记-一个死亡对象呢?简单来说,当一个对象已经不再被任何的存活对象继续引用时,就可以宣判为已
村里一枝花丶
·
2022-02-21 00:50
深入理解
JVM学习
笔记-垃圾收集器与内存分配策略
上篇文章深入理解
JVM学习
笔记-Java内存区域与内存溢出异常中介绍了Java内存运行时区域的的各个部分,其中程序计数器、虚拟机栈、本地方法栈3三个区域随线程而生,随线程而灭,栈中的栈帧随着方法的进入和退出而有条不紊的执行着出栈和入栈的操作
htkeepmoving
·
2022-02-17 22:20
08_
JVM学习
笔记_类命名空间解析
类命名空间示例代码:publicclassMyTest21{publicstaticvoidmain(String[]args)throwsException{MyTest16loader1=newMyTest16("loader1");MyTest16loader2=newMyTest16("loader2");loader1.setPath("/Users/leofight/Desktop/"
leofight
·
2022-02-16 08:35
【JVM】JVM06(编译器处理-java语法糖总结)
欢迎各位点赞评论收藏⭐️新年快乐朋友们
jvm学习
之路!
温文艾尔
·
2022-02-15 19:06
jvm
java
开发语言
后端
jvm
java字节码
【JVM】JVM07(类加载阶段详细解析)
欢迎各位点赞评论收藏⭐️新年快乐朋友们
jvm学习
之路!
温文艾尔
·
2022-02-15 19:06
jvm
java
后端
面试
jvm
java字节码
【JVM】JVM05(从字节码角度分析i++和++i的执行流程)
欢迎各位点赞评论收藏⭐️新年快乐朋友们
jvm学习
之路!
温文艾尔
·
2022-02-15 19:05
jvm
java
开发语言
java字节码
后端
jvm
【JVM】JVM08(java内存模型解析[JMM])
欢迎各位点赞评论收藏⭐️新年快乐朋友们
jvm学习
之路!
温文艾尔
·
2022-02-15 19:31
jvm
java
后端
jvm
面试
java字节码
04_
JVM学习
笔记_ClassLoader源码分析
ClassLoaderdoc/***Aclassloaderisanobjectthatisresponsibleforloadingclasses.The*classClassLoaderisanabstractclass.Giventhebinarynameofaclass,aclassloadershouldattemptto*locateorgeneratedatathatconstitu
leofight
·
2022-02-09 04:49
2015-11-30学习资源
1.RESTfulAPI设计指南2.理解OAuth2.03.Command-linetooltocountper-packagemethodsinAndroid.dexfiles4.
JVM学习
笔记(一)
高阿文
·
2022-02-06 10:18
【JVM】JVM04(类加载与字节码-图解方法执行流程)
欢迎各位点赞评论收藏⭐️新年快乐朋友们
jvm学习
之路!
温文艾尔
·
2022-02-04 17:52
jvm
java
开发语言
后端
jvm
java字节码
【JVM】JVM03(图解垃圾回收机制)下
欢迎各位点赞评论收藏⭐️新年快乐朋友们
jvm学习
之路!
温文艾尔
·
2022-02-04 17:22
jvm
java
后端
jvm
jvm.gc
面试
【一文包会】Springboot快速实现阿里云OSS文件上传功能
欢迎各位点赞评论收藏⭐️新年快乐朋友们
jvm学习
之路!
温文艾尔
·
2022-02-04 17:22
SpringBoot
spring
boot
阿里云
后端
java
云存储
【JVM】JVM03(图解垃圾回收机制)上
欢迎各位点赞评论收藏⭐️新年快乐朋友们
jvm学习
之路!
温文艾尔
·
2022-02-04 15:31
jvm
java
后端
jvm
jvm.gc
面试
JVM学习
笔记
1)Java内存模型image程序计数器:当前执行的字节码行号指示器,字节码指示器就根据这个计数器的值来选取下一条指令,分支、循环、跳转、异常处理、线程恢复等基础功能都要依赖这个计数器来完成。是Java虚拟机内存规范中唯一一个没有规定任何OutOfMemoryError区域。本地方法栈:不是用Java语言写的,而是用C/C++编写的本地方法。它相当于一个接口,方便与Java环境外部和操作系统的交互
进阶的小豆子
·
2022-02-03 11:27
JVM 学习笔记 一 JVM 内存结构 垃圾回收
JVM学习
笔记一JVM内存结构StringTable串池直接内存垃圾回收如何判断对象是否应该被垃圾回收五种引用垃圾回收算法垃圾回收器JVM内存结构线程独占的(1)程序计数器PC(2)虚拟机栈:线程运行需要的内存空间
Ghost1590
·
2021-11-01 22:35
java
java
开发语言
后端
jvm
Carson带你学JVM:常见的垃圾收集器学习指南
前言垃圾收集器是垃圾收集算法的具体实现本文将对市面上常见的垃圾收集器类型进行讲解,希望你们会喜欢Carson带你学JVM系列文章,具体如下:Carson带你学JVM:这是一份全面&详细的
JVM学习
指南Carson
Carson带你学安卓
·
2021-08-31 10:51
JVM学习
(四)——gc回收机制
最近复习Java基础细节的时候看ThkinginJava;书上有提到两种垃圾回收机制,“停止-复制”、“标记-清扫”;停止-复制:将暂停程序的运行,然后将所有存活的对象从当前堆复制到另一个堆,而没有被复制的对象都是垃圾;当对象被复制到新堆时,它们是一个挨着一个的,所以新堆保持紧凑排列;然后就可以直接分配新空间了标记-清扫:从堆栈和静态存储区出发,遍历所有的引用,进而找出所有存活的对象;每找到一个存
陈烧面
·
2021-06-27 22:09
JVM学习
系列(1)——Java代码是如何执行的
Java程序的通用执行过程学习Java编程语言学习时的最初的示例程序一般都是HelloWorld。我们来看一个HelloWorld.java的示例:publicclassHelloWorld{publicstaticvoidmain(Stringargs[]){System.out.println("HelloWorld!");}}在执行代码前,我们需要对其进行编译,执行命令为:javacHell
碧鬼鸠
·
2021-06-27 19:54
JVM学习
整理
1.核心参数-Xms2048m、-Xmx2048m、-Xss1024m其中-x是表示非标准化的参数,-xms表示jvm的heap内存的起始内存,默认是服务器内存的1/64,-xmx表示jvm的heap内存的最大内存,默认是服务器的内存的1/4,如果heap内存不够的话,则会抛出oomoutofmemoryError,-xss表示线程栈的内存空间大小,java进程中是有多个线程的,每一个线程中内存占
·
2021-06-23 22:33
JVM
JVM学习
(5)垃圾回收算法
一.概述:主要讨论:引用计数法,标记压缩法,标记清除法,复制算法和分代分区的思想。二.引用计数法(ReferenceCounting):概念:引用计数器的实现很简单,对于一个对象A,只要有任何一个对象引用了A,则A的引用计数器就加1,当引用失效时,引用计数器就减1。只要对象A的应用计数器的值为0,则对象A就不可能再被使用。优势:简单。问题:1.无法处理循环引用的情况。因此,在java的垃圾回收器中
陈阳001
·
2021-06-22 08:27
JVM学习
笔记与调优实战(一):JVM内存结构
标签:JVM1、JVM内存结构根据《Java虚拟机规范(JavaSE7版)》规定,Java虚拟机内存结构可划分为以下区域:Java内存结构.png解析:程序计数器:程序计数器是一块较小的内存空间,可看作是当前线程所执行的字节码的行号指示器。在虚拟机概念模型里,字节码解释器工作时就是通过改变该计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖该计数器
Vechace
·
2021-06-21 16:00
清华大佬力荐的
JVM学习
路线+实战笔记+阿里真题,吃透吊打面试官
JVM知识点梳理JVM是JavaVirtualMachine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以
Java领域指导者
·
2021-06-13 10:03
JVM学习
(2) 对象已死?
概述说起垃圾收集(GarbageCollection,GC),大部分人都把这项技术当做Java语言的伴生产物。事实上,GC的历史远远比Java久远,1960年诞生于MIT的Lisp是第一门真正使用内存动态分配和垃圾收集技术的语言。当Lisp还在胚胎时期时,人们就在思考GC需要完成的三件事:那些内存需要回收?什么时候回收?如何回收?经过半个世纪的发展,内存的动态分配与内存回收技术已经相当成熟,一切看
Tu9oh0st
·
2021-06-12 09:40
JVM学习
-GC之追踪式垃圾收集算法基础
学习JVM的垃圾回收,离不开的是追踪式垃圾回收算法,现有的主流Java虚拟机都采用的是追踪式回收算法。对比于引用计数式垃圾收集,追踪式垃圾回收算法都是采用的间接式的回收策略,也就是这种策略并非直接寻找垃圾本身,而是先寻找哪些对象存活,然后反过来判断其余所有的对象为垃圾对象。追踪式回收算法本身包括标记-清除(Mark-Sweep)、标记-复制(Mark-Copy)、标记-整理(Mark-Comp
if_wang
·
2021-05-17 20:19
JVM学习
(三)——堆和栈的区别
在学习JVM运行机制的时候,运行时数据内存分为堆内存和栈内存;记得看ThkinginJava时,曾看到过,栈内存存放的是基本类型的变量和对象的引用;而堆内存存放的则是对象;堆内存作用是用于存储Java中的对象和数组,当我们new一个对象或者创建一个数组的时候,就会在堆内存中开辟一段空间给它,用于存放堆内存的特点1.堆可以看做队列,先进先出,后进后出2.堆可以动态分配内存大小,生存期也不必事先告诉编
陈烧面
·
2021-05-12 05:53
JVM学习
笔记(四)——字节码执行引擎
代码编译的结果从机器码转变为字节码,是存储格式的一小步,确实编程语言发展的一大步。正是因为有了字节码这一中间格式才有了Java语言跨平台的特性。字节码并不能直接基于物理机执行引擎执行,因为物理机执行引擎是建立在特定的处理器,指令集以及操作系统之上的,并不具备跨平台特性。所以执行字节码的责任就交给了虚拟机中的字节码执行引擎。1运行时栈帧结构栈帧是用于刻画Java程序运行时一个方法的调用、执行以及返回
李牙刷儿
·
2021-04-27 00:41
深入理解
JVM学习
笔记-Java内存模型与线程
硬件效率与一致性:让计算机并发执行若干任务与更充分利用计算机处理器的效能之间的因果关系看起来顺利成章,实际上它们之间的关系并没有想象中的那么简单,由于计算机的存储设备与处理器的运算速度有几个数量级的差距,所以现代计算机系统都不得不加入一层读写速度尽可能接近处理器运算速度的高速缓存来作为内存与处理器之间的缓冲,基于高速缓存的存储交互很好的解决了处理器与内存的速度矛盾,但是又引入一个新的问题:缓存一致
htkeepmoving
·
2021-04-15 03:22
02_
JVM学习
笔记_类加载机制详解二
编译期常量与运行期常量的区别如下代码执行后会输出什么结果?publicclassMyTest3{publicstaticvoidmain(String[]args){System.out.println(MyParent3.str);}}classMyParent3{publicstaticfinalStringstr="hello";static{System.out.println("MyPa
leofight
·
2021-04-14 09:07
JVM学习
笔记(一) 初遇篇
记得在实习找工作的时候,有个面试官问了JVM调优的问题,当时好像是这么问的,你知道JVM调优吗?我说我不是很了解,然后面试官跟我说,你面试官可以了解一下,JVM调一下,会运行的更好。当时的我并不理解JVM为什么要调优,我心里的想法是难道是JVM的某些参数一开始设置的并不合理吗?但是我又想JVM发展了这么长时间了,就算是一开始有这个问题?到现在都没解决吗?JVM运行的不佳,有没有可能不是JVM的错,
·
2021-04-11 19:33
SpringBoot中的Spring
JVM学习
总结
MVC为何顾名思义MVC是M(model)V(view)C(controller)是一种软件架构设计思想,将业务分层设计和实现。使程序具有更好的灵活性和可扩展性。结合操作的简单实例来理解此图像,可以有更好的效果。DispatcherServlet我们叫它中央控制器,他好比大脑进行整个业务的操控。DispatcherServlet不是由我们创建,而是由spring底层来创建。在我们通过浏览器中输入u
·
2021-03-21 17:02
springbootjvm
JVM学习
笔记(三):JVM基本参数
1来源来源:《Java虚拟机JVM故障诊断与性能优化》——葛一鸣章节:第三章本文是第三章的一些笔记整理。2GC日志:-Xlog:gc要打印GC日志的话,可以加上-Xlog:gc参数(JDK8及以下请使用-XX:+PrintGC),开启GC打印后,每次GC就会打印如下的日志(OpenJDK11-Xlog:gc):[0.126s][info][gc]GC(0)PauseYoung(Normal)(G1
·
2021-03-17 04:02
jvm
JVM学习
笔记(二):JVM基本结构
1来源来源:《Java虚拟机JVM故障诊断与性能优化》——葛一鸣章节:第二章本文是第二章的一些笔记整理。2JVM基本参数-Xmxjava命令的一般形式如下:java[-options]class[args..]其中-options表示JVM启动参数,class为带有main()的Java类,args表示传递给main()的参数,也就是main(String[]args)中的参数。一般设置参数在-o
·
2021-03-17 04:02
jvm
JVM学习
笔记(一):JVM初探
1来源来源:《Java虚拟机JVM故障诊断与性能优化》——葛一鸣章节:第一章本文是第一章的一些笔记整理。2Java里程碑2.1Java起源1990年Sun公司决定开发一门新的程序语言——Oak,已经具备安全性、网络通信、面向对象、垃圾回收、多线程等特性,由于Oak已被注册,于是改名为Java。2.2JDK1.01995年Sun发布了Java以及HotJava产品,1996年正式发布JDK1.0,包
·
2021-03-17 04:58
jvm
JVM学习
(二)续1-ClassLoader代码解读-双亲委派模型
1.ClassLoader的继承关系ClassLoader是什么鬼?为什么我们要如此大费周章的讲解这个?还记得AppClassLoader、ExtClassLoader么?他们与ClassLoader之间的关系是什么?ClassLoader继承关系AppClassLoader+ExtClassLoaderURLClassLoaderSecureClassLoaderClassLoader2.Cla
J先生有点儿屁
·
2021-03-11 15:45
JVM:入门简介
目录JVM是什么
JVM学习
路线Java技术体系JVM的生命周期JVM是什么JVM即Java虚拟机(JavaVirtualMachine),其本质上就是一个程序,当它在命令行上启动的时候,就开始执行保存在某字节码文件中的指令
Gun+ing
·
2021-03-09 00:20
JVM
java
jvm
jvm学习
一|jvm内存区域以及内存溢出
1、jvm内存区域程序计数器程序计数器中保存线程执行状态,在线程上下文切换时保存和恢复数据。方法盏方法的入参,方法中的局部变量,方法的出入口本地方法盏native方法堆对象的保存位置方法区加载的类信息直接内存2、内存溢出和内存泄漏内存溢出是指内存大小过小,不够用内存泄漏是指应该被回收的内存没有被回收3、那些内存区域会出现内存溢出方法盏,原因:递归调用堆,原因:对象创建过多
·
2021-02-26 10:23
java
jvm学习
一|jvm内存区域以及内存溢出
1、jvm内存区域程序计数器程序计数器中保存线程执行状态,在线程上下文切换时保存和恢复数据。方法盏方法的入参,方法中的局部变量,方法的出入口本地方法盏native方法堆对象的保存位置方法区加载的类信息直接内存2、内存溢出和内存泄漏内存溢出是指内存大小过小,不够用内存泄漏是指应该被回收的内存没有被回收3、那些内存区域会出现内存溢出方法盏,原因:递归调用堆,原因:对象创建过多
·
2021-02-26 09:56
java
JVM学习
之路4-类文件结构及加载机制
继上一篇
JVM学习
之路3-GC机制和GC收集器分析介绍完垃圾回收相关内容后,这篇说说类的加载机制。
·
2021-02-15 23:42
jvmJVM
JVM学习
之路3-GC机制和GC收集器分析
继上一篇
JVM学习
之路2-对象内存布局及逃逸分析介绍完jvm相关对象在内存中如何布局、如何进行访问以及jvm进行逃逸分析并做优化之后,本篇准备聊一下jvm最关键的一个点(也是现实中遇到问题最多的点)垃圾回收
·
2021-02-04 19:51
jvm
JVM学习
-Java内存模型JMM
目录1.Java内存模型概述2.原子性2.1.问题提出2.2.问题分析2.3.解决办法3.原子性3.1.退不出的循环3.2解决方法3.3可见性4.有序性4.1.诡异的结果4.2.解决办法4.3.有序性理解5.happens-before\1.Java内存模型概述很多人将【java内存结构】与【java内存模型】傻傻分不清,【java内存模型】是JavaMemoryModel(JMM)的意思。关于它
Java硬件工程师
·
2021-02-04 17:46
JVM
Java
多线程
java
jvm
多线程
JVM学习
-字节码指令
目录1.入门2javap工具3图解方法执行流程3.1.原始java代码3.2.编译后的字节码文件3.3.常量池载入运行时常量池3.4.方法字节码载入方法区3.5.main线程开始运行,分配栈帧内存3.6.执行引擎开始执行字节码4练习-分析i++5.条件判断6.循环控制指令7练习-判断结果8构造方法9方法调用10.多态的原理11.异常处理11.1.try-catch11.2.多个single-cat
Java硬件工程师
·
2021-02-03 16:27
JVM
Java
jvm
java
JVM学习
之路1-内存模型
虽然是老码农一枚,但是基本上没有写过文章(主要还是个人太懒了),最近开始决定把自己之前学的知识做一下总结,顺便也进行一下回顾。这里总结和回顾的是Jvm系列,是基于周志明写的《深入理解java虚拟机》进行的总结,本章是对jvm内存模型的整理。知识点:jvm内存模型依照书中所写,对这块内容画一个图,我们依照这幅图来讲。从图中我们可以看出主要分为6个部分,程序计数器、虚拟机栈、本地方法栈、方法区、堆、直
·
2021-02-02 02:23
jvm
JVM学习
之路2-对象内存布局及逃逸分析
继上一篇介绍完JVM内存模型之后,这篇准备聊聊对象的内存布局以及逃逸分析。我们知道对象一般是分配在堆上的,但是你知道对象在堆上是怎么存放的吗?我们平时程序中在使用的时候是怎么找到对象的?知识点1、内存对象布局2、逃逸分析内存对象布局先说一下我们平时是怎么创建对象的Aa=newA();如上所示,一个对象A就被创建出来了。看似简单的一行语句,其实虚拟机为我们做了很多事情。首先虚拟机去常量池中查找是否有
·
2021-02-02 02:12
jvm
JVM学习
-分代收集算法
分代收集算法1.分代回收算法概述1.1.分代回收算法简介1.2.回收流程1.3.回收流程总结2.相关VM参数3.GC分析1.分代回收算法概述1.1.分代回收算法简介我们在前面讲了三种垃圾回收算法,实际上,虚拟机结合这三种算法,让它们协同工作,具体的实现使用分代垃圾回收机制。我们将堆内存区域划分为新生代和老年代。新生代中又划分为伊甸园、幸存区From、幸存区To。因为Java中有的对象需要长时间使用
Java硬件工程师
·
2021-01-31 17:24
Java
JVM
jvm
java
JVM学习
-StringTable字符串常量池
StringTable1.StringTable的特性1.1.面试题1.2.常量池与串池的关系1.3.字符串的拼接1.4.编译器优化1.5.intern方法1.5.1.intern方法(1.8)1.5.2.intern方法(1.6)1.6.StringTable的特性总结2.StringTable位置3.StringTable垃圾回收4.StringTable性能调优1.StringTable的特
Java硬件工程师
·
2021-01-31 10:25
JVM
Java
java
jvm
JVM学习
-Java内存结构(详细易懂)
Java内存结构1.JVM概述2.程序计数器2.1.定义2.2.作用及特点解释3.虚拟机栈3.1.栈的特点3.2.栈的演示3.3.栈的问题辨析3.4.栈的线程安全问题3.5.栈内存溢出(StackOverflowError)3.6.线程运行诊断3.6.1.案例1:cpu占用过多(linux系统为例)3.6.2.案例2:线程诊断_迟迟得不到结果4.本地方法栈5.堆5.1.定义5.2.堆内存溢出(Ou
Java硬件工程师
·
2021-01-30 21:19
JVM
Java
jvm
JVM学习
(一)如何从类文件开始学习类加载机制(双亲委派)、运行时数据区
写在前面官网经典图的简单介绍下面是我在jdk8官网上截的一张图,这张图充分的说明了JDK、JRE、JVM三者之间的关系,可以到JDK所在的位置是超级包含了JRE,而JRE又包含了JVM,同时能看出来JDK为开发者提供了很多的工具供开发者使用,JRE为我们提供了很多的类库提供了运行的支撑,JVM是我们的代码能运行在各操作系统上的支撑。要怎么学习?现在我所停留的阶段是在JDK层面,即使用层面,那如何走
明心1994
·
2021-01-27 11:11
JVM
jvm
java
jdk
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他