JDK
文章平均质量分 62
a2370889_com
这个作者很懒,什么都没留下…
展开
-
JAVA的位运算符<<
作者:傻傻傻傻 链接:https://www.nowcoder.com/questionTerminal/8ee967e43c2c4ec193b040ea7fbb10b8 来源:牛客网 在java中,对于1转载 2017-12-14 11:45:00 · 210 阅读 · 0 评论 -
Java并发编程学习笔记(一)
第一部分:基础知识 第三章:对象的共享 3.2 发布与溢出 发布的定义:使得对象能够在当前作用域之外的代码中使用。 发布的注意事项:(1)发布对象可能会破坏封装性 (2)难以维持不变性,在构造完成前发布对象则会破坏线程安全性(引用逃逸) (3)发布是连锁的。即比如我发布了A对象,假设A对象中能够通过对非私有变量的引用到达B对象,那么B对象也会被发布。 (4)不要在构造方法中使原创 2018-02-07 20:28:41 · 177 阅读 · 0 评论 -
JAVA语言特性笔记
1、JAVA支持的多态性质主要是为两种:静态多分派和动态单分派。 静态多分派在JAVA中的表现形式即:重载。主要由静态方法和私有方法构成(还有实例构造方法、父类方法)。他们的引用在类加载之初就已经被确定了。一个是类级别的,一个是私有方法,private访问限定了它不能被子类访问并覆写。 动态单分派的表现形式为:覆写(Override) 两者的主要区别在于一个是编译期绑定,原创 2017-12-12 23:44:55 · 219 阅读 · 0 评论 -
ConcurrentHashMap源码阅读笔记(JUC)
76-85行 注释:这里主要讲的是同为线程安全的Hash,HashTable和ConcurrentHashMap的区别。ConcurrentHashMap(下文用本类指代)虽然是线程安全的,但是检索操作(比如get,是不保证加以锁的),并且本类没有任何操作用于锁住整个类实例的表。本类并不是以同步锁(synchronize)来保证线程安全的,而是它本身操作的性质(CAS无锁化同步)。 87原创 2018-01-12 10:31:42 · 228 阅读 · 0 评论 -
常用设计模式学习
单例模式:这个肯定是用的最多的,分为两种:饿汉/懒汉(饱汉)式。这个模式通常用于针对那些创建非常消耗资源的类,在一个容器中就只创建一个作为全局变量,在Spring容器管理中默认就是采用的单例模式。 下面简单介绍一下,饿汉式顾名思义,就是饥不择食了,不管有没有需要用这个对象的,先把它给创建好了再说;而懒汉呢,与之相反,只有在外部主动调用时,这个对象不存在的情况下才创建,如果已经有这个这个实例对象,原创 2018-01-16 20:51:57 · 186 阅读 · 0 评论 -
HashMap源码阅读笔记
39-45行 注释:主要介绍了HashMap和HashTable的区别,即HashMap允许null作为键、值,而且HashMap不是线程安全的。并且HashMap中的元素不是有序的,特别的,也不保证随着时间推移,这个map中存储的顺序不发生改变。 解析:hashmap是线程不安全的,键、值都允许null的存在,map中的元素不保证有序,随着时间推移可能还会发生变化。 47-54行 注原创 2017-12-23 23:34:07 · 316 阅读 · 0 评论 -
java线程安全的实现方法总结学习
java语言中的线程安全 将安全程度由强到弱排序:不可变、绝对线程安全、相对线程安全、线程兼容和线程对立,共五种情况不可变:典型的就是String类,这个就不多赘言。还有枚举类,以及Number类的部分子类,如Long/Double/BigInteger等大数类型。绝对线程安全:不论运行时环境如何,调用者都不用采取额外的同步措施。相对线程安全:这是大家平常所提到的“线程安全”的级别,如集原创 2018-01-14 16:21:52 · 809 阅读 · 0 评论 -
JAVA基础API
1、String subString()方法返回的子字符串和原字符串的value[]数组一样,并且多了偏移量和字符串长度,这也是为什么substring()方法能够在常数时间完成的原因。接上,由于substring()返回的实际是原字符串,所以s==s.substring(0)---->true,因为两者引用相同,重载的方法包括从起始索引开始(如果指定结束索引,是[起始索引,结束索引)即原创 2017-12-22 20:45:16 · 238 阅读 · 0 评论 -
Arrays.sort源码分析
2017.11.30 开始对JDK源码的阅读,在算法书上看到提及过这个,而且自己平时偷懒简单排一排的时候,也是使用这个方法进行排序,索性将它看上一看。 /** * The minimum array length below which a parallel sorting * algorithm will not further partition the sorting task. U原创 2017-11-30 18:20:15 · 1520 阅读 · 0 评论 -
网络编程学习
BIO NIO AIO BIO(同步阻塞) Server端代码并启动 Client端代码 问题总结 NIO(New I/O 或者称之为 Non-Block I/O) 快捷键 BIO NIO AIO BIO(同步阻塞) 传统的网络编程模型中采用C/S模型,即客户端/服务端模型。这时候通常采用的是BIO(Blocking Input Output)即同步阻塞的。 优...原创 2018-04-30 22:57:19 · 250 阅读 · 0 评论