JVM运行时(一个处理器(的一个核)执行一条线程)数据分区
1.线程共享的区(数据被处理器各线程共享,即各线程共有的区)
a.方法区(Method Area):存储已被虚拟机加载的类信息、常量、静态变量、即使编译器编译后的代码。(Class文件信息)
常量池:存放编译时生成的各种字面量和引用。在类加载后数据进入运行时常量池。 例如通过 String str=“aba” 参数的字符串。
运行时常量池:存储运行时产生的常量数据或引用。 如通过String类的intern()方法产生新的常量
b.堆(Heap):1.对大多数应用堆是虚拟机所管理的内存中最大的一块
2.存储所有的对象实例
3.Java堆是垃圾收集器管理的主要区域,因此也被称为“GC堆”。
c.执行引擎:
d.本地库接口
e.本地方法库:
2.线程私有的区(数据被各处理器线程私有,其他线程不可访问,即各线程都有自己独占的区,生命周期与线程相同)
a.虚拟机栈(VM Stack):1.为虚拟机执行Java方法(字节码)服务
2.每个方法执行时需存储的数据(局部变量表,操作数栈,动态链接,方法出口) 局部数据
局部变量表:编译时可知的基本数据类型和引用类型
方法所需局部变量空间大小在编译时计算,运行时不变
异常状况:1.StackOverflowError:线程请求的栈深度大于虚拟机允许的深度
2.OutOfMemoryError:无法申请到足够的内存
b.本地方法栈(Native Method Stack):1.为虚拟机执行Native方法服务
2.使用方法与虚拟机栈类似
c.程序计数器:当前线程嗦执行的字节码的行号,字节码解释器通过修改该值来进行字节码指令(类似于Cpu的程序计数器).
3.直接内存:1.由Native函数库直接分配堆外内存
2.应用:NIO类 使用一种基于通道和缓冲区的I/O方式,分配直接内存,通过在堆中存储DirectByteBuffer对象作为直接内存的引用。
这样避免了在堆和Native堆中来回复制数据
java geotools以表格显示分区统计 空间分析 传入栅格和渔网
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
上一篇:mysql视图replace
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
谷歌地球引擎:导入、筛选、显示栅格遥感影像数据
本文介绍谷歌地球引擎GEE自带的各类遥感、高程等栅格数据导入,并进行可视化显示的方法。本文是谷歌地球引擎(Google Earth Engine,GEE)系列教学文章的第二篇~
GEE 谷歌地球引擎 Earth Engine 遥感影像 GIS数据