java
SunWenzh
这个作者很懒,什么都没留下…
展开
-
HashMap源码阅读
hashMap源码解读文章目录hashMap源码解读常量数据结构哈希码计算添加元素resize构造函数tableSizeForget1.7 尾插法扩容为什么会有死循环常量常量名类型默认值描述DEFAULT_INITIAL_CAPACITYint1<<4 = 16默认初始化容量大小MAXIMUM_CAPACITYint1<<30table最大长度,超过这个容量不再对table扩容DEFAULT_LOAD_FACTORfloat0原创 2020-10-13 23:39:05 · 81 阅读 · 0 评论 -
装饰设计模式
装饰设计模式,是在不改变原类的情况下,动态修改或者扩展原类的功能. 步骤: 1.编写一个类并实现与原类相同的接口(或者继承该接口的包装类,目的是能够实现原类的方法) 2.在类中声明一个原类的引用.(目的为了能够在包装类中调用原类的功能) 3.定义构造方方法,一般构造方法的参数为被包装类对象,将赋值给步骤2中声明的引用 4.实现方法: 对于不需要修改的方法,使用声明的那个引用调用原原创 2017-03-05 22:18:49 · 134 阅读 · 0 评论 -
java迭代中的并发修改错误
并发修改ConcurrentModificationException错误是开发中一个常见错误,多发生在对一个Collection边遍历边做影响size变化的操作中,当在迭代过程中,集合的大小发生了改变,就没有办法进行正常迭代了.就会报这个错误//http://blog.csdn.net/wchicho/article/details/51987992ArrayList初始数据如下。List<I原创 2017-04-25 11:16:36 · 272 阅读 · 0 评论 -
java反射
反射三种方式获得Class对象四个方法获取Class对应类包含的构造器,获得构造器后可以用newinstance方法创建对象Constructor getConstructor(Class... parameterTypes) 返回一个 Constructor 对象,它反映此 Class 对象所表示的类的指定公共构造方法。Constructor[] getConst原创 2017-04-25 11:21:40 · 136 阅读 · 0 评论 -
this和currentThread的区别
this和currentThread的区别* this是当前对象,this.getName就是普通的方法调用。* currentThread是获得当前线程的引用,this.getName是使用当前线程的getName方法* 在Thread类的构造函数thread(Runnable thread)是将对象传递给了thread类中的一个target对象,在run中运行的也是这个target对象的方法原创 2017-06-17 21:57:33 · 270 阅读 · 0 评论 -
java线程join()源码中wait()和isAlive()的问题
public final synchronized void join(long millis) throws InterruptedException { long base = System.currentTimeMillis(); long now = 0; if (millis < 0) { throw new Illega原创 2017-07-01 19:21:36 · 940 阅读 · 2 评论 -
线程和进程,以及用户线程映射
内核空间:供操作系统内核使用用户空间:供各个进程使用,并且所有进程共享进程:一个CPU上有多个线程,代表一个应用程序,是系统进行资源分配和调度的基本单位,在CPU上使用时间片轮转法进行切换调用,多个进程共享所有的系统资源线程:一个进程包含多个线程,共享进程资源.线程是CPU上被调度执行的试题,线程共享进程的地址空间,但线程也有独立栈帧用于存放被调用还没返回的过程使用内核态:操作系统内核所运行原创 2017-07-19 10:06:35 · 823 阅读 · 0 评论 -
Ubuntu16+jJDK8+IDEA18+GIT
# 7-19日报###安装Ubuntu16.04双系统 1. 主要用到的工具:easybcd,UltraISO,ubuntu16.04镜像,安装的其他软件:jdk,idea,git,输入法,Qtalk等必要软件. 2. 首先为了避免直接安装ubuntu覆盖掉windows的引导,在硬盘的未分配的扇区中创建了一个200M的区域用于存放ubuntu引导. 3. 之后使用eas...原创 2018-08-01 18:11:44 · 349 阅读 · 0 评论