- 博客(13)
- 资源 (30)
- 收藏
- 关注
原创 ConcurrentHashMap高并发性的实现原理
ConcurrentHashMap是Java5中新增加的一个线程安全的Map集合,可以用来替代HashTable。HashTable容器在竞争激烈的并发环境下表现出效率低下的原因是所有访问HashTable的线程都必须竞争同一把锁,那假如容器里有多把锁,每一把锁用于锁容器其中一部分数据,那么当多线程访问容器里不同数据段的数据时,线程间就不会存在锁竞争,从而可以有效的提高并发访问效率,这就是Conc...
2015-06-27 20:39:01 10628 2
原创 synchronized和java.util.concurrent.locks.Lock的区别
在看ConcurrentHashMap 源码的时候看到lock这个锁机制,不明白它和Synchronized的区别,查了一些资料记录下来,在Lock的文档中,对Lock的解释是:Lock实现比synchronized 提供了更多额外的锁操作,它有更灵活的结构,可以支持不同的属性,可以支持多个相关条件的对象。那下边看一下Lock可以提供哪些比synchronized 额外的操作,也就是解决synch
2015-06-27 15:29:50 1371
转载 HashMap为什么是线程不安全的?
一直以来只是知道HashMap是线程不安全的,但是到底HashMap为什么线程不安全,多线程并发的时候在什么情况下可能出现问题?HashMap底层是一个Entry数组,当发生hash冲突的时候,hashmap是采用链表的方式来解决的,在对应的数组位置存放链表的头结点。对链表而言,新加入的节点会从头结点加入。javadoc中关于hashmap的一段描述如下:此实现不是同步的。如果多个
2015-06-23 00:33:54 547
转载 jqGrid 各种参数 详解
jqGrid学习之 ------------- 安装jqGrid安装很简单,只需把相应的css、js文件加入到页面中即可。 按照官网文档:/myproject/css/ ui.jqgrid.css /ui-lightness/ /images/
2015-06-22 22:30:16 1041
转载 构建Java并发模型框架
Java的多线程特性为构建高性能的应用提供了极大的方便,但是也带来了不少的麻烦。线程间同步、数据一致性等烦琐的问题需要细心的考虑,一不小心就会出现一些微妙的,难以调试的错误。另外,应用逻辑和线程逻辑纠缠在一起,会导致程序的逻辑结构混乱,难以复用和维护。本文试图给出一个解决这个问题的方案,通过构建一个并发模型框架(framework),使得开发多线程的应用变得容易。基础知识Java语言提供了
2015-06-17 23:34:20 536
原创 Class.forName().newInstance()和通过new得到对象的区别
写代码看到一条newInstance()语句,不是很理解它和new()的区别,就找了些资料,在这里总结一下。先看一个例子:package com.zz.bridge.impl;/** * Copyright 2015年6月16日 * created by txxs * all right reserved */public class ClassDemo { /** * 构
2015-06-16 21:38:42 3804 1
原创 Java中Runnable和Thread的区别的疑问
Java中Runnable和Thread的区别的疑问,为什么说继承自Thread类的线程不能实现资源共享呢
2015-06-14 19:19:53 861 1
原创 Java多线程生命周期
这两天在看线程的东西,根据牛人的博客总结了一些:每个Java程序至少包含一个线程:主线程。其它线程都是通过Thread构造器或实例化继承类Thread的类来创建的。正在运行的线程通常是由操作系统创建的;Thread对象是由JavaVM创建的,在一个线程对新线程的Thread对象调用start()方法之前,这个新线程并没有真正开始执行。Thread对象在其线程真正启动之前就已经存在了,而且其线程退出
2015-06-14 17:26:17 574
原创 Java Collections-1
看到一篇非常好的文章,不是非常理解,写一博客权当记录。数组转成List,参考Collections 比数组好,与数组相比arrays具有性能优势,例如,若要将数组的内容转储到一个字符串,需要迭代整个数组,然后将内容连接成一个 String;而 Collections 的实现都有一个可用的 toString() 实现。person类package com.zz.bridge;
2015-06-11 21:11:05 584
转载 Arrays.asList方法总结
package com.zz.bridge.impl;import java.util.Arrays; import java.util.List; /** * * 本类演示了Arrays类中的asList方法 * 通过四个段落来演示,体现出了该方法的相关特性. * * (1) 该方法对于基本数据类型的数组支持并不好,当数组是基本数据类型时不建议使用
2015-06-11 00:16:41 446
原创 oracle record is locked by another user
先说说问题的由来:下午修改数据库中的表,修改完成后保存但是没有提交,这时突然要去别的地方调试,拔掉网线,然后在插上网线,就出现了这个record is locked by another user错误。网上找了一下原因,出现这个错误就是保存且未提交,而又关闭连接引起的。现在说一下解决的方案:1、以管理员的身份登陆PL/SQL Developer (记住一定要以管理员的身份登陆)2、在菜
2015-06-10 20:20:00 1322
原创 Java String类型时间比较大小
晚上写了比较时间的函数,这里总结一下package com.zz.bridge.impl;import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;/** * 测试类 * Copyright 20
2015-06-09 22:28:55 21822 2
原创 正则表达式关于多个数字匹配的问题
比如一个手机号码可以写为:13\d{9}:就是以13开头后边跟着9个数字13\d{8,9}:就是以13开头后边跟着8个或9个数字但是如果后边跟着7或8或9个数字呢13\d{7,8,9}这样写不能匹配,需要写成这样13\d{3}|\d{7}|\d{8}
2015-06-02 19:56:18 15541 1
Springboot consul 服务提供端和服务发现端
2017-08-17
springboot中的 动态代理的选择测试代码
2017-08-01
springboot mybatis 集成多数据源 两种实现方式
2017-06-30
springMVC+Ehcache+MySQL
2016-11-15
spring aop 自定义缓存实现
2015-12-11
spring简单的缓存
2015-12-09
java装饰模式实例
2015-04-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人