java基础
wangzhonglinqwe
这个作者很懒,什么都没留下…
展开
-
hashmap线程不安全的原因
hashmap线程安全问题 -在单线程情况下,由于不存在另外一个进程去读取程序,故而不可能发生代码在逻辑上的判定失常;多线程则体现在以下2个方面 当进行扩容操作的时候,会执行如下代码 void transfer(Entry[] newTable) { Entry[] src = table; int newCapacity = newTable.len...转载 2018-04-15 11:13:06 · 266 阅读 · 0 评论 -
通俗理解 三次握手四次挥手(老友依恋式)
首先我们来看一张图 该图描述的意思: A:你好老哥,我要从你和你建立连接,向B服务端发送请求连接的请求,然后等待对面老哥的回答(其中包含自己要与他确认连接的同步序列字段:可以理解为,咱们两人的手机号码(syn);进入syn等待状态) B:我收到了你的请求(利用ACK =1 这个标志来告知),但是我要确认这个请求到底是不是你的,所以呢我把你给我的 电话号码在给你发回去同时把我的连接方式(同...原创 2018-04-16 15:47:52 · 465 阅读 · 0 评论 -
java反射-方法
/** * 取全部Set方法 * * @param T * @return */ public static final Set<Method> get_methods(Class<?> T) { Method[] methods = T.getMethods(); Set<Me...原创 2018-07-05 14:03:36 · 116 阅读 · 0 评论 -
jdk源码-arraylist
观察者模式中使用移除,想起效率问题看了下源码 1、如果移除对象是空,就会发起arraylist的空对象的清理 2、非空。则会以o(n)的时间复杂度,做出移除; 将目标数据之后的数组(index+1)copy到当前数组(index)位置 ...原创 2018-08-15 11:37:13 · 152 阅读 · 0 评论 -
设计模式-常用
装饰者:在原本类的设计上是有抽象类或者接口的继承实现关系;调用上,将被装饰者(原本的类)写入有参的装饰者构造器中; 适配器模式: 将两个原本不相干的类(有各自的接口、或者基类),通过适配器去实现目标接口,构造器参数设置需要适配的接口; https://www.cnblogs.com/wangrd/p/7152662.html 模板模式:抽象类,在方法里面定制好方法的执行顺序; 定义一个操作...原创 2018-09-11 18:03:49 · 152 阅读 · 0 评论 -
java-集合arraylist
坑点 做题常用: 数组转变 Arraylist.asList() 实际上传的是一个可变长参数,调用了内部类,基础类型的数组由于 不是封装类(猜测java对封装类型的数组和变长参数有过转换处理,形如scala隐式抓换),导致基本类型数组,在<>中只能被定义为 数组类型; private static class ArrayList<E> extends...原创 2018-09-16 21:27:24 · 125 阅读 · 0 评论 -
java琐碎知识(一)
map遍历除了可以利用map.keyset来获取key;还有一种lambda的方式,弥补key和value不能同时获取的缺陷; Map&lt;String, Integer&gt; items = new HashMap&lt;&gt;(); items.forEach((k,v)-&gt;System.out.println("Item : " + k + " Co原创 2018-09-12 20:53:33 · 128 阅读 · 0 评论 -
java基础(一)
Object 方法 静态代码块:registerNatives() 对象操作:clone()——重写类的clone可以达到深克隆目的 相等判断:hashcode、equals 多线程: wait三重载()、(long timeout)、(long timeout , int nanos),notify()、notifyAll() 反射:getclass() 对象标记:finalize() 为...原创 2018-10-12 14:06:34 · 121 阅读 · 0 评论 -
内部排序-9大排序分析
插入排序(稳定) 原因:每次从头往后找最小,如果相同则放在相同数的后面;原本两者的前后顺序并没有改变 代码实现:由于两层循环时间复杂度0(n^2),空间复杂度0(1) public class directInsertSort { public static void main(String[] args) { int[] arr = {1,-8,2,10,-5,2888,94,-45,...原创 2018-09-29 16:57:17 · 184 阅读 · 0 评论