Java语言是一种编译后再经过解释器执行的过程, 解释器主要就是如何处理解释Class文件的二进制字节流。JVM主要包含三大核心部分:运行时数据区,类加载器和执行引擎。 虚拟机将描述类的数据从Class文件加载到内存,并对数据进行校验、准备、解析和初始化,最终就会形成可以被虚拟机使用的J...
分类:
编程语言 时间:
2014-07-26 14:11:05
阅读次数:
279
由于在HotSpot虚拟机中并不区分虚拟机栈和本地方法栈,因此对于HotSpot来说,-Xoss参数(设置本地方法栈大小)虽然存在,但实际上是无效的,栈容量只由-Xss参数设定。关于虚拟机栈和本地方法栈,在Java规范中描述了两种异常:如果线程请求的栈深度大于虚拟机所允许的最大深度,将..
分类:
其他好文 时间:
2014-07-26 03:28:27
阅读次数:
179
哇哇哇、、、、你们是不是也出现过这样的错误阿、、什么意思啊?好吧、、、你们看:你的电脑是32位的还是64位的?没事、这个かまいません、、、关键是你安装的JDK是32位的还是64位的?这才是关键!这个意思是说你这个路径下的JDK不对、你就换成64位吧、、、是不是好了!(*^__^*..
分类:
其他好文 时间:
2014-07-26 03:21:17
阅读次数:
292
redis客户端Jedis的分布式锁(跨jvm)...
分类:
其他好文 时间:
2014-07-26 02:58:56
阅读次数:
268
在各种Session 管理方案中, ThreadLocal 模式得到了大量使用。ThreadLocal 是
Java中一种较为特殊的线程绑定机制。通过ThreadLocal存取的数据,总是与当前线程相关,
也就是说,JVM 为每个运行的线程,绑定了私有的本地实例存取空间,从而为多线程环境常出
现的并发访问问题提供了一种隔离机制。
首先,我们需要知道,SessionFactory负责创建Se...
分类:
其他好文 时间:
2014-07-26 02:32:36
阅读次数:
195
Eclipse崩溃,错误提示:MyEclipse has detected that less than 5% of the 64MB of PermGen (Non-heap memory) space remains. It is strongly recommendedthat you exi...
分类:
编程语言 时间:
2014-07-26 00:18:46
阅读次数:
241
文中通过最简单的一个例子来demo下这jvm对象分配和回收的整个过程,代码很短,很简单,希望剖析的细一点,包括每一步操作后对象的分配和回收对内存堆产生的影响。设定上包括对堆中年轻代(年轻代中eden区和survivor区)、年老代大小的设定,以及设置阈值控制年轻代到年老代的晋升。
分类:
其他好文 时间:
2014-07-25 18:54:02
阅读次数:
352
这个是我一个技术相当好的哥们去面试的时候碰到的奇葩问题,那天,这个面试官的答案是不能。后来就带着这个问题去国内外的论坛上搜了一把,也是各说纷纭,实在是没有一个统一的答案,简直有点公说公有理,婆说婆有理的架势。
几个意见大致如下,第一,不能,因为“进程是CPU进行调度的单位,而JVM是一个进程,于是就只能跑在一个CPU上”。第二,“进程是CPU进行调度的单位,这没错,但是O...
分类:
编程语言 时间:
2014-07-25 11:25:11
阅读次数:
313
并发编程
线程通信
共享内存和消息传递
线程同步
控制不同线程的执行顺序
java并发
基于共享内存模型指令重排序
编译器重排序处理器重排序
cpu重排序写缓存区(cache、寄存器)
内存屏障顺序一致性与Happens-before执行结果有序性
volatile
解决内存可见性问题
锁
lock 显示锁
可中断可定时...
分类:
编程语言 时间:
2014-07-25 11:24:11
阅读次数:
275
为什么需要优化GC 或者说的更确切一些,对于基于Java的服务,是否有必要优化GC?应该说,对于所有的基于Java的服务,并不总是需要进行GC优化,但前提是所运行的基于Java的系统,包含了如下参数或行为:已经通过-Xms和–Xmx 设置了内存大小包含了-server参数系统中没有超时日志等错误日....
分类:
编程语言 时间:
2014-07-25 02:17:34
阅读次数:
468