jvm中的native、方法区
一、native
凡是带了native关键字的,说明java的作用范围达不到了,它会去调用底层的c语言的库,会进入本地方法栈,调用本地方法接口。也就是JNI。
JNI作用:拓展java的使用,融合同的编程语言为java所用!
因为在java诞生时,那时候C/C++盛行,想要立足,必须要有调用c/c++的程序。
所以在jvm虚拟机中专门开辟了一块空间(本地方法栈)用于登记native方法,在最终执行的时候通过本地方法接口加载本地方法库中的方法。
二、方法区
Method Area方法区
静态变量、常量、类信息(构造方法,接口)、运行时的常量池存放在方法区,但是实例变量存在堆中,和方法区无关。
static,final,Class,常量池。
jvm中的native、方法区相关推荐
- [二]Java虚拟机 jvm内存结构 运行时数据内存 class文件与jvm内存结构的映射 jvm数据类型 虚拟机栈 方法区 堆 含义...
前言简介 class文件是源代码经过编译后的一种平台中立的格式 里面包含了虚拟机运行所需要的所有信息,相当于 JVM的机器语言 JVM全称是Java Virtual Machine ,既然是虚拟机, ...
- JVM异常之:方法区溢出OutOfMemoryError: PermGen space
1.方法区溢出(Perm持久代溢出) 在jdk1.6及之前的版本中,常量池放在Perm区也即是方法区中,所以在jdk1.6版本中,常量池溢出可以说是方法区溢出. 示例一: 方法区溢出的示例见<J ...
- java中的native方法性能到底怎么样?
前言 java中的native方法性能到底怎么样? 第一次写博客,如果写的不好,望见谅,烦请指出问题,虚心学习 先说结论,native 方法性能不如java方法 一.native方法? 主要是java ...
- JVM学习笔记之-方法区,栈、堆、方法区的交互关系,方法区的理解,设置方法区大小与OOM,方法区的内部结构,方法区使用举例
栈.堆.方法区的交互关系 运行时数据区结构图 从线程共享与否的角度来看 栈,堆,方法区的交互关系 方法区的理解 方法区在哪里? <Java虚拟机规范>中明确说明:"尽管所有的方法 ...
- JNI/NDK开发指南(二)——JVM查找java native方法的规则
转载请注明出处:http://blog.csdn.net/xyang81/article/details/41854185 通过第一篇文章,大家明白了调用native方法之前,首先要调用System. ...
- java中的Native方法
由于Native方法最近经常碰到,好奇之下便找到了这篇博客,内容还是相当好理解的,下面即是正文部分: 一. 什么是Native Method 简单地讲,一个Native Method就是一个java调 ...
- JVM 内存模型:方法区(Method Area)
1. 前言 最近在研究Java语言底层基础知识,发现对于JVM 内存模型理解不够深入.笔者突发奇想深入理解JVM内存模型,特在此介绍详细介绍一下JVM内存模型中的方法区.看似名称叫做方法区,其实不然. ...
- java调用so库中的native方法_Java如何调用本地.so库里的方法
首先在此之前希望你已经掌握了基本JNI常识的运用,比如Java代码如何调用本地native的方法,native方法如何访问本地变量,本地方法等以及其他相关的基础知识.在此我还是贴上Activity的部 ...
- 【Android 内存优化】Android 原生 API 图片压缩原理 ( 图片质量压缩方法 | 查找 Java 源码中的 native 方法对应的 C++ 源码 )
文章目录 一. 图片质量压缩方法 二. 查找对应的 Native 方法源码 三. 分析 Bitmap.cpp 中动态注册 Native 方法 在博客 [Android 内存优化]图片文件压缩 ( An ...
- JVM—加载到方法区的Class文件长什么样?
原文作者:zhaohong_bo 原文地址:深入理解 JVM Class文件格式(一) 目录 一.JVM体系结构 二.class格式文件概述 三.class文件详细介绍 一.JVM体系结构 二.cla ...
最新文章
- 【未完成】[Spark SQL_2] 在 IDEA 中编写 Spark SQL 程序
- 经验分享 怎么新建PDF文件
- ML:根据不同机器学习模型输出的预测值+且与真实值相减得到绝对误差对比+误差可视化
- asp.net前台与后台访问
- WebGIS--ArcGIS系列开发五:SDE for Oracle
- os.path 模块
- mysql 语句 集锦_mysql 语句集锦
- 渗透测试:k8s的3种攻击手段(Kubernetes、未授权漏洞,端口:8080、6443、10250)
- 开放API 与 查询语言GraphQL
- linux下关闭acpi电源管理模块
- 云原生小课堂 | Envoy请求流程源码解析(一):流量劫持
- 小学计算机教育计划,人教版小学信息技术教学计划(精选4篇)
- js 剩余时间,天,小时,分钟,秒
- 真正实现网络下载,文件不落地.解决XmlHttp对象、winnet.dll、URLDownloadToFile生成的ie缓存(Hook_CreateFileW阻止缓存生成)
- HackTheBox –Craft实战
- 模电学习第一天--PN结梳理
- uniapp使用Dplayer.js实现视频播放
- 矩阵乘法 基础训练-蓝桥杯
- 深入理解Java虚拟机(周志明版)总结—WSYW126
- java using用法_如何使用java合并两个PPT。(How to merge two PPTs using java.)
热门文章
- spring mvc controller间跳转 重定向 传参 (转)
- 更新的ccna实训交换机基本配置(附图)
- 62.Linux/Unix 系统编程手册(下) -- 终端
- 12.TCP/IP 详解卷1 --- 广播和多播
- Hadoop报错 Failed to locate the winutils binary in the hadoop
- 人民邮电出版社图灵公司征求《Windows Communication Foundation Unleashed》译者
- 洛谷P2486 [SDOI2011]染色
- java中的缓冲流BufferedWriter和BufferedReader
- Sequence of methods in form and table in AX
- 不规矩的xml与JAVA对象互相转换的小技巧-使用Marshaller