1. 概念
1.1. Java 的特点有哪些?
- "一次编译终身运行",即 Java 编译器将源代码编译成字节码,JVM 再将字节码翻译成对应机器码。
系统讲解了 Java 基础知识,涵盖四大板块:概念(平台无关性、JVM/JDK/JRE)、数据类型(转换规则、BigDecimal 精度处理、装箱拆箱)、面向对象(封装继承多态、抽象类与接口区别)及关键字(final)。内容适合初学者梳理核心语法与原理,解决常见类型转换与内存管理问题。

优势:
劣势:
Java 编译时生成字节码文件,运行时根据 JVM 版本将字节码翻译成机器码。
可以,但需考虑数据溢出与丢失。
public class TypeConversion {
public static void main(String[] args) {
long bigLong = 2147483648L;
int intValue = (int) bigLong;
System.out.println("原始 long 值:" + bigLong);
System.out.println("转换后的 int 值:" + intValue);
}
}
double 是二进制运算,存在精度丢失问题(如 0.1 + 0.2 != 0.3)。建议使用 BigDecimal 并使用字符串初始化。
import java.math.BigDecimal;
public class GoodExample {
public static void main(String[] args) {
BigDecimal a = new BigDecimal("0.1");
BigDecimal b = new BigDecimal("0.2");
BigDecimal result = a.add(b);
System.out.println(result); // 输出 0.3
}
}
基本类型包装成包装类为装箱,反之则为拆箱。若 Integer 未赋值默认为 null,拆箱时会抛出空指针异常。
为节省内存,Java 将 -128 到 127 的对象预创建在静态缓存池中。使用 valueOf() 会复用池中对象。
将现实生活中的事务抽象成对象。
不可以。抽象类用于继承,final 禁止继承,两者互斥。
静态成员在类加载时加载,只加载一次。
静态优先于非静态加载,非静态需实例化。未实例化的非静态无法被静态调用。
外部类实例化后,会将引用传给非静态内部类,通过引用来访问。
| 修饰类 | 代表类不能被继承 |
|---|---|
| 修饰方法 | 代表方法不能被重写 |
| 修饰变量 | 基本类型值不可修改,引用类型地址不可修改 |

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online
JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online
使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online
Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online