Java基础知识面试题

Java基础知识面试题

Java语言有啥特点?
简单易学
面向对象(封装、继承、多态、抽象)
跨平台(JVM实现跨平台)
可靠性
安全性
支持多线程
支持网络编程
编译和解析并存
JVM是什么?
JVM(Java虚拟机):是运行Java字节码的虚拟机。JVM有针对不同系统的特定实现,目的是使用相同的字节码,它们都会给出相同的结果。
字节码:JVM可以理解的代码,扩展名为 .class 的文件。它不面向任何特定的处理器,只面向虚拟机。Java通过字节码的方式,在一定程度上解决了传统解析型语言执行效率低的问题,同时又保留了解析型语言可移植的特定。所以Java程序运行比较高效。
字节码和不同系统的JVM的实现是Java语言“一次编译,随处可运行”的关键。
Java 程序运行过程
OracleJDK 和 OpenJDK 的对比?
OpenJDK是一个参考模型并且是完全开源的;而OracleJDK是基于OpenJDK7构建的,并不是完全开源的。
OracleJDK比OpenJDK更稳定。两者代码几乎相同,但OracleJDK有更多的类和一些错误的修复。
在响应性和JVM性能方面,OracleJDK更出色一些。
import java 和 javax 有什么区别?
刚开始Java API所必需的包是java开头的包,javax是扩展API包来使用。
后来 javax 逐渐成为 Java API 的组成部分。
字符型常量 和 字符串常量的区别?
形式上:字符型常量是单引号引起的一个字符;字符串常量是双引号引起的0个或若干个字符;
含义上:字符型常量相当于一个整型值(ASCII值),可以参加表达式运算;字符串常量代表一个地址值(在内存中的存放位置);
内存大小:字符型常量只占2个字节;字符串常量占若干个字节;
标识符和关键字的区别?
标识符:是一个名字,类、变量、方法的名字都是标识符。
关键字:被Java语言赋予了特殊含义的标识符。例如:private / public / class / new 等。
Java泛型?类型擦除?常用的通配符?
Java泛型:JDK5引入的一个新特性,提供了编译时类型安全检测的机制。表现为:将类型当作参数传递给一个类或者方法。
泛型类
泛型接口
泛型方法
类型擦除:Java泛型是伪泛型,Java在编译期间,所有的泛型信息都会被擦除掉。
常用通配符
? 表示不确定的java类型
T 表示具体的一个java类型
K / V 分别表示Java键值对的 key value
E 表示 Element

Java应该掌握的知识

Java应该掌握的知识

以Java工程师应该掌握的知识,按重要程度排出六个梯度:

第一梯度:计算机组成原理、数据结构和算法、网络通信原理、操作系统原理;
第二梯度:Java基础、JVM内存模型和GC算法、JVM性能调优、JDK工具、设计模式;
第三梯度:Spring系列、Mybatis、Dubbo等主流框架的运用和原理;
第四梯度:MySQL(含SQL编程)、Redis、RabbitMQ/RocketMQ/Kafka、ZooKeeper等数据库或者中间件的运用和原理;
第五梯度:CAP理论、BASE理论、Paxos和Raft算法等其他分布式理论;
第六梯度:容器化、大数据、AI、区块链等等前沿技术理论;

Gradle编译Build output乱码

:D 一言句子获取中...