09 2020 档案

摘要:package com.atguigu.java2; import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.FutureTask; 阅读全文
posted @ 2020-09-05 21:28 Light光音 阅读(131) 评论(0) 推荐(0) 编辑
摘要:package com.atguigu.java2; /** * 线程通信的例子:使用两个线程打印 1-100。线程1, 线程2 交替打印 * * 涉及到的三个方法: * wait():一旦执行此方法,当前线程就进入阻塞状态,并释放同步监视器。 其他线程就可以拿到同步监视器进入同步代码块 * not 阅读全文
posted @ 2020-09-05 21:26 Light光音 阅读(104) 评论(0) 推荐(0) 编辑
摘要:package com.atguigu.java1; import java.util.concurrent.locks.ReentrantLock; /** * 解决线程安全问题的方式三:Lock锁 JDK5.0新增 注意:如果用继承的方式,就要把lock加一个静态: private static 阅读全文
posted @ 2020-09-05 21:19 Light光音 阅读(159) 评论(0) 推荐(0) 编辑
摘要:/** * 使用同步机制将单例模式中的懒汉式改写为线程安全的 */public class BankTest { } class Bank{ private Bank(){} private static Bank instance = null; public static Bank getIns 阅读全文
posted @ 2020-09-05 21:14 Light光音 阅读(147) 评论(0) 推荐(0) 编辑
摘要:package com.atguigu.java; /** * 例子:创建三个窗口卖票,总票数为100张.使用实现Runnable接口的方式 (用继承的方式抢票看test2的代码) * * 1.问题:卖票过程中,出现了重票、错票 -->出现了线程的安全问题 * 2.问题出现的原因:当某个线程操作车票 阅读全文
posted @ 2020-09-05 21:11 Light光音 阅读(121) 评论(0) 推荐(0) 编辑
摘要:/** * 创建多线程的方式二:实现Runnable接口 * 1. 创建一个实现了Runnable接口的类 * 2. 实现类去实现Runnable中的抽象方法:run() * 3. 创建实现类的对象 * 4. 将此对象作为参数传递到Thread类的构造器中,创建Thread类的对象 * 5. 通过T 阅读全文
posted @ 2020-09-05 21:08 Light光音 阅读(143) 评论(0) 推荐(0) 编辑
摘要:程序(program)是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。 进程(process)是程序的一次执行过程,或是正在运行的一个程序。是一个动态 的过程:有它自身的产生、存在和消亡的过程。——生命周期 如:运行中的QQ,运行中的MP3播放器 程序是静态的,进程是 阅读全文
posted @ 2020-09-05 21:02 Light光音 阅读(89) 评论(0) 推荐(0) 编辑
摘要:动态代理: package com.atguigu.java; import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy; * 动态代理的举例 这 阅读全文
posted @ 2020-09-04 10:45 Light光音 阅读(94) 评论(0) 推荐(0) 编辑
摘要:父类: package com.atguigu.java1; import java.io.Serializable; /** * @author shkstart * @create 2019 下午 3:12 */public class Creature<T> implements Serial 阅读全文
posted @ 2020-09-04 10:43 Light光音 阅读(102) 评论(0) 推荐(0) 编辑
摘要:package com.atguigu.java; import org.junit.Test; import java.lang.annotation.ElementType;import java.lang.reflect.Constructor;import java.lang.reflect 阅读全文
posted @ 2020-09-04 10:21 Light光音 阅读(110) 评论(0) 推荐(0) 编辑
摘要:/** * 1. Set接口的框架: * * | Collection接口:单列集合,用来存储一个一个的对象 * | Set接口:存储无序的、不可重复的数据 -->高中讲的“集合” * | HashSet:作为Set接口的主要实现类;线程不安全的;可以存储null值 * | LinkedHashSe 阅读全文
posted @ 2020-09-04 10:00 Light光音 阅读(153) 评论(0) 推荐(0) 编辑
摘要:/** * 涉及到String类与其他结构之间的转换 */public class StringTest1 { /* String 与 byte[]之间的转换 编码:String --> byte[]:调用String的getBytes() 解码:byte[] --> String:调用String 阅读全文
posted @ 2020-09-04 09:40 Light光音 阅读(172) 评论(0) 推荐(0) 编辑
摘要:package com.atguigu.java; import org.junit.Test; /** * @author shkstart * @create 2019 上午 11:52 */public class StringMethodTest { /*替换:String replace( 阅读全文
posted @ 2020-09-04 09:25 Light光音 阅读(91) 评论(0) 推荐(0) 编辑
摘要:package com.atguigu.java; import org.junit.Test; /** * String的使用 * * @author shkstart * @create 2019 上午 10:26 */public class StringTest { 基本数据类型存储的是数据 阅读全文
posted @ 2020-09-04 09:20 Light光音 阅读(84) 评论(0) 推荐(0) 编辑
摘要:package com.atguigu.java;/* * 抽象类的匿名子类 意义:只用一次省事 * */public class PersonTest { public static void main(String[] args) { method(new Student());//匿名对象 W 阅读全文
posted @ 2020-09-04 09:18 Light光音 阅读(188) 评论(0) 推荐(0) 编辑
摘要:/* * 面向对象的特征一:封装与隐藏 3W:what? why? how? * 一、问题的引入: * 当我们创建一个类的对象以后,我们可以通过"对象.属性"的方式,对对象的属性进行赋值。这里,赋值操作要受到 * 属性的数据类型和存储范围的制约。除此之外,没有其他制约条件。但是,在实际问题中,我们往 阅读全文
posted @ 2020-09-04 09:15 Light光音 阅读(125) 评论(0) 推荐(0) 编辑
摘要:package com.atguigu.java2;/* * 单例设计模式: * 1. 所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例。 * * 2. 如何实现? * 饿汉式 vs 懒汉式 * * 3. 区分饿汉式 和 懒汉式 * 饿汉式: * 坏处:对 阅读全文
posted @ 2020-09-04 09:13 Light光音 阅读(110) 评论(0) 推荐(0) 编辑