- 浏览: 473014 次
- 性别:
- 来自: 深圳
最新评论
-
zjxkeven:
放在自己工程上不报错,已放在服务器上就报错
java获得CPU使用率,系统内存,虚拟机内存等情况 -
wang1990cool:
能运行?我报错啊、
java获得CPU使用率,系统内存,虚拟机内存等情况 -
yue_ch:
yue_ch 写道getTotalPhysicalMemory ...
java获得CPU使用率,系统内存,虚拟机内存等情况 -
yue_ch:
getTotalPhysicalMemorySize()get ...
java获得CPU使用率,系统内存,虚拟机内存等情况 -
kjmmlzq19851226:
private RealSubject realSubject ...
代理模式,静态代理与动态代理
文章列表
转载地址:http://www.mcxb.com/sysProgram/Java/JavaSJ/58029.html
没看懂,以后再看:
转载地址:http://www.mcxb.com/sysProgram/Java/JavaSJ/58029.html
没看懂,以后再看:
今天,我把以前做Java Optimize的时候IBM送给我的一个光盘从新看了一下。
发了一篇 对IBM java 1.3.0 for as400的JVM 的详细介绍。这篇文章的作者是Sam Borman,他是 IBM Java的管理团队成员,专门负责GC模块。另外一个作者是Richard ...
- 2009-03-28 00:00
- 浏览 2089
- 评论(0)
1.当java程序运行到一定时间的时候。常常抛出java.lang.OutOfMemoryError: Java heap space异常。
2.java heap space 指的是JVM的内存不够用了,内存泄露。
原因: JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启 ...
- 2009-03-27 23:20
- 浏览 9862
- 评论(0)
文章摘要:默认的java虚拟机的大小比较小,在对大数据进行处理时java就会报错:java.lang.OutOfMemoryError。设置jvm内存的方法,对于单独的.class,可以用下面的方法对Test运行时的jvm内存进行设置。 java -Xms64m -Xmx256m Test -Xms是设置内存初始化的大小 -Xmx是设置最大能够
默认的java虚拟机的大小比较小,在对大数据进行处理时java就会报错:java.lang.OutOfMemoryError。设置jvm内存的方法,对于单独的.class,可以用下面的方法对Test运行时的jvm内存进行设置。java -Xms64 ...
- 2009-03-27 22:58
- 浏览 916
- 评论(0)
Java技术与Java虚拟机
说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。它们的关系如下图所示:
图1 Java四个方面的关系
运行期环境代表着Java平台,开发人员编写Java代码(.java文件),然后将之编译成字节码(.class文件)。最后字节码被装入内存,一旦
字节码进入虚拟机,它就会被解释器解释执行,或者是被即时代码发生器有选择的转换成机器码执行。从上图也可以看出Java平台由Java虚拟机和Java
应用程序接口 ...
- 2009-03-27 13:33
- 浏览 1061
- 评论(0)
转自:http://spaces.msn.com/songsun/
先说tuning,gc有两个指标,一个是frequentcy(以下称F),一个是duration(以下称D)。
前者和程序产生garbage的速率和java heap大小有关,后者和java heap大小及gc
thread数有关。依据应用程序的差异,F可能为30 ...
- 2009-03-27 13:15
- 浏览 983
- 评论(0)
转自:http://spaces.msn.com/songsun/
以下继续探讨,说说jvm的线程(thread)及其执行中和内存相关的问题。but今天是写不完了,请保持关注,先写个预告栏咯
记得当年学java之初,总是很鄙夷它,因为那时候对c/c++很痴迷,结果呢,第一个多线程程序还是拿java写出来的。而线程(thread),本是
操作系统的所提供/支持的,所以当初有一段时间,我总在怀疑我那java程序创建的线程到底是不是真正的操作系统线程,现在看来很可笑。
题外,再继续质疑一下:
在有些平台上,比如Linux或者大
部分的unix,只有进程而没有线程的概念的,但这些平台上,进 ...
- 2009-03-27 12:55
- 浏览 1192
- 评论(0)
上篇说到了关于java heap的一些特征:连续的内存区域,逐步扩张的特征和如何做的这点的。but在讨论JVM的堆内存的细节以及垃圾回收等事宜之前,我们先讨论一下java进程的内存结构。
郁闷,
昨日
这一篇本来写完了,但是提交 ...
- 2009-03-27 12:46
- 浏览 1430
- 评论(0)
本文出处:http://songsun.spaces.live.com/blog/cns!2DB8261011445D70!211.entry
近期看了一些有关JVM和内存的资料,
为了避免遗忘,特在这里作一笔记。今天说说操作系统的虚拟内存先。
虚拟内存管理(VMM)是现在操作系统广泛采用的内存管理方式,为什么出现VMM了呢,当初主要是为了解决物理内存不足的问题,既然是不足,设计师们当然
就想起来用硬盘空间来协力,使用诸如LRU(最近最少使用)之类的算法,把物理内存(Main
memory)中不怎么使用的内容,转储到硬盘上以节省空间(给急需内存的程序使用),而转储到硬盘上的内容又被访 ...
- 2009-03-27 12:34
- 浏览 834
- 评论(0)
本文转自: http://spaces.msn.com/songsun/
不同的JVM实现对堆结构的设计有所不同,这里先说说共性的,然后再比较classic vm和hotspot vm在gc方面的差异。
先
大致说说gc的过程,通常有两种情形会导致gc发生,一种是显式的System.gc()调用而java进程未禁止显示gc,第二种是隐式的,即内存管理
器(MM)在alloc内存时发生failure,MM进而作gc以便释放出空间用于分配(当然,假如gc后还是没有空间可满足分配数值,
OutOfMemory就发生了)。gc过程分3步走,第1步,mark阶段,标示出allocbits和 ...
- 2009-03-27 12:15
- 浏览 949
- 评论(0)
为什么使用volatile比同步代价更低?
同步的代价, 主要由其覆盖范围决定, 如果可以降低同步的覆盖范围, 则可以大幅提升程序性能.
而volatile的覆盖范围仅仅变量级别的. 因此它的同步代价很低.
volatile原理是什么?
volat ...
- 2009-03-27 12:04
- 浏览 2559
- 评论(0)
当JVM(Java虚拟机)启动时,会形成由三个类加载器组成的初始类加载器层次结构:
bootstrap classloader
|
extension classloader
|
system classloader
bootstrap
classloader
-引导(也称为原始)类加载器,它负责加载Java的核心类。在Sun的JVM中,在执行java的命令中使用-Xbootclasspath选项或使用
-D选项指定sun.boot.class.pat ...
- 2009-03-27 12:04
- 浏览 981
- 评论(0)
Java语言的输入输出功能是十分强大而灵活的,美中不足的是看上去输入输出的代码并不是很简洁,因为你往往需要包装许多不同的对象。在Java类库中,
IO
部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流....本文的目的是为大家做一个简要的介绍。
流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接。类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流。这时候你就可以想象数据好像在这其中“流”动一样,如下图:
- 2009-03-27 12:04
- 浏览 3878
- 评论(1)
7.3 线程间通信
迄今为止,我们所掌握的线程间通信手段还只限于主线程通过唤醒、中断机制向子线程发出信号,或者通过在创建子线程时向构造方法传入数据,以及设置子线程的公有属性值。在千变万化的应用需求面前,仅凭这些手段是难以胜任要求的。
在多线程开发领域,线程与线程之间经常需要交换信息,这是一种普遍存在的需求,并不仅限于主线程与子线程之间,子线程与子线程之间也很可能需要交换信息。
线程之间能够方便地基于共享地址空间实现通信,这本身便是多线程应用程序的一大优势,因为进程之间是不能互访对方的地址空间的,在进程之间传递信息只能采用类似于远程调用的手段。
本节介绍利用Java输入输出API中的内部管道( ...
- 2009-03-27 12:03
- 浏览 1417
- 评论(0)
Java的IO系统工作原理
来源:JAVA天堂 J2SE 2007-7-1 23:21:01
1. stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源。在Java的IO中,所有的stream(包括Input和Out stream)都包括两种类型:1.1 以字节为导向的stream以字节为导向的stream,表示以字节为单位从stream中读取或往stream中写入信息。以字节为导向的stream包括下面几种类型:1. input stream1) ByteArrayInputStream:把内存中的一个缓冲区作为InputStream使用2) Strin ...
- 2009-03-27 02:39
- 浏览 1995
- 评论(0)
Java程序类加载完全揭密
2005-10-19 15:34作者:purplerain编译出处:matrix责任编辑:方舟
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明 类加载是java语言提供的最强大的机制之一。尽管类加载并不是讨论的热点话题,但所有的编程人员都应该了解其工作机制,明白如何做才能让其满足我们的需要。这能有效节省我们的编码时间,从不断调试ClassNotFoundException, ClassCastException的工作中解脱出来。 这篇文章从基础讲起,比如代码与数据的不同之处是什么,他们是如何构成一个实例或对象的。 ...
- 2009-03-27 02:38
- 浏览 928
- 评论(0)