集合类框架 hashmap 源码详解
介绍HashMap 可能是面试的时候必问的题目了,面试官为什么都偏爱拿这个问应聘者?因为 HashMap 它的设计结构和原理比较有意思,它既可以考初学者对 Java 集合的了解又可以深度的发现应聘者的数据结构功底。 Java 7 中 HashMapHashMap 是最简单的,一来我们非常熟悉,二来就是它不支持并发操作……
设计模式 七大设计原则
下面是我对7大设计原则自己的理解 单一原则一个类只做一件事情 里氏替换原则1.合理继承2.继承 子类是为了扩展父类,而不是重写相关方法。 依赖倒置原则高模块不应该直接依赖低模块,而是应该依赖其抽象 开闭原则对扩展开放,对修改关闭 迪莱米原则一个类引用类一个类,被引用类应该尽可能的封装自己的属性和方法,让别的类知道的越少……
java 基础知识 动态代理 cglib代理
一、cglib代理介绍cglib代理是实现动态代理的另一种方式,CGLIB是一个功能强大,高性能的代码生成包。它为没有实现接口的类提供代理,为JDK的动态代理提供了很好的补充。通常可以使用Java的动态代理创建代理,但当要代理的类没有实现接口或者为了更好的性能,CGLIB是一个好的选择 二、cglib的原理 动态生成目……
java 基础知识 动态代理 jdk代理
一、jdk动态代理动态代理分为jdk动态代理和cglib动态代理,本章讲解jdk动态代理 二、jdk动态代理如何实现 实现InvorcationHander接口,在invoke()方法实现增强 通过Proxy.newProxyInstance()方法获取到代理类 调用代理引用调用目标方法实现曾江 三、代码实现12345……
java 基础知识 静态代理
一、什么是代理模式 定义给目标对象提供一个代理对象,由代理对象操作目标对象的引用。 目的通过操作代理对象,操作目标对象,降低程序的复杂性,可以使用代理类实现目标对象的增强。不改变目标对象实现功能则增加。代理模式的结构图 1234graph LR;bwmcar-->car bwmcar-->bwmproxy bwmpro……
java 基础知识 字符集
字符集相关概念编码: 字符串->字节数组 解码:字节数组->字符串 相关字符集介绍 ASCII (american standard code for information interchange 美国信息交换标准代码)7 bit 表示来表示一个字符,共计可以表示128中字符 Ios-8859-1 8 bit 表示一……
java IO相关(二) BIO NIO AIO 介绍
BIObio 同步阻塞,每一个请求连接都由一个线程来处理 NIOnio 同步非阻塞,多路复用器轮询客户端的请求,每个客户端的 IO 请求会对应服务器的 一个线程 AIOaio 异步非阻塞,客户端的io请求都是由os来处理,os处理完成后再通知服务器启动线程处理 (需要操作系统支持) 进程向操作系统请求数据 操作系统把外……
java IO相关(一) unix的五种模型
Uinx IO 模型 unix 的io 模型分为以下5类 阻塞io 当用户发起io请求后,等待数据,程序将数据从内核复制到程序缓冲区中,整个操作都是阻塞状态。 非阻塞io 当用户发起请求后,不等待数据,而是返回一个数据未准备完成的标志。 操作系统内核将准备要操作的数据,这个过程中程序会轮训的请求操作,直到操作系统将数据……
java 基础知识点整理(三)
(1) 枚举的jdk实现 下面是枚举代码 1234567891011121314public enum Labels0 { ENVIRONMENT("环保"), TRAFFIC("交通"), PHONE("手机"); private String name; private Labels0(String name) {……
java 基础知识点整理(二)
(1) 抽象类和接口区别: 抽象类可以有的方法可以有普通方法,接口的方法全都是抽象方法 抽象类可以用普通成员变量,接口中只有常量也就是,static final的 抽象类是单继承,接口可以多继承 (2) 面向对象的三大特性 封装 将对象属性封装起来,只提供相关方法保障对象安全性,隐藏细节性。 继承代码复用,增加扩展性……
java 基础知识点整理(一)
(1)JDK & JRE & JVM 的关系 JDKJDK包含jre、java开发工具、java核心类库 JREjre是运行java程序的环境,包含java核心类库,和jvn的标准实现 JVM是java虚拟机,实现java跨平台最核心的部分 (2)跨平台 因为jvm运行的是java编译后的字节码文件,因为jvm可以在多……