java
codexjli
软粉
展开
-
是个面试官都会问的问题--讲一讲java的GC
Java的垃圾回收主要是考虑三件事情那些内存需要回收什么时候进行回收如何回收首先说一下哪些内存进行回收(回收谁)判断哪些内存需要回收,主要是判断哪些对象还活着,那些对象已经死了。判断对象的死亡主要有两种方法,一种是引用计数法,一种是可达性分析。引用计数法引用计数法的判定非常的简单,在对象中添加一个引用计数器,每当有一个地方引用它时,计数器的值就增加1;当引用失效时,引用计数器的值...原创 2019-04-25 23:24:32 · 709 阅读 · 0 评论 -
HashMap源码解析(三) HashMap的put与get操作
final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict) { Node<K,V>[] tab; Node<K,V> p; int n, i; if ((tab = table) == null || (n =...原创 2019-05-12 13:44:20 · 270 阅读 · 0 评论 -
HashMap里面的散列函数是什么
HashMap里面的散列函数(求在数组中的下标)是什么(length - 1) & hash 首先要知道一点,HashMap的容量大小一定是2的幂次形式(1,2,4,8…). 原因的话可以看一下上一篇文章HashMap源码解析(一) 当执行new HashMap时都执行了什么?. 大致就是第一次初始化容量的时候hashmap会初始化为比传入容量大小大的最小的二的次幂,后面扩容的时候每次乘...原创 2019-05-10 20:54:41 · 653 阅读 · 0 评论 -
HashMap源码解析(二) HashMap的rehash操作:resize()函数
final Node<K,V>[] resize() { Node<K,V>[] oldTab = table; // 获得老的容量,还没分配表的话为0 int oldCap = (oldTab == null) ? 0 : oldTab.length; //threshold是扩容的阈值 in...原创 2019-05-10 20:36:31 · 1301 阅读 · 0 评论 -
HashMap源码解析(零) HashMap类的源码注释介绍
先看一下整体的HashMap类的介绍:* Hash table based implementation of the <tt>Map</tt> interface. This * implementation provides all of the optional map operations, and permits * <tt>null</...翻译 2019-05-10 18:42:41 · 150 阅读 · 0 评论 -
HashMap源码解析(一) 当执行new HashMap时都执行了什么?
先看一下整体的HashMap类的介绍:Hash table based implementation of the Map interface. This implementation provides all of the optional map operations, and permits null values and the null key. (The HashMap cla...原创 2019-05-10 18:27:40 · 1288 阅读 · 0 评论 -
Java虚拟机--垃圾收集器
CMS垃圾收集器CMS(Concurrent Mark Sweep)收集器是一种以获取最短回收停顿时间为目标的收集器。非常符合重视响应速度的应用。CMS收集器基于“标记-清除”算法实现,运作原理相对复杂。整个过程分为四个步骤:初始标记(CMS initial mark)并发标记(CMS concurrent mark)重新标记(CMS remark)并发清除(CMS concurre...转载 2019-04-18 20:12:27 · 149 阅读 · 0 评论 -
ClassNotFoundException: com.mysql.jdbc.Driver
Maven中已经添加了: <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.43</version&g...原创 2019-04-22 22:42:06 · 562 阅读 · 0 评论 -
Java单例模式
单例模式的概念单例模式,也叫单子模式,是一种常用的软件设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这个单例对象获取这些配置信息。这种方式简化了在复杂环境下的配置管理。实现单...原创 2019-04-14 20:25:46 · 76 阅读 · 0 评论 -
JDK动态代理的一个实验与分析
package com.ssm.jdkproxy;public interface Hello { public void sayHello(); public String add(int a,int b);}package com.ssm.jdkproxy;public class HelloImp1 implements Hello { publ...原创 2019-05-12 15:20:01 · 242 阅读 · 0 评论