被面试官N连击之后总结
穆学习
所有牛逼的人在干牛逼的事之前总有一段苦逼的岁月,但你只要像傻逼一样坚持,终究牛皮
展开
-
HashMap原理分析
(一)、HashMapJDK1.7:数组+链表JDK1.8:hash表=数组+链表+红黑树什么是哈希表?哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。一、HashMap底层数据结构分析链表长...原创 2019-09-03 19:38:49 · 343 阅读 · 0 评论 -
线程死锁问题
线程死锁问题一、什么是死锁?举个例子来说明:早上起来两个男生上卫生间,其中男生A先跑去了卫生间,男生B拿到了卫生纸;然后男生A需要纸巾,男生B又需要卫生间,他们两个又不做出想让,都不想把自己的资源交给对方,那么就会在这里堵住,你等着我,我等着你。在线程中,多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放,而该资源又被其他线程锁定,从而导致每一个线程都得等其它线程释放其锁定的资源...原创 2019-09-05 17:31:07 · 131 阅读 · 0 评论 -
BeanFactory和FactoryBean(转)
BeanFactory和FactoryBean原文链接:https://www.jianshu.com/p/05c909c9beb0BeanFactory是一个接口,public interface BeanFactory,提供如下方法:Object getBean(String name)<T> T getBean(String name, Class<T> r...原创 2019-09-16 16:24:11 · 203 阅读 · 0 评论 -
sleep和wait的区别
sleep和wait的区别1.sleep方法是Thread类的静态方法,wait()是Object超类的成员方法2.运行原理sleep()方法导致了程序暂停执行指定的时间,让出cpu该其他线程,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。在调用sleep()方法的过程中,线程不会释放对象锁。而当调用wait()方法的时候,线程会放弃对象锁,进入等待此对象的等待...原创 2019-09-16 16:47:05 · 245 阅读 · 0 评论 -
连接池的意义及阿里Druid(转)
连接池的意义及阿里Druid连接池的意义建立数据库连接是相当耗时和耗费资源的,而且一个数据库服务器能够同时建立的连接数也是有限的,在大型的Web应用中,可能同时会有成百上千个访问数据库的请求,如果Web应用程序为每一个客户请求分配一个数据库连接,将导致性能的急剧下降。为了能够重复利用数据库连接,提高对请求的响应时间和服务器的性能,可以采用连接池技术。连接池技术预先建立多个数据库连接对象,然后将...转载 2019-09-17 10:37:00 · 429 阅读 · 0 评论