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
深入理解java虚拟机栈
JavaScript学习之旅8------
深入理解Java
Script:作用域与词法环境解析
目录写在开头1.JavaScript作用域简介1.1.定义作用域1.2.作用域链1.3.全局作用域1.4.局部作用域1.5.块级作用域1.6.作用域和变量生命周期2.词法环境与闭包2.1.词法环境2.2.闭包2.3.闭包的工作原理2.4.闭包的应用实例2.5.闭包的注意事项3.作用域与变量提升3.1.变量提升的概念3.2.变量提升的工作机制3.3.`let`和`const`与变量提升3.4.避免变
theskylife
·
2024-02-12 16:11
Javascript总结
javascript
学习
开发语言
进程和线程
注意:一个进程可以有多个线程,多个线程共享进程的堆和方法区资源,但是每个线程都有自己的程序计数器、
虚拟机栈
和本地方法栈。基本上各进程是相互独立的,但是线程不一定,同一进程中的线程极有可能会相互影响。
迷茫的羔羊羊
·
2024-02-12 11:32
操作系统
java
面试
jvm
linux
ubuntu
windows
gnu
jvm内存模型
一.jvm内存模型jvm的内存模型分配如下:1.程序计数器:用来记录线程当前的执行的字节码行数,不会产生OOM异常2.
虚拟机栈
(线程栈)每个线程都对应一个栈,栈中为线程的每个方法分配一个栈帧,栈帧中包含局部变量表
AaronWang94
·
2024-02-12 07:24
java
jvm
2024Java开发必读书籍推荐
阅读优秀的技术书籍可以帮助我们
深入理解Java
编程语言的核心概念和最佳实践。在本文中,我将向大家推荐一共10本Java工程师必读的经典书籍,旨在帮助大家扩展知识领域,提高编程技能和解决问题的能力。
·
2024-02-11 18:53
JVM | 第2部分:虚拟机执行子系统《深入理解 Java 虚拟机》
前言参考资料:《
深入理解Java
虚拟机-JVM高级特性与最佳实践》第1部分主题为自动内存管理,以此延伸出Java内存区域与内存溢出、垃圾收集器与内存分配策略、参数配置与性能调优等相关内容;第2部分主题为虚拟机执行子系统
多氯环己烷
·
2024-02-11 17:08
栈和队列(Stack、Queue)
注意,我们要区分数据结构的栈和
虚拟机栈
。栈就是数据结构;
虚拟机栈
是JVM划分的一块内存;栈帧是方法调用时,会在虚拟机中给这个方法开辟一块内存
加油=^_^=
·
2024-02-11 07:17
java
开发语言
JAVA内存分区详解
2.Java
虚拟机栈
线程私有。Java
虚拟机栈
的生命周期与线程相同。3.本地方法栈Java
虚拟机栈
为虚拟机执行Java方法服务,本地方法栈则为虚拟机使用到的本地方法服务。
LY笔记
·
2024-02-11 01:54
JAVA
后端
java
开发语言
Java 内存区域
虚拟机性能监控、故障处理工具:jps、jstat、jinfo、jmap、VisualVM、jstack等文章目录前言一、Java运行时数据区1.程序计数器(ProgramCounterRegister)2.
虚拟机栈
头真的好重好重Y
·
2024-02-11 01:54
JVM
java
经验分享
开发语言
jvm
面试
jvm之java内存区域详解篇guide哥yyds
jvm一、java内存区域详解1.运行时数据区域线程私有的:
虚拟机栈
本地方法栈程序计数器线程共享的:堆方法区直接内存(非程序运行时数据区的一部分)1.1什么是程序计数器程序计数器是很小的内存空间,可以看作是前线程字节码执行的行号指示器
努力学习的旭旭多多妹
·
2024-02-11 01:53
java
开发语言
后端
jvm
Java内存分区
所以java程序要想运行必须要在内存中申请一块空间,java内存中可以分为堆、方法区、
虚拟机栈
、本地方法栈、程序计数器。2、堆(heap)在各个分区中,堆区占据空间最大,被所有线程共享。
不会写骚年的代码
·
2024-02-11 01:23
java
java
jvm
开发语言
JVM-
虚拟机栈
虚拟机栈
Java
虚拟机栈
(JavaVirtualMachineStack)采用栈的数据结构来管理方法调用中的基本数据,先进后出(FirstInLastOut),每一个方法的调用使用一个栈帧(StackFrame
明矾java
·
2024-02-10 11:34
jvm
虚拟机栈
(线程私有)
文章目录
虚拟机栈
(线程私有)一、基本概念1、概述2、设置栈内存大小3、栈相关的异常1)StackOverflowError2)OutOfMemoryError二、栈的运行原理1、栈的存储单位-栈帧2、当前栈帧
scj1022
·
2024-02-10 11:01
JVM
jvm
java
深入理解java
之内部类
一.内部类我们把一个类放在另一类的内部定义称为内部类(innerclass)内部类分为成员内部类,匿名内部类,局部内部类内部类的两个要点:内部类提供了更好的封装,只能让外部类直接访问,不允许同一个包中的其他类直接方法内部类可以直接访问外部类的私有属性,内部类被其当成外部类的成员,但外部类不能访问内部类的内部属性(可以思想和继承差不多子类可以访问父类,父类不可以访问子类(除非多态))注意内部类只是一
中北萌新程序员
·
2024-02-10 09:28
深入理解java
java
开发语言
深入理解java
之多线程(一)
前言:本章节我们将开始学习多线程,多线程是一个很重要的知识点,他在我们实际开发中应用广泛并且基础,可以说掌握多线程编写程序是每一个程序员都应当必备的技能,很多小伙伴也会吐槽多线程比较难,但因为其实用性和广泛性,我们一定要学好多线程。引入:在现代社会,计算机已经渗透到了我们生活的方方面面。我们使用计算机来处理各种任务,从简单的文档编辑到复杂的数据分析和图像处理。然而,你是否曾想过,当我们的计算机只能
中北萌新程序员
·
2024-02-10 09:28
深入理解java
java
开发语言
深入理解Java
泛型:概念、用法与优势
泛型是JDK的一个特性,它允许在定义类、接口和方法时使用类型参数。例如泛型类:在定义类时,可以使用类型参数来指定类中某些字段或方法的类型publicclassBox{privateTt;publicvoidset(Tt){this.t=t;}publicTget(){returnt;}}例如通配符类型:这个方法可以接受任何类型的List作为参数,因为?代表任意类型。publicvoidprintL
程序吟游
·
2024-02-10 05:53
JAVA
java
Java实现线程安全的几种方式:常量/数据私有/互斥同步/非阻塞同步
final声明的基本数据类型String枚举类型2.数据私有将数据变成线程私有的数据栈(局部变量):多个线程访问同一个方法的局部变量时,不会出现线程安全问题,因为局部变量存储在
虚拟机栈
中,属于线程私有的
青铜爱码士
·
2024-02-10 05:09
java
开发语言
【Java面试】数据类型常见面试题
什么是包装类型将基本类型包装进了对象中得到的类型基本类型和包装类型有什么区别用途不同:基本类型一般用于局部变量,包装类型用于其他地方存储方式不同:用于局部变量的基本类型存在
虚拟机栈
中的局部变量表中,用于成员变量的基本类型存在虚拟机堆中
IncludeFun
·
2024-02-10 00:01
java
面试
开发语言
jvm问题自查思路
一、文档不仅知道了《
深入理解java
虚拟机第三版》,也知道了下面这几本书(从秦金伟老师那得知)《深入java虚拟机》、《深入解析java虚拟机HpstPot》、《垃圾回收的算法和实现》,都是进阶的好书。
小强聊it
·
2024-02-09 20:20
jvm学习
【
深入理解Java
虚拟机】三、垃圾收集器与内存分配策略
1.判断对象存活Java堆中存放着几乎所有的对象实例,在垃圾回收前先要判断哪些对象“活着”,哪些对象已经“死去”。方式有两种:1.1引用计数法给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。但是,至少主流的Java虚拟机里面没有选用引用计数算法来管理内存,其中最主要的原因是它很难解决对象之间相互循环引用
paven559
·
2024-02-09 19:08
JVM-
深入理解java
虚拟机
java
虚拟机栈
线程私有,生命周期与线程相同。虚
HBryce24
·
2024-02-09 16:22
JVM
java
jvm
深入理解Java
内存模型
CPU与缓存一致性问题我们都应该知道线程是CPU调度的最小单位,线程中的字节码指令最终都是在CPU中执行的。CPU在执行的时候,免不了要和各种数据打交道,而Java中所有数据都是存放在主内存(RAM)当中的,这一过程可以参考下图:但是随着CPU技术的发展,CPU的执行速度越来越快。而由于内存的技术并没有太大的变化,所以从内存中读取和写入数据的过程和CPU的执行速度比起来差距就会越来越大,这就导致C
Joker_Wan
·
2024-02-09 03:58
jvm内存模型及参数
新生代可以分为一个eden,两个survivor空间(fromsurvivor,tosurvivor),不需要连续内存,使用-XMX和-XMS控制空间最大最小,推荐写一样大,减少堆空间切换过程的消耗栈(本地方法栈,
虚拟机栈
battle_
·
2024-02-08 09:06
「数据结构」栈:题解
栈简介栈的常用方法栈的应用逆波兰表达式求值出栈入栈顺序匹配最小栈问题简介栈是一种特殊的线性表,它只允许在固定的一端进行插入和删除元素操作概念区分栈、
虚拟机栈
、栈帧有什么区别?
Ice_Sugar_7
·
2024-02-08 05:51
Java数据结构
数据结构
java
开发语言
Java运行时数据区笔记
->解析器->Class文件->Java类加载器->Java运行时数据区->执行引擎Java程序执行过程JVM运行时数据区运行时数据区指令区:程序计数器:指向当前线程正在执行的字节码指令的地址(行号)
虚拟机栈
tingshuo123
·
2024-02-07 19:16
JVM之垃圾回收器
前言上篇介绍了JVM垃圾回收算法,经过上篇的铺垫之后本篇重点介绍JVM的GC回收器,主要内容都参考于《
深入理解Java
虚拟机》。本篇重点介绍CMS和G1GC,其他回收器会直接一笔带过。
吃猫的大鱼
·
2024-02-07 18:33
JVM
jvm
java
算法
八股文面试---jvm(简易版)
生成main主线程执行方法,此线程需要的内存由虚拟机分配(所有创建的线程所需的内存都是来自于
虚拟机栈
)。主线程碰
kunkundashi
·
2024-02-07 10:28
面试
职场和发展
地图不仅引路:深探Java中Map接口的藏宝图
本文将带你
深入理解Java
中的Map接口,包括它的工作原理、常用实现以及一些最佳实践。Map接口概述Map是一个接口,属于Java集合框架的一部分。它不能独立存在,必须通过实现类来使用。
Geek攻城猫
·
2024-02-07 04:26
java
集合框架
Map接口
HashMap
键值存储
JVM 全面了解
方法区:存储已被虚拟机加载的类元数据信息(元空间)堆:存放对象实例,几乎所有对象实例都在这里分配内存Java栈(
虚拟机栈
):
虚拟机栈
描述的是Java方法执行的内存模型:每个方
Upaaui
·
2024-02-07 02:28
#
jvm
jvm
java
开发语言
深入理解 Java 线程池
深入理解Java
线程池1.概述线程池是多线程编程中一种重要的并发机制,它能够管理和复用线程,提高程序的性能和稳定性。
hymua
·
2024-02-06 10:13
java
开发语言
JVM相关(3)-- 垃圾回收
JVM中,程序计数器、
虚拟机栈
、本地方法栈都是随线程而生随线程而灭,栈帧随着方法的进入和退出做入栈和出栈操作,实现了自动的内存清理,因此,我们的内存垃圾回收主要集中于java堆和方法区中,在程序运行期间
脆皮鸡大虾
·
2024-02-06 06:46
JVM-JVM内存结构(一)
ProgramCounterRegister程序计数器(寄存器)程序计数器在物理层上是通过寄存器实现的作用:记住下一条jvm指令的执行地址特点是线程私有的(每个线程都有属于自己的程序计数器)不会存在内存溢出
虚拟机栈
每个线程运行时所需要的内存称为
虚拟机栈
每个栈由多个栈帧组成
༺❀ൢ望༒月❀ൢ❀
·
2024-02-06 06:55
JVM
java
jvm
程序计数器和
虚拟机栈
--《
深入理解Java
虚拟机》特点:如果线程正在执行的是Java方法,则这个计数器记录的是正在执行的虚拟机字节码指令地址如果正在执行
要进大厂
·
2024-02-06 05:40
笨蛋总结JVM
笨蛋总结JVM由于Java语言将自己的内存控制权交给了虚拟机,所以需要了解虚拟机的运行机制(主要用于回顾JVM)笨蛋总结JVM笨蛋总结JVM1.运行时数据区域线程私有区域程序计数器Java
虚拟机栈
本地方法栈线程共享区域堆方法区
Today-Saturday
·
2024-02-06 02:44
jvm
java
idea配置jvm启动参数
前言:最近在看《
深入理解JAVA
虚拟机》这本书,需要在IDE中设置JVM的一些参数信息。本人使用的是idea,所以记录一下如何使用idea配置JVM参数。
m0_67401134
·
2024-02-05 22:50
java
intellij-idea
jvm
java
大数据
前端
【Java八股文面试系列】JVM-内存区域
目录Java内存区域运行时数据区域线程独享区域程序计数器Java
虚拟机栈
StackFlowError&OOM本地方法栈线程共享区域堆GCR-分代回收算法字符串常量池方法区运行时常量池HotSpot虚拟机对象探秘对象的创建对象的内存布局句柄
叮咚Zz
·
2024-02-05 12:39
python
开发语言
java
jvm
java-ee
intellij-idea
深入理解java
script类数组对象
一、什么是类数组类数组的定义只存在一条,就是存在length属性。1、类数组形式letdivs=document.querySelectorAll("div")console.log(divs.length)//9console.log(divs[0])//1console.log(divs)//NodeList(9)[div,div,div,div,div,div,div,div,div]con
卖菜的小白
·
2024-02-05 02:23
js面试题
javascript
前端
html5
类数组
Java基础
虚拟机栈
用于存储正在执行的每个Java方法的局部变量表等。局部变量表存放了编译期可知长度的各种基本数据类型、对象引用,方法执行完
weixin_57107855
·
2024-02-04 17:02
java
java
java.lang.StackoverflowError: null
首先,这个问题呢是栈溢出导致的,一般出现原因大多都是因为,无限递归死循环导致的前言:在JVM当中,每个线程都有自己的程序计数器,
虚拟机栈
和本地方法栈,这个栈溢出是指的是
虚拟机栈
溢出。
.小白菜.
·
2024-02-04 05:44
java
jvm
开发语言
JVM_01_程序计数器
虚拟机栈
1.什么是JVM?定义:JavaVirtualMachine-java程序的运行环境(java二进制字节码的运行环境)好处:一次编写,到处运行自动内存管理,垃圾回收功能数组下标越界检查2.常见的JVM注意:我们所使用的是HotSpot1、程序计数器(寄存器)作用:程序计数器用于保存JVM中下一条所要执行的指令的地址注意:程序计数器是存储在寄存器(读取非常快)中的因为程序计数器要经常做读操作2.特点
学心理学的猫
·
2024-02-03 21:24
JVM学习专栏
jvm
java
开发语言
java相关优秀博文收藏
另外求份工作,邮箱:
[email protected]
深入理解Java
G1垃圾收集器-OPEN开发经验库使用CMS
阿布2
·
2024-02-03 19:46
深入理解Java
中的死锁:条件与避免策略
目录1.引言2.死锁的产生条件2.1互斥条件2.2请求与保持条件2.3不剥夺条件2.4环路等待条件3.示例:Java中的死锁4.如何避免死锁4.1加锁顺序4.2使用tryLock()4.3使用Lock和Condition5.结论1.引言在多线程编程中,死锁是一种常见但危险的问题。当两个或多个线程互相等待对方释放资源时,可能发生死锁,导致程序陷入无法继续执行的状态。本篇博客将深入讨论在Java中产生
喔的 喔的嘛呀
·
2024-02-03 19:45
java
开发语言
深入理解Java
虚拟机(全)
垃圾回收,类加载,线程安全问的比较多2,3,6,7,12,13第二章Java内存区域与内存溢出异常2.2运行时数据区域3个区域线程私有(不需要垃圾回收,因为它们随着线程结束而自动销毁),2个区域所有线程共享(需要垃圾收集回收)程序计数器(ProgrammerCounterRegister):一块很小的内存,可以看做当前线程所执行的字节码的行号计数器。线程隔离的数据区(线程私有)为了多线程切换后能恢
SweetWiner
·
2024-02-03 19:26
面试之旅
Java
java
java虚拟机
你都是会点啥技术(四)--- Java
写在前面的话:到2019年6月份为止,真正使用java有两年了,在大学期间老师教过一遍java(学的不好),看过两三个老师讲解的java视频,每次学习都会有新的体验和收获,也读过《java编程思想》和《
深入理解
梦是做出来的
·
2024-02-03 16:14
java
java
后端
总结
学习
JVM内存模型
目录概念JVM内部结构一、程序计数器(PC寄存器)1.1、程序计数器的定义1.2、程序计数器的作用1.3、程序计数器的特点二、Java
虚拟机栈
(Java栈)2.1、Java
虚拟机栈
的定义2.2、压栈出栈过程
Vashon_杨博程
·
2024-02-03 14:13
1024程序员节
聊聊高并发(一)概念
没有理论指导的话会导致理解不够全面多线程问题的本质--有序性,可见性,原子性synchronize的底层实现volatile的底层实现无锁算法的底层实现--CAS原子变量的实现final关键字的新含义
深入理解
wenming6688
·
2024-02-03 07:31
Java内存模型与线程安全
参考:《
深入理解Java
虚拟机》第四版——周志明再有人问你Java内存模型是什么,就把这篇文章发给他由于CPU技术的发展,内存读写速度跟不上CPU执行速度,导致CPU每次操作内存都要耗费很多等待时间。
RealityVibe
·
2024-02-03 03:44
【好书推荐-第三期】《
深入理解Java
核心技术:写给Java工程师的干货笔记》全网阅读量千万的Java工程师成神之路学习笔记,Java基础知识点查漏补缺
作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主、前后端开发、人工智能研究生。公粽号:程序员洲洲。本文专栏:本文收录于洲洲的《送书福利》系列专栏,该专栏福利多多,只需关注+点赞+收藏三连即可参与送书活动!欢迎大家关注本专栏~专栏一键跳转同时欢迎大家关注其他专栏,我将分享Web前后端开发、人工智能、机器学习、深度学习从0
程序员洲洲
·
2024-02-02 14:50
送书福利
java
笔记
学习
深入理解Java
中的ForkJoin框架原理
在现代多核处理器的时代,有效地利用并行计算可以极大地提高程序的性能。Java中的ForkJoin框架是Java7引入的一个并行计算框架,它提供了一种简单而高效的方式来利用多核处理器。在本文中,我们将深入探讨ForkJoin框架的原理和工作方式。一、什么是ForkJoin框架?ForkJoin框架是Java并发包(java.util.concurrent)的一部分,主要用于并行计算,特别适合处理可以
地瓜伯伯
·
2024-02-02 12:41
源码
java
spring
spring
boot
java-ee
spring
cloud
jvm
重温《
深入理解Java
虚拟机:JVM高级特性与最佳实践(第二版)》 –– 学习笔记(二)
第二部分:自动内存管理机制第2章:Java内存区域与内存溢出异常2.1概述Java与C++之间有一堵由内存动态分配和垃圾收集技术围成的高墙。Java程序员在虚拟机自动内存管理机制的帮助下,无需为每一个new操作去写配对的delete/free代码,这样就不容易产生内存泄漏和内存溢出问题。但是也带来了一个问题,一旦出现内存泄漏和内存溢出问题,如果不了解虚拟机是如何使用内存的,那排查起来就会比较困难。
cab5
·
2024-02-02 07:02
java
jvm
学习
Java的JVM学习一
区域名称作用
虚拟机栈
用于存储正在执行的每个Java方法,以及其方法的局部变量表等。
hjc_042043
·
2024-02-02 07:23
Java相关
java
jvm
学习
上一页
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
其他