JavaGuide八股文自用总结 Day3

本文介绍了Java编程中的关键概念,包括try-catch-finally结构、语法糖的应用、值传递的区别、序列化与反序列化的优点、泛型通配符的使用、Java反射获取对象的方法、代理模式的作用以及浮点数精度问题与BigDecimal的解决方案,还概述了常见的集合类特性。
摘要由CSDN通过智能技术生成

1.try catch finally 中finally中的代码不会执行的情况:JVM终止运行;程序所在线程死亡;关闭CPU。

2.语法糖:在对语法不改变功能的情况下,简化代码量并提高可读性。

3.值传递:如果是基本类型传递字面量值拷贝,如果是引用类型传递对象在堆中的地址值拷贝。

4.序列化和反序列化好处:实现数据持久化;利用序列化实现远程通信。

5.泛型通配符:上界通配符(?),List<? extends Number>  list并且声明变量list能使用Number中的方法。下界通配符号使用super。上界和下界的使用场景用In,out判别法,输出变量用下界,输入变量用上界。无界通配符在方法中的使用,例如可以打印多种类型的值。如下图所示

6.Java反射获取对象的方式:1.具体类 Class alunbarClass = TargetObject.class;2.通过类全路径获取Class alunbarClass1 = Class.forName("cn.javaguide.TargetObject");3.创建实例获取TargetObject o = new TargetObject();Class alunbarClass2 = o.getClass();4.通过类加载器获取对象不会初始化。ClassLoader.getSystemClassLoader().loadClass("cn.javaguide.TargetObject");

7.代理模式:主要作用是为了扩展目标对象功能。分为静态代理和动态代理。

静态代理步骤如图所示

8.浮点数丢精度的原因在于无法使用二进制精确表示。BigDecimal类实现对浮点数的运算,不造成精度丢失。使用BigDecimal定义浮点数推荐使用方法。

使用BigDecimal类divide方法建议使用3个参数版本

BigDecimal等值比较使用compareto(),使用equals()会比较精度。

9.List:可重复、有序,排序;Set:无重复、无序;Queue:队列,先进先出,有序可重复;Map:键值对,key无序不重复。

  • 9
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值