摘要:
三月五号开学,这几天呆在学校闲着无聊,又不知道要写些什么,就随便写点线程池的东西吧。 (一) 线程池作用 线程池的作用就2个: 1、减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务 2、可以根据系统的承受能力,调整线程池中工作线程的数据,防止因为消耗过多的内存导致服务器崩溃 阅读全文
摘要:
之前写了一篇ArrayList,那么今天就写一篇他的姊妹篇,LinkedList。 众所周知,ArrayList底层数据是数组,可以在O(1)的时间内get到数据,但删除和插入就要O(n)时间复杂度。 所以出现了链表,链表可以在O(1)的时间内插入,并且不会浪费内存,用多少就链接多少即可。 我们从以 阅读全文
摘要:
之前看过ConcurrentHashMap的分析,感觉也了解的七七八八了。但昨晚接到了面试,让我把所知道的ConcurrentHashMap全部说出来。 然后我结结巴巴,然后应该毫无意外的话就G了,今天下定决心好好分析一下,这个万能的并发包,ConcurrentHashMap 分一下几个方面分析Co 阅读全文
摘要:
我晚上刚健完身,然后去外面吃了一顿猪脚饭。正准备吃呢,突然来了一个浙江杭州的电话。 然后就开始了我惨无人睹的电话一面(人生中第一次面试竟然是阿里巴巴) 1. 项目:Java高并发秒杀系统 如何优化: 用了redis缓存,spring的声明式事物 2. Java基础知识 ConcurrentHashM 阅读全文
摘要:
这几天一直在看严蔚敏老师的那本《数据结构》那本书。之前第一次学懵懵逼逼,当再次看的时候,发觉写的是非常详细,非常的好。 那就把相关的排序算法用我熟悉的Java语言记录下来了。以下排序算法是我认为比较重要的,而且在面试中比较容易考的算法。 冒泡排序 快速排序 堆排序 归并排序 (一)前言 排序其实是一 阅读全文
摘要:
前言 本文是基于JDK1.8的ArrayList进行分析的。本文大概从以下几个方面来分析ArrayList这个数据结构 构造方法 add方法 扩容 remove方法 (一)构造方法 总所周知,ArrayList底层是数组 我们先看第二个构造方法,即无参构造方法(第22行),将默认空数组赋值给Obje 阅读全文
摘要:
HashMap的强大功能,相信大家都了解一二。之前看过HashMap的源代码,都是基于JDK1.6的,并且知其然不知其所以然,现在趁着寒假有时间,温故而知新。文章大概有以下几个方面: HashMap的数据结构 put方法 get方法 (一)HashMap的底层数据结构 1 static class 阅读全文