两年前当Java 8发布后,立即受到了业界的欢迎,因为它大大提高了Java的性能。它独特的卖点是,顾及了编程语言的每一个方面,包括JVM(Java虚拟机)和编译器,并且改良了其它帮助系统。下面列举Java 8的5个最主要的功能。 ...
分类:
编程语言 时间:
2016-09-16 21:05:04
阅读次数:
244
Java 中有四种引用:强引用、软引用、弱引用、虚引用; 其主要区别在于垃圾回收时是否进行回收: 1.强引用 使用最普遍的引用。如果一个对象具有强引用,那就 类似于必不可少的生活用品,垃圾回收器绝不会回收它。当内存空 间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止 ...
分类:
编程语言 时间:
2016-09-15 16:37:28
阅读次数:
152
转自:http://mobile.51cto.com/abased-406286.htm 1.资源对象没关闭造成的内存泄漏 描述: 资源性对象比如(Cursor,File文件等)往往都用了一些缓冲,我们在不使用的时候,应该及时关闭它们,以便它们的缓冲及时回收内存。它们的缓冲不仅存在于 java虚拟机 ...
分类:
移动开发 时间:
2016-09-14 16:28:09
阅读次数:
158
1,Java为什么能跨平台运行?请简述原理。 因为Java程序编译之后的代码不是能被硬件系统直接运行的代码,而是一种“中间码”——字节码。然后不同的硬件平台上安装有不同的Java虚拟机(JVM),由JVM来把字节码再“翻译”成所对应的硬件平台能够执行的代码。因此对于Java编程者来说,不需要考虑硬件 ...
分类:
编程语言 时间:
2016-09-12 12:13:50
阅读次数:
171
因为java程序编译之后的代码不是能被硬件系统直接运行的代码,而是一种“中间码”--字节码。不同的硬件平台上装有不同的java虚拟机(JVM),由JVM来把字节码再翻译成所对应的硬件平台能够执行的代码,因此java可以跨平台运行。 ...
分类:
编程语言 时间:
2016-09-12 08:41:26
阅读次数:
345
1、Java为什么能跨平台运行? Java语言编写的程序既是编译型的,又是解释型的。程序代码经过编译之后转换为一种Java字节码的中间语言,Java虚拟机即JVM将对字节码进行解释和运行。编译只进行一次,而解释在每次运行程序时都会进行。 Java程序运行在虚拟机上,每个平台都有JVM,所以Java能 ...
分类:
编程语言 时间:
2016-09-11 14:22:41
阅读次数:
180
方法的调用都是发生在相同堆上的两个对象之间(同一台机器的Java虚拟机),如果想要调用另一台机器上的对象,可以通过Socket进行输入/输出。 远程过程调用需要创建出4种东西:服务器、客户端、服务器辅助设施、客户端辅助设施 RMI Java的JMI提供客户端和服务器端的辅助设施对象(stub和ske ...
分类:
编程语言 时间:
2016-09-10 23:48:24
阅读次数:
365
准备一个已编译好的class文件,publicclassDClassLoaderextendsClassLoader{
publicClass<?>loadByte(byte[]classByte){
returndefineClass(null,classByte,0,classByte.length);
}
publicstaitcvoidmain(String[]args){
byte[]classByteStream=null;
classByte..
分类:
其他好文 时间:
2016-09-10 22:30:20
阅读次数:
196
1.Java语言的历史:sun公司成立,后被oracle收购。 2.Java语言的特点:面向对象(封装,继承,多态)、健壮性(摈弃指针等繁琐操作,具有垃圾回收功能)、跨平台性(JVM,Java虚拟机一次编译到处运行). 3.文件类型:.Java文件(源代码文件)、.class文件(字节码文件)、.j ...
分类:
编程语言 时间:
2016-09-10 10:11:45
阅读次数:
180
Java堆的概念 java堆的特征 全局共享 通常是Java虚拟机中最大的一块内存区域 作用是作为java对象的主要存储区域 JVMS明确要求该区域需要实现自动内存管理,即常说的GC,但并不限制采用哪种算法和技术去实现 可能出现OutOfMemory异常 java堆可能发生如下异常情况: 如果实际所 ...
分类:
编程语言 时间:
2016-09-09 23:57:35
阅读次数:
171