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内存泄漏glibc
每日五道java面试题之java基础篇(九)
目录:第一题你们项⽬如何排查
JVM
问题第二题⼀个对象从加载到
JVM
,再到被GC清除,都经历了什么过程?第三题怎么确定⼀个对象到底是不是垃圾?第四题
JVM
有哪些垃圾回收算法?第五题什么是STW?
中北萌新程序员
·
2024-02-19 12:12
java面试题
java
jvm
开发语言
面试
JVM
(4)原理篇
1栈上的数据存储在Java中有8大基本数据类型:这里的内存占用,指的是堆上或者数组中内存分配的空间大小,栈上的实现更加复杂。以基础篇的这段代码为例:Java中的8大数据类型在虚拟机中的实现:boolean、byte、char、short在栈上是不是存在空间浪费?是的,Java虚拟机采用的是空间换时间方案,在栈上不存储具体的类型,只根据slot槽进行数据的处理,浪费了一些内存空间但是避免不同数据类型
梵高Coding
·
2024-02-19 12:05
JVM
jvm
java
jvm
、jre、jdk的关系
jvm
Java虚拟机(
JVM
)是运行Java字节码的虚拟机。jreJRE(JavaRuntimeEnvironment)是Java运行时环境。
小陈09
·
2024-02-19 12:33
面试题
jvm
java
开发语言
JVM
对象创建与内存分配机制深度剖析
对象的创建对象创建的主要流程:1.类加载检查虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那必须先执行相应的类加载过程。new指令对应到语言层面上讲是,new关键词、对象克隆、对象序列化等。2.分配内存在类加载检查通过后,接下来虚拟机将为新生对象分配内存。对象所需内存的大小在类加载完
码界调试侠
·
2024-02-19 12:01
Java性能调优
jvm
java
【
JVM
篇】有哪些垃圾回收算法
文章目录4种GC算法标记清除算法优缺点复制算法优缺点标记整理算法优缺点分代垃圾回收算法(G1垃圾回收器)优缺点小结4种GC算法标记清除算法主要分为下面2个阶段标记阶段,将所有存活的对象进行标记。Java中使用可达性分析算法,从GCRoot开始通过引用链遍历出所有存活对象清除阶段,从内存中删除没有被标记的对象(非存活对象)优缺点优点:实现简单,只需要在第一阶段给每个对象维护标志位,第二阶段删除对象即
在下小吉.
·
2024-02-19 12:29
JVM
jvm
算法
java
【
JVM
篇】什么是运行时数据区
文章目录什么是运行时数据区⭐程序计数器⭐栈Java虚拟机栈栈帧的内容本地方法栈⭐堆⭐方法区什么是运行时数据区运行时数据区指的是
jvm
所管理的内存区域,其中分为两大类线程共享:方法区,堆线程不共享:程序计数器
在下小吉.
·
2024-02-19 12:29
JVM
jvm
java
JVM
的类的生命周期
前言Java虚拟机(
JVM
)中的类生命周期包括加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization
张万森的救赎
·
2024-02-19 12:21
jvm
【
JVM
篇】什么是类加载器,有哪些常见的类加载器
文章目录什么是类加载器有哪些常见的类加载器什么是类加载器负责在类加载过程中,将字节码信息以流的方式获取并加载到内存当中有哪些常见的类加载器启动类加载器启动类加载器是有Hotspot虚拟机通过的类加载器,加载核心类默认加载Java安装目录/jre/lib下面的类文件扩展类加载器扩展类加载器是jdk中提供的,是使用Java编写的类加载器,加载扩展类默认加载Java安装目录/jre/lib/ext下的类
在下小吉.
·
2024-02-19 12:17
JVM
jvm
python
开发语言
JVM
指令手册
栈和局部变量操作将常量压入栈的指令aconst_null将null对象引用压入栈iconst_m1将int类型常量-1压入栈iconst_0将int类型常量0压入栈iconst_1将int类型常量1压入操作数栈iconst_2将int类型常量2压入栈iconst_3将int类型常量3压入栈iconst_4将int类型常量4压入栈iconst_5将int类型常量5压入栈lconst_0将long类型
码界调试侠
·
2024-02-19 12:47
Java性能调优
jvm
JVM
工作原理与实战(三十八):JIT即时编译器原理
专栏导航
JVM
工作原理与实战RabbitMQ入门指南从零开始了解大数据目录专栏导航前言一、JIT即时编译器二、HotSpot中的JIT编译器三、JIT优化技术1.方法内联2.逃逸分析四、JIT优化建议总结前言
橘子-青衫
·
2024-02-19 11:20
JVM工作原理与实战
java
jvm
后端
架构
C/C++内存管理详解
:new/delete三、operatornew与operatordelete函数1、函数概念:2、函数使用:3、底层原理:四、new和delete的实现原理1、对于内置类型:2、对于自定义类型:五、
内存泄漏
枫挽月
·
2024-02-19 10:40
C++
c++
开发语言
JAVA并发编程之ConcurrentHashMap详解
ConcurrentHashMap一、ConcurrentHashMap写入数据流程一般在项目中使用ConcurrentHashMap时,都是作为
JVM
缓存使用的。
一只经常emo的程序员
·
2024-02-19 10:40
java
java
开发语言
Java基础-异常与多线程
一.异常1.基础概念异常抛出机制:出现异常,创建异常类型的对象,抛出以捕获;异常的根父类:throwable-两个子类:exception(编程错误等)和error(
jvm
无法解决严重问题,eg:堆,栈内存溢出
tmy99
·
2024-02-15 10:04
java
前端
数据结构
JAVA基础-语法概念等总结
1.JAVA中
JVM
(JAVA虚拟机)帮助内存管理,但仍存在内存溢出和
内存泄漏
2.JAVA是一门半编译半解释型语言,第一个过程.java源码经过Java编译器编译后得到.class字节码文件,第二个过程字节码文件可能经过解释器逐行解释成机器码执行
tmy99
·
2024-02-15 10:03
java
开发语言
FreeRTOS创建静态任务教程及所遇到的问题解决方法
这可以避免动态内存分配时可能出现的内存碎片和
内存泄漏
问题,提高了系统的稳定性。
wiyoo0
·
2024-02-15 10:32
stm32
FreeRTOS
arm
嵌入式硬件
单片机
stm32
深入理解
JVM
,包含字节码文件,内存结构,垃圾回收,类的声明周期,类加载器
JVM
概述1.1.Java程序结构1.2.
JVM
作用
JVM
全称是JavaVirtualMachine-Java虚拟机
JVM
作用:本质上是一个运行在计算机上的程序,职责是运行Java字节码文件,编译为机器码交由计算机运行
Aussise
·
2024-02-15 09:03
jvm
站在C/C++的肩膀速通Java面向对象
JavaScript、Python等)源文件-(平台专属解释器)->解释器中执行编译型语言(C++、Go等)源文件-(平台编译器)->平台可执行文件Java源文件-(通用编译器)->.class二进制文件-(平台
JVM
Jack.Chanel
·
2024-02-15 09:48
java
开发语言
eclipse
浅谈本地缓存的应用
本地缓存的选择本地缓存可选择:
JVM
堆/Ehcache/GuavaCache(1)Ehcache:支持堆外缓存,持久化。
梦之救赎
·
2024-02-15 08:38
缓存
java
后端
jvm
ChatGPT高效提问—prompt实践(漏洞风险分析-重构建议-识别
内存泄漏
)
ChatGPT高效提问—prompt实践(漏洞风险分析-重构建议-识别
内存泄漏
)1.1漏洞和风险分析ChatGPT还可以帮助开发人员预测代码的潜在风险,识别其中的安全漏洞,而不必先运行它,这可以让开发人员及早发现错误
Bruce_Liuxiaowei
·
2024-02-15 08:24
总结经验
笔记
chatgpt
prompt
重构
JVM
内存模型和内存溢出
文章目录概念抽象模型模型通信的实现
JVM
内存程序计数器虚拟机栈本地方法栈堆方法区运行时常量池直接内存JAVA对象创建布局访问OutOfMemoryError异常内存相关参数硬件内存模型参考概念JMM,JavaMemoryModel
娟宝宝萌萌哒
·
2024-02-15 08:47
java
jvm
内存模型
溢出
Java的强、软、弱、虚引用介绍与分析
按照
JVM
规范,在GC时通过可
XHLeee
·
2024-02-15 07:00
java设计模式--原型模式
原型模式的核心是一个clone方法,通过该方法进行对象的拷贝,Java提供了一个Cloneable接口来标示这个对象是可拷贝的,在
JVM
中具有这个标记的对象才有可能被拷贝。
代码墨白
·
2024-02-15 07:44
深入
JVM
字节码探索assert关键字
本文主要对assert这个关键字在
JVM
字节码层面的实现原理进行分析,讨论其运行时配置断言启用与禁用的方式。目录assert关键字基础assert实现原理分析assert运行时配置启
不凋花
·
2024-02-15 05:58
tcmalloc
据称,它的内存分配速度是
glibc
2.3中实现的malloc的数倍。
ywhu
·
2024-02-15 04:55
【从零开始学
JVM
】第一章_
JVM
和java体系结构
第一章_
JVM
和java体系结构1.java和
JVM
简介1.1JavaJava是一门跨平台的语言Java语言的特点包括:跨平台性:Java程序可以在不同操作系统上运行,只需安装对应平台的Java虚拟机(
光久li
·
2024-02-15 03:00
【从零开始学JVM】
jvm
java
python
Java -
JVM
内存模型 3分钟教你成为
JVM
的尖子生
本色出演名单姓名别名简称学校JavaVirtualMachine
JVM
教室堆空间Heap老师垃圾回收器MinorGC/MajorGC学生数据Object学校平面图俗名使用权限简称Metaspace教室学生会
大猪大猪
·
2024-02-15 01:33
Class.forName和classloader的区别
JVM
类加载如图所示,这是java
JVM
类装载过程,Java是如何加载到
jvm
里面然后被识别的呢,其实分为三步:装载:(loading)找到class对应的字节码文件。
星期三不上班
·
2024-02-15 01:44
JAVA高级篇:深入理解
JVM
之GC算法分析
1.如何确定回收一般来说,一个对象如果需要回收,第一件事就是要确定这个对象是否已经“死去”,那么这种“死去”的状态怎么来判断呢?1.1可达性分析算法在主流商用程序语言(Java、C#等)的主流实现中,都是通过可达性分析(ReachabilityAnalysis)来判断对象是否存活的,基本思路就是通过一系列称为“GCRoots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径成为引用链(R
呆呆不呆丫
·
2024-02-15 00:33
关于
jvm
中的安全点的理解
>中说道GCRoots的节点主要在全局的引用(例如常量或类静态属性)与执行上下文(例如栈帧中的本地变量表)中,但是进行根节点枚举的时候我们并不需要一个不漏地检查完所有执行上下文和全局引用位置,HotSpot中通过使用一组称为OopMap的数据结构,用于直接存放对象引用,类加载完成,HotSpot就会把对象内某个偏移位置是否为对象引用记录下来,JIT编译过程中,也会在特定的位置记录下栈和局存起中哪些
今天不想掉头发
·
2024-02-15 00:11
Android Jetpack ViewModel
数据持久化异步回调不会造成
内存泄漏
隔离Model层和View层Fragmen
一个有故事的程序员
·
2024-02-14 23:47
shared_ptr放入vector,要及时clear,避免
内存泄漏
最近碰到一个
内存泄漏
的问题,查了半天发现是vector数组的成员中有共享指针,而vector没有释放引用计数导致的。
见牛羊
·
2024-02-14 22:12
C++小技巧
c++
Clonable 接口和深拷贝
super关键字访问clone方法返回类型是Object,所以需要向下转型CloneNotSupportedException是受查异常,所以调用它的方法不处理就要throws,main方法不处理就交给
JVM
el psy congroo
·
2024-02-14 22:10
Java
java
java并发编程的艺术
上下文切换上下文切换是由于多任务操作系统需要管理多个线程或进程的并发第二章—java并发机制的底层实现原理java代码编译成字节码,然后被类加载器加载到
jvm
中,
jvm
执行,最终转换为汇编指令在cpu上执行
可爱的小小小狼
·
2024-02-14 22:06
并发编程
java
spring
开发语言
JVM
核心内容详细讲解
JVM
1.引言1.1什么是
JVM
定义:JavaVirtualMachine-java程序的运行环境(java二进制字节码的运行环境)好处:一次编写,到处运行自动内存管理,垃圾回收功能数组下标越界检查多态比较
拾光1024
·
2024-02-14 21:51
jvm
java
面试
String底层详解(包括字符串常量池)
JVM
会使用常量池来管理字符串直接量。在执行这句话时,
JVM
会先检查常量池中是否已经存有"abc",若没有则将"abc"存入常量池,否则就复用常量池中已有的"abc",将其引用赋值给变量a。
拾光1024
·
2024-02-14 21:21
jvm
java
面试
Java类加载
Java类加载机制是Java虚拟机(
JVM
)的一个核心组成部分,它负责将Java类从不同的数据源(如本地文件系统、网络等)加载到
JVM
中,并为之生成对应的java.lang.Class对象。
我就是胖着玩玩的
·
2024-02-14 21:43
java
开发语言
JVM
内存模型
Java虚拟机(
JVM
)内存模型是Java运行时数据区的一种规范,它定义了Java虚拟机在执行Java程序时如何使用内存。
我就是胖着玩玩的
·
2024-02-14 21:12
jvm
聊聊skywalking的CPUProvider
CPUProviderCPUProviderskywalking-6.6.0/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/
jvm
go4it
·
2024-02-14 20:02
深入
JVM
(八)线程安全与锁优化
而且心态也调整过来了,决定把之前写的这个深入
JVM
系列写完。其实也不过剩下最后一章,就是本文的线程安全与锁优化。这本书其实读的没有多精细,通篇读下来还是有一部分是没有理解的
唯有努力不欺人丶
·
2024-02-14 15:57
Java学习预备知识
高性能分布式动态性多线程安全性健壮性java三大版本javase:标准版(桌面程序,控制台开发)(最核心的)javame:嵌入式开发(手机,小家电)javaee:e企业级开发(web端,服务器开发)JDK、JRE、
JVM
JDK
哈哈hall了
·
2024-02-14 13:34
ubuntu eclipse mysql_Ubuntu设置、应用及常见问题解决(十)- 安装jdk+tomcat+eclipse+mysql...
如果你是新安装的8.04版本的ubuntu,那么会提示如下信息:只有一个程序提供java(/usr/lib/
jvm
/java-6-sun/jre/bin/java)。无须
weixin_39662142
·
2024-02-14 12:14
ubuntu
eclipse
mysql
2020年终最新整理:阿里/百度/蚂蚁Java岗面试清单(附答案)
百度(三面)百度一面(现场)自我介绍Java中的多态为什么要同时重写hashcode和equalsHashmap的原理Hashmap如何变线程安全,每种方式的优缺点垃圾回收机制
Jvm
的参数你知道的说一下设计模式了解的说一下手撕一个单例模式算法题目手撕算法
码农小芷
·
2024-02-14 12:22
C++技术教程与文章:深入理解C++11中的智能指针
不正确的内存管理可能导致
内存泄漏
、野指针等问题,从而影响程序的稳定性和性能。为了解决这些问题,C++11引入了智能指针(SmartPointers)的概念。
爱内卷的学霸一枚
·
2024-02-14 11:25
C++
java
开发语言
c++
C++技术教程与文章:深入理解C++内存管理
本文将引导读者深入探索C++内存管理的各个方面,包括堆和栈、动态内存分配、
内存泄漏
和智能指针等。一、堆和栈在C++中,内存主要分为堆(heap)和栈(stack)两个部分。
爱内卷的学霸一枚
·
2024-02-14 11:24
C++
数据结构
算法
c++
Java中error和exception区别
这些问题通常是由于Java虚拟机(
JVM
)本身的问题或者资源耗尽导致的,应用程序无法从中恢复。相反,Exception是应用程序级别的问题,可以通过代码来捕获和处理。是否
emma20080101
·
2024-02-14 11:50
java
2021金三银四面试跳槽必备:15个互联网大厂Java高级工程师核心面试宝典
内容包括:Java集合22题及答案解析
JVM
与调优21题及答案解析并发编程28题及答案解析Spring25题及答案解析23种设计模式解析SpringBoot25题及答案解析分布式高并发架构解析(消息队列
码农小芷
·
2024-02-14 11:43
JVM
学习
1.j=j+1:将j放入操作栈,将1放入操作栈,add操作,将栈的结果幅值给j四条指令i++和k+=1都是一条指令
badwomanPPPPPard0
·
2024-02-14 10:21
JVM
学习
java基础-常用类和主要方法
System系统类主要用于获取系统的属性数据currnetTimeMillis()获取当前系统时间exit(intstatus)退出
jvm
参数为0表示正常退出,非0表示异常退出gc()建议
jvm
赶快启动垃圾回收
发光驴子
·
2024-02-14 10:38
并发下线程池的最佳数量计算
(在
JVM
中采用的处理机制为时间片轮转,减少了线程间的相互切换
Jeffery大侠
·
2024-02-14 09:34
详解Java中synchronized的实现原理
synchronized相对于ReentrantLock的优势是其锁的释放由
JVM
确保,并且synchronized是Java语法层面的
tangzhenhao
·
2024-02-14 08:55
上一页
5
6
7
8
9
10
11
12
下一页
按字母分类:
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
其他