黑马程序员---JVM内存组成

java把内存分两种:一种是栈内存,另一种是堆内存

1。在函数中定义的基本类型变量和对象的引用变量都在函数的栈内存中分配;

2。堆内存用来存放由 new创建的对象和数组

在函数(代码块)中定义一个变量时, java就在栈中为这个变量分配内存空间,当超过变量的作用域后, java会自动释放掉为该变量所分配的内存空间;在堆中分配的内存由 java虚拟机的自动垃圾回收器来管理

堆的优势是可以动态分配内存大小,生存期也不必事先告诉编译器,因为它是在运行时动态分配内存的。缺点就是要在运行时动态分配内存,存取速度较慢;

栈的优势是存取速度比堆要快,缺点是存在栈中的数据大小与生存期必须是确定的无灵活 性。

java 堆分为三个区: New 、 Old 和 Permanent

GC 有两个线程:

新创建的对象被分配到 New 区,当该区被填满时会被 GC 辅助线程移到 Old 区,当 Old 区也填满了会触发 GC 主线程遍历堆内存里的所有对象。 Old 区的大小等于 Xmx 减去 -Xmn

java栈存放

栈调整:参数有 +UseDefaultStackSize -Xss256K,表示每个线程可申请 256k的栈空间

每个线程都有他自己的 Stack

转载于:https://www.cnblogs.com/castworld/p/4874283.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/404915.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用WCF建立起Silverlight客户端与服务端的桥梁

最近正在开发一个项目,需要应用到Silverlight以及数据库。在正式开工之前需要掌握将数据从服务端送到客户端的技术,我们采用建立WCF服务的方法。 “做中学”是最好的学习方法,真正实践之后学习者将会有更多的自信和把握,这种感觉将…

[react] <div onClick={handlerClick}>单击</div>和<div onClick={handlerClick(1)}>单击</div>有什么区别?

[react] <div onClick{handlerClick}>单击</div>和<div onClick{handlerClick(1)}>单击</div>有什么区别&#xff1f; 绑定函数有三种方法 1、constructor绑定constructor(props) {super(props);this.handleClick this.handleClick.bind(this); //构…

我的AutoHotkey配置

关键配置&#xff1a; #IfWinActive ^L:: {WinGetClass, active_class, AIfInString, active_class, Afx:400000:8:Send !{Del}elseSend ^L } return #IfWinActive#IfWinActive F4:: {WinGetClass, sClass, Aif (sClass"Chrome_WidgetWin_1" or sClass"MozillaW…

[react] 怎么防止HTML被转义?

[react] 怎么防止HTML被转义&#xff1f; <h1 dangerouslySetInnerHTML{{__html: cc © 2015}}></h1> 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

如何用脚本可靠关闭一个linux服务或进程

一、脚本样例 以quectel的EC20模组关闭ppp拨号服务脚本为例&#xff0c;以下为脚本源码&#xff1a; #!/bin/sh timeout5 killall -15 pppd sleep 1 killall -0 pppd while [ $? -eq 0 ] dotimeoutexpr $timeout - 1if [ $timeout -eq 0 ]thenexit 1fisleep 1killall -0 ppp…

myeclipse8.5安装反编译工具

1.下载最新的jad.exe应用程序 2.下载net.sf.jadclipse_3.3.0.jar&#xff0c;在myeclipse8.5安装的文件夹中创建一个文件夹如jad&#xff0c;在jad文件夹中建立一个文件夹plugin&#xff0c;将下载的net.sf.jadclipse_3.3.0.jar文件放到新建的plugin文件中 3.在myeclipse8.5安…

C++中include 与 include 的区别

<>时先去系统目录中找头文件&#xff0c;如果没有再到当前目录下找。所以像标准的头文件 stdio.h, stdlib.h等都用<>;""则首先到当前目录下找&#xff0c;如果找不到再到系统目录下找。当include自定义的头文件时&#xff0c;优先使用“”。转载于:https…

hdparm命令详解

hdparm命令详解--------------------http://www.linuxsir.org/bbs/showthread.php?p175167hdparm 功能&#xff1a;获取/设置硬盘参数语法&#xff1a;hdparm [参数] [设备名] ..说明(英文不太好&#xff0c;就不在此献丑啦&#xff0c;麻烦英文好的兄弟翻译一下)&#xff1a;…

[react] 请说下react组件更新的机制是什么

[react] 请说下react组件更新的机制是什么 靠事务批量更新 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

vscode 新建python 终端

ctrlshiftp 输入python&#xff0c; 选择Python:创建终端

linux的strace命令(详解)

linux的strace命令(详解)本文详细讲述linux下的strace命令的用法。 strace 命令是一种强大的工具&#xff0c;它能够显示所有由用户空间程序发出的系统调用。 strace 显示这些调用的参数并返回符号形式的值。strace 从内核接收信息&#xff0c;而且不需要以任何特殊的方式来构建…

UVA-11536 Smallest Sub-Array

题目大意&#xff1a;给出一个有n个数的序列&#xff0c;找出最短的涵盖1~k之间所有整数的连续区间。 题目分析&#xff1a;扫描一遍序列&#xff0c;维护head、tail两个位置。要注意&#xff0c;最短的区间上两端的数一定[1,k]上。 代码如下&#xff1a; # include<iostrea…

[react] 你有用过哪些React的UI库?它们的优缺点分别是什么

[react] 你有用过哪些React的UI库&#xff1f;它们的优缺点分别是什么 antd ui 个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

display:inline-block的深入理解

在使用CSS实现表现的时候&#xff0c;会经常接触到display:inline-block这一属性&#xff0c;无论是初接触Web标准还是接触标准已久的朋友&#xff0c;大都会对这一属性感觉很迷惑和模糊。 display:inline-block 引用:将对象呈递为内联对象&#xff0c;但是对象的内容作为块对象…

Ubuntu下安装nfs服务

From: http://blog.csdn.net/shawnrong/article/details/1656668 1. sudo apt-get install nfs-kernel-server 会自动安装nfs-common和portmap 2. 配置portmap: 2.1. 编辑/etc/default/portmap, 将 -i 127.0.0.1 去掉. 2.2. 配置/etc/hosts.deny&#xff0c;禁止任何…

业务逻辑 : forex mlm

业务逻辑 公司通过mlm的制度和顾客进行签约来收取资金&#xff0c;再把资金给第三方公司进行投资&#xff0c;再把所投资的回报给分配给公司和顾客。 公司的资金来自投资者&#xff0c;公司的营销策略来自mlm的制度&#xff0c;由市场人员来创建mlm。 投资者可以投资不同的配…

STMF4x 固件库V1.25.0

https://www.st.com/en/embedded-software/stm32cubef4.html

[react] 写出React动态改变class切换组件样式

[react] 写出React动态改变class切换组件样式 export default memo(function Demo(){const [clsName,setClsName] useState("active")const handleClick () > {setClsName(clsName "active"?"unactive":"active")}return (<…