Jvm虚拟机
rainyear
这个作者很懒,什么都没留下…
展开
-
跨域代码例子
/***** 版权所有,侵权必究!*/package com.jcfintech.esign.business.config;import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.config.annotation.CorsRegistry;import org.springframework.web.servlet.config.annot...原创 2021-12-30 10:04:13 · 220 阅读 · 0 评论 -
eclipse中tomcat内存溢出设置 (转)
eclipse中tomcat内存溢出设置 对于以上两个问题,我的处理是: 在catalina.bat的第一行增加: Java代码 :set JAVA_OPTS=-Xms64m -Xmx256m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m 在catalina.sh的第一行增加: J...原创 2013-04-18 11:26:21 · 270 阅读 · 0 评论 -
java内存模型详解
java内存模型详解内存模型 (memory model) 内存模型描述的是程序中各变量(实例域、静态域和数组元素)之间的关系,以及在实际计算机系统中将变量存储到内存和从内存取出变量这样的低层细节.不同平台间的处理器架构将直接影响内存模型的结构.在C或C++中, 可以利用不同操作平台下的内存模型来编写并发程序. 但是, 这带给开发人员的是, 更高的学习成本.相比之下, jav...原创 2012-11-13 16:39:48 · 69 阅读 · 0 评论 -
《深入java虚拟机》读书笔记 转
一、java体系结构 1、java程序设计语言 2、java class 文件格式 3、java 应用编程接口(API) 4、java 虚拟机 a、java虚拟机和API 一起组成一个平台,java虚拟机的任务是装载class文件并且执行其中的字节码。 执行引擎分类 (1) 一次性解释字节码。 (2) 即使编译器(just-in-time compiler) 被执行的字...原创 2012-11-19 01:36:20 · 89 阅读 · 0 评论 -
java 内存模型 转
分类: Java系列教程2009-10-13 00:29 8616人阅读 评论(24) 收藏 举报 http://blog.csdn.net/wangwenhui11/article/details/6387898转自以上地址(原本准备把内存模型单独放到某一篇文章的某个章节里面讲解,后来查阅了国外很多文档才发现其实JVM内存模型的内容还蛮多的,所以直接作为一个章节的基...原创 2012-11-24 02:02:07 · 109 阅读 · 0 评论 -
Java内存回收 垃圾回收机制
一、内存分配策略一般内存粗糙的可以分为两块,堆heap空间和栈stack空间。但其实Java内存远比这个复杂,只是堆和栈是最重要的两块。其中栈,也成为局部变量表,主要存储的是在非static的自动变量、函数参数、表达式的临时结果金额函数返回值。栈是线程私有的,生命周期与线程相同。而堆heap是内存中最大的一块,为线程共享,JVM启动时创建。主要用于存放new出来的对象以及数组。而JAV...原创 2012-11-25 02:11:25 · 392 阅读 · 0 评论 -
JVM类加载机制浅析 (How ClassLoader load class file )
Java 运行时环境(JRE)是如何加载类的呢? 这玩意水太深,就谈谈一个类是怎么加载的,jvm是怎么工作的。JVM启动后有三个基本层次的类加载器,先上图:其中bootstap classloader 是c++写的,jvm启动后,它加载java环境运行所需要的一些class文件(java.* javax.*等包),例如rt.jar,但还有其他的,大家要想看的话可以测试下看加...原创 2012-11-25 02:22:33 · 105 阅读 · 0 评论 -
java虚拟机内存模式。栈和堆
深入理解JVM—JVM内存模型博客分类: java JVM java 虚拟机 我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁盘和CPU的交互,而CPU运转速度越来越快,磁盘远远跟不上CPU的读写速度,才设计了内存,用户缓冲用户IO等待导致CPU的等待成本,但是随着CPU的发展,内存的读写速度也远远跟不上CPU的读写速度,因此,...原创 2012-11-26 02:33:07 · 89 阅读 · 0 评论 -
JAVA Web.xml 加载顺序
JAVA Web.xml 加载顺序 web.xml加载过程(步骤): 1.启动WEB项目的时候,容器(如:Tomcat)会去读它的配置文件web.xml.读两个节点: <listener></listener> 和 <context-param></context-param>2.紧接着,容器创建一个ServletC...原创 2012-12-21 16:38:46 · 57 阅读 · 0 评论 -
如何调优JVM - 优化Java虚拟机(大全+实例)
如何调优JVM - 优化Java虚拟机(大全+实例)堆设置-Xmx3550m:设置JVM最大堆内存为3550M。 -Xms3550m:设置JVM初始堆内存为3550M。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。 -Xss128k:设置每个线程的栈大小。JDK5.0以后每个线程栈大小为1M,之前每个线程栈大小为256K。应当根据应用的线...原创 2012-12-26 02:01:29 · 72 阅读 · 0 评论 -
TOMCAT优化
1.内存设置(VM参数调优)(1). Windows环境下,是tomcat解压版(执行startup.bat启动tomcat) ,解决办法:修改“%TOMCAT_HOME%\bin\catalina.bat”文件,在文件开头增加如下设置:set JAVA_OPTS=-Xms512m -Xmx512m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:...原创 2012-12-26 02:37:21 · 70 阅读 · 0 评论 -
java JVM 加载类的顺序
JVM 初始化一般初始化一个类:1>假如这个类还没有被加载和连接,程序先加载并连接该类。2>假如该类的直接父类还没有被初始化,则先初始化直接父类。3>假如类中的初始化语句,则执行这些初始化语句。初始化语句顺序是先执行:代码块,然后执行变量public class test{static int i=6;@2static (){//@1i=5;}}这里先执行@1然后再执行@2部分1...原创 2012-03-28 16:58:55 · 249 阅读 · 0 评论 -
java程序在执行过程中,类,对象以及它们成员加载、初始化的顺序如下:
java程序在执行过程中,类,对象以及它们成员加载、初始化的顺序如下: 1、首先加载要创建对象的类及其直接与间接父类。 2、在类被加载的同时会将静态成员进行加载,主要包括静态成员变量的初始化,静态语句块的执行,在加载时按代码的先后顺序进行。 3、需要的类加载完成后,开始创建对象,首先会加载非静态的成员,主要包括非静态成员变量的初始化,非静态语句块的执行,在加载时按代码的先后顺序进行。 ...原创 2011-12-16 21:35:55 · 136 阅读 · 0 评论 -
如何调优JVM - 优化Java虚拟机(大全+实例)
如何调优JVM -优化Java虚拟机(大全+实例)堆设置-Xmx3550m:设置JVM最大堆内存为3550M。-Xms3550m:设置JVM初始堆内存为3550M。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。-Xss128k:设置每个线程的栈大小。JDK5.0以后每个线程栈大小为1M,之前每个线程栈大小为256K。应当根据应用的线程所需内存大原创 2013-04-26 17:17:27 · 762 阅读 · 0 评论 -
java虚拟机内存模式。栈和堆
深入理解JVM—JVM内存模型博客分类: java JVM java 虚拟机 我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁盘和CPU的交互,而CPU运转速度越来越快,磁盘远远跟不上CPU的读写速度,才设计了内存,用户缓冲用户IO等待导致CPU的等待成本,但是随着CPU的发展,内存的读写速度也远远跟不上CPU的读写速度,因此,原创 2013-04-26 17:16:38 · 773 阅读 · 0 评论 -
JVM类加载机制浅析 (How ClassLoader load class file )
Java 运行时环境(JRE)是如何加载类的呢? 这玩意水太深,就谈谈一个类是怎么加载的,jvm是怎么工作的。JVM启动后有三个基本层次的类加载器,先上图:其中bootstap classloader 是c++写的,jvm启动后,它加载java环境运行所需要的一些class文件(java.* javax.*等包),例如rt.jar,但还有其他的,大家原创 2013-04-26 17:16:36 · 650 阅读 · 0 评论 -
《深入java虚拟机》读书笔记 转
一、java体系结构 1、java程序设计语言 2、java class 文件格式 3、java 应用编程接口(API) 4、java 虚拟机 a、java虚拟机和API 一起组成一个平台,java虚拟机的任务是装载class文件并且执行其中的字节码。 执行引擎分类 (1) 一次性解释字节码。 (2) 即使编译器(just-in-time compi原创 2013-04-26 17:16:12 · 545 阅读 · 0 评论 -
JAVA Web.xml 加载顺序
JAVA Web.xml 加载顺序 web.xml加载过程(步骤): 1.启动WEB项目的时候,容器(如:Tomcat)会去读它的配置文件web.xml.读两个节点: 和 2.紧接着,容器创建一个ServletContext(上下文),这个WEB项目所有部分都将共享这个上下文. 3.容器将转化为键值对,并交给ServletContext. 4.容器原创 2013-04-26 17:17:24 · 454 阅读 · 0 评论 -
java程序在执行过程中,类,对象以及它们成员加载、初始化的顺序如下:
java程序在执行过程中,类,对象以及它们成员加载、初始化的顺序如下: 1、首先加载要创建对象的类及其直接与间接父类。 2、在类被加载的同时会将静态成员进行加载,主要包括静态成员变量的初始化,静态语句块的执行,在加载时按代码的先后顺序进行。 3、需要的类加载完成后,开始创建对象,首先会加载非静态的成员,主要包括非静态成员变量的初始化,非静态语句块的执行,在加载时按代码的先后顺序进行。原创 2013-04-26 17:13:42 · 613 阅读 · 0 评论 -
Java内存回收 垃圾回收机制
一、内存分配策略一般内存粗糙的可以分为两块,堆heap空间和栈stack空间。但其实Java内存远比这个复杂,只是堆和栈是最重要的两块。其中栈,也成为局部变量表,主要存储的是在非static的自动变量、函数参数、表达式的临时结果金额函数返回值。栈是线程私有的,生命周期与线程相同。而堆heap是内存中最大的一块,为线程共享,JVM启动时创建。主要用于存放new出来的对象以及数组。而JAV原创 2013-04-26 17:16:34 · 743 阅读 · 0 评论 -
并发集合类ConcurrentSkipListSet
ConcurrentSkipListSetConcurrentSkipListSet(在JavaSE 6新增的)提供的功能类似于TreeSet,能够并发的访问有序的set。因为ConcurrentSkipListSet是基于“跳跃列表(skip list)”实现的,只要多个线程没有同时修改集合的同一个部分,那么在正常读、写集合的操作中不会出现竞争现象。有一个业务需求,需要对用户进行原创 2013-04-26 17:16:31 · 11947 阅读 · 0 评论 -
Amdahl 定律 (阿姆达尔定律)
有些问题使用越多的资源就能越快地解决——越多的工人参与收割庄稼,那么就能越快地完成收获。另一些任务根本就是串行化的——增加更多的工人根本不可能提高收割速度。如果我们使用线程的重要原因之一是为了支配多处理器的能力,我们必须保证问题被恰当地进行了并行化的分解,并且我们的程序有效地使用了这种并行的潜能。大多数并发程序都与农耕有着很多相似之处,由一系列并行和串行化的片断组成。Amdahl定律描述了在一原创 2013-04-26 17:16:29 · 2259 阅读 · 0 评论 -
java线程内存模型,线程、工作内存、主内存
java线程内存模型线程、工作内存、主内存三者之间的交互关系图: key edeas所有线程共享主内存每个线程有自己的工作内存refreshing local memory to/from main memory must comply to JMM rules 产生线程安全的原因线程的working memor原创 2013-04-26 17:16:27 · 1407 阅读 · 0 评论 -
java JVM 加载类的顺序
JVM 初始化一般初始化一个类:1>假如这个类还没有被加载和连接,程序先加载并连接该类。2>假如该类的直接父类还没有被初始化,则先初始化直接父类。3>假如类中的初始化语句,则执行这些初始化语句。初始化语句顺序是先执行:代码块,然后执行变量public class test{static int i=6;@2static (){//@1i=5;}}这里原创 2013-04-26 17:14:20 · 819 阅读 · 0 评论 -
TOMCAT优化
1.内存设置(VM参数调优)(1). Windows环境下,是tomcat解压版(执行startup.bat启动tomcat) ,解决办法:修改“%TOMCAT_HOME%\bin\catalina.bat”文件,在文件开头增加如下设置:set JAVA_OPTS=-Xms512m -Xmx512m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:M原创 2013-04-26 17:17:29 · 448 阅读 · 0 评论