自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (9)
  • 收藏
  • 关注

java并发(二)对象的共享-不变形

满足同步需求的另一种方法是使用不可变对象。许多时候出现并发问题都是与多线程试图同时访问同一个可变的状态相关。如果对象的状态不会改变,那么这些问题与复杂性也就自然消失了。 如果某个对象在被创建后其状态就不能被改变,那么这个对象就称为不可变对象。线程安全性是不可变对象的固有属性之一,它们的不变性条件是由构造函数创建的,只要它们的状态不改变,那么这些不变性条件就能得以维持。 ...

2015-03-11 13:18:49 177

原创 java并发(二)对象的共享-线程封闭

当访问共享的可变数据的时候,通常需要使用同步。一种避免使用同步的方式就是不共享数据。如果仅在单线程内访问数据,就不需要同步。这种技术被称为线程封闭,他是实现线程安全的最简单的方式之一。当某个对象封闭在一个线程中时,这种用法将自动实现线程安全性,即使被封装的对象本身不是线程安全的。 线程封闭技术的一种常见的应用是JDBC的Connection对象。JDBC规范并不要求Connect...

2015-02-15 15:04:23 155

java并发(二)对象的共享-发布与逸出

“发布”一个对象的意思是指,使对象能够在当前作用域之外的代码中使用。当某个不应该发布的对象被发布时,这种情况就背称为“逸出”。发布对象的最简单的方法是将对象的引用保存到一个公有的静态变量中,以便任何类和线程都能看见该对象。例如:[code="java"]public static knownSecrets;public void initialize(){ kn...

2015-02-15 14:27:38 207

java并发(二)对象的共享-可见性

[code="java"]public class NoVisibility { private static boolean ready; private static int number; private static class ReaderThread extends Thread{ public void run(){ while(!ready...

2015-02-15 10:49:24 211

原创 java并发(一)线程安全性

要编写线程安全的代码,其核心就在于要对状态访问操作进行管理,特别是对共享的和可变的状态的访问。“共享”意味着变量可以由多个线程同时访问,而“可变”则意味着变量的值在生命周期内可以发生变化。 当多个线程访问某个状态变量并且其中有一个线程执行写入操作的时候,必须采用协同机制来系统这些线程对变量的访问。当多个线程访问某个类的时候,这个类始终都能表现出正确的行为,那么就称这个类是线程安全...

2015-02-14 13:19:16 121

原创 mysql和oracle之间的几个方法转换

一、mysql日期和字符相互转换方法date_format(date,'%Y-%m-%d') -------------->oracle中的to_char();str_to_date(date,'%Y-%m-%d') -------------->oracle中的to_date();%Y:代表4位的年份%y:代表2为的年份 %m:代表月, 格式为(01……...

2014-01-10 09:47:24 226

原创 去除指定空格

去除指定空格 转换成[quote]private String replaceBlank(String str) { String dest = ""; if (str!=null) { Pattern p = Pattern.compile("\\r+|\\t+|\\s+(?![^]*>)"); ...

2013-12-07 15:11:45 135

原创 Java synchronized详解(转载)

第一篇: 使用synchronized 在编写一个类时,如果该类中的代码可能运行于多线程环境下,那么就要考虑同步的问题。在Java中内置了语言级的同步原语--synchronized,这也大大简化了Java中多线程同步的使用。我们首先编写一个非常简单的多线程的程序,是模拟银行中的多个线程同时对同一个储蓄账户进行存款、取款操作的。在程序中我们使用了一个简化版本的Accou...

2013-06-27 10:12:44 109

原创 Servlet 跳转 redirect与forward跳转的区别(转载)

 Servlet: 当然,在servlet中,一般跳转都发生在doGet, doPost等方法里面。 一、原理 1) redirect 方式 response.sendRedirect("/a.jsp"); 页面的路径是相对路径。sendRedirect可以将页面跳转到任何页面,不一定局限于本web应用中,如: response.sendRedirect("http://w...

2013-06-21 11:30:45 128

原创 spring之BeanFactoryAware接口(转载)

要直接在自己的代码中读取spring的bean,我们除了根据常用的set外,也可以通过spring的BeanFactoryAware接口实现,只要实现setBeanFactory方法就可以,private BeanFactory beanFactory;public void setBeanFactory(BeanFactory beanFactory)...

2013-06-14 16:25:35 107

原创 解析oracle的rownum(转载)

本人最近在使用oracle的rownum实现分页显示的时候,对rownum做了进一步的分析和研究。现归纳如下,希望能给大家带来收获。 对于rownum来说它是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字段可以用于限制查询返回的总行数,而且rownum不能以任何表的名称作为前缀。 举例说明:例如表:stude...

2013-05-30 16:09:55 127

nginx,apache和tomcat

今天配置nginx+tomcat了解了这么一个东西,nginx转发40000端口并配置证书,访问nginx的时候实际用的url是https://www.aaa.com,tomcat的端口配置成40000,工程里面的端口配置443.实际的访问是这个样子的,nginx解析url转发到40000端口的tomcat上,处理相应url的请求,内部nginx和tomcat用的是http的协议应用里面的端口和协...

2013-05-15 14:16:06 112

原创 tomcat 设置session失效时间(转载)

tomcat 在5.5以后,就没有自带admin项目了,如果要从http://localhost:8080界面进入tomcat管理页面,需要从网上下载对应的 tomcat-admin.zip,举个例子,如果你的tomcat是5.5.30的,需要从http://tomcat.apache.org /download-55.cgi下载(在下载页面的Binary Distributions栏下的第四大项...

2013-04-08 11:45:03 123

原创 web.xml配置详解(转发)

1 定义头和根元素  部署描述符文件就像所有XML文件一样,必须以一个XML头开始。这个头声明可以使用的XML版本并给出文件的字符编码。DOCYTPE声明必须立即出现在此头之后。这个声明告诉服务器适用的servlet规范的版本(如2.2或2.3)并指定管理此文件其余部分内容的语法的DTD(Document Type Definition,文档类型定义)。所有部署描述符文件的顶层(根...

2013-04-03 15:31:41 531

原创 vm虚拟机配置上网

1、用鼠标选中你要设置的虚拟机(有的可能装了了多个),点右键—“设置”—“硬件”—“以太网” 在“网路连接”那项选中“NAT”,点 确定2、点虚拟机菜单栏,也就是左上角的“编辑”,选中“虚拟网络设置”,点“自动桥接”,如果在该选项的小方框里打了勾的,请把勾去掉,没打勾的不用更改;点“DHCP”选择“开始”—“应用”;点“NAT”,再点“启动”—“应用”,最后点击“确定”保存即可,现在启动一下虚...

2012-10-24 11:11:59 133

原创 Windows下为Tomcat配置SSL单向认证

1.使用JDK自带的工具keytool来完成2.进入keytool所在路径:c:\Program Files\Java\jdk1.6.0\bin,执行命令 keytool -genkey -alias tomcat -keyalg RSA -keysize 1024 -validity 365 -keystore tomcat.keystore具体输入的请参照附件。注:ke...

2012-10-23 09:20:07 173

ajax异步请求

今天写了一个ajax的异步请求,遇到了一个无法正确提交的问题,找了半天最后发现是执行顺序的问题;[quote]jQuery.ajax( { type :"POST", url :"$!sslAppServer/account/check_register.htm", dataType :"text", data :{content:content}, succ...

2012-09-05 20:03:42 110

Date相关

[code="java"]package test;import java.util.Date;/** * 日期计算 */public class DataCompare { public static void main(String[]args){ System.out.println(new Date()); System.out.prin...

2012-08-20 16:48:46 91

jquery ui autocomplete

今天用了点jquery ui的autocomplete插件,过程中可谓是遇到了许多问题,坎坎坷坷总算是成功了;具体的实现方法参见"http://jqueryui.com/"。这里面写的很详细,我只说两点注意事项:1.注意jquery ui的版本,新的1.8+的实现方法和以前不同;2.我们多数需要自己组装数据源,可以是本地数据源为本地js数组或本地的json对象;3.形如[code="j...

2012-08-15 18:58:50 110

原创 url链接中文乱码

我在写get方法的时候发现如果链接带有中文参数,传递的时候是乱码.为了解决这个问题我看了下资料,自己配置了下tomcat解决了问题.[quote][/quote]我在server.xml中加了红色的部分解决了问题.什么是 URI 呢?java doc 的说明中如下说明:URI 是统一资源标识符,而 URL 是统一资源定位符。因此,笼统地说,每个 URL 都是 URI,但不一...

2012-07-04 10:53:10 220

java String获取指定值

今天遇到一个问题,如何将一个String类型的变量获取指定位置的值;这里说的是在没有split的情况下,如:String str = "CDZ";如何获取分开的字符;我这里想到的办法是将str转换成StringBuffer进行处理:[code="java"]public class Test { public static void main(String[] args)...

2012-05-31 09:19:58 868

原创 数据库设计思想(转帖)

1. 原始单据与实体之间的关系  可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。  〖例1〗:一份员工履历资料,在人力资源信息系统中,就对应三个基本表...

2012-05-23 21:25:38 245

原创 Ibatis java

Ibatis like写法有两种(以name为例):1. 是 (name like '%$name$%')2. 是用 || 连接字符串的方式,写成 (name like '%' || #name# || '%')但却不能写成 (name like '%'||$name$||'%') ,不然又要出错...

2012-05-17 15:06:30 89

java自定义抛出异常

[code="java"]package test;/** * 异常中定义抛出异常 * @author Administrator * */public class ExceptionThrows { static void exceptionThrow(Boolean a) throws Exception { if (a == false...

2012-04-24 16:39:28 167

原创 字符串组装-将时间转换成String并补足位数

[code="java"]package test;import java.text.NumberFormat;import java.text.SimpleDateFormat;import java.util.Date;/** * 生成编码 * @author Administrator * */public class Test { pu...

2012-04-23 10:29:22 128

java mina iobuffer转换成String

在做crc校验的过程中遇到了iobuffer转换成string的问题,自己找了点资料写了个简单的方法。 package minaUDP;import java.nio.ByteOrder;import java.nio.charset.CharacterCodingException;import org.apache.mina.core.buffer.IoBuffer;...

2012-03-16 10:24:41 475

原创 java 保留小数

今天一个小问题虽然很简单但搞的我很郁闷,所以就写下来。是关于保留小数的问题:[code="java"]import java.math.BigDecimal;/** * 小数保留问题 * @author * test.java, 2012-1-13 上午10:22:55 */public class Test { public static void m...

2012-03-13 16:42:57 112

原创 java ibatis isPropertyAvailable和isEmpty的使用(转载)

isPropertyAvailable和isNotEmpty 这个两个属性非常有用 isPropertyAvailable:入参有这个属性 isNotEmpty:入参的这个属性不为空 入参一般是一个封装了数据的DTO 如果希望一个属性无论为何值都符合条件则使用isPropertyAvailable 如果希望一个属性只是不为空的时候才符合条件就用isNotEmpty 例子如下: <update...

2012-03-05 16:43:29 316

原创 java ant(转载)

[size=large][size=large][/size][size=medium]1,什么是antant是构建工具2,什么是构建概念到处可查到,形象来说,你要把代码从某个地方拿来,编译,再拷贝到某个地方去等等操作,当然不仅与此,但是主要用来干这个3,ant的好处跨平台 --因为ant是使用java实现的,所以它跨平台使用简单--与ant的兄弟make比起来语法...

2012-02-24 15:21:03 106

原创 java 时间计算 时间加减

需要计算得出某个时间之前的几分钟:[code="java"]/** * 计算得出时间 * @param time(格式为HHmmss) * @param minutes * @return */ private String getCurrentTime(String time, int minutes){ ...

2012-02-21 19:07:38 845

spring2.0中文参考手册.chm

完整的spring2.0参考手册Java应用 (从applets的小范围到全套n层服务端企业应用)是一种典型的依赖型应用,它就是由一些互相适当地协作的对象构成的。因此,我们说这些对象间存在依赖关系。 Java语言和java平台在架构应用与建立应用方面,提供着丰富的功能。从非常基础的基本数据类型和Class(即定义新类)组成的程序块,到建立具有丰富的特性的应用服务器和web框架都有着很多的方法。一方面,可以通过抽象的显著特性让基础的程序块组成在一起成为一个连贯的整体。这样,构建一个应用(或者多个应用)的工作就可以交给架构师或者开发人员去做。因此,我们就可以清晰的知道哪些业务需要哪些Classes和对象组成,哪些设计模式可以应用在哪些业务上面。 例如:Factory、Abstract Factory、Builder、Decorator 和 Service Locator 这些模式(列举的只是少数)在软件开发行业被普遍认可和肯定(或许这就是为什么这些模式被定型的原因)。 这固然是件好事,不过这些模式只是一个有名字的,有说明的,知道最好用在什么地方的,解决应用中什么问题的最佳实践而已。 在本章节的最后,用“... 说明 ...”给出了模式说明。 通常,模式书籍与wikis通常都列出了你可以获得的最佳实践,不过,希望你思考之后,在你自己的应用中 实现自己的模式。

2012-09-16

锋利的jquery

有人说:jQuery是毒药,会使人不思进取,放弃原生的JavaScript的学习。不过从我的经验看来,事实并不是这样,笔者正是由于jQuery,才对JavaScript这门语言感兴趣,直至爱上JavaScript。兴趣是最好的老师。现在我时不时会想:这个程序利用jQuery是这么实现,那么利用JavaScript怎么来实现呢。以前,我喜欢用jQuery去改写原生的 JavaScript效果。现在,我更喜欢利用原生的JavaScript来改写jQuery的程序。对我来说,借鉴jQuery的编程思路来编写其它 JavaScript程序已经让我乐此不疲。

2011-09-22

Spring Framework 开发参考手册

即使有好工具和好技术,开发软件仍然是比较困难的。有一些平台,它们包打天下, 但实际上很沉重、难以控制,在开发过程中效率不高,却让开发软件变得更加困难。 Spring为编写企业应用程序提供了轻量的解决方案,同时仍然支持使用声明式事务、 用RMI或web service远程调用、以及使用多种方式来将数据持久化到数据库。

2011-09-08

Linux程序设计

讲述在linux系统及其他unix风格的操作系统上进行的程序开发,主要内容包括标准linux c语言函数库和由不同的linux或unix标准指定的各种工具的使用方法,大多数标准linux开发工具的使用方法,通过dbm和mysql数据库系统对linux中的数据进行存储,为x视窗系统建立图形化用户界面等。本书通过先介绍程序设计理论,再以适当的例子和清晰的解释来阐明它的方式,帮助读者迅速掌握相关知识。.

2011-09-08

Think in java

一本非常好的学习java的书籍,是java程序员和爱好者手中必备的宝典

2011-09-08

Eclipse调试常用技巧

Eclipse调试常用技巧 Eclipse调试常用技巧 Eclipse调试常用技巧

2011-04-16

servlet api

这份文档描述了Java Servlet API的最新版本2.1版。所以,这本书对于Servlet的开发者及servlet引擎的开发者同样适用。 JavaTM servlets 是一个不受平台约束的Java小程序,它可以被用来通过多种方法扩充一个Web服务器的功能。你可以把Servlet理解成Server上的 applets,它被编译成字节码,这样它就可以被动态地载入并用效地扩展主机的处理能力。 Servlet与applets不同的地方是,它不运行在Web浏览器或其他图形化的用户界面上。Servlet通过servlet引擎运行在Web服务器中,以执行请求和响应,请求、响应的典型范例是HTTP协议。

2011-04-14

java设计模式 创建型 构造型 行为型

创建型 创建对象时,不再由我们直接实例化对象;而是根据特定场景,由程序来确定创建对象的方式。如,工厂方法、抽象工厂模式、单例模式等。 构造型 用于帮助将多个对象组织成更大的结构。如,适配器模式、桥接模式、组合器模式等。 行为型 用于帮助系统间对象的通信,以及如何控制复杂系统中的流程。如,命令模式、解释器模式、迭代器模式等。

2011-04-14

空空如也

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

TA关注的人

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