随笔分类 - Java基础
摘要:Java集合框架 1、集合分类 这是我自己简化的关于Java集合框架的关系图 根据图可以看出来,集合框架总共有两个大类Collection和Map,这是两个根接口,他们下面有一些实现类。 每个类别下用常用的实现类颜色是加深的。 2、Collection理解 Collection接口定义的是一个单列的
阅读全文
摘要:代理模式 什么是代理模式? 代理模式就是找一个中介帮你办一些事。你只需要关注自己的事就行了,其他的中介会帮你办好。 代理模式中有三个要素: 抽象对象:接口 代理对象:类 真实对象:类 静态代理 静态代理:有你自己来创建代理对象,每个真实对象都需要由你来创建代理对象。 缺点:如果有很多个真实对象需要被
阅读全文
摘要:IO流学习 流的分类 根据操作单位不同分为字节流和字符流 根据流向不同分为输入流和输出流 根据角色不同分为节点流和处理流 以下四个类是IO流中最基础的类,都是抽象类。其他流都是继承他们的。 | 分类 | 字节流 | 字符流 | | | | | | 输入流 | InputStream | Reader
阅读全文
摘要:了解注解 在学习一个新知识的时候,首先要了解这个知识的的作用,在去学习如何使用,最后了解它的底层原理。 1、注解介绍 JDK5.0开始,Java增加了注解功能。注解可以在程序编译、加载、运行时被读取,然后执行相应的操作。 注解和注释 注释是用来对类、方法或是属性进行解释的,没有实际作用。 注解可以对
阅读全文
摘要:枚举介绍 Java中的枚举是JDK5.0以后添加的新特性,枚举是用来定义一组数量确定的常量的类。 枚举类是一个特殊的类,它和普通类一样可以有构造方法,也可以有属性和普通方法。可以实现接口。 枚举的定义 这就定义了一个枚举类,其中的RED,BLACK,BLUE是这个枚举类的实例,每个实例需要用‘,’隔
阅读全文
摘要:死锁问题 什么是死锁? 死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。 比如现在A有倚天剑,B有屠龙刀,A想要B的屠龙刀,B想要A的倚天剑,但是A不想把倚天剑给B,B同样也不想把屠龙刀给A。 两个人都等着对方把武器交
阅读全文
摘要:生产者和消费者问题 生产者和消费者的问题是一个线程通信的例子。 比如买馒头,需要先进行生产,生产了就通知消费者来吃馒头。如果馒头没了就通知生产者继续生产。 运行结果: 这里需要注意synchronized的锁对象应该是馒头店,不能是this。因为馒头店只有一个,而this指当前对象,生产者和消费者都
阅读全文
摘要:线程间的通信 线程通信就是线程与线程间进行信息的交换。 这里可以举个例子,两个线程交替的打印0 9这10个数字。 首先分析一下,比如线程一先开始打印,当它打印了数字0后,他应该 等待 线程二打印数字1,线程二打印了之后又要 等待 线程一打印数字2... 那怎么样才能让线程一开始等待呢?这里可以使用O
阅读全文
摘要:线程安全问题 在多个线程同时访问一个相同的资源的时候会发生线程安全问题。 举个栗子: 买票问题,三个窗口进行买票。 运行结果: 很明显可以看出,在三个线程同时去访问Ticket类的时候,票的数量出现的 重复 和 错误(结果为0) 的情况。 为什么会出现这种情况呢? 因为线程是并发的,并发就是三个线程
阅读全文
摘要:多线程的另外两种创建方式 线程的创建总共有四种方式,分别是继承Thread类、实现Runnable接口、实现Callable接口和通过线程池创建 在前面我已经学习了前面两种创建线程的方式,今天来学习一下后面两种创建线程的方式。Callable接口和线程池技术是在JDK5.0以后添加的。 1、实现Ca
阅读全文
摘要:多线程生命周期 一个线程经过一次完成的运行之后会经历5中状态。 新建:当一个线程类被声明并创建时,创建的线程对象处于新建状态。 MyThread t = new MyThread(); 就绪:当一个处于新建状态的线程对象调用start()方法时,线程对象处于就绪状态。等待CPU进行调度。 t.sta
阅读全文
摘要:多线程学习 基础知识 1、程序、进程、线程 程序:为了完成某个任务,使用某种特定的语言(Java)所编写的指令(代码)的集合。程序是静态的。 进程:一个正在运行的程序就可以叫做进程。 例如:运行中的QQ就是一个进程。 进程是动态的,程序是静态的。 进程是资源分配的最小单位,系统在运行时会为每个进程分
阅读全文

浙公网安备 33010602011771号