-
最新日志
最新评论
- 中国博客网 发表于《Hello world!》
- 黑暗中的天使 发表于《些许失落》
- 中博网友 发表于《HP V3808 Vista 转 XP》
- 中博网友 发表于《九月》
- w 发表于《“度日如年”》
存档页
分类
功能
Category Archives: JAVA
(ZZ)JavaScript EE-在服务器端运行 JavaScript 文件
主要是介绍JAVA类和JS文件之间的互操作 了解如何在 Ajax 和 Java EE 应用程序内使用 javax.script API please refer to the following URL: http://www.ibm.com/developerworks/cn/web/wa-aj-javaee/?S_TACT=105AGX52&S_CMP=tec-csdn
Posted in JAVA
Leave a comment
Eclipse不能启动解决方案
近期Ubuntu Gusty下安装的Eclipse突然不能启动了,错误提示大概是:VM not available。上网找解决方案有提出直接设置JVM路径来运行的,这不是根本之道。根本还是在于找不到JVM的路径,通过Terminal里面运行eclipse就可以看到提示了。 Solution: 1.确定JVM位置,一般默认为/usr/lib/jvm/java-6-sun,具体目录名称涉及JRE版本 2.修改/etc/eclipse/java_home文件将JVM(JRE)路径调整至第一行,保存 3.修改/etc/profile文件,加入如下行:export JAVA_HOME=/usr/lib/jvm/java-6-sun,保存 4.重新启动
(ZZ)java的内存分布
From:http://hi.baidu.com/dousao/blog/item/c8cbbab521fbd8c837d3ca6e.html 在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》』 在这里,主要要说下堆与堆栈的关系: 堆:堆是heap,是所谓的动态内存,其中的内存在不需要时可以回收,以分配给新的内存请求,其内存中的数据是无序的,即先分配的和随后分配的内存并没有 什么必然的位置关系,释放时也可以没有先后顺序。一般由使用者自由分配,malloc分配的就是堆,需要手动释放。 堆栈:就是STACK。实际上是只有一个出入口的队列,即后进先出(First In … Continue reading