- 浏览: 41874 次
- 性别:
- 来自: 杭州
最新评论
文章列表
线程安全与不安全的实例
- 博客分类:
- java
package com.xiancheng;
import java.util.ArrayList;
import java.util.Vector;
public class synchronizedCollectionTest {
static ArrayList al = new ArrayList(20);
static Vector vt = new Vector();
public static void main(String[] args) throws Exception {
Thread threa ...
设计模式--创建者--抽象工厂模式
- 博客分类:
- 设计模式
1.抽象工厂(Creator)角色 (FruitFactory.java) 抽象工厂模式的核心,包含对多个产品结构的声明,任何工厂类都必须实现这个接口。
2.具体工厂( Concrete Creator)角色(WenshiFruitFactory.java, SouthFruitFactory.java, NorthFruitFactory.java) 具体工厂类是抽象工厂的一个实现,负责实例化某个产品族中的产品对象。
3.抽象(Product)角色 (Fruit.java) 抽象模式所创建的所有对象的父类,它负责描述所有实例所共有的公共接口。
4.具体产品(Concrete Produc ...
java线程安全例子
- 博客分类:
- java
public class Test {
public static void main(String[] args) {
Runnable runnable = new Runnable() {
public void run() {
synchronized(this){
for (int i = 0; i < 10; i++) {
System.out.print(Thread.currentThread().getName()+"**"+i+"**");
}
System ...
Spring事务的传播行为和隔离级别
- 博客分类:
- spring
Spring事务的传播行为
PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。
PROPAGATION_SUPPORTS--支持当前事务,如果当前没有事务,就以非事务方式执行。
PROPAGATION_MANDATORY--支持当前事务,如果当前没有事务,就抛出异常。
PROPAGATION_REQUIRES_NEW--新建事务,如果当前存在事务,把当前事务挂起。
PROPAGATION_NOT_SUPPORTED--以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
PROPAGATION_NEVER--以非事务方 ...
Spring Bean的作用域
- 博客分类:
- spring
singleton
在每个Spring IoC容器中一个bean定义对应一个对象实例。
prototype
一个bean定义对应多个对象实例。
request
在一次HTTP请求中,一个bean定义对应一个实例;即每次HTTP请求将会有各自的bean实例, 它们依据某个bean定义创建而成。该作用域仅在基于web的Spring ApplicationContext情形下有效。
session
在一个HTTP Session中,一个bean定义对应一个实例。该作用域仅在基于web的Spring ApplicationContext情形下有效。
global sess ...
设计模式--创建者--工厂模式
- 博客分类:
- 设计模式
解决问题:
当客户需要手机 而不知道需要什么类型的手机
就是对某一类需求,而不知道具体需求,用工厂模式可以做到灵活的满足需求,按照客户的需要
生产出对应的各种类型的手机
public interface Phone {
public void jieDianhua();
public void daDianhua();
}
public class MotoPhone implements Phone{
@Override
public void daDianhua() {
// TODO Auto-generated method ...
SCM系统的两点重要要求
- 博客分类:
- SCM
SCM特别是WMS两个基本要求:
1.精确 精确要保证系统精细到每一笔业务不能出错,出错意味着账不符合,可能意味着损失
1.1 流水账 精确意味着每一笔对应每一单,显示谁操作操作时间,特别是针对货物在每个节点的状况
2.高效 高效意味着每个利用系统的操作人员以最快的速度要完成自己岗位所涉及到的业务
jquery获得jsp input信息
- 博客分类:
- jquery
<input type="hidden" id="productinfopass" value="pass"></input>
$('#productinfopass').val()
mysql查询结果截取
- 博客分类:
- mysql
left(p.ProductNameConcat,8) 从左侧开始截取8个字符
jsp
<select id="AreaValues" onchange="AreaTypeChange()" style="width:100px;">
<option value="-1">--</option>
</select>
<select id="TypeValues">
<option valu ...
oracle ||
mysql concat
concat(cast(cso.ShipOrderID as char),cast(cso.CSOStatus as char)) 如果concat其中的字段是char或者varchar不需要转化
ibatis传入多个参数
- 博客分类:
- ibatis
一般情况下,我们用ibatis都是传入一个参数,这个参数可以为一个类,一个字符串,一个整型等等,例如:
<select id="selectpw" parameterClass="String" resultClass="String">
select pwd from userinfo
where userid=#userid#
</select>
在方法体里可以用:password = (String)sqlMapClient. ...
返回到上一页面 保留数据
- 博客分类:
- jsp
<input type="button" value="确定" onclick="window.history.go(-1)"/>
struts读取值和EL
- 博客分类:
- struts2
<s:property value="productid"/>
||
${productid}
1.编辑tld文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
"http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<!-- a tag library descriptor -->
<taglib& ...