一、REPL scala解释器读到一个表达式,对它进行求值,将它的打印出来,接着再继续读下一个表达式。这个过程被称作 读取-打印-循环,即REPL。 从技术上讲,scala程序并不是一个解释器。实际发生的是,你输入的内容被快速的编译成字节码,然后这段字节码交由java虚拟机执行。正因如此,大多数sc ...
分类:
其他好文 时间:
2016-07-25 00:05:57
阅读次数:
175
2016-07-24 1,Object类的常用方法介绍 finalize() gc() 这两个方法我们不要试图去控制,他们是由Java虚拟机 控制的,我们只能建议gc()去执行finalize(),但具体是否执行,只有 Java虚拟机才知道,因为这是有Java虚拟机的算法决定的。 【参考资料】 [1 ...
分类:
编程语言 时间:
2016-07-24 17:38:52
阅读次数:
114
转:Java动态绑定的内部实现机制 JAVA虚拟机调用一个类方法时,它会基于对象引用的类型(通常在编译时可知)来选择所调用的方法。相反,当虚拟机调用一个实例方法时,它会基于对象实际 的类型(只能在运行时得知)来选择所调用的方法,这就是动态绑定,是多态的一种。动态绑定为解决实际的业务问题提供了很大的灵 ...
分类:
编程语言 时间:
2016-07-23 23:04:50
阅读次数:
358
Error(错误)表示系统级的错误和程序不必处理的异常,是java运行环境中的内部错误或者硬件问题。比如:内存资源不足等。对于这种错误,程序基本无能为力,除了退出运行外别无选择,它是由Java虚拟机抛出的。Exception(违例)表示需要捕捉或者需要程序进行处理的异常,它处理的是因为程序设计的瑕疵 ...
分类:
其他好文 时间:
2016-07-23 19:46:08
阅读次数:
158
多线程没有控制的时候,线程的任务不一定被java虚拟机交替进行的 ...
分类:
编程语言 时间:
2016-07-23 13:26:18
阅读次数:
157
进入正题前首先要知道的是Java程序运行在JVM(Java Virtual Machine,Java虚拟机)上,可以把JVM理解成Java程序和操作系统之间的桥梁,JVM实现了Java的平台无关性,由此可见JVM的重要性。所以在学习Java内存分配原理的时候一定要牢记这一切都是在JVM中进行的,JV ...
分类:
编程语言 时间:
2016-07-21 23:50:16
阅读次数:
351
背景 说到java的特性,其中一个最重要的特性便是java通过new在堆中分配给对象的内存,不需要程序员主动去释放,而是由java虚拟机自动的回收。这也是java和C++的主要区别之一;那么虚拟机是如何实现自动回收的呢?它的基本回收算法又是什么呢? 这篇随笔先不介绍这些~ ~,熟话说 饭要一口一口地 ...
分类:
编程语言 时间:
2016-07-21 23:30:30
阅读次数:
321
一、设置JVM内存设置 1. 设置JVM内存的参数有四个: -Xmx Java Heap最大值,默认值为物理内存的1/4,最佳设值应该视物理内存大小及计算机内其他内存开销而定; -Xms Java Heap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值 ...
分类:
编程语言 时间:
2016-07-21 17:51:26
阅读次数:
261
堆设置-Xmx3550m:设置JVM最大堆内存 为3550M。 -Xms3550m:设置JVM初始堆内存 为3550M。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。 -Xss128k: 设置每个线程的栈 大小。JDK5.0以后每个线程栈大小为1M,之前每个线程栈大小为25 ...
分类:
编程语言 时间:
2016-07-21 17:42:18
阅读次数:
167
定义大家都知道,要让Java程序能够运行,那么就得让Java类要被Java虚拟机加载。Java类如果不被Java虚拟机加载,是不能正常运行的。现在我们运行的所有的程序都是在编译期的时候就已经知道了你所需要的那个类的已经被加载了。
Java的反射机制是在编译并不确定是哪个类被加载了,而是在程序运行的时候才加载、探知、自审。使用在编译期并不知道的类,这样的特点就是反射。
作用Java的反射机制可以知...
分类:
编程语言 时间:
2016-07-21 13:01:55
阅读次数:
251