摘要: jdk1.7以前与jdk1.8 jdk1.7以前的ConcurrentHashMap使用的是分段锁实现的并发 jdk1.8之后的版本使用的数组+链表+红黑树数据结构再加上CAS原子操作实现的 jdk1.7以前的实现 Hashtable因为在put等操作的时候使用的synchronized加锁的方式来 阅读全文
posted @ 2019-08-12 17:07 GaryZz 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 动态代理是IOC的核心,理解动态代理对于IOC的学习很有帮助。 学习动态代理之前,必须要先有反射的知识。所以我们从反射开始,一步步剖析 java中的反射 反射机制是在 运行状态 中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信 阅读全文
posted @ 2019-08-08 20:21 GaryZz 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 什么是类的加载 将类的.class文件中的二进制数据流读入内存中,放在运行时 方法区 ,再在 堆 中创建一个class对象,封装方法区内的数据结构。 一个类的生命周期 加载 连接 初始化 使用 卸载 其中 连接 又分为: 验证 准备 解析 加载: 1. 通过类的全限定名获取二进制字节流 2. 将二进 阅读全文
posted @ 2019-08-06 20:57 GaryZz 阅读(162) 评论(0) 推荐(0) 编辑
摘要: java static关键字 static可以修饰的 1. static方法 2. static变量 3. static代码块 static的作用 被static修饰的变量/方法不需要实例对象去访问,也就是可以不需要this关键字就可以访问,因为被static修饰的在类加载了以后就可以通过 来进行调 阅读全文
posted @ 2019-07-26 10:13 GaryZz 阅读(92) 评论(0) 推荐(0) 编辑
摘要: Java HashMap的那些事情 1、HashMap最前的注释 以hash表为基础的一个Map。这个实现扩展了Map接口的一些操作。并且允许null键与null值。HashMap大概跟Hashtable是一样的,除了HashMap不是同步的且允许null键值。HashMap不保证元素的有序性。 讲 阅读全文
posted @ 2019-07-10 15:37 GaryZz 阅读(243) 评论(0) 推荐(0) 编辑
摘要: java中的线程池 继承关系如下 : 具体的线程池的实现 : 常用的阻塞队列 线程拒绝策略 当线程池的 任务缓存队列已满 并且线程池中的 线程数目达到maximumPoolSize ,如果还有任务到来就会采取任务拒绝策略,通常有以下四种策略: 线程池的关闭: shutdown():会等待现有的任务执 阅读全文
posted @ 2019-07-09 17:00 GaryZz 阅读(122) 评论(0) 推荐(0) 编辑
摘要: http协议与https Http 客户端发送一个HTTP请求到服务器的请求消息包括以下格式: 请求行(request line)、请求头部(header)、空行 和请求数据四个部分组成。 Get请求例子,使用Charles抓取的request: 第一部分:请求行,用来说明请求类型,要访问的资源以及 阅读全文
posted @ 2019-07-04 08:33 GaryZz 阅读(672) 评论(0) 推荐(0) 编辑
摘要: MySQL面试 事务 逻辑上的一组操作,要么全部执行,要么都不执行。 事务的4大特性(ACID): A:atomic原子性 事务是最小的执行单位,不允许分割,要么全部成功,要么全部失败 C:consistency一致性 执行事务前后,数据保持一致,多个事务对统一数据的读取应该是相同的 I:Isola 阅读全文
posted @ 2019-07-03 17:29 GaryZz 阅读(2967) 评论(0) 推荐(0) 编辑
摘要: sleep(),yield(),join(),wait() sleep是 类的静态方法,在指定的时间内让当前线程暂停执行,但 不会释放锁标志 也就是使线程进入阻塞 Object类的方法,在其他的线程调用 之前,当前线程保持 等待, 会释放锁标志 , 其他线程可以在当前线程wait期间抢占锁 。 让线 阅读全文
posted @ 2019-07-02 20:55 GaryZz 阅读(159) 评论(0) 推荐(0) 编辑
摘要: IOC 源码3 本文只供个人学习使用,几乎是复制了·tony~博客小屋·的关于IOC的文章,文章原版在:https://www.cnblogs.com/ITtangtang/p/3978349.html,如果有问题可以直接私信我删除文章。 所谓控制反转,就是把原先我们代码里面需要实现的对象创建、依赖 阅读全文
posted @ 2019-06-09 17:24 GaryZz 阅读(205) 评论(0) 推荐(0) 编辑