什么是线程安全?《Java Concurrency In Practice》的作者Brian Goetz对“线程安全”有一个比较恰当的定义: 当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境
阅读更多...
线程的状态 NEW(初始化状态) RUNNABLE(可运行 / 运行状态) BLOCKED(阻塞状态) WAITING(无时限等待) TIMED_WAITING(有时限等待) TERMINATED(终
I/O 文件 File: isDir(), makeFiles()...... FilenameFilter...... IO(OIO) 按数据流向:输入流、输出流 InputStream/outpu
某些工具只能支持一种字符集格式的文件,特别是遇到中文的情况下。 我司的数据库脚本执行工具,仅支持gb2312格式的文件。但是我们(程序员)经常使用的工具生成出来的字符集就是utf-8,这导致了在执行脚
SELECT * FROM test GROUP BY ajlb, spcx > [42000] [Microsoft][SQL Server Native Client 10.0][SQL S
抽象过程 人们能够接二觉的问题的复杂性直接却决于抽象的类型和质量。 对机器建模的方式就是只针对待解决问题建模。 Lisp 所有问题最终都是列表 APL 所有问题最终都是算法形式的 PROLOG 所有问
引言 首先看一段代码, 这段代码是ArrayList的源码: public ArrayList(Collection<? extends E> c) { eleme
在开发过程中,一些需要使用mac地址的地方使用的参数都是byte数组形式。 但是我们大多数时候获取到的Mac地址都是字符串形式的,那么我们就需要进行一些转换。 下面的代码是基于Java实现的Mac地址
直观的说,bloom算法类似一个hash set,用来判断某个元素(key)是否在某个集合中。 和一般的hash set不同的是,这个算法无需存储key的值,对于每个key,只需要k个比特位,每个存储
引言 你可以使用@Cleanup注解确保代码执行路径退出当前作用于时清除制定资源。可以使用该注解标记局部变量,如下: @Cleanup InputStream in = new FileInputSt