Java语言具有跨平台性的特点,经过Java编译器编译后会产生相应的字节码文件,可以在任意一台安装了jvm(Java虚拟机)的设备上运行。
分类:
编程语言 时间:
2019-12-07 23:29:57
阅读次数:
98
打开Eclipse出现下图问题: 解决方案: 1、判断机子是否安装了Java环境。(JDK) 2、有些程序会有内存设置,有些程序内存设置过大时,超过虚拟机的范围会报错。 3、查看 C:\Windows\System32 路径下 生成的 java.exe 、 javaw.exe 、javaws.exe ...
分类:
编程语言 时间:
2019-12-07 19:44:55
阅读次数:
111
Java由于虚拟机自动内存管理机制的存在,不需为每一个对象进行delete/free方法,不易出现内存泄漏和内存溢出。但如果全权由Java虚拟机控制,出现内存泄漏的问题时,如果不了解虚拟机如何使用内存,会难以排查错误。 1.运行时数据区域 程序计数器、Java虚拟机栈、本地方法栈、堆、方法区、运行时 ...
分类:
编程语言 时间:
2019-12-06 23:20:38
阅读次数:
138
一、什么是JVM调优? 所谓JVM调优就是指调整Java虚拟机的堆内存大小。那么内存的设置该怎么设置呢?设置成多大比较合适,既不浪费内存,又不影响性能呢? 分析:依据的原则是根据Java Performance里面的推荐公式来进行设置。 具体来讲: Java整个堆大小设置,Xmx 和 Xms设置为老 ...
分类:
其他好文 时间:
2019-12-05 18:27:08
阅读次数:
85
一、JDK的体系结构 如上图,可以很清楚的了解到JDK和JRE的关系了。JVM+Lib=JRE 我们用java语言调用java API来编写java程序,通过JDK的javac指令将java文件编译为.class字节码文件给jvm执行,JVM解析字节码,映射到CPU或者OS的指令集被最终执行 操作系 ...
分类:
编程语言 时间:
2019-12-04 01:06:04
阅读次数:
150
8.1.20示例:类型安全性与装载约束 在Java虚拟机的早期实现中,搞乱Java的类型系统是有可能的。一个Java程序可能欺骗Java 虚拟机,用一种类型的对象冒充另一种类型的对象。这种能力让破坏者非常高兴,因为他们可 以欺骗受信任的类非法访问非公开的数据,或者通过把类替换成新的版本改变方法的行为 ...
分类:
其他好文 时间:
2019-12-03 23:55:13
阅读次数:
194
除了可能会出现在class文件中的这200条指令的操作码,Java虚拟机规范还定义了另外两类操作码: 保留的操作码和"quick”操作码,这两种操作码不会合法地出现在Java class文件中。 Java虚拟机规范列出了三种保留操作码,如表A-1所示。这些操作码是为Java虚拟机实现及其工具所保留的 ...
分类:
其他好文 时间:
2019-12-03 23:52:21
阅读次数:
258
11.1转换操作码Java虚拟机包括许多进行基本类型转换工作的操作码,这些执行转换工作的操作码后面没有 操作数,转换的值从桟顶端获得。Java虚拟机从栈顶端弹出一个值,对它进行转換,然后再把转 换结果压入栈。进行int、long, float和double类型之间转换的操作码如表11-1所示,针对这 ...
分类:
其他好文 时间:
2019-12-03 23:49:55
阅读次数:
158
18.1微型子例程 字节码中的finally子句在方法内部的表现很像“微型子例程”。Java虚拟机在每个try语句块和与其相关的catch子句的结尾处都会“调用”finally子句的子例程。finally子句结束后(这里的结束指的是finally子句中最后一条语句正常执行完毕,不包括抛出异常,或执行 ...
分类:
其他好文 时间:
2019-12-03 23:34:38
阅读次数:
129
12.1 二进制补码运算Java虚拟机所支持的所有的整数类型-byte, short、int和long,它们都是带符号的二进制补码数。二进制补码方案既能够描述正整数,也能够描述负整数。在一个二进制补码数中,最重要的位就是它的符号位。符号位为1,表示负整数;符号位为0,表示正整数和数字0。 能够被二进 ...
分类:
其他好文 时间:
2019-12-03 23:24:53
阅读次数:
144