继续以卖票为例
一、线程安全问题的解决
同步的第一种表现形式:同步代码块
思路:
将多条操作共享数据的线程代码封装起来,当有线程在执行这些代码的时候,其他线程是不允许参与运算的,必须要当期线程把代码执行完毕后,其他线程才可以参与运算
在java中用同步代码块解决这个问题
同步代码块格式:
synchronized(对象)
{
需要被同步的代码部分
}
clas...
分类:
编程语言 时间:
2014-10-10 01:17:43
阅读次数:
457
一、多线程下的单例设计模式
利用双重判断的形式解决懒汉式的安全问题和效率问题
//饿汉式
/*class Single
{
private static final Single t = new Single();
private Single(){}
public static Single getInstance()
{
return t;
}
}
*/
//懒汉式...
分类:
编程语言 时间:
2014-10-10 00:56:53
阅读次数:
271
当一个类有父亲,但是其中的功能还希望实现线程,那么就不能采用继承Thread的方式创建线程
那么就可以通过接口的方式完成
准备扩展Demo类的功能,让其中的内容可以作为线程的任务执行
实现Runnable接口,Runnable接口中只有一个方法run
一、创建线程的第二种方法
/*
* 创建线程的第二种方法
* 1.定义类实现Runnable接口
* 2.覆盖接口...
分类:
编程语言 时间:
2014-10-09 23:47:18
阅读次数:
319
转载自http://blog.csdn.net/hcbbt/article/details/11817697第一步、下载到官网下载jdk,在Java SE Development Kit 7uXX里面,把Accept License Agreement打勾,这样才能下载jdk,然后我们选择对应的Ub...
分类:
编程语言 时间:
2014-10-09 14:28:53
阅读次数:
249
什么是JDK?http://baike.baidu.com/subview/25214/5047948.htm?fr=aladdinJava经典入门教程(环境说明)http://wenku.baidu.com/link?url=IoWI58cD5vzeHN-NL4pN7Gren-RfzydrhjDl...
分类:
编程语言 时间:
2014-10-09 02:38:07
阅读次数:
195
1.二维数组,即一维护int[][] arr1 = new int[3][2]; int[][] arr2 ={{2,4,3,6,22,7},{3,6,8,9},{10,13,24,5}}; public static void showArray(int arr[][]){ fo...
分类:
编程语言 时间:
2014-10-09 02:24:47
阅读次数:
208
1.如何定义一个功能,并通过函数(方法)体现出来呢? 1)明确改功能运算后的结果。确定函数的返回值类型。 2)明确在实现该功能的过程中是否有未知内容参与运算。确定参数列表。2.函数重载:在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同,就 是重载函数。 重载和函数的返回类...
分类:
编程语言 时间:
2014-10-09 02:20:47
阅读次数:
232
1.Java JDK:简称为java开发工具集2.下载JDK后安装,可以下载绿色版本,即不用安装,直接将其放在磁盘根目录 如:C:\Java\jdk1.6.0_103.在任意磁盘路径下都可以编译:cmd窗口下,set path=C:\Java\jdk1.6.0_10\bin 测试方法:cmd窗口下,...
分类:
编程语言 时间:
2014-10-09 01:29:07
阅读次数:
239
1.static关键字 特点:1)随着类的加载而加载 2)优先于对象存在 3)被所有对象所共享 4)可以直接被类名调用(类名.静态成员) 注意:静态方法只能访问静态成员。 非静态方法可以访问静态成员和非静态成员。 静态方法中,不可以出现this,super关键字。 静态代码块: 1)随着类的加载而执...
分类:
编程语言 时间:
2014-10-09 01:07:47
阅读次数:
141