上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 16 下一页

2018年4月26日

ThreadLocal原理及内存泄漏

摘要: ThreadLocal原理及内存泄漏 ThreadLocal有两个问题: 1. 每个变量副本是存储在哪了? 2. 变量副本是怎样从共享的变量中赋值出来的?源码中threadlocal的初始值是什么时候设置的。 ThreadLocal为每个线程维护一个变量的副本? 每个线程的ThreadLocalMa 阅读全文

posted @ 2018-04-26 23:07 张小泽的小号 阅读(281) 评论(0) 推荐(0) 编辑

2018年4月24日

java高并发之synchronized

摘要: java高并发之synchronized synchronized可以保证代码块或者方法在运行时,同一时刻只有一个方法可以进入临界区域,同时也可以保证共享变量的内存可见性 synchronized可以使用在三种情况: 1. 普通同步方法,锁是当前实例对象 2. 静态同步方法,锁是当前类的class对 阅读全文

posted @ 2018-04-24 22:04 张小泽的小号 阅读(157) 评论(0) 推荐(0) 编辑

凤凰新闻爬虫实现

摘要: 凤凰新闻爬虫实现 凤凰新闻扒取爬虫第一版 第一版已经正常运行,但是会出现一些问题: 1. set是存放链接的集合,它会越来越大 2. 因为链接的集合越来越大,造成从集合中查到链接越来越费时间 为了解决这一问题,现在将存放链接的集合拆分为多个集合: 阅读全文

posted @ 2018-04-24 17:39 张小泽的小号 阅读(218) 评论(0) 推荐(0) 编辑

遇到的问题

摘要: spring aop的两种实现原理。 hashmap的链表什么时候转换为红黑树 阅读全文

posted @ 2018-04-24 09:37 张小泽的小号 阅读(73) 评论(0) 推荐(0) 编辑

2018年4月22日

java异常处理机制

摘要: java异常处理机制 引言 异常又叫例外,是程序运行过程中发生的错误,处理这些异常成为异常处理。一些语言通过返回值判断来对程序是否发生异常进行判断,然后根据不同返回值进行相应的处理。这样做又以下几种劣势: 1. 首先主程序与处理异常的程序混合在一起,造成程序过于庞杂,程序的可读性变差 2. 不同程序 阅读全文

posted @ 2018-04-22 16:33 张小泽的小号 阅读(128) 评论(0) 推荐(0) 编辑

2018年4月21日

java集合框架

摘要: java集合框架 java集合框架脑图 分析每个集合类的特征; Hashset是怎样实现的? 底层是通过一个HashMap实现,将元素放在map的key位置,然后value的位置存放一个object,通过对map的操作,实现效果。 LinkedHashSet从源码中看不出来是有顺序的,但是查看文档说 阅读全文

posted @ 2018-04-21 20:27 张小泽的小号 阅读(73) 评论(0) 推荐(0) 编辑

2018年4月20日

java之线程池

摘要: java线程池 线程池的作用: 使用线程池去处理任务,一个线程池有5个线程,5个线程可以直接一次处理掉5个任务, 阅读全文

posted @ 2018-04-20 17:16 张小泽的小号 阅读(94) 评论(0) 推荐(0) 编辑

JDK并发包

摘要: JDK并发包 1. ReentrantLock(重入锁) 特性: 1.1 中断响应 1.2 可以为锁设置等待时间 第一个线程获得了锁,然后休眠6s,然后第二个线程申请锁,等待5s,锁仍然在第一个线程手上,然后第二线程会输出获取锁失败。 使用tryLock()锁,会不断尝试,总会拿到自己的资源 可以设 阅读全文

posted @ 2018-04-20 10:36 张小泽的小号 阅读(172) 评论(0) 推荐(0) 编辑

2018年4月19日

jvm内存管理机制和垃圾回收机制

摘要: java的内存模型 1. 内存的回收方式 两种方式: 1.1 引用计数收集器 通过计数器判断对象是否被引用,如果没有引用,那么就回收对象 1.2 跟踪收集器 三种方式:复制,标记-清除,标记-压缩三种实现算法 复制:将存活的对象复制到一个新的内存区域,适合对象比较少的情况 标记-清除:查看每一个对象 阅读全文

posted @ 2018-04-19 22:24 张小泽的小号 阅读(123) 评论(0) 推荐(0) 编辑

HashMap的源码以及原理

摘要: HashMap的解析 HashMap源码的脑图: HashMap的基本数据结构: HashMap的底层是一个数组,数组的每一项又是一个链表 基本的数据操作:put方法 其中key的hash算法如下: 求取key的hashcode,然后求取hash值的右移16,将hash与右移之后的值求取异或,从而将 阅读全文

posted @ 2018-04-19 10:18 张小泽的小号 阅读(130) 评论(0) 推荐(0) 编辑

上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 16 下一页

导航