自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Martin的专栏

开源、分享、提高

  • 博客(20)
  • 资源 (7)
  • 收藏
  • 关注

原创 Java多线程之使用volatile优雅地实现单例

关于volitale关键字volitale即是挥发物,被该关键字修饰变量的值发生改变时,会导致该变量的CPU缓存失效,必须CPU需要重新去内存拉取最新的值。 该关键字保证了变量的可见性(用一句术语:对于变量的写入操作总是happens-before每一个后续的对该变量的读写操作,也就是保证了更新后的变量,后续的程序总能看到),即该变量发生改变时,在改时间点之后执行的代码可以立即看到变化。 vol

2016-05-03 11:00:26 929

原创 Java多线程:线程池简介及线程池之坑

线程池简介自JDK1.5,Java吊炸天的并发包就提供线程池java.util.concurrent.ThreadPoolExecutor ,先来看看其各个字段的含义: corePoolSize 核心线程数,指保留的线程池大小(不超过maximumPoolSize值时,线程池中最多有corePoolSize 个线程工作)。 maximumPoolSize 指的是线程池的最大大小(线程池中最大有

2016-04-19 20:48:23 4807

原创 Java多线程之并发容器:CopyOnWrite到底干啥用的

CopyOnWrite从字面上理解就是写入的时候做复制操作。而CopyOnWrite是一个Java5之后出现的并发容器,目的是为了提高并发的存取效率。对比CopyOnWrite、ArrayList和Vector源码,可以发现Vector是get和set方法都使用了synchronized关键字做了同步,ArrayList都没有用该关键字,很明显线程不安全;查看CopyOnWrite源码,get方法没

2016-03-26 17:44:49 1522 1

原创 Java多线程之线程协作

无意中在一篇文章中看到一个面试题,题目内容为:现有一个统计任务,需要3个线程完成,在这三个线程完成后由一个线程完成最后的统计报告工作,写出大概代码。其实多线程问题都可以从两个角度考虑实现,一种是java5之前的同步关键字去实现,另一种是java5之后提供的多线程新特性角度去考虑。对于传统的同步关键字思路:四个线程都共享一个信号量,当信号量标志子线程任务都完成时,唤醒最后的统计线程;对于java5

2016-03-26 16:27:52 1581

原创 Java多线程之生产者消费者问题<三>:使用阻塞队列更优雅地解决生产者消费者问题

前一篇文章讲了如何使用java5中的重入锁和条件变量优雅地解决生产者消费者问题,本文将继续探究java并发包(concurrent),寻求更好的解决方案。java并发包中提供了阻塞队列(BlockingQueue),查看该类的注释说明,大概翻译下:这是一个额外支持等待队列非空或等待队列可用的队列,意思就是当线程去队列取元素时,如果没有元素线程将等待,直到有可用的有元素可取;当向队列中添加元素时

2016-03-17 14:18:21 3178

原创 Java多线程之生产者消费者问题<二>:使用重入锁、条件变量优雅地解决生产者消费者问题

Java5中新增了大量线程同步的功能,比如显式Lock,读写锁ReadWriteLock,条件变量Condition等,虽然这些功能使用之前的synchronized同步关键字都可能实现,但自己使用同步关键字不仅管理混乱,而且容易出错。 如下是使用显式Lock和条件变量Condition更好的解决生产者消费者问题,关于lock和condition读者可以自己查阅相关说明,也很好理解。Consu

2016-03-12 13:47:31 1451

原创 Java多线程之生产者消费者问题<一>:使用synchronized 关键字解决生产者消费者问题

今天看了一片博文,讲Java多线程之线程的协作,其中作者用程序实例说明了生产者和消费者问题,但我及其他读者发现程序多跑几次还是会出现死锁,百度搜了下大都数的例子也都存在bug,经过仔细研究发现其中的问题,并解决了,感觉有意义贴出来分享下。

2014-10-16 22:22:55 3345 1

原创 JAVA正则表达式小总结

最近项目中正在做后台校验,而后台校验也基本都是使用正则表达式校验,本文做一些粗略的总结。1、字符串长度:.{1,10},注意有一个点在{}前,表示匹配所有。‘{}’之前一定是一个捕获组,因此如果有其他筛选要求并且限制长度则为在总捕获组的最后加上{}来限制长度。2、如何表示不为abcd的任意一个字符:([^abcd])*,使用^表示在[]不为[]内的任意字符;注意,常有人写成([^a|b|c

2014-10-13 21:37:25 975 1

原创 oracle for update实现线程同步取数据

背景:在电信软件领域,常常有取话单数据的概念,而话单数据存储在DB中,

2014-10-10 23:38:49 1382

原创 Java实现Socket长连接和短连接

1概念Socket:socket实际上是对TCP/IP进行的封装,我们可以使用socket套接字通过socket来传输。首先我们需要明白的一个概念就是通道,简单地说通道就是两个对端可以随时传输数据的信道。我么常说的所谓建立socket连接,也就是建立了客户端与服务器端的通道。长短连接:显而易见,长连接也就是这个socket连接一直保持连接,也就是通道一直保持通畅,两个对端可以随时发送和接收

2014-09-21 11:38:58 21496 5

原创 如何使用axis构建SOAP应用程序

本文档的所有源码:http://download.csdn.net/detail/feichenwangyalin/7911159你可以根据将其中的SoapServer和SoapClient导入Eclipse,将axis放入tomcat的webapps中。1.基本概念1.1 SOAP的概念        SOAP即简单对象访问协议,是交换数据的一种协议规范,是一种轻量的、简单的

2014-09-13 22:58:42 2126

原创 在mysql workbench中建立存储过程

新手玩mysql stored procedure(存储过程),期间遇到了不少麻烦,为此贴出来,希望能为也正在玩存储过程的人提供一个demo。欢迎拍砖。/*特别注明:下边的SQL语句都是用test数据库*/use test;create table user( id int not null auto_increment primary key, userName var

2012-10-26 15:14:56 7181

原创 spring MVC配置文件解读

本人spring新手,初玩是spring的感觉就是坑爹的配置文件,为此写此文为正在苦苦挣扎于spring配置文件的同学简单的解释下配置文件。欢迎拍砖。先来看web.xml配置文件:<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XML

2012-10-25 20:42:18 817

原创 lucene的加锁机制和LockObtainFailedException的异常

lucene的加锁机制lucene分为两种锁,writer.lock锁和commit.lock锁(具体可以自己查,不多讲),这里主要说说writer锁,writer锁主要是为了控制多个writer对同一索引目录的写入或者reader的删除操作。如果您做程序过程中遇到了标题的异常情况,那么就要注意是不是同时有多个线程在操作一个索引目录了,原因可能为您的程序中多次加载或者初始化了该

2012-09-28 20:00:34 1088

原创 lucene2.9.0索引写入不报错却无法写入的奇怪问题

多次调试后,发现是writer初始化的问题Directory fsDir = FSDirectory.open(new File(indexPath));// Directory ramDir = new RAMDirectory(fsDir);writer = new IndexWriter(fsDir, analyzer, true,IndexWriter.MaxFieldLe

2012-09-27 20:58:32 603

原创 关于java对资源加锁无效的问题

看编程思想一书,也写了段代码,发现对static的资源加锁无效,左思右想终于找出了原因,现贴出与大家分享。import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;class Source{ int i=0;}class Generator{ public static I

2012-09-18 17:37:02 1063 1

原创 linux下连接windows mysql的错误:Access denied for user 'root'@'localhost' (using password: YES)

在linux下连接windows server的mysql,出现:Access denied for user 'root'@'localhost' (using password: YES)的错误,看了一下,其实不管是windows连接linux server还是linux连接windows server这都是用户权限的问题。解决方法:在mysql命令中输入:mysql>use my

2012-09-10 14:35:52 831

原创 java replaceAll用法

需要用将以下这一段字符串的“,”全部替换为“--”,原字符串如下:武进租房,阳湖名城小区租房,赶集租房,常州租房最终用了一下这段正则表达式解决了:keyWords=keyWords.replaceAll("[.+,]", "--");解释:前段“[.+,]” 的意思是匹配像“武进租房,”这样的字串,“[]”的作用是多次匹配,后端"--"就没什么号解释的了。

2012-08-13 22:07:04 1053

原创 关于Spring集成JSF是的问题

今天我使用Spring 和 JSF集成是遇到了一个问题:FacesContextUtils.getWebApplicationContext(FacesContext.getCurrentInstance())得到的ApplicationContext 总是为 null ,几经周折,在一家外文网上找到了答案特贴出来与大家分享(目前我很菜的):需在JSF的faces-config.x

2012-05-14 20:34:31 632

原创 Jrebel 体验

初次用 jrebel ,还纠结了好久没用起来,主要因为jrebel 收费,下面贴出jrebel 部署(有参考别人的成份):jrebel是一个插件,只要将它部署到相应服务器上即可:window --  preferences -- server  -- tomcat  --  tomcat 7.X -- JDK在 VM arguments 下输入一下参数:-noverify -j

2012-05-10 21:04:25 526

Java实现Socket长连接和短连接

Java实现Socket长连接和短连接,实现原理可参见个人博客

2014-09-21

使用axis1.3构建自己的SOAP应用程序源码

使用axis1.3构建自己的SOAP应用程序源码; 详细介绍了如何使用ant脚本构建SOAP,以及如何测试SOAP接口。 详细可查看本人博客:使用axis1.3构建自己的SOAP应用程序源码

2014-09-13

spring mvc demo带简单的注册和登录(完整注释)

spring mvc demo带简单的注册和登录(完整注释)

2012-10-25

DWR push机制.pdf(免积分下)

DWR push 推送机制 , DWR push机制.pdf(免积分下)

2012-10-18

hibernate 4.1.3

hibernate 4.1.3 hibernate 最新版

2012-05-11

VB.NET音乐播放器

开源代码,自制音乐播放器,Windows media player内核,高仿多米音乐,课程设计可用。。

2012-03-30

bloom filter(C#版自制布隆过滤器)

自制布隆过滤器,采用八种不同哈希函数来获取随机数,错误率低

2012-02-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除