自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Arraylist的同步

vector 是同步的,ArrayList是非同步的,可以做同步处理,同步后两者的性能不好说。 注意,如果多个线程对同一个List操作,可能会把不同对象放置到同一个位置,所以需要对这个List同步,方法是 synchronized(arraylistA) { arraylistA.add(new SomeClass()); } 当然还有一个巧妙得方法,就是利用 ...

2010-02-26 10:40:28 719

java静态变量使用场景分析

静态变量 在程序运行期间,类中的静态变量其内存空间对所有该类的实例是共享的,因此在某些时候,为了节省内存空间开销,共享资源, 我们可以将类中的变量声明为静态变量。 但是因为静态变量生命周期太长,并且不易被系统回收,所有如果使用不合理,就会适得其反,从而造成大量内存的浪费。 因此建议在全部符合下列条件的情况下才使用静态变量: (1)变量所包含的对象体积较大,占用内存较多 (2...

2010-02-24 21:00:22 283

原创 java原子化结点结合非阻塞思想以实现链表式队列的插入(可做无阻塞队列使用)...

import java.util.concurrent.atomic.AtomicReference; public class LinkedQueue { /** * 定义一个原子化结点结构体 */ private static class Node { final E item; final AtomicReference next; Node(...

2010-02-20 02:05:34 140

原创 jdk1.5后增加的线程安全的队列ConcurrentLinkedQueue的用法

1.最简单的Helloworld. 需要注意的是这个size()也是不同步的,和list一样,要得到需要遍历一次。 import java.util.Queue; import java.util.concurrent.ConcurrentLinkedQueue; public class testConcurrentLinkedQueue { public static...

2010-02-20 01:23:18 81

原创 java非阻塞算法(重要)

Java™ 5.0 第一次让使用 Java 语言开发非阻塞算法成为可能,java.util.concurrent 包充分地利用了这个功能。非阻塞算法属于并发算法,它们可以安全地派生它们的线程,不通过锁定派生,而是通过低级的原子性的硬件原生形式 —— 例如比较和交换。非阻塞算法的设计与实现极为困难,但是它们能够提供更好的吞吐率,对生存问题(例如死锁和优先级反转)也能提供更好的防御。在本文...

2010-02-19 18:47:43 71

原创 阻塞队列和生产者-消费者模式 (引用)

自Java5以来提供的BlockingQueue是一种特殊的队列, 它 是支持两个附加操作的 Queue,这两个操作是:检索元素时等待队列变为非空,以及存储元素时等待空间变得可用。 以JDK中的例子略加改写如下 1 import java.util.concurrent.ArrayBlockingQueue; 2 import java.util.concurrent.Blockin...

2010-02-19 18:37:12 75

原创 重构----改善既有代码的设计(引用)

1. 为什么要重构 书里,以及网上,都列举了很多理由,但是从我实际角度出发呢,是因为已有的代码写的非常复杂,导致但我们需要增加新功能时,非常麻烦,往往因为结构很复杂,会有不知道怎么下手的感觉。所以如果能够把代码组织得结构良好,会大大方便我们的工作。另外,结构复杂的代码中隐藏了很多bug,现在的状况是往往要等到用户报告bug我们再赶紧修正,这对哪一方都很不好,特别是从我的角度来说,显得很被动。希望...

2010-02-19 14:33:28 70

原创 Java设计模式之Adaptor适配器(引用)

字号:大 中 小 Java设计模式之Adaptor适配器。 定义:将两个不兼容的类纠合在一起使用,属于结构型模式,需要有Adaptee(被适配者)和Adaptor(适配器)两个身份. public interface IRoundPeg{   public void insertIntoHole(String msg); } public interface ISq...

2010-02-19 14:27:13 139

原创 代码重构之浅谈代码重构(引用)

开发人员可能听到过"bad smell"这个词,这个词用在软件编码中是什么意思呢? 代码还有smell吗?当然没有,正如计算机病毒,bug等词一样,这只是个形象的说法。这个词在这里的意思是代码实现了需求,但是代码却不精炼,冗余,结构混乱,难读懂,难维护,难扩展等等。与之相对应的一个词是"refactor",即代码重构。我们在看些外国人写的程序时可以发现,他们的代码里一般会定义大量的类、接口、方法,...

2010-02-19 13:54:06 98

原创 代码重构经验1(引用)

1.重构要求: 1)安全第一,尤其是关键部分,应先做出一demo,各环节正常测试运行后无缝割接。 周五和下班前提交更要小心,更改后的代码一定要及时放cvs,并在提交时注明修改的地方或原因,告同组的项目组员。 2)重构要先有接口测试,重构后必须保证通过接口测试,因为现在的系统是一个正常运行的系统,如果把未测试通过的代码放服务器,势必会给公司带来损失。 ...

2010-02-19 13:41:04 191

原创 销售管理系统全过程

/**********************销售管理系统*************************************/ /*1.创建表*/ /*--状态数据表--*/ create table nanstateInfo( id number(4) not null primary key, value varchar2(30), type number(2)...

2010-02-11 01:03:53 242

原创 oracle我以前的资料(一些基本存储过程)

1.假设有两个表,职员表emp(工号eno,姓名ename,工资esal)和津贴表comm(工号eno,津贴ecomm) 要求用游标完成操作:取出职员表中工资大于1000元的记录,将其工资的30%作为津贴插入 津贴表中. declare --定义游标; cursor c is select eno,esal*0.3 from emp where esal>1...

2010-02-11 00:58:00 106

原创 如何在oracle中接收游标变量并得到值

declare v_result number; type v_cursor is ref cursor; v_cur v_cursor; v_row nanProductInfo%rowtype; begin OperaToNanInfo.DORESEARCH(v_result,v_cur); dbms_output.PUT_LIN...

2010-02-11 00:51:54 377

原创 oracle我以前的资料3.1(如何插入一条数据)

package com.weixun.ljn; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class Test { public static voi...

2010-02-11 00:40:06 81

原创 oracle我以前的资料2.2

/******************************1.根据部门编号查询部门信息*****************************/ declare type empcur is ref cursor; v_cur empcur; v_type naemp%rowtype; v_no int; begin v_no:=&请输入部门编号; o...

2010-02-11 00:38:17 73

原创 oracle我以前的资料2.1

/********************1用循环计算工资总和******************************/ declare type emp_cur is ref cursor; v_cur emp_cur; v_type naemp%rowtype; v_sum naemp.EMPSAL%type; begin open v_cur for s...

2010-02-11 00:37:29 68

原创 oracle我以前的资料1.2

/**********************题目:新建10个用户***************/ declare no_max number; begin select max(empno) into no_max from nemp; dbms_output.PUT_LINE(no_max); for i in no_max..no_max+9 ...

2010-02-11 00:34:48 85

原创 oracle我以前的资料1.1

/**************题目1:根据编号查部门号*********************/ declare v_deptno naemp.EMPDEPTNO%type; v_empno naemp.EMPNO%type; begin v_empno:=&请输入雇员编号; select empdeptno into v_deptno from naemp whe...

2010-02-11 00:33:33 74

原创 java队列,很实用,很重要

http://www.iteye.com/topic/519260 有优先级的 http://jiangzhengjun.iteye.com/blog/565275 上面说的比较散乱,用ConcurrentLinkedQueue来做比较好,线程安全的。 package test; import java.util.PriorityQueue; import java.util.co...

2010-02-09 00:58:57 65

空空如也

空空如也

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

TA关注的人

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