Java基础知识总结

 

一、jdk1.8新特性

之前一直知道jdk1.8添加了许多东西,也没仔细了解过,现在看过之后做一下总结。

1、lambda表达式

匿名内部类和lambda表达式的区别:

  • 所需类型不同

匿名内部类可以是接口、抽象类、具体类;lambda表达式只能是接口

  • 使用限制不同

使用lambda表达式接口中只能有一个抽象方法;匿名内部类没有限制

  • 实现原理不同

匿名内部类编译后产生一个单独的.class字节码文件;lambda表达式没有,对应的字节码会在运行的时候自动生成

2、方法引用

是指对lambda表达式只有一行代码的简写(::)

3、函数式接口

什么是函数式接口   -->   有且只有一个抽象方法的接口

4、Stream流

5、新的日期时间API

6、Optional类

二、NIO网络编程

1、TCP握手机制---三次握手(逻辑上的确认关系,确认可以传输数据)、四次挥手(断开连接)

2、UDP用户数据报协议

3、BIO 阻塞同步IO

4、NIO的三个核心组件:Buffer缓冲区、Channel通道、Selector选择器

5、ByteBuffer内存类型直接内存和非直接内存(堆内)

6、为什么要创建堆外内存,堆内进行io的时候比堆外多一步拷贝(先从堆内拷贝到堆外)

7、为什么要多一步拷贝?GC会移动对象内存,防止拷贝的时候内存地址发生改变,导致拷贝失败

8、Selector 事件驱动机制

9、Netty中的ChannelHandle

三、事务

1、事务隔离级别--Oracle默认读已提交、mysql默认可重复读

2、悲观锁、乐观锁

3、可重复读 级别已经屏蔽了脏读、可重复读、幻读(针对多个数据)

四、设计模式

1、六大设计原则

2、23种设计模式:创建型、

3、设计模式主要是为了解决什么问题,实际中有哪些应用,在什么样的情况下我们要使用设计模式

4、单例模式多种写法实际代码中使用的方式?

最安全:枚举类型

真正使用(从jdk源码中分析):双重校验锁(问题:a、性能 b、反射破坏 c、通过类加载器被多次加载)、饿汉式

5、反射加序列化,修改属性的访问级别

6、什么是静态内部类,静态内部类的作用,适用场景

7、Runtime 使用饿汉式 AbstractBeanFactory 双重校验锁

8、bean实例化就是 创建对象后将对象放到map中

9、重点掌握的设计模式:

创建型:单例模式、工厂模式、建造者模式

结构型:适配器模式、代理模式、装饰器模式、组合模式

行为型:责任链模式、观察者模式、策略模式、

10、工厂模式---解耦     -->类后面带Factory的

11、构建者模式    -->常见类后面有Builder

12、单例模式就是为了性能;工厂模式就是为了一个地方创建对象,减少修改;构建者模式一个类的构造函数超过4个,并且可选参数

13、链式调用

14、静态代理、动态代理

15、jdk动态代理,

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值