Java零基础入门 - 第四章:Java语言高级
分享给朋友:
1.多线程基础与JUC工具
理解线程的概念-JAVA多线程基础与JUC工具

时长:35分22秒

线程的创建与启动01-JAVA多线程基础与JUC工具

时长:25分44秒

线程的创建与启动02-JAVA多线程基础与JUC工具

时长:25分17秒

线程的生命周期-JAVA多线程基础与JUC工具

时长:15分48秒

线程的join方法-JAVA多线程基础与JUC工具

时长:25分26秒

后台线程-JAVA多线程基础与JUC工具

时长:21分32秒

sleep方法-JAVA多线程基础与JUC工具

时长:21分25秒

线程优先级和yield方法-JAVA多线程基础与JUC工具

时长:23分41秒

理解线程安全问题-JAVA多线程基础与JUC工具

时长:20分59秒

线程同步方式01-JAVA多线程基础与JUC工具

时长:22分55秒

线程同步方式02-JAVA多线程基础与JUC工具

时长:16分45秒

线程同步方式03-JAVA多线程基础与JUC工具

时长:15分19秒

线程同步方式04-JAVA多线程基础与JUC工具

时长:21分36秒

锁顺序死锁01-JAVA多线程基础与JUC工具

时长:15分19秒

锁顺序死锁02-JAVA多线程基础与JUC工具

时长:17分28秒

锁顺序的解决办法-JAVA多线程基础与JUC工具

时长:18分09秒

对象协作之间的死锁-JAVA多线程基础与JUC工具

时长:45分21秒

使用定时锁-JAVA多线程基础与JUC工具

时长:16分10秒

volatile关键字与内存可见性-JAVA多线程基础与JUC工具

时长:44分16秒

原子性操作问题的解决-JAVA多线程基础与JUC工具

时长:32分57秒

CAS算法的实现逻辑-JAVA多线程基础与JUC工具

时长:16分56秒

JUC里的同步容器类-JAVA多线程基础与JUC工具

时长:19分47秒

CountDownLatch类的使用-JAVA多线程基础与JUC工具

时长:19分55秒

Semaphore类的使用-JAVA多线程基础与JUC工具

时长:17分09秒

CyclicBarrier类的使用-JAVA多线程基础与JUC工具

时长:17分02秒

JUC线程交换器的用法-JAVA多线程基础与JUC工具

时长:17分48秒

线程八锁-JAVA多线程基础与JUC工具

时长:19分18秒

线程安全的单例模式01-JAVA多线程基础与JUC工具

时长:22分35秒

线程安全的单例模式02-JAVA多线程基础与JUC工具

时长:14分14秒

线程通信生产者与消费者模式-JAVA多线程基础与JUC工具

时长:12分58秒

使用Object方法实现线程通信-JAVA多线程基础与JUC工具

时长:29分02秒

使用Condition实现线程通信-JAVA多线程基础与JUC工具

时长:11分28秒

线程控制方法补充-JAVA多线程基础与JUC工具

时长:22分30秒

线程程序交替-JAVA多线程基础与JUC工具

时长:13分54秒

线程池的生命周期-JAVA多线程基础与JUC工具

时长:21分23秒

使用线程池01-JAVA多线程基础与JUC工具

时长:32分30秒

使用线程池02-JAVA多线程基础与JUC工具

时长:08分50秒

使用线程池03-JAVA多线程基础与JUC工具

时长:08分32秒

读写锁01-JAVA多线程基础与JUC工具

时长:22分58秒

读写锁02-JAVA多线程基础与JUC工具

时长:38分58秒

ForkJoin工具类的使用01-JAVA多线程基础与JUC工具

时长:30分04秒

ForkJoin工具类的使用02-JAVA多线程基础与JUC工具

时长:24分45秒

2.IO模型
File类01-JAVA之IO模型与NIO入门

时长:32分54秒

File类02-JAVA之IO模型与NIO入门

时长:19分23秒

File类03-JAVA之IO模型与NIO入门

时长:17分07秒

File类04-JAVA之IO模型与NIO入门

时长:30分29秒

理解JAVAIO流-JAVA之IO模型与NIO入门

时长:25分47秒

认识输入输出流基类方法-JAVA之IO模型与NIO入门

时长:23分24秒

IO流体系和文件输入流-JAVA之IO模型与NIO入门

时长:34分05秒

文件输出流-JAVA之IO模型与NIO入门

时长:09分17秒

数组流01-JAVA之IO模型与NIO入门

时长:26分18秒

数组流02-JAVA之IO模型与NIO入门

时长:15分06秒

管道流的使用-JAVA之IO模型与NIO入门

时长:29分57秒

字符串流01-JAVA之IO模型与NIO入门

时长:22分30秒

字符串流02-JAVA之IO模型与NIO入门

时长:17分38秒

缓冲流-JAVA之IO模型与NIO入门

时长:15分15秒

转换流01-JAVA之IO模型与NIO入门

时长:15分39秒

转换流02-JAVA之IO模型与NIO入门

时长:11分22秒

对象流-JAVA之IO模型与NIO入门

时长:22分46秒

第二组抽象基类01-JAVA之IO模型与NIO入门

时长:22分37秒

第二组抽象基类02-JAVA之IO模型与NIO入门

时长:05分42秒

打印流-JAVA之IO模型与NIO入门

时长:10分27秒

推回输入流-JAVA之IO模型与NIO入门

时长:24分19秒

数据流-JAVA之IO模型与NIO入门

时长:08分25秒

重定向标准输入和输出-JAVA之IO模型与NIO入门

时长:15分36秒

Java程序对子进程的读写01-JAVA之IO模型与NIO入门

时长:10分57秒

Java程序对子进程的读写02-JAVA之IO模型与NIO入门

时长:19分38秒

RandomAccessFile类-JAVA之IO模型与NIO入门

时长:34分37秒

对象序列化01-JAVA之IO模型与NIO入门

时长:28分02秒

对象序列化02-JAVA之IO模型与NIO入门

时长:23分01秒

单例模式的对象序列化问题-JAVA之IO模型与NIO入门

时长:18分03秒

对象序列化的版本号-JAVA之IO模型与NIO入门

时长:14分17秒

序列化的安全问题01-JAVA之IO模型与NIO入门

时长:18分45秒

序列化的安全问题02-JAVA之IO模型与NIO入门

时长:23分34秒

序列化的安全问题03-JAVA之IO模型与NIO入门

时长:23分46秒

3.NIO入门
BIO和NIO的工作模式对比-JAVA之IO模型与NIO入门

时长:22分31秒

NIO的基本介绍-JAVA之IO模型与NIO入门

时长:18分20秒

使用文件通道读取文件-JAVA之IO模型与NIO入门

时长:24分30秒

文件通道的写操作-JAVA之IO模型与NIO入门

时长:24分34秒

缓冲区的基本属性和方法介绍-JAVA之IO模型与NIO入门

时长:23分53秒

缓冲区的基本方法演示-JAVA之IO模型与NIO入门

时长:18分59秒

缓冲区方法加强01-JAVA之IO模型与NIO入门

时长:22分17秒

缓冲区方法加强02-JAVA之IO模型与NIO入门

时长:21分01秒

缓冲区方法加强03-JAVA之IO模型与NIO入门

时长:09分52秒

缓冲区的创建方式-JAVA之IO模型与NIO入门

时长:17分10秒

视图缓冲区-JAVA之IO模型与NIO入门

时长:28分32秒

字节缓冲区独特之处-JAVA之IO模型与NIO入门

时长:24分03秒

直接缓冲区01-JAVA之IO模型与NIO入门

时长:33分26秒

直接缓冲区02-JAVA之IO模型与NIO入门

时长:22分43秒

直接缓冲区03-JAVA之IO模型与NIO入门

时长:17分04秒

内存管理机制-JAVA之IO模型与NIO入门

时长:34分39秒

深入梳理直接缓冲区的实现逻辑-JAVA之IO模型与NIO入门

时长:20分42秒

FileChanel的map方法01-JAVA之IO模型与NIO入门

时长:20分18秒

FileChanel的map方法02-JAVA之IO模型与NIO入门

时长:28分56秒

选择器01-JAVA之IO模型与NIO入门

时长:19分58秒

选择器02-JAVA之IO模型与NIO入门

时长:12分29秒

选择器03-JAVA之IO模型与NIO入门

时长:11分38秒

选择器04-JAVA之IO模型与NIO入门

时长:15分27秒

选择器05-JAVA之IO模型与NIO入门

时长:41分38秒

分数、聚集和通道间的数据传输-JAVA之IO模型与NIO入门

时长:15分29秒

字符集编码和Charset工具-JAVA之IO模型与NIO入门

时长:31分37秒

NIO的Pipe工具-JAVA之IO模型与NIO入门

时长:11分36秒

AIO的Path接口-JAVA之IO模型与NIO入门

时长:12分17秒

Files对象01-JAVA之IO模型与NIO入门

时长:19分42秒

Files对象02-JAVA之IO模型与NIO入门

时长:13分15秒

Files对象03-JAVA之IO模型与NIO入门

时长:10分22秒

Files对象04-JAVA之IO模型与NIO入门

时长:08分45秒

异步通道文件01-JAVA之IO模型与NIO入门

时长:23分48秒

异步通道文件02-JAVA之IO模型与NIO入门

时长:12分14秒

4.网络编程
计算机网络的基本概念-JAVA之网络编程与NIO、AIO进阶

时长:21分54秒

IP协议-JAVA之网络编程与NIO、AIO进阶

时长:25分47秒

TCP协议--JAVA之网络编程与NIO、AIO进阶

时长:24分35秒

UDP协议-JAVA之网络编程与NIO、AIO进阶

时长:10分53秒

HTTP协议01-JAVA之网络编程与NIO、AIO进阶

时长:16分26秒

HTTP协议02-JAVA之网络编程与NIO、AIO进阶

时长:28分54秒

HTTP协议03-JAVA之网络编程与NIO、AIO进阶

时长:25分44秒

HTTP协议04-JAVA之网络编程与NIO、AIO进阶

时长:24分08秒

InetAddress-JAVA之网络编程与NIO、AIO进阶

时长:14分08秒

非法URL字符的编码和解码-JAVA之网络编程与NIO、AIO进阶

时长:15分48秒

URL和URL链接类-JAVA之网络编程与NIO、AIO进阶

时长:20分59秒

多线程下载文件01-JAVA之网络编程与NIO、AIO进阶

时长:38分20秒

多线程下载文件02-JAVA之网络编程与NIO、AIO进阶

时长:23分01秒

编程的形式发送POST请求的案例-JAVA之网络编程与NIO、AIO进阶

时长:27分20秒

对第二单元的总结-JAVA之网络编程与NIO、AIO进阶

时长:12分45秒

基于TCP的网络编程的流程-JAVA之网络编程与NIO、AIO进阶

时长:08分05秒

套接字类的方法-JAVA之网络编程与NIO、AIO进阶

时长:22分55秒

基于TCP协议的通信例子-JAVA之网络编程与NIO、AIO进阶

时长:18分30秒

基于BIO实现聊天室01-JAVA之网络编程与NIO、AIO进阶

时长:29分49秒

基于BIO实现聊天室02-JAVA之网络编程与NIO、AIO进阶

时长:20分16秒

基于BIO实现聊天室03-JAVA之网络编程与NIO、AIO进阶

时长:34分45秒

基于BIO实现聊天室04-JAVA之网络编程与NIO、AIO进阶

时长:40分04秒

基于BIO实现聊天室05-JAVA之网络编程与NIO、AIO进阶

时长:23分19秒

基于BIO实现聊天室06-JAVA之网络编程与NIO、AIO进阶

时长:14分55秒

基于BIO实现聊天室07-JAVA之网络编程与NIO、AIO进阶

时长:23分29秒

基于NIO实现聊天室01-JAVA之网络编程与NIO、AIO进阶

时长:26分04秒

基于NIO实现聊天室02-JAVA之网络编程与NIO、AIO进阶

时长:24分23秒

基于NIO实现聊天室03-JAVA之网络编程与NIO、AIO进阶

时长:36分27秒

基于NIO实现聊天室04-JAVA之网络编程与NIO、AIO进阶

时长:11分32秒

基于NIO实现聊天室05-JAVA之网络编程与NIO、AIO进阶

时长:14分56秒

基于NIO实现聊天室6-JAVA之网络编程与NIO、AIO进阶

时长:23分43秒

基于NIO实现聊天室7-JAVA之网络编程与NIO、AIO进阶

时长:07分41秒

基于NIO实现聊天室8-JAVA之网络编程与NIO、AIO进阶

时长:16分23秒

基于AIO实现聊天室1-JAVA之网络编程与NIO、AIO进阶

时长:26分51秒

基于AIO实现聊天室2-JAVA之网络编程与NIO、AIO进阶

时长:24分32秒

基于AIO实现聊天室3-JAVA之网络编程与NIO、AIO进阶

时长:40分22秒

基于AIO实现聊天室4-JAVA之网络编程与NIO、AIO进阶

时长:16分48秒

基于AIO实现聊天室5-JAVA之网络编程与NIO、AIO进阶

时长:17分03秒

基于AIO实现聊天室6-JAVA之网络编程与NIO、AIO进阶

时长:15分47秒

基于AIO实现聊天室7-JAVA之网络编程与NIO、AIO进阶

时长:16分09秒

基于AIO实现聊天室8-JAVA之网络编程与NIO、AIO进阶

时长:20分27秒

基于UDP协议的网络编程-JAVA之网络编程与NIO、AIO进阶

时长:18分08秒

基于UDP协议的简单实例-JAVA之网络编程与NIO、AIO进阶

时长:24分01秒

基于UDP协议的NIO编程-JAVA之网络编程与NIO、AIO进阶

时长:23分48秒

多点广播实现原理-JAVA之网络编程与NIO、AIO进阶

时长:12分12秒

多点广播和UDP的综合实例1-JAVA之网络编程与NIO、AIO进阶

时长:36分23秒

多点广播和UDP的综合实例2-JAVA之网络编程与NIO、AIO进阶

时长:36分09秒

多点广播和UDP的综合实例3-JAVA之网络编程与NIO、AIO进阶

时长:24分18秒

多点广播和UDP的综合例子4-JAVA之网络编程与NIO、AIO进阶

时长:19分55秒

多点广播和UDP的综合例子5-JAVA之网络编程与NIO、AIO进阶

时长:23分32秒

多点广播和UDP的综合例子6-JAVA之网络编程与NIO、AIO进阶

时长:16分10秒

多点广播和UDP的综合例子7-JAVA之网络编程与NIO、AIO进阶

时长:12分41秒

使用代理服务器-JAVA之网络编程与NIO、AIO进阶

时长:26分30秒

按住画面移动小窗

下载
线程八锁-JAVA多线程基础与JUC工具
虎课APP支持视频下载
扫码下载/打开虎课APP
支持视频下载,随时随地学
手机观看
扫一扫,手机继续学
扫码下载/打开虎课APP
支持视频下载,随时随地学
线程八锁-JAVA多线程基础与JUC工具_虎课网
记笔记

全新AI视频总结上线

一键节省你80%学习时间

视频暂不支持AI视频总结
AI视频总结
编辑完成后,记得点我~

2393

已学

101小时

时长

266

配套素材

完课证书

¥199(¥299)

全站通VIP免费畅学

立即购买
学员评价 (1条评论)视频字幕
您需要学习后才可以评价, 立即学习
评论列表
仅显示有内容的评论
仅显示带图评论
排序方式:

接着上节课的内容 ,我们继续讲解多线程与JUC ,那么这时候我们主要来讨论一个问题 ,这个问题叫做线程八锁 ,线程八锁事实上是指我们多线程里边 ,八个简单的一个例子 ,我们主要是通过分析这八个例子的代码 ,然后推测这八个例子打印输出的结果 ,然后再运行这个代码 ,来验证我们这个结果的正确性 ,我们通过这一个过程 ,主要是为了加深大家对同步方法锁的这个理解 ,那么这上面的代码都比较简单 ,所以说这儿 我就不带大家一个个写 ,我直接把这个代码复制来运行 ,那么第1个案例是这样子的 ,有两个线程调用同一个对象 ,然后 的两个同步方法 ,那么具体的代码应该是这个样子 ,来我把这个代码 ,复制一下 ,好 然后在这边粘贴 ,然后在这里边 ,方法名改一下 ,这里边就这样的一个Ctrl+Shift+F ,这样的一个代码 ,这个代码什么样子 ,这里边有一个Number类 ,Number类里边有getOne getTwo两个同步方法 ,synchronized修饰的 ,那么getOne里边打印One ,getTwo里边打印Two ,我们在主方法里边 ,main方法里边实例化这个number 对象 ,然后创建两个并且启动线程 ,线程里边就用这一个 ,同一个number的对象 ,去调用getOne和调用getTwo两个方法 ,那么现在我们要预测推断 ,我们这个main办法的两个线程执行起来以后 ,那么我们的打印结果应该是怎样的一个情况 ,那么在这里边考点就只有一个 ,就是我们这个普通的同步方法作为锁对象是谁 ,普通的同步方法 我们在前面讲过 ,它的锁对象就是 ,我们这个锁在类的对象实例 ,

说白了就是调用这个方法的调用者 ,就是我们的这个同步方法的锁对象 ,而我们这个例子当中 ,两个线程当中调用这个方法的对象 ,都是同一个number ,同一个对象 ,所以说它们用的锁 ,它们的锁对象就是这一个对象 ,是同一把锁 ,既然是同一把锁的话 那么两个方法 ,它们之间应该具有互斥性 ,你执行getOne这个方法的时候 ,那么你肯定就是已经拿到锁了 ,那么既然你拿到锁了 ,那么getTwo这个方法它就要等 ,等你把这方法执行完了 把锁放了 ,我才能够 ,才能够进行执行 ,所以说在这里边很显然 ,我们这个程序当中会出现先调用启动的这个方法 ,它会先执行 ,后调用启动的方法它会后执行 ,所以说我们这个打印出来的结果应该是one two ,那么运行结果也是one two ,看见没有 运行结果也是one two ,那么结果的分析的结论 ,我们就可以总结 ,我们被synchronized修饰的这个方法 ,锁对象是方法的调用者 ,两个方法 ,用的是同一个调用者 ,所以说它们的锁是同一个 ,用同一个锁的两个方法 它们是互斥的 ,所以说先调用的方法会先执行 ,所以这就是one two这个结论的由来 ,那么这是第1个例子 ,第2个例子 ,我们在第1个例子基础之上 ,再增加一个沉睡 ,那我在这里边 ,我在 这个getOne方法里边 ,我就让它增加一段沉睡代码 ,在这 ,来 我们在这让它沉睡三秒钟 ,沉睡三秒钟的话 ,我们增加了这个sleep方法以后 ,我们这个结果会不会变 ,这是我们接下来要推测的事情 ,那么会不会变 ,

这里边就是一个知识点 ,哪个知识点 ,关键就在sleep这个沉睡方法 ,这个沉睡方法它会导致这个线程沉睡 ,但是这个线程沉睡了以后 ,这个线程会不会把它的锁释放 ,那么这个 ,大家掌握一个结论 ,我们的sleep它会让线程处于阻塞沉睡 ,但是这个阻塞沉睡并不会让线程把锁释放出来 ,就是说这个锁不得放 ,锁不得放 ,那么你后面这个方法就不能执行 ,你后面方法必须等前面方法执行完了 它才能够执行 ,所以说我们这个结果是不会改变的 ,这是我们推测的结果 ,那么是不是不会改变 ,来 保存 然后这里边我们运行一下 ,沉睡三秒钟 1 2 3 ,看见没 沉睡三秒钟以后再打印出了这个one ,那one打印完了才是two ,就是说这里边我们进一步的总结我们这个结论 ,总结结论就是 ,我们的synchronized修饰方法 ,锁是方法调用者 ,两个方法用的同一个调用者 ,所以说用的同一把锁 ,那么先调用的方法先执行 ,第二个方法只有在第一个方法执行完毕以后 ,释放锁以后 才能够执行 ,那么这里边再加一句话 ,什么一句话 ,sleep方法 ,sleep方法 它不会什么 ,不会这个释放 ,它会让什么 ,让这个线程 ,线程沉睡 ,但是 ,会让线程沉睡 但是不会让县城释放锁 ,这一个加上去 ,这也是个结论 ,所以说这里边是第2个例子 ,那么第3个例子 ,是在第2个例子基础上再增加一个新的线程 ,调用一个新的普通方法 ,就是在这边 我们在number里边新增一个普通方法 ,

来 我这边加上去 ,注意它是普通方法 ,然后我们在main方法当中新建一个新的线程 ,然后这个新的线程去调用这个普通方法 ,看见没有 ,调用普通方法 ,那么问这个程序 ,它的这个打印输出又应该会怎么样的 ,我们推测 ,那么推测的话 ,就考虑一个问题 ,普通方法跟锁有关系没 ,普通方法跟锁没关系 ,它运行不需要锁 ,那么另外我的第1个方法 ,它会沉睡三秒钟 ,就是说我的第2个方法 ,肯定会等第1个 ,getTwo会等getOne ,但是我getThree会不会去等getOne ,不会 ,就是说这个结果很明显 ,这个getThree方法会先执行 ,执行完了以后 ,然后它的结果会先打印出来 ,就是说这里边 因为它不会等前面两个方法 ,而前面的 ,前面第2个方法会等第1个方法 ,而第1个方法 ,它一来会线程会阻塞 ,所以说在这里边 ,我的这个推测结果应该是three one two ,

登录后查看更多
PHP开发入门
共 249 节课
Python爬虫学习
共 113 节课
计算机二级-C语言
共 151 节课
Tableau数据分析师
共 39 节课
前端开发框架及工具
共 190 节课
已是第一张图了
已是最后一张图了
记笔记

导出笔记

笔记导出历史

00:00

0/12
确定保存
笔记导出历史导出完成的笔记将保留1天,如有需求请及时下载
课程名称
导出时间
文件大小
状态
操作
AI视频总结
AI正在分析视频,请稍等…
AI总结遇到了一些问题 点击重新获取
点击重新获取
成为全站通VIP 查看完整AI总结
复制

职业路径建议意见

请选择你对职业路径课程的满意程度

请选择你对职业路径课程的满意程度

请填写关于职业路径的建议意见:

同学,小虎知道你非常努力的想学习!

老师录制课程真的也很辛苦

赞助一下吧

确定学习吗?

您每天可免费学习一个教程。

成为VIP可无限学习 !

成为VIP吧!

成为VIP吧!

您已经免费学习 1 个教程 !

我们录制教程很努力的,赞助下吧 !

升级VIP吧!

您已经学习 5 个教程啦!

我们录制教程很努力的,赞助升级下吧 !

您已经累计下载5个源文件


您在当前分类下不是VIP,赞助VIP享受无限下载


您已经累计下载5个素材文件


您在当前分类下不是VIP,赞助VIP享受无限下载


您已经累计下载5个源文件


您在当前分类下不是VIP,赞助VIP享受无限下载


您已经累计观看5个图文教程


您在当前分类下不是VIP,赞助VIP享受无限观看


学习后才能评价哦!

获得30虎课币

评论提交成功,将在审核通过后显示

×

下载素材/源文件:

收藏成功
取消成功
特惠
充值
7折购
今日还在继续学习的你,太棒了!
7
折扣券可用于
年费无限VIP
立 即
使 用
此活动优惠不可与其他活动叠加使用
有效期:000000
消息
登录即可查看消息记录
建议
意见
官方
客服
在线咨询客服热线

您可以与在线客服进行沟通获得帮助

工作日:9:00~22:00节假日:9:00~18:00

联系在线客服

您可以电话联系客服进行沟通获得帮助

工作日:9:30~18:30

400-862-9191
虎课
积分
免费学习90000+个教程!
配套素材、源文件一键下载!
昨日学员已学习了26,258
并提交了203份作业!
登录后立即学习!
loading
微信扫码关注即可登录
您需要同意协议才可以进行登录
登录虎课网,每天免费学课程全站 90000+ 视频会员教程 | 每日可免费学 1
为确保账户信息安全
请先进行真实姓名验证后进行充值付款
立即验证