摘要: package com.guigu.test14; public class Test14 { public static void main(String[] args) { FoodTable f = new FoodTable(); Cook c = new Cook("厨子",f); Wai 阅读全文
posted @ 2020-09-12 16:02 窦云鹏 阅读(129) 评论(0) 推荐(0) 编辑
摘要: package com.atguigu.test13; /* * 死锁: * 两个线程,互相持有,占有对方想要的锁,不放手。 */ public class TestDeadLock { public static void main(String[] args) { Object g = new 阅读全文
posted @ 2020-09-12 14:30 窦云鹏 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 程序最终都将在内存中执行,变量只有在内存中占有一席之地时才能被访问。 类的静态成员(变量和方法)属于类本身,在类加载的时候就会分配内存,可以通过类名直接去访问;非静态成员(变量和方法)属于类的对象,所以只有在类的对象产生(创建类的实例)时才会分配内存,然后通过类的对象(实例)去访问。 在一个类的静态 阅读全文
posted @ 2020-09-12 11:51 窦云鹏 阅读(457) 评论(0) 推荐(0) 编辑
摘要: package com.atguigu.test11; /* * 同步方法的语法格式: * 【修饰符】 synchronized 返回值类型 方法名(【形参列表】)throws 异常列表{ * } * * synchronized 【修饰符】 返回值类型 方法名(【形参列表】)throws 异常列表 阅读全文
posted @ 2020-09-12 11:13 窦云鹏 阅读(121) 评论(0) 推荐(0) 编辑
摘要: package com.atguigu.test09; /* * 举例:卖票 * 假设,有10张票,分三个窗口同时卖 * * 1、线程安全问题: * 当多个线程使用“共享数据”时,就会有线程安全问题。 * 当一个线程修改了“共享数据”,是会影响其他线程。 * * 2、如何解决? * 加锁 * * 形 阅读全文
posted @ 2020-09-12 10:04 窦云鹏 阅读(148) 评论(0) 推荐(0) 编辑