- 浏览: 1783113 次
- 性别:
- 来自: 深圳
最新评论
-
bilimeng:
求教,ConcurrentHashMap不是线程安全的么,为啥 ...
架构师之jdk8-----------------ConcurrentHashMap快速构建本地缓存和单例模式 -
baiducctv5:
wtaisi 写道wtaisi 写道|||||||||
spring aop中的propagation的7种配置的意思 -
zhangdong92:
另外内存泄漏一般也不是指计算时溢出。而是指某些对象已经不再使用 ...
java基础之面试篇三---int,float,long,double取值范围,内存泄露 -
zhangdong92:
Long.MAX_VALUE应该是(2^63)-1,而不是64 ...
java基础之面试篇三---int,float,long,double取值范围,内存泄露 -
nannan408:
java-lxm 写道好湿好湿好湿谢谢: )。
游南巅之晚秋
文章列表
1.最简单的Helloworld.
需要注意的是这个size()也是不同步的,和list一样,要得到需要遍历一次。
import java.util.Queue;
import java.util.concurrent.ConcurrentLinkedQueue;
public class testConcurrentLinkedQueue {
public static void main(String[] args) {
Queue<String> queue=new ConcurrentLinkedQueue<String>();
q ...
Java™ 5.0 第一次让使用 Java 语言开发非阻塞算法成为可能,java.util.concurrent 包充分地利用了这个功能。非阻塞算法属于并发算法,它们可以安全地派生它们的线程,不通过锁定派生,而是通过低级的原子性的硬件原生形式 ...
自Java5以来提供的BlockingQueue是一种特殊的队列, 它 是支持两个附加操作的 Queue,这两个操作是:检索元素时等待队列变为非空,以及存储元素时等待空间变得可用。
以JDK中的例子略加改写如下
1 import java.util.concurrent.ArrayBlockingQueue;
2 import java.util.concurrent.BlockingQueue;
3
4 class Producer implements Runnable {
5 private final BlockingQueue queue;
6
7 Produ ...
1. 为什么要重构
书里,以及网上,都列举了很多理由,但是从我实际角度出发呢,是因为已有的代码写的非常复杂,导致但我们需要增加新功能时,非常麻烦,往往因为结构很复杂,会有不知道怎么下手的感觉。所以如果能够把 ...
字号:大 中 小
Java设计模式之Adaptor适配器。
定义:将两个不兼容的类纠合在一起使用,属于结构型模式,需要有Adaptee(被适配者)和Adaptor(适配器)两个身份.
public interface IRoundPeg{
public void insertIntoHole(String msg);
}
public interface ISquarePeg{
public void insert(String str);
}
下面是新的RoundPeg 和SquarePeg, 除了实现接口这一区别,和上面的没什么区别。
public class Squa ...
开发人员可能听到过"bad smell"这个词,这个词用在软件编码中是什么意思呢? 代码还有smell吗?当然没有,正如计算机病毒,bug等词一样,这只是个形象的说法。这个词在这里的意思是代码实现了需求,但是代码却不精炼,冗余,结构混乱,难读懂,难维护,难扩展等等。与之相对应的一个词是"refactor",即代码重构。我们在看些外国人写的程序时可以发现,他们的代码里一般会定义大量的类、接口、方法,类与类,类与接口之间很多是继承和实现的关系,方法的代码行数很少,超过20行代码的方法不多,看他们的代码感觉最多的就是方法之间的调来调去,不像我们的代码,一个方法下 ...
1.重构要求:
1)安全第一,尤其是关键部分,应先做出一demo,各环节正常测试运行后无缝割接。
周五和下班前提交更要小心,更改后的代码一定要及时放cvs,并在提交时注明修改的地方或原因,告同组的项目组员。
2)重构要先有接口测试,重构后必须保证通过接口测试,因为现在的系统是一个正常运行的系统,如果把未测试通过的代码放服务器,势必会给公司带来损失。
所以要求:小步进行,意思是每做改动,均要测试和可回朔。
3)重构完成后,向服务器提交代码时,需采用更保险的方法,将原文件备份为以***.class.20060809.jeff的文件,不能简单的覆盖, ...
/**********************销售管理系统*************************************/
/*1.创建表*/
/*--状态数据表--*/
create table nanstateInfo(
id number(4) not null primary key,
value varchar2(30),
type number(2)
)
/
begin
insert into nanstateInfo values(1,'已订货',1);
insert into nanstateInfo values(2,'已发货',1);
insert ...
1.假设有两个表,职员表emp(工号eno,姓名ename,工资esal)和津贴表comm(工号eno,津贴ecomm)
要求用游标完成操作:取出职员表中工资大于1000元的记录,将其工资的30%作为津贴插入
津贴表中.
declare
--定义游标;
cursor c is select eno,esal*0.3 from emp where esal>1000;
vno number;
vsal number;
begin
open c;
fetch c into vno,vsal;
whil ...
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_LINE(v_result);
fetch v_cur into v_row;
while v_cur%found
loop
dbms_output.PUT_LINE(v_ro ...
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 void main(String[] args) throws ClassNotFoundException, SQLException {
Class.forName("oracle.jdbc.driver.Or ...
/******************************1.根据部门编号查询部门信息*****************************/
declare
type empcur is ref cursor;
v_cur empcur;
v_type naemp%rowtype;
v_no int;
begin
v_no:=&请输入部门编号;
open v_cur for select * into v_type from naemp where empno=v_no;
fetch v_cur into v_type;
while v_cu ...
/********************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 select * from naemp where empdeptno=30;
fetch v_cur into v_type;
while v_cur%found
loop
v ...
/**********************题目:新建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
loop
insert into nemp values(i,'newEmploee'||i,'养猪',2000);
end loop;
end;
/****************题目:做 ...
/**************题目1:根据编号查部门号*********************/
declare
v_deptno naemp.EMPDEPTNO%type;
v_empno naemp.EMPNO%type;
begin
v_empno:=&请输入雇员编号;
select empdeptno into v_deptno from naemp where empdeptno=v_empno;
if sql%notfound then
dbms_output.PUT_LINE('没有这个雇员');
else
dbms_outpu ...