代码
package stopworld; import java.util.HashMap; public class StopTheWorld { public static class MyThread extends Thread{ HashMap map = new HashMap(); public void run(){ while(true){ if(map.size()*512/1024/1024>=400){ map.clear(); System.out.println("clean map"); } byte[] b1; for(int i=0;i<100;i++){ b1 = new byte[512]; map.put(System.nanoTime(), b1); } try { Thread.sleep(1); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } public static class PrintThread extends Thread{ public static final long start = System.currentTimeMillis(); public void run(){ while(true){ long t = System.currentTimeMillis()-start; System.out.println(t*1.0/1000); try { Thread.sleep(100); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } public static void main(String args[]){ MyThread s1 = new MyThread(); PrintThread p1 = new PrintThread(); s1.start(); p1.start(); } }
控制台打印
0.0 0.101 0.202 0.302 0.402 0.503 0.603 0.703 0.803 0.903 1.004 1.104 1.204 1.304 1.405 1.505 1.605 1.707 1.807 1.907 2.007 2.107 2.207 2.433 2.533 2.633 2.733 2.833 2.933 3.034 3.134 3.234 3.334 3.434 3.534 3.634 3.734 3.835 3.935 4.035 4.135 4.235 4.341 4.442 4.542 4.642 4.742 4.936 5.036 5.136 5.236 5.336 5.437 5.539 5.639 5.739 5.84 5.94 6.04 6.14 6.24 6.34 6.441 6.541 6.641 6.741 6.842 6.942 7.042 7.142 7.242 7.342 7.779 7.879 7.979 8.079 8.179 8.279 8.379 8.479 8.58 8.68 8.78 8.88 8.98 9.084 9.184 9.284 9.384 9.488 clean map 9.588 9.688 9.788 9.889 10.035 10.135 10.235 10.335 10.435 10.535 10.635 10.735 10.835 10.935 11.035 11.135 11.235 11.335 11.435 11.535 11.635
gc日志
2.357: [GC2.358: [DefNew: 139776K->17472K(157248K), 0.1518325 secs] 139776K->123039K(506816K), 0.1521195 secs] [Times: user=0.11 sys=0.05, real=0.15 secs] 4.832: [GC4.832: [DefNew: 157248K->17472K(157248K), 0.1802498 secs] 262815K->249974K(506816K), 0.1803705 secs] [Times: user=0.17 sys=0.00, real=0.18 secs] 7.482: [GC7.482: [DefNew: 157248K->157248K(157248K), 0.0000456 secs]7.483: [Tenured: 232502K->349567K(349568K), 0.3730566 secs] 389750K->383428K(506816K), [Perm : 2512K->2512K(21248K)], 0.3732327 secs] [Times: user=0.34 sys=0.00, real=0.37 secs] 9.985: [Full GC9.985: [Tenured: 349567K->31559K(349568K), 0.1265237 secs] 506815K->31559K(506816K), [Perm : 2512K->2512K(21248K)], 0.1266411 secs] [Times: user=0.13 sys=0.00, real=0.13 secs]
相关推荐
jvm-npm, 适用于JVM的兼容CommonJS模块加载器 JVM上Javascript运行时中的NPM模块加载支持。 实现基于 http://nodejs.org/api/modules.html,应该完全兼容。 当然,不包括完整的node.js API,因此不要期望依赖于它的...
在这个过程中,需要注意的是,版本号需要对应自己的版本号,例如图 1 中 /usr/jvm/jdk/bin/java 星号部分为版本号。 配置 Java 环境需要经过多个步骤,包括下载和安装 JDK、配置环境变量、设置默认 JDK 版本、验证 ...
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_131 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH 3、执行profile文件 [root@...
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/lib/jvm/java/jdk1.6.0_20/bin" CLASSPATH=.:/usr/lib/jvm/java/jdk1.6.0_20/lib 第五步:设置默认 JDK 使用 update-...
VC调用java的简单例子。需要注意jvm.dll路径,路径不对就不能成功!
在这个"Jvm.rar_jni_jni线程_jvm"的压缩包中,我们主要探讨的是JNI与Java线程的交互。 首先,JNI的核心是定义了一套接口,让Java代码可以创建本地方法(Native Method),这些方法可以在C/C++中实现。在"Jvm.cpp"这...
jvm-top lets you monitor your JVM server applications from the terminal. Install Requirement: a JDK8 on the server and JAVA_HOME environment variable pointing to it. It won't work with just a JRE. ...
《深入理解JVM》(Inside the JVM) 是一本关于Java虚拟机的重要参考资料,它涵盖了JVM的内部工作原理,包括类加载机制、内存管理、字节码执行等核心概念。"gettingloaded.html" 可能是其中的一个章节,专门探讨了类的...
基于arm64架构CentOS 7.9.2009 (AltArch)版本系统 ...打包/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.aarch64 openEuler 20.04 LTS安装GConf2-devel后,可启动apache-tomcat-8.5.91
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_79/bin/javac 300 sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.7.0_79/bin/jar 300 sudo update-...
代码如下:cd /optwget ... /opt/nginx_upstream_jvm_route/jvm_route.patc
Java虚拟机(JVM)是Java程序运行的基础,它是一个抽象的计算机系统,负责执行Java字节码。在深入理解JVM的工作流程之前,我们首先需要知道Java程序是如何被编译和运行的。Java源代码(.java文件)通过Java编译器...
sudo alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_版本号/bin/javac 1 sudo alternatives --config java sudo alternatives --config javac ``` 这将允许你在多个版本之间切换,并将当前的...
"JVM.zip"可能是一个包含了与JVM相关的工具或示例代码的压缩包,特别是用于获取运行中的JVM系统的参数。这通常是开发人员为了监控和优化Java应用程序性能的重要手段。 在Java中,`SystemInfo`类的出现很可能是为了...
sudo mv jdk1.8.0_161 /usr/lib/jvm/ ``` 接下来,设置环境变量。打开或创建 `~/.bashrc` 文件,添加以下内容: ```bash export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_161 export JRE_HOME=$JAVA_HOME/jre export PATH...
- **堆内存**:所有对象实例都在堆中分配内存,是JVM最大的内存区域,进行垃圾回收的主要区域。 - **栈内存**:每个线程都有自己的程序计数器、虚拟机栈、本地方法栈。栈帧用于存储局部变量、操作数栈、动态链接等...
Exception in thread "main" java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics at okio.Okio.source(Okio.kt) at okhttp3.internal.io.RealConnection.connectSocket(RealConnection.java:144) ...
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_45/bin/javac 300 sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.8.0_45/bin/jar 300 ``` 其中 `300` ...
16_Java高级_JVM垃圾回收机制