易截截图软件、单文件、免安装、纯绿色、仅160KB

java内存分析



JAVA
中,有六个不同的地方可以存储数据:

1.
寄存器(
register
)。这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部。但是寄存器的数量极
其有限,所以寄存器由编译器根据需求进行分配。你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象。

2.
堆栈(
stack
)。位于通用
RAM
中,但通过它的“堆栈指针”可以从处理器哪里获得支持。堆栈指针若向下移动,则分配新的内存;
若向上移动,则释放那些内存。这是一种快速有效的分配存储方法,仅次于寄存器。创建程序时候,
JAVA
编译器必须知道存储在堆栈内所有数据的确切大小和生命周期,因为它必须生成相应的代码,以便上下移动堆栈指针。这一约束限制了程序的灵活
性,所以虽然某些
JAVA
数据存储在堆栈中——特别是对象引用,但是
JAVA
对象不存储其中。

3.
堆(
heap
)。一种通用性的内存池(也存在于
RAM
中),用于存放所以的
JAVA
对象。堆不同于堆栈的好处是:编译器不需要知道要从堆里分配多少存储区域,也不必知道存储的数
据在堆里存活多长时间。因此,在堆里分配存储有很大的灵活性。当你需要创建一个对象的时候,只需要
new
写一行简单的代码,当执行这行代码时,会自动在堆里进行存储分配。当然,为这种灵活性必须要付出相应的代码。用堆进行存储分配比用堆栈进行
存储存储需要更多的时间。

4.
静态存储(
static
storage
)。这里的“静态”是指“在固定的位置”。静态存储里存放程序运行时
一直存在的数据。你可用关键字
static
来标识一个对象的特定元素是静态的,但
JAVA
对象本身从来不会存放在静态存储空间里。

5.
常量存储(
constant
storage
)。常量值通常直接存放在程序代码内部,这样做是安全的,因为它们永
远不会被改变。有时,在嵌入式系统中,常量本身会和其他部分分割离开,所以在这种情况下,可以选择将其放在
ROM


6.

RAM
存储。如果数据完全存活于程序之外,那么它可以不受程序的任何控制,在程序没有运行时也可以存
在。

 
上面这段话摘取之《
Thinking in Java
》』
 
---------------------------------------------------------------------
堆是一个运行时数据区
,
类的对象从中分配空间。这些对象通过
new
建立,它们不需要程序代码来显式的释放。堆是


相关文档:

java异常

Throwable
Throwable 类是 Java 语言中所有错误或异常的超类。只有当对象是此类(或其子类之一)的实例时,才能通过 Java 虚拟机或者 Java throw 语句抛出。类似地,只有此类或其子类之一才可以是 catch 子句中的参数类型。
两个子类的实例,Error 和 Exception,通常用于指示发生了异常情况。通常,这些实例是在异常情 ......

java 安全方面

记录一下
Java ACC
Java ACC规范定义了授权策略模块和J2EE容器之间的实现规范,这样容器安全提供者就可以根据操作环境的要求提供J2EE容器的授权功能。
Java ACC规范分为三个部分,分别是:提供着配置规范,安全策略配置规范,策略判断和执行规范。这三个部分组合在一起共同描述了授权提供者的安装和配置,J2EE容器使用者 ......

正则表达式学习总结, 附java源码


组的概念, 提取组信息
/**
* 正则表达式可以划分不同的组,取出组的名称,括号即可, 即所谓的捕获组
* 1. 相关知识: 不捕获用(?:expression) 表示这组不需要捕获
*
*
*/
public static void groupTest() {
String src = "xxxxxxxxxx2009-1-17-19-07-16yyyyy2001-02-18-19-07-16q";
String regex ......

c和java中的二进制文件


最近需要写一段程序,完成以下的工作,用java将数据以二进制的形式写入文件中,然后用C读出此二进制文件。
开始的时候没有考虑机器的字节序,直接搞出segment fault.想了很久,才明白原来是java和C的字节序是不一样的。
java中的字节序是big endian的,它是与机器无关的。而c的字机序是机器相关的,而当前用的机器是x84 ......

Java/JSP连接Postgre数据库常见问题解答

一、
问:org.postgresql.util.PSQLException: FATAL: no pg_hba.conf entry for host "192.168.254.103", user "postgres",database "postgres", SSL off
答:PostgreSQ数据库为了安全,它不会监听除本地以外的所有连接请求,当用户通过JDBC访问是,就会报一些以上的异常。要解决这个问题 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号