
Java
文章平均质量分 89
张可_
热爱生活的有志青年。
展开
-
HashMap
本篇文章是【Java集合系列】文章 Map 篇的第二篇,本系列将会逐个分析 Java 中的常用集合的特性及实现,然后对比不同场景下应该选择哪种集合使用。List 系列ArrayListLinkedListCopyOnWriteArrayListQueue系列ArrayDequeConcurrentLinkedDequeLinkedBlockingDequeMap 系列HashtableHashMapHashMapHashMap 实现了 Map 接口,用于存储键值对,与原创 2020-10-12 11:28:48 · 258 阅读 · 0 评论 -
Hashtable
本篇文章是【Java集合系列】文章 Map 篇的第一篇,本系列将会逐个分析 Java 中的常用集合的特性及实现,然后对比不同场景下应该选择哪种集合使用。List 系列ArrayListLinkedListCopyOnWriteArrayListQueue系列ArrayDequeConcurrentLinkedDequeLinkedBlockingDequeMap 系列HashtableHashMapHashtableHashtable 实现了 Map 接口,用于存储键值原创 2020-10-12 11:21:35 · 628 阅读 · 0 评论 -
LinkedBlockingDeque
本篇文章是【Java集合系列】文章队列篇的第三篇,本系列将会逐个分析 Java 中的常用集合的特性及实现,然后对比不同场景下应该选择哪种集合使用。List 系列ArrayListLinkedListCopyOnWriteArrayListQueue系列ArrayDequeConcurrentLinkedDequeLinkedBlockingDequeLinkedBlockingDequeLinkedBlockingDeque 是基于链表的双端阻塞队列,线程安全,元素不允许为 nu原创 2020-09-23 21:56:39 · 2998 阅读 · 0 评论 -
ConcurrentLinkedDeque
本篇文章是【Java集合系列】文章队列篇的第二篇,本系列将会逐个分析 Java 中的常用集合的特性及实现,然后对比不同场景下应该选择哪种集合使用。List 系列ArrayListLinkedListCopyOnWriteArrayListQueue系列ArrayDequeConcurrentLinkedDequeLinkedBlockingDequeConcurrentLinkedDequeConcurrentLinkedDeque 是基于链表的无限双端队列,线程安全,不允许 n原创 2020-09-23 21:38:29 · 1576 阅读 · 0 评论 -
ArrayDeque使用及源码分析
本篇文章是【Java集合系列】文章队列篇的第一篇,本系列将会逐个分析 Java 中的常用集合的特性及实现,然后对比不同场景下应该选择哪种集合使用。List 系列ArrayListLinkedListCopyOnWriteArrayListQueue系列ArrayDequeConcurrentLinkedDequeLinkedBlockingDequeArrayDequeArrayDeque 是 Java 集合中双端队列的数组实现,双端队列的链表实现(LinkedList)我们在前原创 2020-09-23 14:38:06 · 466 阅读 · 0 评论 -
Java 中的 CopyOnWriteArrayList
本篇文章是【Java集合系列】文章的第三篇,本系列将会逐个分析 Java 中的常用集合的特性及实现,然后对比不同场景下应该选择哪种集合使用。List 系列Java 中的 ArrayListJava 中的 LinkedListJava 中的 CopyOnWriteArrayListCopyOnWriteArrayList先看看百科上关于 COW 的介绍:写入时复制(英语:Copy-on-write,简称COW)是一种计算机程序设计领域的优化策略。其核心思想是,如果有多个调用者(caller原创 2020-08-14 10:11:00 · 416 阅读 · 0 评论 -
Java 中的 LinkedList
本篇文章是【Java集合系列】文章的第二篇,从系列将会逐个分析 Java 中的常用集合的特性及实现,然后对比不同场景下应该选择哪种集合使用。Java 中的 ArrayListJava 中的 LinkedListLinkedList实现了 List 以及 Deque 的双向链表,元素允许为 null,所以 LinkedList 同时具备 List 以及 Deque 的特性。跟 ArrayList 一样,LinkedList 也是非线程安全的,可以使用包装方法获取同步对象:List list =原创 2020-08-13 09:55:15 · 410 阅读 · 0 评论 -
Java 中的 ArrayList
本篇文章是【Java集合系列】文章的第一篇,从本篇文章开始将会逐个分析 Java 中的常用集合的特性及实现,然后对比不同场景下应该选择哪种集合使用。List先看下 ArrayList 实现的接口 List 的相关概念。List 可以称为有序集合或者序列,通过整数索引访问元素允许插入相同元素一般来说也允许插入 null 值List 接口中还提供了一个特殊的迭代器:ListIteratorListIteratorListIterator 专门为了 List 打造,在 Iterator 基础上原创 2020-08-12 12:06:51 · 288 阅读 · 0 评论 -
注解处理器(APT)技术使用
基本概念APT 全称为 Annotation Processing Tool,可翻译为注解处理器,APT 工具是用于注解处理的命令行程序,它可以找到源码中对应注解的对象并使用注解处理器对其进行处理。一般来说,我们会使用 APT 生成一些源码,然后加入编译目录进行编译,从而简化开发周期。注解注解处理器是基于注解(Annotation)的,实际开发中自定义注解用的比较少,这里先简单的复习下相关...原创 2020-03-30 09:57:52 · 1772 阅读 · 0 评论 -
Java 内存模型与线程
这篇文章是我之前看书时做的笔记,内容都是基于【深入理解 JVM 虚拟机】(周志明)这本书中介绍的东西,觉得有一定的价值所以拿出来分享。并且个人时间总是有限的,无法保证大量的产出,因此拿点之前的东西来充个数。硬件的效率与一致性由于计算的存储设备与处理器的运算速度有几个数量级的差距,所以现代计算机系统都不得不加入一层读写速度尽可能接近处理器运算速度的高速缓存(Cache)来作为内存与处理器之间...原创 2019-10-20 23:04:43 · 187 阅读 · 0 评论 -
一个 NullPointerException 引发的血案
最近比较忙,好久没写博客了,这周正好遇到个小问题,就拿过来说说,一不注意就会犯错。Bug 背景产品部门突然提了个需求,APP 中所有的对话框选择框啊只要是弹出来的框风格全部要统一成一种样式,所以为了应对各种各样的 Dialog ,我就写了个 BaseDialog 基类,只封装了最基础的样式。对话框至少要包含:普通提示、警告提示、信息确认框、普通文本选择器、时间选择器、日期选择器、城市选择器等等...原创 2018-12-23 00:35:31 · 451 阅读 · 0 评论 -
Java 8 Lambda 表达式及 Stream 在集合中的用法
简介虽然 Java 8 已经发布有一段时间了,但是关于 Java 8 中的 Lambda 表达式最近才开始系统的学习,刚开始就被 Stream 的各种骚操作深深的吸引住了,简直漂亮的不像 Java。我认为每一个用 Java 的都应该深入的学习一下,不仅可以写出漂亮的代码,更可以对代码进行更深层次的抽象。StreamJava 8 中新新增了 Stream(流) 类来简化集合类的使用,...原创 2018-03-04 20:42:00 · 20671 阅读 · 2 评论 -
Java简单工厂模式和命令模式
以下内容部分来自 疯狂Java讲义/李刚 ,博客仅用于个人笔记及帮助他人用途,无任何商业目的,如有侵权,请联系作者删除。1 简单工厂模式1.1 简单工厂模式简介有一个场景:假设程序中有个Computer 类需要组合一个输出设备,现在有两个选择:直接让 Computer 类组合一个 Printer ,或者让 Computer 类组合一个 Output, 那么到底采用哪种方式更好呢? 假设让Comp原创 2016-01-20 11:55:47 · 993 阅读 · 0 评论 -
Java 对象与垃圾回收
以下内容部分来自 疯狂Java讲义/李刚 ,博客仅用于个人笔记及帮助他人用途,无任何商业目的,如有侵权,请联系作者删除。垃圾回收机制特征垃圾回收机制具有以下特征 (1) 垃圾回收机制只负责回收内存中的对象,不会回收任何物理资源(例如数据库连接、网络IO等资源); (2) 程序无法精确控制垃圾回收的运行,垃圾回收会在合适的时候进行。当对象永久地失去引用后,系统会在合适的时候回收它所占的内存。原创 2016-01-23 16:39:26 · 635 阅读 · 0 评论 -
Java 日期处理 Date 、Calendar 和TimeZone类
以下内容部分来自 疯狂Java讲义/李刚 ,博客仅用于个人笔记及帮助他人用途,无任何商业目的,如有侵权,请联系作者删除。Date 类Java提供了 Date 类来处理日期、时间(此处的Date是指 java.util包下的Date类,而不是java.sql 包下的Date类),Date对象既包含日期,也包含时间。Date类从 JDK1.0 起就开始存在了。但正因为它历史悠久,所以它的大部分构造器、原创 2016-01-27 23:29:06 · 1558 阅读 · 0 评论 -
Java集合概述集Collection 和 Iterator 接口用法详解
以下内容部分来自 疯狂Java讲义/李刚 ,博客仅用于个人笔记及帮助他人用途,无任何商业目的,如有侵权,请联系作者删除。Java集合概述为了保存数量不确定的数据,以及保存具有映射关系的数据(也被称为关联数组),Java 提供了集合类,集合类主要负责保存、盛装其他数据,因此集合类也被称为容器类。所有的集合类都位于 java.util 包下,后来为了处理多线程环境下的并发安全问题,Java5 还在 j原创 2016-02-10 18:01:36 · 858 阅读 · 0 评论 -
Java 正则表达式的用法及详细介绍
以下内容部分来自 疯狂Java讲义/李刚 ,博客仅用于个人笔记及帮助他人用途,无任何商业目的,如有侵权,请联系作者删除。Java 正则表达式的介绍正则表达式是一个强大的字符串处理工具,可以对字符串进行查找、提取、分割、替换等操作。String类里也提供了如下几个特殊的方法。 (1)boolean matches(String regex):判断该字符串是否匹配指定的正则表达式。 (2)Stri原创 2016-01-30 00:13:30 · 2443 阅读 · 0 评论 -
Java 对象的强引用、软引用、弱引用和虚引用
以下内容部分来自 疯狂Java讲义/李刚 ,博客仅用于个人笔记及帮助他人用途,无任何商业目的,如有侵权,请联系作者删除。对大部分对象而言,程序里会有一个引用变量引用该对象,这是最常见的引用方式。除此之外, java.lang.ref 包下提供了 3 个类: SoftReference、PhantomReference 和 WeakReference,它们分别代表了系统对对象的 3 种引用方式:软引原创 2016-01-23 16:44:45 · 652 阅读 · 0 评论