javaguide八股文知识补漏洞
章节(Java基础常见面试题总结(上))
基础概念与常识:
- 静态编译
静态编译是在编译时将程序的源代码和所有依赖的库文件编译成一个可执行文件。在执行程序时,操作系统加载这个可执行文件并将其放入内存中运行。由于所有的依赖都已经被编译进可执行文件中,所以在运行时不需要再去查找依赖的库文件。这样可以使得程序运行更快,但是可执行文件的大小会相对较大。
动态编译则是在程序运行时动态地加载所需要的库文件,而不是将它们静态地编译进可执行文件中。 - aot编写的不容易反编译?
运行前编译成机器码 防止源码运行过程暴露。 - LTS服务
long term service 长期服务 - BCL OTN协议
BCL协议,即Oracle Binary Code License Agreement,协议规定你可以使用JDK,但是不能进行修改。私用和商用都可以,但是JDK中的某些商业特性,是需要付费才可以使用的。OTN协议,即Oracle Technology Network License Agreement,目前新发布的JDK用的都是这个协议,可以私用,商用需要付费 - 既然 Oracle JDK 这么好,那为什么还要有 OpenJDK
开源 免费 更新频率快 - 多重继承
多重继承是编程语言中的一个概念,它允许一个类同时从多个基类中继承方法和特性。在面向对象编程中,单一继承指的是一个子类仅从其单个父类继承。虽然多重继承能够提供更多的代码复用性和灵活性,但它也可能引起一些复杂的问题,如潜在的混乱和不一致的行为。
Java 可以通过实现多个接口来实现多重继承 - 指针访问内存不安全
内存泄漏(忘记释放指针) 空指针野指针 悬垂指针 - 操作符重载
把操作符赋予新的运算过程

本文介绍了Java的基础概念,包括静态编译与动态编译的区别,AOT编译的优势,以及Java内存管理和逃逸分析。同时涵盖了多重继承、指针安全、字面值、泛型的应用,以及静态方法与非静态成员的区别,以及重载和重写在面向对象编程中的差异。
最低0.47元/天 解锁文章
295





