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
HotSpot
【JVM系列1】深入分析Java虚拟机堆和栈及OutOfMemory异常产生原因
前言JVM系列文章如无特殊说明,一些特性均是基于
HotSpot
虚拟机和JDK1.8版本讲述。
刀哥说Java
·
2024-01-08 01:34
JVM详解——内存结构
,欢迎来我的个人网站看看:耶瞳空间一:JVM基本介绍JVM是JavaVirtualMachine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,具体实现有很多,以下内容如果不额外声明,默认是
HotSpot
JVM
耶瞳
·
2024-01-07 13:21
java
jvm
java
Java基础学习之JVM篇:说说栈和堆的区别
本节文章将以
HotSpot
虚拟机为例,重点围绕栈和堆来让我们一起认识Java虚拟机内存的分配方式和基础原理。
黄小黄的黄
·
2024-01-07 13:50
Java基础学习
java
jvm
堆栈
hotspot
源码角度看OOP之类属性的底层实现
问题分析在计算机的世界里,一个问题的解决方案永远不止一种。但是取舍过后,最合适的只剩唯一。当然,你能想到的解决方案的多少,与你对这个问题的理解程度是息息相关的。对于一个问题的理解程度,与你的技术视野紧密不可分。你想到而能不能做到,与你的技术实力直接挂钩。好像不止是计算机世界哈,哪个世界都这样!比如说让你来实现OOP机制。咱们先不说完整的,就聚焦属性继承,你会如何实现。经常看我文章的小伙伴可能比较奇
子牙老师
·
2024-01-06 23:27
手写JVM专栏
jvm
c++
开发语言
Java
【
Hotspot
源码】揭秘Java线程创建过程中的各种细节
会从
hotspot
源码角度,给大家揭秘平时学习多线程那些从来没有想过的问题,或者存在疑虑却又无法证明的理论。
子牙老师
·
2024-01-06 22:57
jvm
计算机底层
深入理解JVM--第2章 Java内存区域与内存溢出异常
内存区域+
hotspot
虚机+内存溢出异常虚拟机管理内存、Java虚拟机规范一、运行时数据区域:1.程序计数器(ProgramCounterRegister)是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器
下海的alpha
·
2024-01-06 15:32
jvm
java
开发语言
HotSpot
虚拟机对象探秘
详细了解下
HotSpot
虚拟机在Java堆内存中对象的分配、布局和访问的全过程。
XFTL
·
2024-01-06 11:11
JVM虚拟机
jvm
方法区到底是什么鬼
同时大多数用的JVM都是Sun公司的
HotSpot
。在
HotSpot
上把GC分代收集扩展至方法区,或者说使用永久代来实
五月花号区块链联盟
·
2024-01-06 07:06
JVM系列03-垃圾回收器
不同的虚拟机厂商可以根据不同垃圾回收算法的组合实现自己的垃圾回收器各有不同,下面我们主要聊一聊
Hotspot
虚拟机实现的几种垃圾回收器。
Bryant0024
·
2024-01-06 05:06
垃圾回收 - JDK监控工具
JDK监控工具jps:JVMProcessStatusTool.显示指定系统内所有
HotSpot
vm进程jstat:JVMstatisticMonitorTool.用于收集vm各方面的运行数据jinfo
牛牛_735d
·
2024-01-06 01:41
Hotspot
源码解析-第十二章-OS线程绑定
12.2OS线程绑定12.2.1os_linux.cpp12.2.1.1create_main_thread这个函数的入口函数是thread.cpp->set_as_starting_thread()boolos::create_main_thread(JavaThread*thread){//断言判断,主线程必须是当前线程,否则抛出异常退出assert(os::Linux::_main_thre
zhang527294844
·
2024-01-05 19:14
Java虚拟机
java
Hotspot
源码解析-第十三章-全局模块初始化
第十三章-全局模块初始化这一章主要对全局模块初始化有个大概轮廓,知道初始了哪些模块,做了哪些事情,具体的细节,会根据重要程度在后面各章节中一一体现。13.1初始全局模块13.1.1init.cpp13.1.1.1init_globalsjintinit_globals(){HandleMarkhm;//管理模块初始化,包括时间统计、各种指标计数、性能数据统计、运行时数据统计和监控、类加载服务情况(
zhang527294844
·
2024-01-05 19:14
Java虚拟机
java
Hotspot
源码解析-第十二章-JavaThread的创建
在本章中会大量用到Handle,也就是句柄的概念,那么首先先把指针、引用、句柄的概念搞清楚1、指针:在C/C++中大量使用指针,表示某个对象/内存的地址,不受指向的类型限制,只是表示地址,这个概念好理解2、引用:引用在面向对象语言(C++、Java)中大量存在,可以把引用等价于指针,区别在于,引用限定了类型,声明时是什么类型,就是什么类型,这样的好处就是不至于在运行时产生类型转换的错误3、句柄:句
zhang527294844
·
2024-01-05 19:43
Java虚拟机
java
Java并发系列(14)——synchronized之
HotSpot
源码解读(上)
上一篇:《Java并发系列(13)——线程池的选择与参数设置》文章目录10synchronized实现原理10.1研究思路10.1.1输出JVM指令10.1.2跟踪JVM源码10.2预备知识10.2.1对象头10.2.1.1什么是对象头10.2.1.2打印对象头10.2.1.3小端存储10.2.2用户态与内核态10.2.2.1用户态与内核态10.2.2.2用户线程与内核线程10.3Hashtabl
JinchaoLv
·
2024-01-05 19:11
并发
java
synchronized
多线程
并发
偏向锁
JVM相关(
Hotspot
)-----一文概所有
一:类加载机制:JVM加载类的过程分为:加载、验证、准备、解析、初始化、使用、卸载等过程,在此过程之前,在我们java进程开始的时候,java进程会根据本地的dll文件创建java虚拟机,然后创建引导类加载器(java有多个类加载器,也可自定义类加载器。引导类加载器主要负责加载类库的类),引导类加载器是由c实现的。此后继续创建JVM程序入口类sun.misc.Launcher。由它去初始化其他类加
张若妍喊你回家带冰淇淋
·
2024-01-05 19:40
性能篇
java
Hotspot
垃圾回收之ConcurrentMarkSweepGeneration(二) 源码解析
目录一、ModUnionClosure/ModUnionClosurePar二、CMSIsAliveClosure/CMSParKeepAliveClosure三、CFLS_LAB1、构造方法和modify_initialization2、alloc3、retire4、compute_desired_plab_size四、ConcurrentMarkSweepGeneration1、定义2、构造方
孙大圣666
·
2024-01-05 19:07
Hotspot和Linux内核
ModUnionClosure
CFLS_LAB
CMSCollector
Hotspot
本地方法绑定与执行 源码解析
目录一、InterpreterGenerator::generate_native_entry二、Methodnative_function1、定义2、set_native_function和clear_native_function3、jni_RegisterNatives和jni_UnregisterNatives4、NativeLookup::lookup三、Methodsignature_
孙大圣666
·
2024-01-05 19:37
Hotspot和Linux内核
【JUC并发编程】synchronized原理分析(中)(JVM对象头/
HotSpot
源码分析/ 字节码文件分析)
目录一、JVM对象头1.KlassPointer2.实例属性3.对齐填充4.查看Java对象布局5.基本数据类型占多少字节5.论证压缩效果6.New一个对象占用多少字节二、
HotSpot
源码分析1.对象头详解
超级码里喵
·
2024-01-05 19:36
JUC并发编程
JUC
synchronized
JVM对象头
HotSpot源码分析
Monitor
Hotspot
源码解析-第十二章-线程栈保护页
了解保护页,先从几个问题开始吧1、为什么线程栈有栈帧了,还要有保护页?答:在操作系统中内存可以看成是一个大数组,这就有一个问题,线程之间可能会互相踩了别人的内存空间,所以栈空间也存在这个问题。为了防止栈溢出时破坏栈之外的数据结构,语言运行时会保留最大栈上限limit所在的一片区域,这就是保护页(GuardPage),也可叫哨兵值(Sentry)。当函数返回时检查保护页的值,如果被修改,说明已到达最
zhang527294844
·
2024-01-05 19:04
Java虚拟机
java
Jvm垃圾收集器系列之Parallel Scavenge收集器(个人见解仅供参考)
答:ParallelScavenge是Java
HotSpot
虚拟机中的一种垃圾收集器,它主要用于提高应用程序的吞吐量。问:ParallelScavenge的主要目标是什么?
小阳小朋友
·
2024-01-05 09:46
Jvm
jvm
java
算法
Jvm垃圾收集器系列之CMS收集器(个人见解仅供参考)
答:CMS(ConcurrentMarkSweep)收集器是Java
HotSpot
虚拟机中的一种垃圾收集器,主要用于实现低延迟的垃圾回收。问:CMS收集器的主要目标是什么?
小阳小朋友
·
2024-01-05 09:16
Jvm
jvm
Jol-分析Java对象的内存布局
本文实验环境为64位
HotSpot
虚拟机。Java对象的内存布局Java的实例对象、数组对象在内存中的组成包括:对象头、实例数据和内存填充。
快乐江小鱼
·
2024-01-04 15:22
java
java
开发语言
Cytoscape3.9安装包下载及安装教程
docs.qq.com/doc/DUldkdndLdlJ2TlJJ1、选中下载好的安装包,右键选择解压到【Cytoscape3.9.1】文件夹2、双击打开【OpenJDK11U-jdk_x64_windows_
hotspot
办公软件行家1
·
2024-01-04 05:27
经验分享
取消Async Stack Traces无法解决Sharing is only supported for boot loader classes时的解决方法
接下来将介绍这个警告出现的原因及强迫症的解决方法2.Java
HotSpot
(TM)64-BitS
北国137
·
2024-01-04 02:47
java
spring
maven
intellij-idea
mybatis
JIT和AOT,字节码解释执行
JIT编译器会分析程序的执行热点(
HotSpot
)并优化频繁执行的代码,将其编译为高效的机器代码。这种方式可以提高程序的
abytecoder
·
2024-01-03 11:59
笔记
JVM工作原理与实战(一):初识JVM
专栏导航JVM工作原理与实战RabbitMQ入门指南从零开始了解大数据目录专栏导航前言一、JVM概念二、JVM的三大核心功能1.内存管理2.解释执行虚拟机指令3.即时编译三、常见的JVM虚拟机1.
HotSpot
2
橘子-青衫
·
2024-01-03 06:42
JVM工作原理与实战
jvm
java
后端
Hotspot
源码解析-第九章
第九章9.1OS初始化29.1.1os_linux.cpp9.1.1.1os::init_2这个函数是在全部参数都解析后调用的jintos::init_2(void){Linux::fast_thread_clock_init();//Allocateasinglepageandmarkitasreadableforsafepointpolling/**通过系统调用mmap分配一个可读的单页内存,
zhang527294844
·
2024-01-02 21:54
Java虚拟机
java
Hotspot
源码解析-第十章
第十章10.1全局数据结构初始化10.1.1init.cpp10.1.1.1vm_init_globalsvoidvm_init_globals(){//验证ThreadShadow的实现,主要是验证线程对象的_pending_exception属性位置,_pending_exception后面用到时再讲check_ThreadShadow();//基础类型初始化,看`章节10.1.2.1`bas
zhang527294844
·
2024-01-02 21:54
Java虚拟机
java
Hotspot
源码解析-第八章
第八章这一章是接着章节7.1启动参数解析来讲的,第七章中对这块参数的解析有些遗漏,现在补充下,主要是针对内存分配参数的解析做重点介绍8.1虚拟机参数解析8.1.1arguments.cpp8.1.1.1Arguments::parse_vm_init_args这个方法的入口还是在章节7.1.1.1Arguments::parse这个函数中jintArguments::parse_vm_init_a
zhang527294844
·
2024-01-02 21:24
Java虚拟机
java
Hotspot
源码解析-第十一章
第十一章11.1线程11.1.1线程的概念说起线程,首先得提起进程,相信很面试者在回答进程与线程的区别时都会用一句话:“进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位”,只能说这句话部分正确,就目前来讲,一般操作系统(这里指Linux)的任务调度执行单位确实是线程,但是未来可能会支持以协程为单位的任务调度。再说进程是操作系统资源分配的基本单位这句话,在linux操作系统中,当需
zhang527294844
·
2024-01-02 21:22
Java虚拟机
java
系统整体架构性能优化企业级实战
Java程序运行在
HotSpot
VM(就是我们常说的JVM,也包括OpenJDK)之上,通过对JVM的监控,我们可以度量Java程序效率,分析程序性能问题。
wespten
·
2024-01-02 06:35
全栈软件测试
自动化测试
性能测试
测试开发
性能优化
JVM内存区域与常见问题
内存结构这里先以JDK1.8
hotspot
垃圾收集器为例,讲讲每块区域存储的数据以及可能会抛的异常。堆存放对象实例,会出现内存溢出或内存泄露等情况。
Linda L
·
2024-01-02 02:30
Java
jvm
java
开发语言
新概念英语第三册
发现see/find/observeascenicspotabigredspot脸上大红斑aspotonone'sreputationdot点dotcomage网络时代TheMiddleEastisa
hotspot
onthespot
JokerKingkk
·
2024-01-01 09:13
微信小程序-父子页面传值
id=1子页面:onLoad:function(option){}方法二子页面向父页面传值定义父子页面父页面:
hotspot
子页面:topic设计:
hotspot
页面,点击“请选择话题”,然后跳转到topic
sif_666
·
2024-01-01 00:36
微信小程序
小程序
Java程序员成神之路
内存模型内存可见性、重排序、顺序一致性、volatile、锁、final垃圾回收内存分配策略、垃圾收集器(G1)、GC算法、GC参数、对象存活的判定JVM参数及调优Java对象模型oop-klass、对象头
HotSpot
程序员xysam
·
2024-01-01 00:33
java
程序人生
学习
Jvm垃圾收集器系列之ParNew收集器(个人见解仅供参考)
答案:ParNew收集器是Java
HotSpot
虚拟机中的一种垃圾收集器,它是ParallelScavenge收集器的一种辅助收集器。ParNew收集器的主要特点是什么?
小阳小朋友
·
2023-12-31 22:02
jvm
java
算法
查看JVM运行时参数
PrintFlagsFinal-versionuintxInitialHeapSize:=62914560表示已经改动过boolUseG1GC=false表示java-version这个指令并没有使用UseG1GC2.jps功能描述:jps是用于查看有权访问的
hotspot
匆匆岁月
·
2023-12-31 14:34
《深入理解Java虚拟机(第三版)》读书笔记:Java内存区域与内存溢出异常、垃圾收集器与内存分配策略
文章目录第2章Java内存区域与内存溢出异常2.2运行时数据区域2.3
HotSpot
虚拟机对象探秘第3章垃圾收集器与内存分配策略3.2对象已死?
阿正的梦工坊
·
2023-12-29 13:21
Java
java
jvm
Java 对象内存布局
对象头(Header):包含markword标记字段和类型指针,32位上大小是8个字节,64位16个字节,实例数据(InstanceData):包含了对象的所有成员变量,其大小由各个成员变量的大小决定,
HotSpot
川峰
·
2023-12-28 19:12
Java知识笔记
java
对象内存
对象头
markword
类元指针
对齐填充
JVM 性能调优——
HotSpot
VM 调优记录
宿主机硬件:8核/16G内存/50G磁盘,系统:CentOS7.7,Docker单实例。1.JDK默认启动参数硬件:4核/8G内存/256G磁盘,系统:Windows7。查看JDK1.8默认启动参数命令:#java-XX:+PrintCommandLineFlags-version返回:-XX:InitialHeapSize=126504256//等价于-Xms1g,JVM堆初始大小(新生代+老年
一叶知秋V
·
2023-12-28 08:22
JVM
java
jmap
dump
mat
内存分析
Java Flight Record 详解
核心概念JavaFlightRecord提供一个低开销的数据收集框架,用于对Java应用程序和
HotSpot
JVM进行故障排除。
若明天不见
·
2023-12-28 02:21
JVM
Java
java
JVM
Filght
Record
JMC
JFR
RocketMQ启动失败问题
问题描述rocketmqnamesrv启动没反应nohup.out如下:Java
HotSpot
(TM)64-BitServerVMwarning:OptionUseConcMarkSweepGCwasdeprecatedinversion9.0andwilllikelyberemovedinafuturerelease.UnrecognizedVMoption'UseCMSCompactAtFul
更新失败
·
2023-12-27 16:01
rocketmq
rocketmq
linux
Go语言学习一
RobertGriesemer是GoogleV8、Chubby和
HotSpot
JVM的主要贡献者。RobPike主要是UNIX、UTF-8、plan9的作者。
CopyLower
·
2023-12-27 00:11
学习
golang
学习
开发语言
理解JIT(读书之Java性能优化实践 第10章)
JITWatch通过解析
HotSpot
的详细编译日志,以在Java
拐爷
·
2023-12-26 04:44
java
python
jvm
编程语言
android
java获取JVM对象实例的个数和占用空间大小
);Stringname=bean.getName();intindex=name.indexOf('@');Stringpid=name.substring(0,index);//这里要区分操作系统
HotSpot
VirtualMachinemachine
zhangjs712
·
2023-12-26 04:06
JAVA
java
Hotspot
源码解析-第三章
第三章3.1创建执行环境3.1.1java.c3.1.1.1CreateExecutionEnvironment这个函数给jvm运行提前创建执行环境,主要做以下几件事情1、找到执行程序的路径2、确定执行平台的架构3、确定执行模式:client/servervoidCreateExecutionEnvironment(int*pargc,char***pargv,charjrepath[],jint
zhang527294844
·
2023-12-26 03:15
Java虚拟机
java
Hotspot
源码解析-第五章
第五章5.1初始化Java虚拟机5.1.1java.c5.1.1.1InitializeJVM/**InitializestheJavaVirtualMachine.Alsofreesoptionsarraywhen*finished.*初始化java虚拟机,完成后释放options数组,option就是虚拟机启动时设置的参数,这里初始化完了,当然要释放咯*/staticjbooleanIniti
zhang527294844
·
2023-12-26 03:15
Java虚拟机
java
Hotspot
源码解析-第二章
第二章2.1执行过程我们先从执行一个class文件开始,通过命令java[options]xxx.classparam1param2...paramn来执行一个java程序,在linux操作系统下的shell环境,执行一条命令时,shell会先fork一个新的进程来执行命令,一般根据规范程序的执行入口是main方法,jvm是c/c++实现的,这样我们只要找到该程序的main函数就行,通过查找得知m
zhang527294844
·
2023-12-26 03:45
Java虚拟机
java
Hotspot
源码解析-第四章
第四章4.1线程创建4.1.1java.c4.1.1.1ContinueInNewThreadthreadStackSize参数表示线程执行时的栈空间,因为每个线程执行时都要有自己的私有栈空间做数据存储,所以这是必须的,这个值可以自己设置,不设置的话,系统会自己默认给个值:linux64位系统默认是1024k,32位系统默认是320k,这个可以看图4-1另外,自己查看threadStackSize
zhang527294844
·
2023-12-26 03:13
Java虚拟机
java
垃圾收集算法和各种垃圾收集器的实现
引用计数算法3.2.2可达性分析算法3.2.3再谈引用3.2.4生存还是死亡3.2.5回收方法区三、垃圾收集算法3.3.1分代收集理论3.3.2标记-清除算法3.3.3标记-复制算法3.3.4标记-整理算法四、
HotSpot
元元元元元yuan
·
2023-12-25 18:55
jvm
算法
jvm
java
java-ee
学习
上一页
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
其他