当前位置: 首页 > news >正文

萧山网站建设公司网软志成企业网站管理系统

萧山网站建设公司,网软志成企业网站管理系统,上海企业地址大全,网站自定义链接怎么做JVM基础篇-本地方法栈与堆 本地方法栈 什么是本地方法? 本地方法即那些不是由java层面实现的方法,而是由c/c实现交给java层面进行调用,这些方法在java中使用native关键字标识 public native int hashCode()本地方法栈的作用? 为本地方法提供内存空…

JVM基础篇-本地方法栈与堆

本地方法栈

在这里插入图片描述

  • 什么是本地方法?

本地方法即那些不是由java层面实现的方法,而是由c/c++实现交给java层面进行调用,这些方法在java中使用native关键字标识

public native int hashCode()
  • 本地方法栈的作用?

为本地方法提供内存空间

在这里插入图片描述

什么是堆?

  • Heap 堆,通过 new 关键字,创建对象都会使用堆内存

特点

  • 它是线程共享的,堆中对象都需要考虑线程安全的问题
  • 有垃圾回收机制

堆内存溢出

造成堆内存溢出的原因

  • 对象一直被引用无法被垃圾回收器回收,随着对象越来越多导致堆内存溢出

示例代码

package com.vmware.stack;import java.util.ArrayList;
import java.util.List;/*** @apiNote 演示堆内存溢出 java.lang.OutOfMemoryError* -Xmx8m 配置堆内存大小*/
public class Demo5 {public static void main(String[] args) {int i = 0;try {List<String> list = new ArrayList<>();String a = "hello";while (true) {list.add(a);a = a + a;i++;}} catch (Throwable e) {e.printStackTrace();System.out.println(i);//18}}
}
java.lang.OutOfMemoryError: Java heap spaceat java.base/jdk.internal.misc.Unsafe.allocateUninitializedArray0(Unsafe.java:1382)at java.base/jdk.internal.misc.Unsafe.allocateUninitializedArray(Unsafe.java:1375)at java.base/java.lang.StringConcatHelper.newArray(StringConcatHelper.java:497)at java.base/java.lang.StringConcatHelper.simpleConcat(StringConcatHelper.java:421)at java.base/java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(DirectMethodHandle$Holder)at java.base/java.lang.invoke.DelegatingMethodHandle$Holder.reinvoke_L(DelegatingMethodHandle$Holder)at java.base/java.lang.invoke.Invokers$Holder.linkToTargetMethod(Invokers$Holder)at com.vmware.stack.Demo5.main(Demo5.java:19)
设置堆内存大小
  • -Xmx
堆内存诊断
  • jps 工具:查看当前系统中有哪些 java 进程

  • jmap 工具:查看堆内存占用情况 jmap - heap 进程id

    package com.vmware.stack;public class Demo6 {public static void main(String[] args) throws InterruptedException {System.out.println("1...");Thread.sleep(30000);byte[] array = new byte[1024 * 1024 * 10];System.out.println("2...");Thread.sleep(30000);array = null;System.gc();System.out.println("3...");Thread.sleep(1000000L);}
    }
    
  • jconsole 工具:图形界面的,多功能的监测工具,可以连续监测
    在这里插入图片描述

案例

垃圾回收后,内存占用仍然很高

可以使用可视化工具jvisualvm进行堆dump,进行内存分析

在这里插入图片描述

http://www.yayakq.cn/news/575996/

相关文章:

  • 免费有限公司网站免费商城系统哪个好
  • asp源码自助建站好看的公司logo图片
  • 腾讯建设网站视频视频视频成都做营销型网站推广
  • 做网站手机验证收费吗专业网站建设公司首选
  • wap手机网站分享代码工作手机微信管理系统
  • 温州 建网站一个完整的网址包含哪些内容
  • 电脑怎样做轰炸网站厦门网站建设网站建设
  • 论坛购物网站开发wordpress wpdx
  • 网站建设竞争性磋商文件园林公司做网站的好处
  • 广西崇左市住房和城乡建设局网站浙江省永康市建设局网站进不去
  • 长春火车站建在哪里头像制作软件app
  • 服装网站建设平台禹城网站建设费用
  • 服务好的丹阳网站建设seo搜索引擎优化介绍
  • 太原怎样优化网站建设莱芜信息网莱芜在线
  • 关于网站建设的文章网站整站优化
  • 网站建设首选易网宣网站 app
  • 建设目标网站wordpress xmlrpc漏洞
  • 制作网站的模板免费下载网站建设公司好做吗
  • 广告公司网站建设策划书本地网站有什么可以做
  • 襄阳网站排名优化建英文网站
  • 网站模板助手青岛做网站推广
  • html5 微网站 免费宁波网站开发公司电话
  • 设计风格网站云南网站建设企业
  • 深圳企业做网站公司哪家好aspcms网站后台登陆界面模版
  • 网站开发项目经验描述wordpress改菜单字体大小
  • 网站开发报价表做告状网站
  • 聊城网站推广软件wordpress 论坛风格
  • 网站产品标签文章标签怎么做百度热搜广告位多少钱
  • 网站备案会检查空间郑州最好的妇科医院
  • pc网站建设有什么功能湘建网