当我们new一个java流对象之后,不仅在计算机内存中创建了一个相应类的实例对象。而且,还占用了相应的系统资源,比如:文件句柄、端口、数据库连接等。在内存中的实例对象,当没有引用指向的时候,java垃圾收集器会按照相应的策略自动回收,但是却无法对系统资源进行释放。所以,我们需要主动调用close() ...
分类:
编程语言 时间:
2019-06-11 12:39:18
阅读次数:
442
JMeter接口测试 目前最新版本发展到5.0版本,需要Java7以上版本环境,下载解压目录后,进入\apache jmeter 5.0\bin\,双击ApacheJMeter.jar文件启动JMemter。 1、创建测试任务 添加线程组,右击测试计划,在快捷菜单单击添加 》线程(用户) 》线程组。 ...
分类:
其他好文 时间:
2019-06-04 11:08:38
阅读次数:
282
ConcurrentHashMap 源码详细分析(JDK1.8) 1. 概述 《HashMap 源码详细分析(JDK1.8)》: Java7 整个 ConcurrentHashMap 是一个 Segment 数组,Segment 通过继承 ReentrantLock 来进行加锁,所以每次需要加锁的操 ...
分类:
其他好文 时间:
2019-05-25 09:33:48
阅读次数:
86
了解正向预查&反向预查前,我们先要知道正则的2个函数:preg_match_all 、 preg_replace preg_match_all 可以看文章:点击查看 preg_replace 可以看文章:点击查看 正向预查&反向预查 正向或反向预查都是非获取匹配,不进行存储供以后使用。 1、正向预查 ...
分类:
Web程序 时间:
2019-05-17 14:00:01
阅读次数:
229
Java8 对 HashMap 进行了一些修改,最大的不同就是利用了红黑树,所以其由 数组+链表+红黑树 组成。 根据 Java7 HashMap 的介绍,我们知道,查找的时候,根据 hash 值我们能够快速定位到数组的具体下标,但是之后的话,需要顺着链表一个个比较下去才能找到我们需要的,时间复杂度 ...
分类:
编程语言 时间:
2019-05-16 17:47:09
阅读次数:
148
阅读前提:本文分析的是源码,所以至少读者要熟悉它们的接口使用,同时,对于并发,读者至少要知道 CAS、ReentrantLock、UNSAFE 操作这几个基本的知识,文中不会对这些知识进行介绍。Java8 用到了红黑树,不过本文不会进行展开,感兴趣的读者请自行查找相关资料。 Java7 HashMa ...
分类:
编程语言 时间:
2019-05-16 17:42:18
阅读次数:
148
一、引言 也许大家在使用流时因为未关闭、或者未正常关闭引发了很多问题。其实java7引入了自动关闭流机制,只是我们未使用而已。 二、自动关闭流例子 public class AutoCloseTest { public&nb ...
分类:
其他好文 时间:
2019-05-09 17:04:33
阅读次数:
125
转:https://www.cnblogs.com/kismetv/p/10787228.html 概念:乐观锁和悲观锁是两种思想,用于解决并发场景下的数据竞争问题。 乐观锁:乐观锁在操作数据时非常乐观,认为别人不会同时修改数据。因此乐观锁不会上锁,只是在执行更新的时候判断一下在此期间别人是否修改了 ...
分类:
其他好文 时间:
2019-04-29 09:40:37
阅读次数:
154
1.新建Account类,使用AtomicLong定义账户余额,增加和减少金额方法使用getAndAdd方法。 2.Bank和Company类与https://www.cnblogs.com/xkzhangsanx/p/10759690.html一致。 3.测试类 4.测试结果 参考:java7并发 ...
分类:
其他好文 时间:
2019-04-26 22:39:28
阅读次数:
299
1.新建Account类,使用Semaphore同步增加和减少金额方法。 2.其他和https://www.cnblogs.com/xkzhangsanx/p/10759690.html一致。 注意释放信号量 3.测试结果 参考:java7并发编程实战手册 GitHub地址:https://gith ...
分类:
其他好文 时间:
2019-04-26 00:26:06
阅读次数:
162