自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(13)
  • 资源 (6)
  • 收藏
  • 关注

原创 同步静态方法与同步非静态方法

可参考 http://blog.sina.com.cn/s/blog_870def820102vshl.html同步方法: 1):同步静态方法:某个类Object中的某个静态方法staticMethod加上同步锁之后,当某个线程Thread调用staticMethod时该线程会获取Object类的锁(当前Object的锁没被其它线程获取时,若当前Object锁被其它锁获取则会进行等待。),此时其

2016-03-31 20:18:36 1054

原创 简单工厂,工厂方法

可参考的资料: http://www.cnblogs.com/zhangchenliang/p/3700820.html 1. 简单工厂 它由三种角色组成: 工厂类角色:这是本模式的核心,含有一定的商业逻辑和判断逻辑,根据逻辑不同,产生具体的工厂产品。 抽象产品角色:它一般是具体产品继承的父类或者实现的接口。由接口或者抽象类来实现。 具体产品角色:工厂类所创建的对象就是此角色的实例。在

2016-03-31 16:20:37 187

原创 HashMap原理

1. JDK1.6中的HashMap详解网上资料很多比较好的有 链接1 http://alex09.iteye.com/blog/539545/http://www.cnblogs.com/xwdreamer/archive/2012/05/14/2499339.html 2. JDK1.8 http://www.2cto.com/kf/201505/401433.html http:

2016-03-30 17:15:25 236

转载 javaScript事件查询

javascript事件查询综合 click() 对象.click() 使对象被点击。 closed 对象.closed 对象窗口是否已关闭true/false clearTimeout(对象) 清除已设置的setTimeout对象 clearInterval(对象) 清除已设置的setInterval对象 confirm(“提示信息”) 弹出确认框,确定返回true取消返

2016-03-29 20:23:21 189

原创 java之重载和重写

方法的重写规则参数列表必须完全与被重写方法的相同;返回类型必须完全与被重写方法的返回类型相同;访问权限不能比父类中被重写的方法的访问权限限制更高。例如:如果父类的一个方法被声明为public,那么在子类中重写该方法就不能声明为protected。父类的成员方法只能被它的子类重写。声明为final的方法不能被重写。声明为static的方法不能被重写,但是能够被再次声明。子类和父类在同一个

2016-03-29 09:55:12 244

原创 java类加载常见的几种问题理解类加载机制

类加载过程中的相关概念详见- http://m.myexception.cn/program/1602930.html 理解类加载过程的5步。 Round1: 首先请理解如下代码:class X{ Y y=new Y(); public X(){ System.out.print("X"); }}class Y{ public Y(){

2016-03-24 12:08:42 2270

原创 排序之插入排序java版

public class InsertSort { public static void insertSort(int []arr){ int i=0,j=0; //欲插入数据变量 int insertNode; int index=arr.length; //依次插入数据 for(i=1;i<i

2016-03-18 12:14:09 312

原创 排序之归并排序java版

public class MergeSort { //合并 public static int[] merge(int low,int middle,int high,int []array){ int arrLength=array.length; int []tempArr=new int[arrLength]; //要合并的左右两半

2016-03-18 11:49:30 225

原创 排序之堆排序java版

public class HeapSort { public static void percolate_down(int data[],int r,int n){ int c=2*r; while(c<=n){ if(c<n&&data[c]<data[c+1]){ c++; }

2016-03-18 11:39:48 218

原创 排序之快速排序java版

比较好理解的方法 public static void quickSort(int[] a, int left, int right){ int index=partition(a,left,right); //排序左半部分 if(left<index-1){ quickSort(a,left,i

2016-03-18 10:12:55 237

原创 排序之冒泡java版

冒泡排序 public static int[] bubbleSort(int []data){ //循环变量 int i,j,k; int temp; //外层扫描的次数 for(j=data.length;j>1;j--){ //内层比较 f

2016-03-18 10:05:47 254

原创 单例模式之Java实现

单例的饿汉模式和懒汉,线程安全的懒汉

2016-03-17 11:18:07 265

原创 Mybatis中怎么将sql语句打印到控制台

import java.util.Properties;import org.apache.ibatis.executor.Executor;import org.apache.ibatis.mapping.BoundSql;import org.apache.ibatis.mapping.MappedStatement;import org.apache.ibatis.plugin.I

2016-03-10 20:26:17 1099

并行计算 陈国良

并行算法的设计与分析, 陈国良, 3ed, 2009 并行计算书 学习并行计算的基础书记

2015-01-21

四种设计模式

组合模式、观察者模式、抽象工厂、工厂方法设计模式简介

2014-12-12

课程设计报告

实验题目:纸牌游戏 编号为1~52张牌,正面向上,从第二张开始,以2为基数,是2的倍数的牌翻一次,直到最后一张牌;然后从第三张牌开始,以3为基数,是3的倍数的牌翻一次,直到最后一张牌;直到以52为基数的翻过,输出:这时输出正面向上的牌有哪些?

2012-09-12

操作系统设计

实验题目: 基于死锁避免动态策略的资源分配银行家算法的模拟实现 问题解析(对问题的分析、理解和解题方法): 对问题的分析: 并发进程共享系统时如处理不当可能发生死锁。要防止死锁的发生,必须保证系统状态是合理的。有效的避免死锁的算法必须能预见将来可能发生的事情的模式,以便在死锁发生之前就能察觉出它们潜在的危险的存在。这种预见类型的算法的代表是Dijkstra 提出法银行家算法。 银行家算法是一种最有代表性的避免死锁的算法。在避免死锁方法中允许进程动态地申请资源,但系统进行资源分配之前,应先计算此次分配资源的安全性,若分配不会导致系统进入不安全状态,则分配,否则等待。 对问题的理解和解决: 操作系统按照一定的规则为进程分配资源,当某个进程申请资源时,首先要测试该进程对资源的需求量是否与最大需求量冲突,如果超出最大需求量,则不予分配。其次如果系统的可用资源能满足当前的进程的需求,则尝试性的分配,并接下来今年进入安全性检查。 否则不予分配。 如果进入安全性检查,在为进程分配资源,当进程首次申请资源时,要测试该进程对资源的最大需求量,如果系统现存的资源可以满足它的最大需求量则按当前的申请量分配资源,并释放所占用的资源。否则就推迟分配。进入下个进程的资源申请。直到所有的进程都能合理的分配资源并结束。则安全性检查通过。系统处于安全的状态。否则若有进程无法完成,始终无法获得所需的资源,即检查出潜在的死锁。此时系统处于不安全的状态。 处于不安全的状态的进程资源申请因当驳回。并恢复分配前的状态。

2012-09-12

死锁检测算法

#include using namespace std; const int M = 3; const int N = 5; int Ava[M] = {3, 3, 2}; int All[N][M] = {{0,1,0},{2,0,0},{3,0,2},{2,1,1},{0,0,2}}; int Nee[N][M] = {{7,4,3},{1,2,2},{6,0,0},{0,1,1},{4,3,1}}; int work[N+1][M] = {{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}}; int flag[N][2] = {{0,0},{0,0},{0,0},{0,0},{0,0}}; int count = 0; void Safe(int num); int main() { int num = 0; for (int k = 0; k < M; ++k) { work[num][k] = Ava[k]; } Safe(num); cout << "total: " << count; system&#40;"pause"&#41;; return 0; } void Safe(int num) { if (num == N) { count++; for (int m = 0; m < N; ++m) { cout << flag[m][1] << " "; } cout << endl; }

2012-09-05

空空如也

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

TA关注的人

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