![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
abwbw
这个作者很懒,什么都没留下…
展开
-
ConcurrentHashMap 线程安全的 HashMap
集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap)。这篇文章主要分析jdk1.5的3种并发集合类型(concurrent,copyonright,queue)中的ConcurrentHashMap,让我们从原理上细致的了解它们,能够让我们在深度项目开发中获益非浅转载 2014-10-22 17:49:19 · 382 阅读 · 0 评论 -
正则 Pattern和Matcher
java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。1.简介: java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。 它包括两个类:Pattern和Matcher 。Pattern: 一个Pattern是一个正则表达式经编译后的表现模式。 Matcher: 一个Matcher对象是一个状态机器,它依转载 2014-10-23 15:50:23 · 365 阅读 · 0 评论 -
BlockingQueue
前言: 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。认识BlockingQueue阻塞队列,顾名思义,首先它是一个队列,而转载 2014-09-29 14:49:44 · 374 阅读 · 0 评论 -
Java对象的强、软、弱和虚引用原理+结合ReferenceQueue对象构造Java对象的高速缓存器
1.Java对象的强、软、弱和虚引用在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。这 就像在日常生活中,从商店购买了某样物品后,如果有用,就一直保留它,否则就把它扔到垃圾箱,由清洁工人收走。一般说来,如果物品已经被扔到垃圾箱,想再 把它捡回来使用就不可能了。 但转载 2014-09-29 11:15:55 · 453 阅读 · 0 评论 -
ArrayList和LinkedList的操作性能对比
ArrayList和LinkedList都是实现了Collection和List接口,继承AbstractList的链表。ArrayList:List 接口的大小可变数组的实现。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。(此类大致上等同于Vector 类,除了此类是不同步的。)Li转载 2014-10-09 11:24:46 · 455 阅读 · 0 评论 -
内存泄露防治
Java内存管理机制在C++ 语言中,如果需要动态分配一块内存,程序员需要负责这块内存的整个生命周期。从申请分配、到使用、再到最后的释放。这样的过程非常灵活,但是却十分繁琐,程序员很容易由于疏忽而忘记释放内存,从而导致内存的泄露。 Java 语言对内存管理做了自己的优化,这就是垃圾回收机制。 Java 的几乎所有内存对象都是在堆内存上分配(基本数据类型除外),然后由 GC ( garbage转载 2014-11-13 16:12:19 · 361 阅读 · 0 评论 -
ScheduledExecutorService定时周期执行指定的任务
一:简单说明ScheduleExecutorService接口中有四个重要的方法,其中scheduleAtFixedRate和scheduleWithFixedDelay在实现定时程序时比较方便。下面是该接口的原型定义java.util.concurrent.ScheduleExecutorService extends ExecutorService extends Execut转载 2014-11-03 10:16:21 · 391 阅读 · 0 评论 -
concurrent用法详解
我们都知道,在JDK1.5之前,Java中要进行业务并发时,通常需要有程序员独立完成代码实现,当然也有一些开源的框架提供了这些功能,但是这些依然没有JDK自带的功能使用起来方便。而当针对高质量Java多线程并发程序设计时,为防止死蹦等现象的出现,比如使用java之前的wait()、notify()和synchronized等,每每需要考虑性能、死锁、公平性、资源管理以及如何避免线程安全性方面带来的转载 2014-11-04 16:55:11 · 614 阅读 · 0 评论 -
平台换行符
对于换行符号不同的平台下存在不同的标准。windows : "\r\n"linux/unix : "\r"Mac : "\n"通过使用System.getProperty("liine.separator")可以获取当前平台下的换行符原创 2018-03-24 20:36:09 · 222 阅读 · 0 评论