最近做一个Android APP,由于离线业务需求,需要在启动APP时候同步大量数据到APP上,遇到了JSON性能瓶颈。从下方的图片中可以看出,当使用 json 传输数据,在解析json的时候会产生大量的对象,使得内存疯狂飙升,不论是配置低端的平板还是配置比较高端的手机都会 GC 。而在使用 fla ...
分类:
其他好文 时间:
2021-01-19 11:58:18
阅读次数:
0
Core Idea: 对于 GC 主要有两种方式,reference count 和 mark and sweep。这片文章主要讨论了如何高效的进行 mark and sweep 过程。 Mark and sweep 思想是先遍历所有的 chunk,然后对于 GC 之后不再需要的 chunk 进行标 ...
分类:
其他好文 时间:
2021-01-19 11:48:11
阅读次数:
0
字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令。如果线程正在执行的是一个Java方法,这个计数器记录的是正在执行的虚拟机字节码指令的地址;如果正在执行的是本地(Native)方法,这个计数器值则应为空(Undefined)。 方法区(Method Area)别名叫作“非 ...
分类:
其他好文 时间:
2021-01-18 11:34:30
阅读次数:
0
JDK JRE JVM(视频地址) jdk:java Development Kit JRE: java RUntime Environment JVM: JAVA Virtual Machine ...
分类:
其他好文 时间:
2021-01-18 11:03:32
阅读次数:
0
抓取系统,抓取的是国外某网站的数据 运营反应系统卡顿,于是登录到服务器,查看了一下JVM的启动参数(jinfo -flags + pid) 只设置了Command line: -Xss256k -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=256M -XX: ...
分类:
其他好文 时间:
2021-01-18 10:38:50
阅读次数:
0
Java介绍 Java分为:JavaSE、JavaEE、JavaME JDK:Java集成开发工具 JRE:Java运行时环境 JVM:Java虚拟机 JDK包含JRE和开发工具,JRE包含JVM和核心类库,Java程序运行在JVM虚拟机上 DOS命令 C:\Users\Admin>d: //切换盘 ...
分类:
编程语言 时间:
2021-01-16 12:12:23
阅读次数:
0
对比监控出现性能毛刺时间点的GC日志和业务日志,发现JVM停顿了较长时间,且停顿时GC日志中有大量的“Allocation Stall”日志。 原因就是堆内存被占满,导致部分线程阻塞,如下图中的 High used已经达到100% 解决办法: 1.最直接有效的办法就是增加堆大小 2.增加jvm参数 ...
分类:
其他好文 时间:
2021-01-14 10:54:13
阅读次数:
0
有时候在生产或者测试环境有些方法执行比较耗时,一种简单粗暴的方法是在可能的地点打日志进行监视,另一种就是借助于插件进行检测。最近也是有机会了解并实际运用了arthas这个插件,还是挺方便的。而且也可以用于查看JVM信息、线程信息以及系统属性等信息。 arthas: https://arthas.al ...
分类:
其他好文 时间:
2021-01-14 10:43:06
阅读次数:
0
Java 三大版本 Write Once、Run Anywhere JavaSE:标准版(桌面程序,控制台开发......) JavaME JavaEE:E企业级开发(web端,服务器开发.... JDK JRE JVM JDK: Java Development Kit (Java开发者工具) J ...
分类:
编程语言 时间:
2021-01-12 10:33:02
阅读次数:
0
JVM默认的异常处理方式 开发中的异常处理方式 JVM默认的异常处理方式 定义:在控制台打印错误信息,并终止程序。 开发中的异常处理方式(两种) try...catch(finally):捕获,自己处理 throws:抛出,交给调用者 示例: 1.JVM默认的异常处理方式 public static ...
分类:
编程语言 时间:
2021-01-08 11:44:23
阅读次数:
0