公司网站运营淮北建网站

news/2025/10/8 13:49:30/文章来源:
公司网站运营,淮北建网站,北京做网站哪家好,电脑做网站主机一、概念 Java 内存区域和内存模型是不一样的东西#xff0c;内存区域是指 Jvm 运行时将数据分区域存储#xff0c;强调对内存空间的划分。 而内存模型#xff08;Java Memory Model#xff0c;简称 JMM #xff09;是定义了线程和主内存之间的抽象关系#xff0c;即 J…一、概念 Java 内存区域和内存模型是不一样的东西内存区域是指 Jvm 运行时将数据分区域存储强调对内存空间的划分。 而内存模型Java Memory Model简称 JMM 是定义了线程和主内存之间的抽象关系即 JMM 定义了 JVM 在计算机内存(RAM)中的工作方式 如果我们要想深入了解Java并发编程就要先理解好Java内存模型。 二、JVM 运行时数据区结构图 1、java虚拟机规范中的结构图 2、java1.8 虚拟机HotSpot中的数据区域 三、各个区域简介 1、程序计数器 程序计数器是一块儿较小的内存空间它可以当作是当前线程所执行的字节码的行号指示器。 字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令分支、循环、跳转、异常处理、线程恢复等基础功能都要依赖这个计数器来完成。 每个线程都需要一个独立的程序计数器各个线程之间计数器互不影响独立存储。我们称这类内存区域为“线程私有”的内存。 如果线程正在执行的是一个 Java 方法这个计数器记录的正是正在执行的虚拟机字节码指令的地址 如果正在执行的是 Native 方法这个计数器值则为空。 程序计数器是唯一一个在 Java 虚拟机规范中没有规定任何 OutOfMemoryError 情况的区域。 2、虚拟机栈 虚拟机栈也是“线程私有”的它的生命周期与线程相同。 虚拟机栈描述的是 Java 方法执行的内存模型 每个方法在执行的同时都会创建一个栈帧Stack Frame用于存储局部变量表、操作数栈、动态链接、方法出口等信息。 每个方法从调用直至执行完成的过程就对应着一个栈帧在虚拟机栈中入栈到出栈的过程。 常常说的 “堆” 和 “栈” 中的 “栈”就是指 虚拟机栈或者说是虚拟机栈中局部变量表部分。 局部变量表存放了编译期可知的各种基本数据类型byteshortintlongfloatdoublecharboolean对象引用referencereturnAddress 类型指向了一条字节码指令的地址。 局部变量表所需要的内存空间在编译期完成分配当进入一个方法时这个方法需要在帧中分配多大的局部变量空间是完全确定的在方法运行期间不会改变局部变量表的大小。 在 Java 虚拟机规范中对这个区域规定了两种异常状况 如果线程请求的栈深度大于虚拟机所允许的深度将抛出 StackOverFlowError 异常 如果虚拟机栈可以动态扩展如果扩展时无法申请到足够的内存就会抛出 OutOfMemoryError 异常。 3、本地方法栈 本地方法栈Native Method Stack与虚拟机栈所发挥的作用是类似他们之间的区别不过是虚拟机栈为虚拟机 Java 方法也就是字节码服务 而本地方法栈则为虚拟机使用到的 Native 方法服务。 在虚拟机规范中对本地方法栈中方法使用的语言、使用方式与数据结构并没有强制规定因此具体的虚拟机可以自由实现它。 甚至有的虚拟机如Sun HotSpot虚拟机直接把本地方法栈和虚拟机栈合二为一。 与虚拟机栈一样本地方法栈区域也会抛出 StackOverFlowError 和 OutOfMemoryError 异常。 4、堆 对于大多数应用来说Java 堆是 Java 虚拟机所管理的内存中最大的一块儿。 Java 堆是被所有线程共享的一块儿内存区域在虚拟机启动时创建。 此内存区域的唯一母的就是存放对象实例几乎所有的对象实例都在这里分配内存。 Java 堆是垃圾收集器管理的主要区域因此也被称作 “GC” 堆。 从内存回收的角度来看由于现在收集器基本采用分代收集算法所以 Java 堆中还可以细分为新生代 和 老年代。 再细致一点的又** Eden 空间**、From Survivor 空间、To Survivor 空间。 Java 堆中的内存空间 既可以实现成固定大小的也可以是可扩展的通过 -Xmx 和 -Xms 控制。 如果在堆中没有足够的内存完成实例分配并且堆也无法再扩展时将会抛出 OutOfMemoryError 异常。 5、方法区 方法区Method Area与 Java 堆一样是各个线程共享的内存区域它用于存储已经被虚拟机加载的** 类信息**、常量、静态变量、即时编译器编译后的代码等数据。 根据 Java 虚拟机规范的规定当方法区无法满足内存分配需求时将抛出 OutOfMemoryError 异常。 四、Java8中的JVM元空间是不是方法区 严格来说不是。首先方法区是JVM规范的一个概念定义并不是一个具体的实现每一个JVM的实现都可以有各自的实现 然后在Java官方的 HotSpot 虚拟机中 Java8版本以后是用元空间来实现的方法区在Java8之前的版本则是用永久代实现的方法区 也就是说“元空间” 和 “方法区”一个是HotSpot 的具体实现技术一个是JVM规范的抽象定义 所以并不能说“JVM的元空间是方法区”但是可以说在Java8以后的HotSpot 中“元空间用来实现了方法区”。 然后多说一句这个元空间是使用本地内存Native Memory实现的也就是说它的内存是不在虚拟机内的 所以可以理论上物理机器还有多个内存就可以分配而不用再受限于JVM本身分配的内存了。 最后祝大家早日学有所成拿到满意offer

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

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

相关文章

三门网站制作峡江网站建设

背景:之前资产信息用网络接口进行数据推送,但是接口推送需要验证而且反应较慢。Kafak中间件提供了另一种可行的数据推送方式,它可以进行消息队列推送,且反应速度快。但是Kafka需部署在公网环境,并进行登录验证&#xf…

网站建设与维护视频教程篡改 网站 支付接口

面试经典(4/150)删除有序数组中的重复项 II 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 , 返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原…

滚动导航 - unique

下面是效果图下面是实现代码<!DOCTYPE html> <html lang="zh-CN"><head><meta charset="UTF-8" /><title>滚动导航 Demo</title><style>body {margin:…

windows剪切板工具

列表 不推荐 ditto 界面我不喜欢,作为一个前台交互软件,用户界面搞得这么小,图片都看不清。CrossPaste 还行,但是没有标签或者说分类。 也没有导出功能。 不知道为啥,窗口总是不置顶。 提供了多种类型,算是比较现…

C#基础:启用线程池执行并行任务

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

做字素的网站wordpress get option

从各方面来看&#xff0c;互联网向 IPv6 的过渡是件很缓慢的事情。不过在最近几年&#xff0c;可能是由于 IPv4 地址资源的枯竭&#xff0c;IPv6 的使用处于上升态势。相应的&#xff0c;开发者也有兴趣确保软件能在 IPv4 和 IPv6 下工作。但是&#xff0c;正如近期 OpenBSD 邮…

P1545 [USACO04DEC] Dividing the Path G 题解

P1545 [USACO04DEC] Dividing the Path G 题解 最近开始快刷蓝紫黑了,做完会写题解交上来。 题目传送门 题意 一条长为 \(L(1 \le L \le 10^6 , 2 | L)\) 的线段上,给出 \(N(1 \le N \le 10^3)\) 个可能相交的子段 \…

AJ-Report - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

视频采集程序

项目结构:VideoCaptureApp.pro QT += core gui multimedia multimediawidgetsgreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsCONFIG += c++11win32 { LIBS += -L$$PWD/lib/SDL2/lib/x64 \-L$$PWD/lib/ffmpeg…

怎么做网站弄网盟wordpress qq微博

【客户行业】金属加工行业 【问题类型】薪酬体系/激励体系 【客户背景】 某大型金属加工企业位于河北地区&#xff0c;成立于2000年&#xff0c;隶属于某大型有色金属集团&#xff0c;是一家集科研、开发、生产、销售于一体的国有企业&#xff0c;人员达到1000人。经过多年…

50m专线做视频网站青羊区城乡建设网站

很多高手都喜欢使用“宏”命令来提高办公工作效率。但在 Microsoft Office 程序中使用宏时&#xff0c;总会弹出宏安全警告&#xff0c;这让使用者倍感麻烦。而如果把宏的安全级设置为“低”&#xff0c;就可以取消excel中宏安全提示框了&#xff0c;又增加了恶意代码和病毒攻击…

关于PPT的课后作业

动手动脑问题应用的是方法重载。 课后作业代码: import java.util.*; public class ArithmeticExam { private static final Random random = new Random(); private static final Scanner scanner = new Scanner(Sys…

学校网站源码html高端网站建设的品牌

I:ASP.NET MVC3 部署的前期工作 1.确认部署的服务器操作系统环境 首先我们确认服务器的操作系统版本可以从系统命令行工具里输入: systeminfo 获取相关操作系统信息例如然后再确认IIS版本信息 -> 打开IIS管理工具即可接着确认.NET Framework的版本可以在系统命令行工具执行:…

引擎搜索网站模板化学sem是什么意思

课程简介 现在还能做解说吗、不会写解说文案怎么解决、不会配音怎么解决、如何找到合适的素材资源、如何变现…这是很多想做解说的伙伴最关心的几大问题。比如文案&#xff0c;我们推荐一个网站&#xff0c;10分钟搞定一篇文案&#xff0c;配音可以真人配音也可以软件配音。5.…

RK 系列 GPU 驱动检查方法

问题背景 在调试一块板卡时发现 GPU 驱动存在异常。当时通过 GST 播放视频,想查看 GPU 占用率,却发现按照 RK 系列通常的查询方法无法获取(设备节点不存在),由此怀疑 GPU 驱动未正常加载。 检查方法 方法一:查看…

Day-15【选择与循环】选择结构-if语句 - 实践

Day-15【选择与循环】选择结构-if语句 - 实践2025-10-08 13:27 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: b…

做义工旅行有哪些网站wordpress验证码

Oracle提示错误消息ORA-28001: the password has expired&#xff0c;是由于Oracle11G的新特性所致&#xff0c; Oracle11G创建用户时缺省密码过期限制是180天&#xff08;即6个月&#xff09;&#xff0c; 如果超过180天用户密码未做修改则该用户无法登录。 Oracle公司是为了数…

咕乡

一篇模仿《王安遂》的拙作,以此纪念我初中的 OI 生涯。[1]我冒了严寒,回到相隔二千馀题,别了二十馀天的 OJ 去。 时候既然是初三;渐近 OJ 时,网络又崩溃了,404 吹进浏览器中,呜呜的响,从主页向外一望,泛白的 …

在东莞做网站广告专业的前景和就业方向

01为什么用 JavaScript 来开发桌面应用&#xff1f;曾经的 JavaScript 脆弱、简陋、甚至有被边缘化的危险&#xff0c;不过 JavaScript 在经过了两次飞跃后&#xff08;以 V8 为首的 JavaScript 引擎和 Node.js 的问世&#xff09;&#xff0c;不再受人欺负&#xff0c;早已升级…

opencv应用经典bug

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …