J2SE
lanqilin5186
这个作者很懒,什么都没留下…
展开
-
正则表达式例子
package com.wepull.regex;import java.util.regex.Matcher;import java.util.regex.Pattern;public class Demo1 { /** * 判断一个字符串是否由纯数字组成 */ private void fun1() { String str = "012345...原创 2011-06-03 16:50:46 · 75 阅读 · 0 评论 -
什么是线程安全?
什么是线程安全? 如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。 或者说:一个类或者程序所提供的接口对于线程来说是原子操作或者多个线程之间的切换不会导致该接口的执行结果存在二义性,也就是说我们不用考虑同步的问题。 线程安全问题都是...原创 2011-06-08 16:13:19 · 87 阅读 · 0 评论 -
HashMap深入分析
java.util.HashMap是很常见的类,前段时间公司系统由于对HashMap使用不当,导致cpu百分之百,在并发环境下使用HashMap而没有做同步,可能会引起死循环,关于这一点,sun的官方网站上已有阐述,这并非是bug。 HashMap的数据结构 HashMap主要是用数组来存储数据的,我们都知道它会对key进行哈希运算,哈系运算会有重复...原创 2012-03-03 17:52:54 · 54 阅读 · 0 评论 -
Hash 存储机制
实际上,HashSet 和 HashMap 之间有很多相似之处,对于 HashSet 而言,系统采用 Hash 算法决定集合元素的存储位置,这样可以保证能快速存、取集合元素;对于 HashMap 而言,系统 key-value 当成一个整体进行处理,系统总是根据 Hash 算法来计算 key-value 的存储位置,这样可以保证能快速存、取 Map 的 key-value 对。在介绍集合存...原创 2012-03-04 23:11:54 · 76 阅读 · 0 评论 -
HashSet与TreeSet对重复元素的判断不同之处
HashSet 的实现其实非常简单,它只是封装了一个 HashMap 对象来存储所有的集合元素,所有放入 HashSet 中的集合元素实际上由 HashMap 的 key 来保存,而 HashMap 的 value 则存储了一个 PRESENT,它是一个静态的 Object 对象。HashSet 的绝大部分方法都是通过调用 HashMap 的方法来实现的,因此 HashSet 和 Has...原创 2012-03-08 23:17:33 · 331 阅读 · 0 评论 -
ThreadLocal的用法
ThreadLocal的核心思想很简单:为每个独立的线程提供一个变量的副本。Java提供的synchronized关键字使用了“同步锁”的机制来阻止线程的竞争访问,即“以时间换空间”。: " 10pt; FONT-SIZE:> ThreadLocal则使用了“拷贝副本”的方式,人人有份,你用你的,我用我的,大家互不影响,是“以空间换时间”。每个线程修改变量时,实际上修改的是...原创 2012-03-26 22:19:56 · 75 阅读 · 0 评论 -
类加载器和双亲委派模型
类加载器按照层次,从顶层到底层,分为以下三种: (1)启动类加载器(Bootstrap ClassLoader) 这个类加载器负责将存放在JAVA_HOME/lib下的,或者被-Xbootclasspath参数所指定的路径中的,并且是虚拟机识别的类库加载到虚拟机内存中。启动类加载器无法被Java程序直接引用。 (2)扩展类加载器(Extension ClassLoader) 这个加载器负责加载...原创 2014-05-18 11:41:08 · 86 阅读 · 0 评论 -
java ClassLoader类加载器
java应用环境中不同的class分别由不同的ClassLoader负责加载。一个jvm中默认的classloader有Bootstrap ClassLoader、Extension ClassLoader、App ClassLoader,分别各司其职: Bootstrap ClassLoader 引导(原始)类加载器 负责加载java基础类,主要是 %JRE_HOME/lib...原创 2014-05-18 18:20:44 · 80 阅读 · 0 评论