- 浏览: 80344 次
- 性别:
- 来自: 成都
文章列表
所谓死锁: 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。 由于资源占用是互斥的,当某个进程提出申请资源后,使得有关进程在无外力协助下,永远分配不到必需的资源而无法继续运行,这就产生了一种特殊现象死锁。
(1)产生死锁的必要条件
虽然进程在运行过程中,可能发生死锁,但死锁的发生也必须具备一定的条件,死锁的发生必须具备以下四个必要条件。<1> 互斥条件:指进程对所分配到的资源进行排它性使用,即在一段时间内某资源只由一个 ...
题目:用1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列,如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连。
答案:如下所示:
import java.util.Set;
import java.util.TreeSet;
/**
* 让字符串的所有位置进行互换
* @author jefferent@tom.com
*
* Time: 2011-8-25 下午02:46:07
*/
public class Tes ...
题目:Fibonacci数列的递归和非递归解法。
解答: 如下所示:
/**
* @author jefferent@tom.com
*
* Time: 2011-8-25 下午01:52:10
*/
public class Test4 {
public static void main(String[] args) {
Test4 test = new Test4();
for(int i=1; i<50; i++){
System.out.print(test.getFactorial(i) + &quo ...
题目: 把一个数组里的数组全部列出,比如1和2列出来为1,2,12,21,。
解答: 如下所示
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
/**
* @author jefferent@tom.com
*
* Time: 2011-8-25 下午01:21:23
*/
public class Test3 {
public static void main(String[] args) {
String[] a ...
题目:金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)->(一千零一拾一元整)输出。
public class RenMingBi {
/** * @param args add by zxx ,Nov 29, 2008 */
private static final char[] data = new char[] { '零', '壹', '贰', '叁', '肆',
'伍', '陆', '柒', '捌', '玖' };
private static final char[] units = new char[] { '元', '拾', '佰 ...
设计模式(12)——代理模式
- 博客分类:
- 设计模式
1. 定义
代理模式:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 代理模式一般涉及到三个角色:
抽象角色:声明真实对象和代理对象的共同接口;
代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都能代替真实对象。同时,代理对象可以在执行真实对象操作时,附加其他的操作,相当于对真实对象进行封装。
真实角色:代理角色所代表的真实对象,是我们最终要引用的对象。
2. 类图及描述
图 代理 ...
LinkServer
- 博客分类:
- 数据库
LinkServer:简单的说就是跨服务器之间的数据交互。情景如下:服务器A,IP:192.168.1.10,服务器B,IP:192.168.2.10。现在要使在服务器A上使用服务器B上面的数据库服务,LinkServer就是这个桥梁。废话不多说,SQL命令如下(当然你可以可视化工具:Microsoft SQL Server Management Studio):
连接到服务器A,在服务器A上面进行操作,当然服务器A必须能访问到服务器B,不是本机,跟本机的无关!!!
(1)创建一个链接的服务器
use masterexec sp_addlinkedserver @serve ...
SQL SELECT DISTINCT 语句
- 博客分类:
- 数据库
SQL SELECT DISTINCT 语句
在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。
关键词 DISTINCT 用于返回唯一不同的值。
语法:
SELECT DISTINCT 列名称 FROM 表名称
使用 DISTINCT 关键词
如果要从 "Company" 列中选取所有的值,我们需要使用 SELECT 语句:
SELECT Company FROM Orders
"Orders"表:
结果:
请注意,在结果集中,W3School 被列出了两次。
如需 ...
SQL Union和SQL Union All用法
- 博客分类:
- 数据库
SQL UNION 操作符
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
SQL UNION 语法SELECT column_name(s) FROM table_name1UNIONSELECT column_name(s) FROM table_name2
注释:默认地,UNION 操作符选取不同的值,即UNION是去了重的。如果允许重复的值,请使用 UNION ALL。
SQL UNION ALL 语 ...
设计模式(11)——状态模式
- 博客分类:
- 设计模式
1. 定义
状态模式:允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。
要点:
(1)策略模式和状态模式是双胞胎,它们有相同的类图,但是它们的意图不同。策略模式是围绕可以互换的算法 ...
设计模式(10)——组合模式
- 博客分类:
- 设计模式
1. 定义
组合模式:将对象组织到树结构中,可以用来描述整体与部分的关系。组合模式可以使客户端将单纯元素与复合元素同等看待。
要点:
(1) 组合模式以不遵守单一责任原则换取透明性,让Client将组合和叶节点一视同仁。
(2) 在实现组合模式时,有很多设计上的折衷。要根据需求平衡透明性和安全性。
(3) 有时候系统需要遍历一个树枝构件的子构件很多次,这时候可以把遍历结果缓存起来。
(4)组合模式的实现中,可以让子对象持有父对象的引用进行反向追溯。
2. 类图及描述
组合模式涉及到三个角色:
抽象 ...
设计模式(9)——迭代器模式
- 博客分类:
- 设计模式
1. 定义
迭代器模式:提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节。
2. 类图及描述
迭代器模式由以下角色组成:
1) 迭代器角色(Iterator):迭代器角色负责定义 ...
java笔试题套题(1)
- 博客分类:
- 笔试题
数据库:(1)举例说明Dynamic SQL的原理及应用?
答:嵌入式SQL语句为编程提供了一定的灵活性,使用户可以在程序运行过程中根据实际需要输入WHERE子句或HAVING子句中某些变量的值。这些SQL语句的共同特点是,语句中主变 ...
设计模式(8)——模板方法模式
- 博客分类:
- 设计模式
1. 定义
模板方法模式-在一个方法中定义了一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。
2. 类图及描述
图 模板方法模式类图
3. 应用场景及优缺点
模板方法模式中的方法:
模板方法:定义在AbstractClass中,形成算法的骨架
基本方法:
1. Abstract Method:由子类具体实现,完成具体的算法步骤。
2. Concrete Method:抽象类实现的final方法,子类不能override。
3. Hoo ...
设计模式(7)——适配器模式和外观模式
- 博客分类:
- 设计模式
1. 定义
假设已有一个软件系统,你希望它能和一个新的厂商类库搭配使用,但是这个新厂商所设计出来的接口,不同于旧厂商的接口。如果你不想改变现有的代码,也不能改变厂商的代码,那么你该如何解决这个问题。方 ...