1.javase 标准版主要用于桌面应用、控制台;javaee 企业版主要用于web应用;javame微缩版主要用于嵌入式。 2.jre是java程序的运行环境,包含jvm(java虚拟机)。jdk是java的开发工具包,包含了jre。jdk是不区分se、ee、me的,所以你在oracle的官网上只 ...
分类:
编程语言 时间:
2020-02-28 20:32:30
阅读次数:
60
JVM结构 JVM是 Java Virtual Machine的简称,意为Java虚拟机 。是Java可以在不同平台保证编译运行程序的保证。主要分为五大模块: 类装载器子系统 、 运行时数据区 、 执行引擎 (堆操作)、 本地方法接口 (对接本地方法栈)和 垃圾收集模块 (GC操作)。 类装载器子系 ...
分类:
其他好文 时间:
2020-02-25 12:48:54
阅读次数:
94
程序计数器(私有) 程序计数器:"是一个非常小的内存空间,用来保证程序依次执行",它可以看作是当前线程所执行的字节码的行号指示器 由于java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,在切出后切回的时候需要一个标识。 栈 (私有) "基本类型、运算、方法服务、指向堆内存的指 ...
分类:
编程语言 时间:
2020-02-25 00:11:09
阅读次数:
92
线程 线程的调度: 创建多线程的方式: 方法一:创建Thread类的子类 注意:void start()使该线程开始执行; Java虚拟机调用该线程的run方法。 结果是两个线程并发地运行;当前线程(main线程)和另一个线程(创建的新线程,执行其run 方法)。 多次启动一个线程是非法的。特别是当 ...
分类:
编程语言 时间:
2020-02-23 16:22:50
阅读次数:
81
java虚拟机jvm启动后java代码层面发生了什么? 0000 我想验证的事情 java代码在被编译后可以被jdk提供的java命令进行加载和运行, 在我们的程序被运行起来的时候,都发生了什么事情, 下面就来探究下这个问题, 这个问题被拆成了两个问题, 第一个问题用来确定发生了哪些事情, 第二个问 ...
分类:
编程语言 时间:
2020-02-23 14:42:29
阅读次数:
61
首先java程序的运行分为编译和运行两部分。 所以重载和重写在这一点就有很明显的区别,因为重写方法的方法名和参数个数类型都一样,所以在java虚拟机的编译阶段是识别不出重写的方法的不同,在运行期间才可以看出不同点。而重载在编译过程就已经暴露了他的不同点,虽然方法名相同,但是参数个数类型都不同。简单的 ...
分类:
其他好文 时间:
2020-02-22 16:04:44
阅读次数:
56
Class类文件结构 Java跨平台的基础 各种不同平台的虚拟机与所有平台都统一使用的程序存储格式——字节码(ByteCode)是构成平台无关性的基石,也是语言无关性的基础。Java虚拟机不和包括Java在内的任何语言绑定,它只与“Class文件”这种特定的二进制文件格式所关联,Class文件中包含 ...
分类:
其他好文 时间:
2020-02-20 19:52:29
阅读次数:
83
对于非运行时异常,程序中一般可不做处理,由java虚拟机自动进行处理。 A. 正确 B. 错误 解析:运行异常,可以通过java虚拟机来自行处理。非运行异常,我们应该捕获或者抛出。 答案:B 下面哪些类可以被继承? Java.lang.Thread、java.lang.Number、java.lan ...
分类:
其他好文 时间:
2020-02-20 14:59:38
阅读次数:
161
1. Java把异常作为一种类,当做对象来处理。所有异常类的基类是Throwable类。两大子类分别是Error和Exception。这些异常类可以分为三种类型:错误、受检异常、运行时异常。 错误由JVM抛出,用Error类表示。Error类描述的是内部的系统错误,例如Java虚拟机崩溃、内存溢出等 ...
分类:
编程语言 时间:
2020-02-20 13:39:59
阅读次数:
102