JDK、JRE、JVM 的区别
- JDK(Java Development Kit):包含编译器、调试器、文档生成工具等开发工具。
- JRE(Java Runtime Environment):包含 JVM 和核心类库,用于运行 Java 程序。
- JVM(Java Virtual Machine):负责执行字节码,屏蔽底层平台差异。
Java 基本数据类型
| 类型 | 字节数 | 范围 |
|---|
详细解析Java核心技术组件JDK、JRE、JVM的功能及相互关系,并涵盖Java基础语法、面向对象特性、集合框架、多线程机制、JVM内存模型与垃圾回收等内容,帮助理解Java体系结构与核心概念。
| 类型 | 字节数 | 范围 |
|---|
| byte | 1 | -128 ~ 127 |
| short | 2 | -32768 ~ 32767 |
| int | 4 | -2³¹ ~ 2³¹-1 |
| long | 8 | -2⁶³ ~ 2⁶³-1 |
| float | 4 | IEEE 754 单精度 |
| double | 8 | IEEE 754 双精度 |
| char | 2 | 0 ~ 65535(UTF-16) |
| boolean | 未定义 | true / false |
int → Integer)。Integer → int)。Integer 缓存池范围为 -128~127,超出范围会创建新对象。| 维度 | 重载(Overload) | 重写(Override) |
|---|---|---|
| 发生位置 | 同一类中 | 子类中 |
| 方法签名 | 方法名相同,参数列表不同 | 方法名、参数、返回类型一致 |
| 访问修饰符 | 无限制 | 不能比父类更严格 |
| 特性 | 抽象类 | 接口 |
|---|---|---|
| 构造器 | 有 | 无 |
| 多继承 | 不支持 | 支持 |
| 默认方法 | 可包含具体方法 | Java 8+ 支持 default 方法 |
| 特性 | String | StringBuilder | StringBuffer |
|---|---|---|---|
| 可变性 | 不可变 | 可变 | 可变 |
| 线程安全 | 安全 | 不安全 | 安全 |
| 性能 | 低 | 高 | 中等 |
IOException)。NullPointerException)。finally 块:总是执行,优先于 return。| 特性 | synchronized | ReentrantLock |
|---|---|---|
| 锁释放 | 自动 | 需手动 unlock() |
| 公平性 | 非公平 | 可配置公平/非公平 |
| 条件变量 | 单一 | 支持多个 Condition |
@Target、@Retention 等。@interface 定义。remove() 清理。List:有序可重复(ArrayList、LinkedList)。Set:无序不可重复(HashSet、TreeSet)。Map:键值对存储(HashMap、ConcurrentHashMap)。String s = "abc" 直接引用常量池对象。new String("abc") 强制创建新对象。Thread 类。Runnable 接口。Callable + FutureTask。ExecutorService)。
微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 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