今上午项目怎么也起不来,总报这个错,上网查一下,大概解释如下:NoClassDefFoundError错误的发生,是因为Java虚拟机在编译时能找到合适的类,而在运行时不能找到合适的类导致的错误。例如在运行时我们想调用某个类的方法或者访问这个类的静态成员的时候,发现这个类不可用,此时Java虚拟机就 ...
分类:
其他好文 时间:
2017-11-10 12:56:30
阅读次数:
160
java中堆和栈的区别: 我们平常说的堆和栈,其实就是Java虚拟机中的虚拟机栈和堆,为什么说是虚拟机栈,因为栈分为两个,一个是本地方法栈,另一个就是我们平常说的虚拟机栈。虚拟机栈是线程私有的,这就意味着它的生命周期和线程相同。我们在使用一个方法时,在虚拟机栈中会创建一个栈帧用于保存局部变量表、操作 ...
分类:
编程语言 时间:
2017-11-10 00:35:14
阅读次数:
140
1.前言 垃圾收集器是前一章垃圾收集算法理论知识的具体实现了,不同虚拟机所提供的垃圾收集器可能会有很大差别,另外我们必须提前说明一个道理:没有最好的垃圾收集器,更加没有万能的收集器,只能选择对具体应用最合适的收集器。这也是HotSpot为什么要实现这么多收集器的原因,下面我们以HotSpot为例讲解 ...
分类:
编程语言 时间:
2017-11-09 22:32:48
阅读次数:
233
java虚拟机学习-深入理解JVM(1) java虚拟机学习-慢慢琢磨JVM(2) java虚拟机学习-慢慢琢磨JVM(2-1)ClassLoader的工作机制 java虚拟机学习-JVM内存管理:深入Java内存区域与OOM(3) java虚拟机学习-JVM内存管理:深入垃圾收集器与内存分配策略( ...
分类:
编程语言 时间:
2017-11-07 19:32:30
阅读次数:
231
Java跨平台是怎样实现的呢?这就要谈及Java虚拟机(Java Virtual Machine,简称 JVM)。 我们编写的Java源码,编译后会生成一种 .class 文件,称为字节码文件。 字节码不能直接运行,必须通过JVM翻译成机器码才能运行。 Java虚拟机就是负责将字节码文件翻译成特定平 ...
分类:
编程语言 时间:
2017-11-05 23:37:56
阅读次数:
292
Java跨平台是怎样实现的呢?这就要谈及Java虚拟机(Java Virtual Machine,简称 JVM)。 我们编写的Java源码,编译后会生成一种 .class 文件,称为字节码文件。 字节码不能直接运行,必须通过JVM翻译成机器码才能运行。 Java虚拟机就是负责将字节码文件翻译成特定平 ...
分类:
编程语言 时间:
2017-11-05 23:29:47
阅读次数:
186
JVM(java虚拟机的发展史): (1)Sun Classic (2)Exact VM (3)HotSpot虚拟机 实现跨平台性能的原理: (1).我们都知道,java语言有个机制,就是不论是在哪个平台上编写的代码,在其他平台上都可以运行。一些语言却不行,比如在window平台下编写的语言在Lin ...
分类:
编程语言 时间:
2017-11-05 22:20:21
阅读次数:
230
因为Java程序编译之后的代码不是能被硬件系统直接运行的代码,而是一种“中间码”——字节码。然后不同的硬件平台上安装有不同的Java虚拟机(JVM),由JVM来把字节码再“翻译”成所对应的硬件平台能够执行的代码。因此对于Java编程者来说,不需要考虑硬件平台是什么。所以Java可以跨平台。 因为它有 ...
分类:
编程语言 时间:
2017-11-05 20:11:38
阅读次数:
217
转载自Java反射机制 Java的反射机制是Java特性之一,反射机制是构建框架技术的基础所在。灵活掌握Java反射机制,对大家以后学习框架技术有很大的帮助。 那么什么是Java的反射呢? 大家都知道,要让Java程序能够运行,那么就得让Java类要被Java虚拟机加载。Java类如果不被Java虚 ...
分类:
编程语言 时间:
2017-11-05 18:30:14
阅读次数:
206
那么,跨平台是怎样实现的呢?这就要谈及Java虚拟机(Java Virtual Machine,简称 JVM)。JVM也是一个软件,不同的平台有不同的版本。我们编写的Java源码,编译后会生成一种 .class 文件,称为字节码文件。Java虚拟机就是负责将字节码文件翻译成特定平台下的机器码然后运行 ...
分类:
编程语言 时间:
2017-11-05 15:05:42
阅读次数:
229