摇蒲小笙

天地不仁,以万物为刍狗


  • 首页

  • 分类

  • 标签

  • 站点地图

  • 关于

  • 搜索

对象创建模式Builder

发表于 2017-12-26 | 分类于 java |

前两天听到有同事抱怨有人的代码中使用and属性名(属性值)的方式创建对象,很不方便,还是提供属性的Getter/Setter方法更好些,听到他这样抱怨的时候我还花了点时间给他讲了采用这种方式创建对象的好处——这种对象创建的方式是为了保护对象在创建之后就不允许被更改。同时也想到这么好的设计模式时很值得学习的,且做个记录。

阅读全文 »

ThreadLocal剖析

发表于 2017-12-20 | 分类于 java |

ThrealLocal顾名思义是提供在当前线程内存中增加并操作对象的一个工具类,也即是对当前线程内存空间的一个掌控,它可以保证访问到的变量属于当前线程,每个线程都保存有一个变量副本,每个线程的变量都不同,而同一个线程在任何时候访问这个本地变量的结果都是一致的。ThreadLocal相当于提供了一种线程隔离,将变量与线程相绑定[1]。对象的绑定或者隐射很容易就让人想到这事Map类型的操作,ThreadLocal中的确对象的绑定是通过map的方式,只不过并没有直接使用到jdk中常用Map的实现。通过阅读源码,让我再一次重温了引用(Reference)[2]相关的知识。

阅读全文 »

HashMap剖析

发表于 2017-12-13 | 分类于 java |

HashMap在Java中除了集合(Collection)类型应该是用得最多的处理K-V(键值对)映射关系数据的数据结构,如其名HashMap,其中比较重要的”Hash”部分即为了表示元素被哈希存储到指定位置,也通过哈希去重,譬如HashSet所用的存储方案就是通过HashMap的key部分存储元素,而所有value都是一个空对象(private static final Object PRESENT = new Object();).对于一个出现频率极高的数据结构,了解其底层实现有助于更优雅、高效地使用它。

阅读全文 »

盘点一下JDK中的那些工具类-Math

发表于 2017-11-01 | 分类于 java |
阅读全文 »

盘点一下JDK中的那些工具类-Collectors

发表于 2017-11-01 | 分类于 java |
阅读全文 »

盘点一下JDK中的那些工具类-Collections

发表于 2017-11-01 | 分类于 java |
阅读全文 »

盘点一下JDK中的那些工具类-Arrays

发表于 2017-11-01 | 分类于 java |

java.util.Arrays工具类是对集合操作的工具集合,其中包含的工具主要有排序,查找,比较,填充,拷贝,计算Hash值,集合转字符串,枚举,以及集合转流。作为一个工具类,它的构造方法为私有,这样就避免了工具方法被用户实例化的尴尬,同时,它的工具方法都是公开的静态方法。

阅读全文 »

Maven生命周期

发表于 2017-10-16 | 分类于 maven |

Maven生命周期。

阅读全文 »

Object中的wait/notify

发表于 2017-10-13 | 分类于 java |

Java中的基类Object中,有 notify(), notifyAll(), wait(long), wait(long, int), wait()方法,在非Thread类型中,可以通过这些方法实现多线程之间的通信和互斥。

阅读全文 »

Java关于线程的小知识

发表于 2017-10-10 | 分类于 java |

关于Thread的一些tips。

阅读全文 »
1234
Zero.Zeng

Zero.Zeng

学到老才能活到老

39 日志
13 分类
49 标签
RSS
© 2020 Zero.Zeng
由 Hexo 强力驱动
主题 - NexT.Mist