方法区(Method Area)

2023-09-21 11:57:54

方法区(Method Area)与Java堆一样,是各个线程共享的内存区域,它用于存储已被虚拟机加载
的类型信息、常量、静态变量、即时编译器编译后的代码缓存等数据。虽然《Java虚拟机规范》中把
方法区描述为堆的一个逻辑部分,但是它却有一个别名叫作“非堆”(Non-Heap),目的是与Java堆区
分开来。

《Java虚拟机规范》对方法区的约束是非常宽松的,除了和Java堆一样不需要连续的内存和可以选
择固定大小或者可扩展外,甚至还可以选择不实现垃圾收集。相对而言,垃圾收集行为在这个区域的
确是比较少出现的,但并非数据进入了方法区就如永久代的名字一样“永久”存在了。这区域的内存回
收目标主要是针对常量池的回收和对类型的卸载,一般来说这个区域的回收效果比较难令人满意,尤
其是类型的卸载,条件相当苛刻,但是这部分区域的回收有时又确实是必要的。以前Sun公司的Bug列
表中,曾出现过的若干个严重的Bug就是由于低版本的HotSpot虚拟机对此区域未完全回收而导致内存
泄漏。

根据《Java虚拟机规范》的规定,如果方法区无法满足新的内存分配需求时,将抛出
OutOfMemoryError异常。

更多推荐

【ELFK】之消息队列kafka

一、kafka的定义Kafka是一个分布式的基于发布/订阅模式的消息队列(MQ,MessageQueue),主要应用于大数据实时处理领域。Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replicar协调的分布式消息中间件系统,它的最大的特性就是可以实时的处理大量

http-server的安装、前端使用http-server启本地服务

http-server简介http-server是一个简单的零配置的命令行http服务器,它足够强大便于生产和使用,用于本地测试和开发。有时候我们打开一个文档使用file协议打开的时候,不能发送ajax请求,只能使用http协议才能请求资源,具体的区别大家可以去参考[这篇文档](www.cnblogs.com/lish

Vue中的侦听器 Watch

侦听器Watch:::warning注意阅读本章内容之前必须先了解什么是计算属性Computed。相比计算属性,计算属性更适合用来做一些数据加工、过滤等处理。而侦听器更适合用来监听一个数据是否发生变化(包含data、props、computed),如果发生变化则触发特定的函数操作。定义Watch侦听器函数时,请不要使用

堆的实现(C版)

普通的二叉树是不适合用数组来存储的,因为可能会存在大量的空间浪费。而完全二叉树更适合使用顺序结构存储。现实中我们通常把堆(一种二叉树)使用顺序结构的数组来存储,需要注意的是这里的堆和操作系统虚拟进程地址空间中的堆是两回事,一个是数据结构,一个是操作系统中管理内存的一块区域分段。1.堆的概念及结构堆的性质:堆中某个节点的

深度学习——线性神经网络一

深度学习——线性神经网络一文章目录前言一、线性回归1.1.线性回归的基本元素1.1.1.线性模型1.1.2.损失函数1.1.3.解析解1.1.4.随机梯度下降1.1.5.用模型进行预测1.2.向量化加速1.3.正态分布与平方损失1.4.从线性回归到深度网络二、线性回归的从零开始实现2.1.生成数据集2.2.读取数据集2

快速学会搭建微信小程序的基础架构

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹)目录基础架构构建界面引入uni-ui组件库组件自动引入配置TS类型状态管理持久化数据交互请求工具请求和上传文件拦截器封装Promise请求函数请求成功提取数据和设置类型获取数据失败基础架构前言:这两天在学习小兔鲜儿微信小程序项目,

10分钟设置免费海外远程桌面

前言本教程将向您介绍如何使用AmazonLightsail服务的免费套餐轻松搭建属于您的远程桌面。依托于Amazon全球可用区,您可以在世界各地搭建符合您配置需求的远程桌面。本教程需要先拥有亚马逊云科技海外账户。现在注册亚马逊云科技账户可以享受12个月免费套餐,包括EC2等多种热门产品。亚马逊云科技开发者社区为开发者们

什么是硬编码

2023年9月21日,周四下午昨天在某个地方看到了“硬编码”,当时不明白是什么意思,于是今天就研究了一下目录硬编码定义缺点举例说明什么是硬编码1.直接在代码中写入文件路径:2.在代码中直接指定常量值:3.将固定的字符串直接嵌入到代码中:正确的做法1.使用配置文件:2.使用环境变量:3.使用命令行参数:4.使用配置管理工

五、核支持向量机算法(NuSVC,Nu-Support Vector Classification)(有监督学习)

和支持向量分类(Nu-SupportVectorClassification),与SVC类似,但使用一个参数来控制支持向量的数量,其实现基于libsvm一、算法思路本质都是SVM中的一种优化,原理都类似,详细算法思路可以参考博文:三、支持向量机算法(SVC,SupportVectorClassification)(有监

Shell脚本之awk的用法

Shell脚本之awk的用法所有参数参数常见用法所有参数参数基本格式:awk‘pattern{action}’file-fprogram:使用程序文件program中的AWK脚本来处理输入数据。-Ffs:设置输入字段分隔符为fs。默认情况下,AWK使用空格或制表符作为字段分隔符。-vvar=val:在处理输入数据之前,

MySQL数据库入门到精通2--基础篇(函数,约束,多表查询,事务)

3.函数函数是指一段可以直接被另一段程序调用的程序或代码。MySQL中的函数主要分为以下四类:字符串函数、数值函数、日期函数、流程函数。3.1字符串函数MySQL中内置了很多字符串函数,常用的几个如下:演示如下:A.concat:字符串拼接selectconcat('Hello','MySQL');B.lower:全部

热文推荐