自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 收藏
  • 关注

原创 无锁(CAS)编程

 1.  无 锁类 的原理 详 解1.1.CAS       CAS算法的过程是这样:它包含3个参数CAS(V,E,N)。V表示要更新的变量,E表示预期值,N表示新值。仅当V值等于E值时,才会将V的值设为N,如果V值和E值不同,则说明已经有其他线程做了更新,则当前线程什么都不做。最后,CAS返回当前V的真实值。CAS操作是抱着乐观的态度进行的,它总是认为自己可以成功完成操作。当多个线程...

2016-09-06 11:46:13 287

原创 并发设计模式

1. 什么是设计模式在软件工程中,设计模式(design pattern)是对软件设计中普遍存在(反复出现)的各种问题 ,所提出的解决方案。这个术语是由埃里希·伽玛(Erich Gamma)等人在1990年代从建筑设计领 域引入到计算机科学的。 著名的4人帮: Erich Gamma,Richard Helm, Ralph Johnson ,John Vlissides (Gof) ...

2016-07-10 18:46:09 244

原创 JDK并发编程2

1. 线程池的基本使用 1.1.为什么需要线程池平时的业务中,如果要使用多线程,那么我们会在业务开始前创建线程,业务结束后,销毁线程。但是对于业务来说,线程的创建和销毁是与业务本身无关的,只关心线程所执行的任务。因此希望把尽可能多的cpu用在执行任务上面,而不是用在与业务无关的线程创建和销毁上面。而线程池则解决了这个问题,线程池的作用就是将线程进行复用。 1.2.JDK为我...

2016-07-10 18:37:58 144

原创 JDK并发编程1

1. 各种同步控制工具的使用1.1 ReentrantLock      ReentrantLock感觉上是synchronized的增强版,synchronized的特点是使用简单,一切交给JVM去处理,但是功能上是比较薄弱的。在JDK1.5之前,ReentrantLock的性能要好于synchronized,由于对JVM进行了优化,现在的JDK版本中,两者性能是不相上下的。如果是简...

2016-07-10 18:02:43 176

原创 jvm常用命令以及问题总结

JVM监控和诊断概述     程序运行中经常会遇到各种问题,定位问题时通常需要综合各种信息,如系统日志、堆dump文件、线程dump文件、GC日志等。通过虚拟机监控和诊断工具可以帮忙我们快速获取、分析需要的数据,进而提高问题解决速度。可以使用图形化工具如:jconsole,jvisualvm,或者命令进行监控和诊断命令。 本文将介绍虚拟机常用监控和问题诊断命令工具的使用方法,主要包含以...

2016-06-28 14:09:34 237

原创 happen-before 规则

Happen-Before规则程序顺序原则:一个线程内保证语义的串行性volatile规则:volatile变量的写,先发生于读,这保证了volatile变量的可见性锁规则:解锁(unlock)必然发生在随后的加锁(lock)前传递性:A先于B,B先于C,那么A必然先于C 线程的start()方法先于它的每一个动作线程的所有操作先于线程的终结(Thread.join()...

2016-06-27 23:42:50 184

原创 java并发学习

java并发特性,原子性、有序性、可见性happen-before规则无锁编程(CAS)JDK并发编程1JDK并发编程2 

2016-06-27 22:37:11 88

原创 java并发特性,原子性、有序性、可见性

原子性是指一个操作是不可中断的。即使是在多个线程一起执行的时候,一个操作一旦开始,就不会被其它线程干扰。Java中的原子操作包括:1)除long和double之外的基本类型的赋值操作2)所有引用reference的赋值操作3)java.concurrent.Atomic.* 包中所有类的一切操作。但是java对long和double的赋值操作是非原子操作!!long和d...

2016-06-27 22:34:23 188

原创 lunix问题笔记

    1.选择执行shell出错远程执行shell时候找不到java环境变量glassfish@ubuntu:~$ ssh -l glassfish 192.168.0.153 "/home/glassfish/test.sh"glassfish@192.168.0.153's password: /opt/lib/glassfish4.1/bin/asadmin...

2016-06-27 17:57:06 91

原创 基于Jersey的RESTful学习

Jersey与Spring整合依赖的jar <dependency> <groupId>org.glassfish.jersey.ext</groupId> <artifactId>jersey-spring3</artifactId> <version>${jersey.ve...

2016-06-21 12:30:28 136

原创 Lucene笔记

多字段精确查询  MultiFieldQueryParser使用Analyzer analyzer = new StandardAnalyzer(); reader=DirectoryReader.open(directory); searcher=new IndexSearcher(reader); //对应的字段 String[] fields = { C...

2016-05-31 17:04:56 102

原创 JVM学习笔记

JVM参数设置

2016-05-19 22:51:37 73

原创 jvm参数设置

 官方JVM参数地址http://java.sun.com/javase/technologies/hotspot/vmoptions.jsp 本文主要内容:Trace跟踪参数堆的分配参数栈的分配参数在IDE的后台打印GC日志:既然学习JVM,阅读GC日志是处理Java虚拟机内存问题的基础技能,它只是一些人为确定的规则,没有太多技术含量。既然如此,那么在...

2016-05-19 22:49:49 100

原创 Java中的锁(转载)

在学习或者使用Java的过程中进程会遇到各种各样的锁的概念:公平锁、非公平锁、自旋锁、可重入锁、偏向锁、轻量级锁、重量级锁、读写锁、互斥锁等待。这里整理了Java中的各种锁,若有不足之处希望大家在下方留言探讨。公平锁和非公平锁公平锁是指多个线程在等待同一个锁时,必须按照申请锁的先后顺序来一次获得锁。公平锁的好处是等待锁的线程不会饿死,但是整体效率相对低一些;非公平锁的好处是整体...

2016-05-05 11:35:25 83

原创 Key锁

java中的几种锁:synchronized,ReentrantLock,ReentrantReadWriteLock已基本可以满足编程需求,但其粒度都太大,同一时刻只有一个线程能进入同步块,这对于某些高并发的场景并不适用。本文实现了一个基于KEY(主键)的互斥锁,具有更细的粒度,在缓存或其他基于KEY的场景中有很大的用处。下面将讲解这个锁的设计和实现(关于这个锁的讨论贴:KeyLock讨...

2016-04-19 12:21:07 201

原创 ThreadLocal理解

一.ThreadLocal是什么       JDK 1.2的版本中就提供java.lang.ThreadLocal,当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。      ThreadLocal 数据的存储是使用了其静态内部类:ThreadLocalM...

2016-03-11 12:30:01 99

原创 shrio学习

扩展Shrio的FormAuthenticationFilter实现动态改变LoginUrl   <!-- 网络查找-->shrio 权限管理filterChainDefinitions过滤器配置 shrio全面学习参考网址shiro拦截url动态配置在数据库 ...

2016-02-24 12:42:54 132

原创 <shrio学习>-扩展FormAuthenticationFilter实现动态改变LoginUrl

 1.修改配置文件&lt;bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean"&gt; ... &lt;property name="filters"&gt; &lt;util:map&gt; ..

2016-02-24 12:41:08 398

原创 cas(sso)服务器

 1.cas4.0server端下载地址 迅雷地址:http://developer.jasig.org/cas/cas-server-4.0.0-release.zip也可以去最新的地址:https://www.apereo.org/projects/cas/download-cas或者http://developer.jasig.org/cas/选择你需要的下载 2...

2016-02-18 11:20:33 142

原创 log4j输出多个自定义日志文件

logger是category的子类,category现在已经不提倡使用。但是现在部分jar依然使用的category,所以需要使用log4j.category.org.mybatis控制,例如:org.mybatis,org.apache等-----------下面为转载---------------------- 常见的log4j.properties文件,它是在控制台和logger...

2016-01-25 18:16:34 91

原创 5个常用的Java分布式缓存框架

在开发中大型Java软件项目时,很多Java架构师都会遇到数据库读写瓶颈,如果你在系统架构时并没有将缓存策略考虑进去,或者并没有选择更优的缓存策略,那么到时候重构起来将会是一个噩梦。本文主要是分享了5个常用的Java分布式缓存框架,这些缓存框架支持多台服务器的缓存读写功能,可以让你的缓存系统更容易扩展。1、Ehcache – Java分布式缓存框架Ehcache是一个Java实现的开源...

2016-01-21 13:52:45 128

原创 Ehcache 整合Spring 使用页面、对象缓存,java

Ehcache 整合Spring 使用页面、对象缓存Ehcache在很多项目中都出现过,用法也比较简单。一般的加些配置就可以了,而且Ehcache可以对页面、对象、数据进行缓存,同时支持集群/分布式缓存。如果整合Spring、Hibernate也非常的简单,Spring对Ehcache的支持也非常好。EHCache支持内存和磁盘的缓存,支持LRU、LFU和FIFO多种淘汰算法,支持...

2016-01-21 13:38:59 81

原创 AES加密在linux下不能正常使用

package com.lz.core.fe.util;import java.io.UnsupportedEncodingException;import java.security.InvalidKeyException;import java.security.NoSuchAlgorithmException;import java.security.SecureRa...

2016-01-15 14:43:18 545

原创 Tomcat 7遇到StackOverflowError的异常的解决办法

之前使用tomcat7时遇到启动报错问题,日志如下: 严重: A child container failed during startjava.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngi...

2015-12-22 14:23:55 1952

原创 Struts2、SpringMVC、Servlet(Jsp)性能对比 测试 。 Servlet的性能应该是最好的,可以做为参考基准,其它测试都要向它看齐,参照...

Struts2、SpringMVC、Servlet(Jsp)性能对比 测试 。Servlet的性能应该是最好的,可以做为参考基准,其它测试都要向它看齐,参照它。做为一个程序员,对于各个框架的性能要有一个基本的认知,便于选型时做出正确的决策。在测试中发现了什么也不要大喊大叫,因为这些都是Java程序员的基础知识。 人人都要了解。--------------------------...

2014-10-20 10:09:30 109

原创 下载文件名乱码

/** * @return the downloadFileName * @throws UnsupportedEncodingException */ public String getDownloadFileName() throws UnsupportedEncodingException { // 下载文件名(中文需转码) String ...

2014-10-10 10:57:25 96

原创 页面前端框架记录

http://amazeui.org/javascript/slider弹出层http://sentsin.com/jquery/layer/

2014-08-28 11:39:11 77

原创 jdk7和8的一些新特性介绍

 更多ppt内容请查看:http://www.javaarch.net/jiagoushi/927.htm   Java代码  本文是我学习了解了jdk7和jdk8的一些新特性的一些资料,有兴趣的大家可以浏览下下面的内容。  官方文档:http://www.oracle.com/technetwork/java/javase/jdk7-relnotes...

2014-07-25 15:39:26 155

原创 FindBugs java静态代码分析

1、FindBugs介绍FindBugs是一款Java静态代码分析工具,与其他静态分析工具(如Checkstyle和PMD)不同,FindBugs 不注重样式或者格式,它专注于寻找真正的缺陷或者潜在的性能问题,它可以帮助java工程师提高代码质量以及排除隐含的缺陷。有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。最新版本是1.3.9.20090821,下载地址http://...

2014-07-11 16:37:28 105

原创 FindBugs java静态代码分析

1、FindBugs介绍FindBugs是一款Java静态代码分析工具,与其他静态分析工具(如Checkstyle和PMD)不同,FindBugs 不注重样式或者格式,它专注于寻找真正的缺陷或者潜在的性能问题,它可以帮助java工程师提高代码质量以及排除隐含的缺陷。有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。最新版本是1.3.9.20090821,下载地址http://...

2014-07-11 16:37:24 58

原创 FindBugs java静态代码分析

1、FindBugs介绍FindBugs是一款Java静态代码分析工具,与其他静态分析工具(如Checkstyle和PMD)不同,FindBugs 不注重样式或者格式,它专注于寻找真正的缺陷或者潜在的性能问题,它可以帮助java工程师提高代码质量以及排除隐含的缺陷。有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。最新版本是1.3.9.20090821,下载地址http://...

2014-07-11 16:37:18 65

原创 日志LogBack

需要自定义一个Listener 来加载配置文件package com.sj.common.listener;import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import org.slf4j.Logger; import org.slf4j.Lo...

2014-06-20 15:56:14 64

原创 使用pax.exam对osgi(基于maven)进行集成测试

xml配置文件就下列依赖加入xml的配置文件&lt;!-- test start --&gt;  &lt;dependency&gt;   &lt;groupId&gt;junit&lt;/groupId&gt;   &lt;artifactId&gt;junit&lt;/artifactId&gt;   &lt;version&gt;4.10&lt;/version&g

2014-05-22 11:38:02 235

原创 安装其他插件svn消失

如题先关闭Eclipse到Eclipse的根目录下面的configuration目录里面去把update文件夹删除,重启其实configuration里面除了点settings和ini以外,其他都是可以删除的但要看实际情况而论...

2014-05-19 09:35:10 63

原创 mongodb笔记

1.查询数组只返回数组中存在的该条件的数组. db.tablename.find({"arryname.fieldname":value},{"arryname.$":1}) 如果有多条匹配,只返回第一条2.根据mongodb自带的objectId(_id)来查询    db.wf_definitions.find({"_id":new ObjectId("53747052e4b080...

2014-05-16 09:08:42 79

原创 装饰模式与代理模式

装饰模式:定义:装饰模式以对客户端透明的方式动态扩展对象的功能(附加新的职责),是继承关系的一个替代方案。角色:  1)抽象构件角色(Component ):给出一个抽象接口,以规范接收附加责任的对象。  2)具体构件角色(ConcreteComponent ):定义一个将要接受附加责任的类  3)装饰角色(Decorator ):持有一个构件对象的实例,并定义一个与抽象构件...

2014-03-11 13:13:17 79

原创 敏捷开发中高质量 Java 代码开发实践

 Java 项目开发过程中,由于开发人员的经验、代码风格各不相同,以及缺乏统一的标准和管理流程,往往导致整个项目的代码质量较差,难于维护,需要较大的测试投入 和周期等问题。这些问题在一个项目组初建、需求和设计均具有不完全可预期性和完备性的全新项目中将尤为突出。本文将结合敏捷开发周期短,变化快等特点,介 绍如何通过在开发过程中采取一系列步骤来保证和提高整个开发团队的代码质量,并阐述了每一步可以利...

2014-03-11 12:58:04 73

原创 Java中的阻塞和非阻塞IO包各自的优劣思考

转载地址:http://javag.iteye.com/blog/221641 NIO 设计背后的基石:反应器模式,用于事件多路分离和分派的体系结构模式。反应器(Reactor):用于事件多路分离和分派的体系结构模式 通常的,对一个文件描述符指定的文件或设备, 有两种工作方式: 阻塞 与非阻塞 。所谓阻塞方式的意思是指, 当试图对该文件描述符进行读写时, 如果当时没有东西可读,或...

2013-11-06 10:09:26 99

原创 java NIO简介

1.   基本 概念 IO 是主存和外部设备 ( 硬盘、终端和网络等 ) 拷贝数据的过程。 IO 是操作系统的底层功能实现,底层通过 I/O 指令进行完成。 所有语言运行时系统提供执行 I/O 较高级别的工具。 (c 的 printf scanf,java 的面向对象封装 ) 2.    Java 标准 io 回顾 Java 标...

2013-11-06 10:04:10 57

原创 (转)比较全的OA模板

        国内的协同OA软件总体上比以前更智能了,这是近年来比较重要的变化,但不同的产品智能化程度却相差很大。近年来,很多协同OA厂商面临被淘汰的局面,正是由于它们在技术上已经跟不上发展趋势,对于用户不断发展变化的需求不敏感,没有及时做出调整,没有苦练内功。所以今天我收集到一些OA模板,展示出来让大家系统的了解一下OA模板。当然我也会挂一漏万,希望知道更多的人可以补充添加。 企...

2013-11-03 13:13:46 777

空空如也

空空如也

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

TA关注的人

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