java程序在运行中无时无刻不再进行着方法的调用。方法调用和方法执行是两个过程。方法调用是指找到要执行的方法版本。方法执行是真正的执行方法。java的方法调用是由两个重要对象来决定的,一个是编译器,一个是jvm。不是说编译器和jvm是两个独立的对象啦,只是对应程序运行两..
分类:
其他好文 时间:
2014-08-14 03:57:38
阅读次数:
206
本文是学习网络上的文章时的总结,感谢大家无私的分享。
1、Thread类的sleep方法,可以使线程睡眠。此方法接收一个整数作为参数,表示线程暂停运行的毫秒数。在调用sleep方法后,当时间结束时,JVM会安排他们CPU时间,线程会继续按指令执行。
另一种可能是使用一个有TimeUnit列举元素的sleep方法,使用线程类的sleep方法让当前线程睡眠,但是它接收的参数单位后...
分类:
编程语言 时间:
2014-08-13 22:32:27
阅读次数:
333
Java本身是一种设计的很easy,很静止的语言,所以Java背后的原理也很easy,归结起来就是两点:1、JVM的内存管理理解了这一点,全部和对象相关的问题统统都能解决2、JVM Class Loader理解了这一点,全部和Java相关的配置问题,包含各种App Server的配置,应用的公布问题...
分类:
其他好文 时间:
2014-08-13 18:02:46
阅读次数:
198
JVM调优接触不多,这边只是简单使用jstat命令观测Java堆内存垃圾回收情况。简单处理过程为:1、先获取到pid先获取到pid,通过命令:ps -ef|grep xxx-service-name或者可以采用jps -vl或者jps -l命令查看pid2、查看内存/GC情况jstat命令查看,js...
分类:
Web程序 时间:
2014-08-13 12:37:16
阅读次数:
319
jvm在java程序运行时会将它所管理的内存划分成不同的区域做不同的功能,这并不难以想象。主要有两类结构,即:堆和栈。java堆主要是保存运行时的对象和数组数据,是所有线程共享的内存区域,在堆中有方法区、运行时常量池。方法区是代码的存储区,类、方法数据、方法的字节码、..
分类:
其他好文 时间:
2014-08-13 03:41:56
阅读次数:
170
关于Java内存模型的一个简单介绍和总结,希望能对大家有所帮助。...
分类:
其他好文 时间:
2014-08-11 21:31:12
阅读次数:
190
13年初整理的一个关于MapReduce的简单介绍和总结,希望对大家有所帮助,同学欢迎交流JVM、Spark、Hadoop等技术。...
分类:
其他好文 时间:
2014-08-11 21:29:42
阅读次数:
251
1、Java的运行环境中,String是什么编码?使用java做程序设计语言,字符编码是和jvm相关的,和操作系统无关。java默认的编码是jvm在安装的时候就确定了的,它是根据你的系统的环境确定并默认的。我们可以通过java的Charset类的defaultCharset()方法来获取它默认的字符...
简单讲一下各个区域
程序计数器:当前线程所执行的字节码的行号指示器,循环,线程恢复等基础功能依赖这个计数器完成(线程私有,每一个线程都会有自己单独的一个计数器)。
本地方法栈:与java虚拟机栈相似,不过执行的是native方法。
方法区(包含运行时常量池):各个线程共享的区域,它用于已被虚拟机加载的类信息,常量,静态变量,即时编译器编译后的代码等数据。
java虚拟机栈:也是线程私有的,生命周期与线程相同 每个方法执行时都会创建一个栈帧(一会儿会详细讲到)结构是栈结构,先进后...
分类:
编程语言 时间:
2014-08-11 17:54:52
阅读次数:
315
出现java.lang.UnsupportedClassVersionError错误的原因,是因为我们使用高版本的JDK编译的Javaclass文件试图在较低版本的JVM上运行,所报的错误。因为,高版本的JDK生成的class文件使用的格式,可能与低版本的JDK的.class文件格式不同。这样,低版本的JVM无法解释执行这个.cla..
分类:
编程语言 时间:
2014-08-11 15:18:22
阅读次数:
204