用代码来模拟铁路售票系统,实现通过四个售票点发售某日某次列车的100张车票,一个售票点用一个线程表示 第一种方法:通过继承Thread类的方法创建线程 package com.Gary1; public class TicketThread extends Thread{ //设置有100张票 private static int count = 100; public TicketThread(String name) { super(name); } @Override public voi…
java开发实战经典 --单例模式 从CSDN以及博客园的相关文章学习的,摘做笔记. “java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例.饿汉式单例.登记式单例. 单例模式有以下特点: 1.单例类只能有一个实例. 2.单例类必须自己创建自己的唯一实例. 3.单例类必须给所有其他对象提供这一实例. 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例.在计算机系统中,线程池.缓存.日志对象.对话框.打印机.显卡的驱动程序对象常被设计成单…
线程:线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务. 进程:进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础. 进程与线程的一个简单解释(阮一峰) 传送门 Java中创建一个线程,方法一:继承Thread类 继承Thread 重写run方法 创建对象,并调用start方法运行 (如果直接调用run方法…
导读:今天看了java里面关于hashmap的相关源码(看了java6和java7),尤其是resize.transfer.put.get这几个方法,突然明白了,为什么我之前考数据结构死活考不过,就差那么一点点.答:代码积累太少了!这段时间,看了java的源码.演变过程等,被虐的很惨,但是,很开心! 本篇文章,主要介绍解决hash算法冲突的方法 一.基本概念 散列表: hash:a mixture of meat, potatoes, and vegetables cut into small…
需求描述 定义一个类,描述订单信息订单id订单所属用户(用户对象)订单所包含的商品(不定数量个商品对象)订单总金额订单应付金额:    总金额500~1000,打折85折    总金额1000~1500,打折80折    总金额1500~2000,打折70折    总金额超过2000,打折65折         在此基础上,还要看用户的vip等级    用户vip等级为:一般会员,则折上折:95    用户vip等级为:中级会员,则折上折:90    用户vip等级为:高级会员,则折上折:80…
一.死锁问题: 死锁是这样一种情形:多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放.由于线程被无限期地阻塞,因此程序不可能正常终止. 比如,线程一需要第一把所,此时锁处于空闲状态,给了线程一,线程二需要第二把所,第二把锁也处于空闲状态,给了线程二,这样是没问题的. 但是,当线程一需要第一把所,线程二需要第二把所后未归还,线程一又需要第二把锁,此时线程一就会一直等待线程二将锁归还,可线程二还是需要线程一的锁,也处于等待的状态,因此,线程一和线程二都保持循环等待,两个线程都无法做完事…
什么是泛型 泛型是提供给javac编译器使用的,可以限定集合中的输入类型,让编译器挡住源程序中的非法输入,编译器编译带类型说明的集合时会去除掉"类型"信息,是程序的运行效率不受影响,对于参数化的泛型类型,getClass()方法返回值和原始类型完全一样.由于编译生成的字节码会擦除泛型的类型信息,只要能跳过编译器,就可以往某个泛型集合中加入其它类型的数据,例如,用反射得到集合,然后再调用add()方法即可 GenericDemo.java public class GenericDemo…
List接口继承了Collection的方法  当然也有自己特有的方法向指定位置添加元素   add(索引,添加的元素); 移除指定索引的元素   remove(索引) 修改指定索引的元素   set(索引,修改的元素) package com.List集合; import java.util.ArrayList; import java.util.List; public class Demo01 { public static void main(String[] args) { /* *…
Java基本语法 一:关键字 在Java中有特殊含义的单词(50). 二:标志符 类名,函数名,变量名的名字的统称. 命名规则: 可以是字母,数字,下划线,$. 不能以数字开头. 见名之意. 驼峰规则. 三:基本数据类型 整数: byte--1个字节 short--2个字节 int--4个字节 long--8个字节 浮点数: float--4个字节 double--8个字节 boolean: true false 字符: char 1个字节 1 byte(字节) = 8 bit (位) 四:数据…
JVM虚拟机默认异常处理机制 Java异常处理: 1.try...catch... 2.throw 1.try...catch... public class test{ public static void main(String[] args) { System.out.println("开始"); method(); System.out.println("结束"); } public static void method(){ int[] arr={1,2,…