Java的遗产将是平台,而不是程序设计语言。 Java技术的原始工程师们作出了一个明智的决定,就是将编程语言与运行时环境分开,最终这使得超过200种语言能够运行在Java平台上。这种架构对于该平台的长期活力是至关重...
分类:
其他好文 时间:
2014-07-31 13:46:11
阅读次数:
214
1、下载JDK 8从http://www.oracle.com/technetwork/java/javasebusiness/downloads/选择下载JDK的最新版本 JDK 8。2、解压文件$ sudo mkdir /usr/lib/jvm$ sudo mv jdk-8u11-linux-x...
分类:
编程语言 时间:
2014-07-30 23:43:55
阅读次数:
259
Java虚拟机能够管理的线程数量有限,不加控制的创建新线程可能会导致Java虚拟机崩溃。JVM中可以生成的最大数量由JVM的堆内存大小、Thread的Stack内存大小、系统最大可创建的线程数量(Java线程的实现是基于底层系统的线程机制来实现的,Windows下_beginthreadex,Lin...
分类:
编程语言 时间:
2014-07-30 23:27:05
阅读次数:
403
一.安装Maven ubuntu下,配置环境变量etc/profile文件 —— (1)使用gedit ?etc/profile可以编辑,直接打开为只读模式。 (2)配置MAVEN_HOME与PATH ???? #set java environment MAVEN_HOME=/usr/lib/jvm/...
分类:
其他好文 时间:
2014-07-30 21:00:24
阅读次数:
196
废话不多说,直接上图:
用Excel画的一个简单JVM程序运行原理图,仅供参考,如有不对请指正。...
分类:
其他好文 时间:
2014-07-30 14:46:43
阅读次数:
147
今天看了一下项目中的action大多数都没有进行序列化,所以项目上都是一大堆警告。序列化到底有什么作用呢?
简单来说,Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,...
分类:
编程语言 时间:
2014-07-30 12:16:23
阅读次数:
242
JVM 的垃圾回收器对于不同类型的引用有不同的处理方式。
java中对于一个对象来说,只要有引用的存在,它就会一直存在于内存中。
如果这样的对象越来越多,超出了JVM中的内存总数,JVM就会抛出OutOfMemory错误。
虽然垃圾回收的具体运行是由JVM来控制的,但是开发人员仍然可以在一定程度上与垃圾
回收器进行交互,其目的在于更好的帮助垃圾回收器管理好应用的内存。这种交互方式
就是...
分类:
编程语言 时间:
2014-07-29 21:57:33
阅读次数:
327
JVM里的GC(Garbage Collection)的算法有很多种,如标记清除收集器,压缩收集器,分代收集器等等,详见HotSpot VM GC 的种类现在比较常用的是分代收集(generational collection,也是SUN VM使用的,J2SE1.2之后引入),即将内存分为几个区域,...
分类:
其他好文 时间:
2014-07-29 21:05:42
阅读次数:
351
C,Java和C#中典型的多线程范例都强烈推荐使用锁和互斥。对于锁来说有个隐藏的开销:它们慢得难以忍受。使用Disruptor(JVM中的无锁的环形缓存[译者注:实际上就是拥有一个序号指向下一个可用元素的数组]),你可以很容易得每秒处理20M以上的事件。
分类:
编程语言 时间:
2014-07-29 20:38:02
阅读次数:
203
很多教科书判断对象是否存活的算法是这样的:给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器都为0的对象就是不可能再被使用。很多应届生和一些有多年工作经验的开发人员,他们对于这个问题给予的都是这个答案..
分类:
其他好文 时间:
2014-07-29 16:00:39
阅读次数:
208