随笔分类 - 疯狂JAVA讲义学习——核心竞争力提升
摘要:Java 多线程编程 Java 给多线程编程提供了内置的支持。 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。 多线程是多任务的一种特别的形式,但多线程使用了更小的资源开销。 这里定义和线程相关的另一个术语 - 进程:一个进程包括由操作系统分配的内
阅读全文
posted @ 2022-03-27 23:04
小白龙白龙马
摘要:每个线程执行时都有具有一定的优先级,优先级高的线程获得较多的执行机会,而优先级低的线程则获得较少的执行机会。 每个线程默认的优先级都与创建它的父线程具有相同的优先级,默认情况下,main线程的具有普通优先级,由main线程创建的子线程也有普通优先级。 Thread提供了setPriority(int
阅读全文
posted @ 2022-03-27 19:38
小白龙白龙马
摘要:线程睡眠:sleep 如果我们需要让当前正在执行的线程暂停一段时间,并进入阻塞状态,则可以通过调用Thread类的静态sleep方法,sleep方法有两种重载的形式: ——static void sleep(long millis):让当前正在执行的线程暂停millis毫秒,并进入阻塞状态,该方法受
阅读全文
posted @ 2022-03-27 19:23
小白龙白龙马
摘要:后台线程 有一种线程,它是在后台运行的,它的任务是为其他的线程提供服务,这种线程被称为“后台线程(Daemon Thread)”,又称为“守护线程” 或“精灵线程”。 JVM的垃圾回收线程就是典型的后台线程。 后台线程有个特征:如果所有的前台线程都死亡,后台线程会自动死亡。 调用Thread对象se
阅读全文
posted @ 2022-03-27 18:54
小白龙白龙马
摘要:join线程 Thread提供了让一个线程等待另一个线程完成的方法:join() 方法。当在某个程序执行流中调用其他线程的join()方法时,调用线程将被阻塞,直到被join方法加入的join线程完成为止。 join()方法通常由使用线程的程序调用,以将大问题划分成许多小问题,每个小问题分配一个线程
阅读全文
posted @ 2022-03-27 18:17
小白龙白龙马
摘要:线程的生命周期 在线程的生命周期中,要经过新建(New)、就绪(Ready)、运行(Running)、阻塞(Blocked)和死亡(Dead)5种状态。 尤其是当线程启动以后,它不可能一直“霸占”着CPU独自运行,所以CPU需要在多条线程之间切换,于是线程状态也会多次在运行、就绪之间切换。 新建和就
阅读全文
posted @ 2022-03-27 16:06
小白龙白龙马
摘要:Callable接口 Callable接口,该接口怎么看都像是Runnable接口的增强版,Callable接口也提供了一个call()方法可以作为线程执行体,但call方法比run()方法功能更强大: ——call()方法可以有返回值。 ——call()可以声明抛出异常。 Future接口 JDK
阅读全文
posted @ 2022-03-27 15:23
小白龙白龙马
摘要:实现Runnable接口创建线程类 (1)定义Runnable接口的实现类,并重写该接口的run方法,该run方法的方法体同样是该线程的线程执行体。 (2)创建Runnable实现类的实例,并以此实例作为Thread的target来创建Thread对象,该Thread对象才是真正的线程对象。 (3)
阅读全文
posted @ 2022-03-27 14:28
小白龙白龙马
摘要:继承Thread类创建线程类 (1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就是代表了线程需要完成的任务。因此,我们经常把run方法称为线程执行体。 (2)创建Thread子类的实例,即创建了线程对象。 (3)调用线程对象的start方法来启动该线程。 // 通过继承T
阅读全文
posted @ 2022-03-27 13:52
小白龙白龙马
摘要:进程与线程 几乎所有的操作系统都支持同时运行多个任务,一个任务通常就是一个程序,每个运行中的程序就是一个进程。 当一个程序运行时,内部可能包含了多个顺序执行流,每个顺序执行流就是一个线程。 进程与线程 几乎所有操作系统都支持进程的概念,所有运行中的任务通常对应一条进程(Process)。 当一个程序
阅读全文
posted @ 2022-03-27 13:06
小白龙白龙马
摘要:Java MySQL 连接 本章节我们为大家介绍 Java 如何使用 使用 JDBC 连接 MySQL 数据库。 Java 连接 MySQL 需要驱动包,最新版下载地址为:http://dev.mysql.com/downloads/connector/j/,解压后得到jar库文件,然后在对应的项目
阅读全文
posted @ 2022-03-20 21:26
小白龙白龙马
摘要:泛型入门 从Java 5以后,Java引入了“参数化类型(parameterized type)”的概念,允许程序在创建集合时指定集合元素的类型,如List<String>,这表明该List只能保存字符串类型的对象。 Java的参数化类型被称为泛型(Generic)。 在Java 7以前,如果使用带
阅读全文
posted @ 2022-03-20 15:52
小白龙白龙马
摘要:import java.util.*; public class map { public static void main( String[] args ) { //Map list = new HashMap(); Map<Integer, String> map = new HashMap<>
阅读全文
posted @ 2022-03-20 14:54
小白龙白龙马
摘要:HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。 HashMap 实现了 Map 接口,根据键的 HashCode 值存储数据,具有很快的访问速度,最多允许一条记录的键为 null,不支持线程同步。 HashMap 是无序的,即不会记录插入的顺序。 HashMap 继承
阅读全文
posted @ 2022-03-20 14:52
小白龙白龙马
摘要:import java.util.HashSet; import java.util.Iterator; import java.util.Set; public class set { public static void main( String[] args ) { Set list = ne
阅读全文
posted @ 2022-03-20 14:08
小白龙白龙马
摘要:HashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合。 HashSet 允许有 null 值。 HashSet 是无序的,即不会记录插入的顺序。 HashSet 不是线程安全的, 如果多个线程尝试同时修改 HashSet,则最终结果是不确定的。 您必须在多线程访问时显式同步对
阅读全文
posted @ 2022-03-20 14:07
小白龙白龙马
摘要:import java.util.*; public class ListTest { public static void main(String[] args) { var books = new ArrayList(); // 向books集合中添加三个元素 books.add("轻量级Jav
阅读全文
posted @ 2022-03-20 13:26
小白龙白龙马
摘要:ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。 ArrayList 继承了 AbstractList ,并实现了 List 接口。 ArrayList 类位于 java.util 包中,使用前需要引入它,语法格式如下: impor
阅读全文
posted @ 2022-03-20 12:52
小白龙白龙马
摘要:Number & Math 类方法 下面的表中列出的是 Number & Math 类常用的一些方法: 下面省略………………………… Java StringBuffer 和 StringBuilder 类 当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder
阅读全文
posted @ 2022-02-27 15:36
小白龙白龙马
摘要:Java 枚举(enum) Java 枚举是一个特殊的类,一般表示一组常量,比如一年的 4 个季节,一个年的 12 个月份,一个星期的 7 天,方向有东南西北等。 Java 枚举类使用 enum 关键字来定义,各个常量使用逗号 , 来分割。 例如定义一个颜色的枚举类。 enum Color { RE
阅读全文
posted @ 2022-02-27 11:40
小白龙白龙马

浙公网安备 33010602011771号