深圳网站建设工作,浙江省工程造价信息网,长春关键词优化,html表格代码#x1f42e;#x1f42e;#x1f42e; 辛苦牛#xff0c;掌握主流技术栈#xff0c;包括前端后端#xff0c;已经7年时间#xff0c;曾在税务机关从事开发工作#xff0c;目前在国企任职。希望通过自己的不断分享#xff0c;可以帮助各位想或者已经走在这条路上的朋友… 辛苦牛掌握主流技术栈包括前端后端已经7年时间曾在税务机关从事开发工作目前在国企任职。希望通过自己的不断分享可以帮助各位想或者已经走在这条路上的朋友一定的帮助 目录 前言 Q1:Java 语言的优点? Q2:Java 如何实现平台无关? Q3:JDK 和 JRE 的区别? Q4:Java 按值调用还是引用调用? Q5:浅拷⻉和深拷⻉的区别? Q6:什么是反射? Q7:Class 类的作用?如何获取一个 Class 对象? Q8:什么是注解?什么是元注解? Q9:什么是泛型有什么作用? Q10:泛型擦除是什么? Q11:JDK8 新特性有哪些? Q12:异常有哪些分类? 写在最后 前言 ❤️金九银十马上就要来啦各位小伙伴们有计划跳槽的要开始准备了博主接下来一段时间会给大家持续更新面试题目大家持续关注一下感谢 今天是专栏的最后一篇文章关于java语言特性的相关面试题欢迎指正 之前的面试文章链接也给到大家 金九银十面试题之Mysql 金九银十面试题之设计模式 金九银十面试题之数据结构和算法 金九银十面试题之Mybatis 金九银十面试题之《Spring Data JPA、Spring MVC、AOP》 金九银十面试题之《Spring IOC》 金九银十面试题之JUC 金九银十面试题之《并发》 金九银十面试题之《JVM》 金九银十面试题之《IO、集合》 金九银十面试题之《面向对象》 Q1:Java 语言的优点?
平台无关性摆脱硬件束缚“一次编写到处运行”。相对安全的内存管理和访问机制避免大部分内存泄漏和指针越界。热点代码检测和运行时编译及优化使程序随运行时间增⻓获得更高性能。 4 完善的应用程序接口支持第三方类库。 Q2:Java 如何实现平台无关?
JVM: Java 编译器可生成与计算机体系结构无关的字节码指令字节码文件不仅可以轻易地在任何机器 上解释执行还可以动态地转换成本地机器代码转换是由 JVM 实现的JVM 是平台相关的屏蔽了不 同操作系统的差异。 语言规范: 基本数据类型大小有明确规定例如 int 永远为 32 位而 C/C 中可能是 16 位、32 位 也可能是编译器开发商指定的其他大小。Java 中数值类型有固定字节数二进制数据以固定格式存储和 传输字符串采用标准的 Unicode 格式存储。 Q3:JDK 和 JRE 的区别?
JDK: Java Development Kit开发工具包。提供了编译运行 Java 程序的各种工具包括编译器、JRE 及常用类库是 JAVA 核心。 JRE: Java Runtime Environment运行时环境运行 Java 程序的必要环境包括 JVM、核心类库、 核心配置工具。 Q4:Java 按值调用还是引用调用?
按值调用指方法接收调用者提供的值按引用调用指方法接收调用者提供的变量地址。 Java 总是按值调用方法得到的是所有参数值的副本传递对象时实际上方法接收的是对象引用的副 本。方法不能修改基本数据类型的参数如果传递了一个 int 值 改变值不会影响实参因为改变的是 值的一个副本。 可以改变对象参数的状态但不能让对象参数引用一个新的对象。如果传递了一个 int 数组改变数组 的内容会影响实参而改变这个参数的引用并不会让实参引用新的数组对象。 Q5:浅拷⻉和深拷⻉的区别?
浅拷⻉: 只复制当前对象的基本数据类型及引用变量没有复制引用变量指向的实际对象。修改克隆对象可能影响原对象不安全。 深拷⻉: 完全拷⻉基本数据类型和引用数据类型安全。 Q6:什么是反射?
在运行状态中对于任意一个类都能知道它的所有属性和方法对于任意一个对象都能调用它的任意方 法和属性这种动态获取信息及调用对象方法的功能称为反射。缺点是破坏了封装性以及泛型约束。反 射是框架的核心Spring 大量使用反射。 Q7:Class 类的作用?如何获取一个 Class 对象?
在程序运行期间Java 运行时系统为所有对象维护一个运行时类型标识这个信息会跟踪每个对象所属 的类虚拟机利用运行时类型信息选择要执行的正确方法保存这些信息的类就是 Class这是一个泛 型类。 获取 Class 对象:
类名.class 。对象的 getClass方法。Class.forName(类的全限定名)。 Q8:什么是注解?什么是元注解?
注解是一种标记使类或接口附加额外信息帮助编译器和 JVM 完成一些特定功能例如 Override 标识一个方法是重写方法。 元注解是自定义注解的注解例如: Target:约束作用位置值是 ElementType 枚举常量包括 METHOD 方法、VARIABLE 变量、TYPE 类/接口、PARAMETER 方法参数、CONSTRUCTORS 构造方法和 LOACL_VARIABLE 局部变量等。 Rentention:约束生命周期值是 RetentionPolicy 枚举常量包括 SOURCE 源码、CLASS 字节码和 RUNTIME 运行时。 Documented:表明这个注解应该被 javadoc 记录。 Q9:什么是泛型有什么作用?
泛型本质是参数化类型解决不确定对象具体类型的问题。泛型在定义处只具备执行 Object 方法的能 力。 泛型的好处:
类型安全放置什么出来就是什么不存在 ClassCastException。提升可读性编 码阶段就显式知道泛型集合、泛型方法等处理的对象类型。代码重用合并了同类型的处理代码。 Q10:泛型擦除是什么?
泛型用于编译阶段编译后的字节码文件不包含泛型类型信息因为虚拟机没有泛型类型对象所有对象都属于普通类。例如定义 List 或 List 在编译后都会变成 List。定义一个泛型类型会自动提供一个对应原始类型类型变量会被擦除。如果没有限定类型就会替换为 Object如果有限定类型就会替换为第一个限定类型例如 T extends A B 会使用 A 类型替换 T。 Q11:JDK8 新特性有哪些?
lambda 表达式:允许把函数作为参数传递到方法简化匿名内部类代码。 函数式接口:使用 FunctionalInterface 标识有且仅有一个抽象方法可被隐式转换为 lambda 表 达式。 方法引用:可以引用已有类或对象的方法和构造方法进一步简化 lambda 表达式。 接口:接口可以定义 default 修饰的默认方法降低了接口升级的复杂性还可以定义静态方法。 注解:引入重复注解机制相同注解在同地方可以声明多次。注解作用范围也进行了扩展可作用于局 部变量、泛型、方法异常等。 类型推测:加强了类型推测机制使代码更加简洁。 Optional 类:处理空指针异常提高代码可读性。
Stream 类:引入函数式编程⻛格提供了很多功能使代码更加简洁。方法包括 forEach 遍历、count 统计个数、filter 按条件过滤、limit 取前 n 个元素、skip 跳过前 n 个元素、map 映射加工、concat 合 并 stream 流等。 日期:增强了日期和时间 API新的 java.time 包主要包含了处理日期、时间、日期/时间、时区、时刻 和时钟等操作。
JavaScript:提供了一个新的 JavaScript 引擎允许在 JVM上运行特定 JavaScript 应用。 Q12:异常有哪些分类?
所有异常都是 Throwable 的子类分为 Error 和 Exception。Error 是 Java 运行时系统的内部错误和资 源耗尽错误例如 StackOverFlowError 和 OutOfMemoryError这种异常程序无法处理。 Exception 分为受检异常和非受检异常受检异常需要在代码中显式处理否则会编译出错非受检异常 是运行时异常继承自 RuntimeException。 受检异常:
无能为力型如字段超⻓导致的 SQLException。力所能及型如未授权异常 UnAuthorizedException程序可跳转权限申请⻚面。常⻅受检异常还有 FileNotFoundException、ClassNotFoundException、IOException等。
非受检异常:
可预测异常例如 IndexOutOfBoundsException、NullPointerException、ClassCastException 等这类异常应该提前处理。需捕捉异常例如进行 RPC 调用时的远程服务超时这类异常客户端必须显式处理。可透出异常指框架或系统产生的且会自行处理的异常例如 Spring 的 NoSuchRequestHandingMethodExceptionSpring 会自动完成异常处理将异常自动映射到合适的 状态码。
写在最后 希望博主收集的内容能帮到大家祝大家能找到一个好的工作过好的生活如有错误欢迎指正。