简述 Java与那些较传统的语言比如C++有个很大不同就是垃圾回收策略了。前者通常是虚拟机自动帮我们做了,而后者就需要我们手动来完成。 Java虚拟机帮我们完成了垃圾回收,是不是意味着我们就不用完全去管它了呢?当然不是的。在很多场景下,虚拟机默认做的并不能使我们满意。比如某个java应用较大时,频繁 ...
分类:
编程语言 时间:
2019-11-10 12:05:35
阅读次数:
86
局部变量( lacal variable): 方法或语句块内部定义的变量。生命周期是从声明位置开始到”}”为止。 在使用前必须先声明和初始化(赋初值)。 注:对于局部变量 java 虚拟机并不会给它自行初始化,也就是并不会给它赋上该类型的默认值,局部变量需要自己去初始化。 实例变量(成员变量 mem ...
分类:
编程语言 时间:
2019-11-08 12:19:21
阅读次数:
93
诠释一、 JDK(java development kit) JDK是Java开发工具包,是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。 JRE(java runtime environment) JRE是Java的运行环境,包括JVM标准实现及Java核心类库 ...
分类:
其他好文 时间:
2019-11-08 12:14:29
阅读次数:
103
Java 中语法上实现多态的方式分为两种:1. 重载、2. 重写,重载又称之为编译时的多态,重写则是运行时的多态。 那么底层究竟时如何实现多态的呢,通过阅读『深入理解 Java 虚拟机』这本书(后文所指的书,如无特殊说明,指的都是这本书),对多态的实现过程有了一定的认识。以下内容是对学习内容的记录, ...
分类:
编程语言 时间:
2019-11-07 23:09:51
阅读次数:
107
因为Java程序编译之后的代码不是能被硬件系统直接运行的代码,而是一种“中间码”——字节码。然后不同的硬件平台上安装有不同的Java虚拟机(JVM),由JVM来把字节码再“翻译”成所对应的硬件平台能够执行的代码。因此对于Java编程者来说,不需要考虑硬件平台是什么。所以Java可以跨平台。 因为它有 ...
分类:
编程语言 时间:
2019-11-07 21:58:33
阅读次数:
102
2019-11-03异常分类:所有的异常都在Throwable类里,Throwable有分为Error类和Exception类。 1、Error是程序无法处理的错误,表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关,而表示代码运行时JVM(Java虚拟机)出现问题。例如,Java虚 ...
分类:
编程语言 时间:
2019-11-05 21:51:03
阅读次数:
96
java虚拟机jvm是java实现跨平台最核心的部分,所有的.class文件都在虚拟机上执行,由虚拟机将程序解释给本地系统执行; 单有jvm并不能执行.class,还需要java运行环境jre,jre包含两个文件夹bin和lib,其中bin即jvm,而lib则是运行时提供支持的java类库; jav ...
分类:
编程语言 时间:
2019-11-05 18:36:18
阅读次数:
74
在Java JVM系列文章中有朋友问为什么要JVM,Java虚拟机不是已经帮我们处理好了么?同样,学习Java内存模型也有同样的问题,为什么要学习Java内存模型。它们的答案是一致的:能够让我们更好的理解底层原理,写出更高效的代码。 就Java内存模型而言,它是深入了解Java并发编程的先决条件。对 ...
分类:
编程语言 时间:
2019-11-04 14:04:10
阅读次数:
97
Linux环境部署的应用,首页登录的验证码无法显示,密码框不加载。 该验证码是用java的图片包来处理图片的,查看后台日志,发现报 java.lang.NoClassDefFoundError: sun.awt.X11GraphicsEnvironment 异常,这是因为java虚拟机在处理图片时需 ...
分类:
编程语言 时间:
2019-11-04 11:18:01
阅读次数:
168
第一章 Java概述 1.1 Java发展 1.2 JVM、JRE、JDK的概述 1.2.1 什么是跨平台? 平台:指的是操作系统。(Windows、Linux) 跨平台:在一个地方编写,在任何操作系统上都可以运行。 原理:JVM(Java虚拟机)(Java Virtual Machine) 1.2 ...
分类:
编程语言 时间:
2019-11-02 17:30:36
阅读次数:
94