- 老爸说他有个照片文件夹打不开了,让我过去看看,一瞅,好家伙,加密压缩包尘封老照片呀。 既然加密,没准还有意外收货。 作为一个“精灵鬼”,这么有价值的数据,我必须帮老爸解开呀。 寻找思路 解密压缩包的思路是什么? 答:通过各种密码去尝试解压文件。 用什么解压文件? 答:zip 使用 zipfile,rar 使用 rarfile,已经有 Python ... 老爸说他有个照片文件夹打不开了,让我过去看看,一瞅,好家伙,加密压缩包尘封老照片呀。 既然加密,没准还有意外收货。 作为一个“精灵鬼”,这么有价值的数据,我必须帮老爸解开呀。 寻找思路 解密压缩包的思路是什么? 答:通过各种密码去尝试解压文件。 用什么解压文件? 答:zip 使用 zipfile,rar 使用 rarfile,已经有 Python ...
- 读写锁。我们上次温习了synchronized与Lock.我们遗留了一个问题,就是想让读读不互斥,因为多线程同时读取数据并不会破坏数据。如果能实现读读不用互斥,那将大大提升了多线程读性能。于是我们引入了读写锁ReentrantReadWriteLock。ReentrantReadWriteLock可以专门创建一个读锁和写锁。读锁:读读不互斥,但是读写互斥。 写锁:不但读写互斥... 读写锁。我们上次温习了synchronized与Lock.我们遗留了一个问题,就是想让读读不互斥,因为多线程同时读取数据并不会破坏数据。如果能实现读读不用互斥,那将大大提升了多线程读性能。于是我们引入了读写锁ReentrantReadWriteLock。ReentrantReadWriteLock可以专门创建一个读锁和写锁。读锁:读读不互斥,但是读写互斥。 写锁:不但读写互斥...
- class BoundedBuffer { final Lock lock = new ReentrantLock(); final Condition notFull = lock.newCondition(); final Condition notEmpty = lock.newCondition(); final Object[] items = new Ob... class BoundedBuffer { final Lock lock = new ReentrantLock(); final Condition notFull = lock.newCondition(); final Condition notEmpty = lock.newCondition(); final Object[] items = new Ob...
- 我们提供了一个类: public class Foo { public void one() { print("one"); } public void two() { print("two"); } public void three() { print("three"); } } 三个不同的线程将会... 我们提供了一个类: public class Foo { public void one() { print("one"); } public void two() { print("two"); } public void three() { print("three"); } } 三个不同的线程将会...
- 编写一个可以从 1 到 n 输出代表这个数字的字符串的程序,但是: 如果这个数字可以被 3 整除,输出 "fizz"。 如果这个数字可以被 5 整除,输出 "buzz"。 如果这个数字可以同时被 3 和 5 整除,输出 "fizzbuzz"。 例如,当 n = 15,输出: 1, 2, fizz, 4, buzz, fizz, 7, 8, fi... 编写一个可以从 1 到 n 输出代表这个数字的字符串的程序,但是: 如果这个数字可以被 3 整除,输出 "fizz"。 如果这个数字可以被 5 整除,输出 "buzz"。 如果这个数字可以同时被 3 和 5 整除,输出 "fizzbuzz"。 例如,当 n = 15,输出: 1, 2, fizz, 4, buzz, fizz, 7, 8, fi...
- start()与run() start() 启动线程并执行相应的run()方法 run() 子线程要执行的代码放入run()方法 getName()和setName() getName() 获取此线程的名字 setName() 设置此线程的名字 isA... start()与run() start() 启动线程并执行相应的run()方法 run() 子线程要执行的代码放入run()方法 getName()和setName() getName() 获取此线程的名字 setName() 设置此线程的名字 isA...
- 作者:小傅哥 博客:https://bugstack.cn Github:https://github.com/fuzhengwei/CodeGuide/wiki 沉淀、分享、成长,让自己和他人都能有所收获!😄 一、前言 学习路径决定学习效果! 有时候很多看似复杂的知识,其实并没有多复杂,只不过你找到的那份资料把知识讲复杂了。为什么这么说呢🤔? ... 作者:小傅哥 博客:https://bugstack.cn Github:https://github.com/fuzhengwei/CodeGuide/wiki 沉淀、分享、成长,让自己和他人都能有所收获!😄 一、前言 学习路径决定学习效果! 有时候很多看似复杂的知识,其实并没有多复杂,只不过你找到的那份资料把知识讲复杂了。为什么这么说呢🤔? ...
- 我是兔兔rabbit,关注我吧,给自己每天的进步找一个机会和理由,不要被无效信息淹没 单例(Singleton) Intent 确保一个类只有一个实例,并提供该实例的全局访问点。 Class Diagram 使用一个私有构造函数、一个私有静态变量以及一个公有静态函数来实现。 私有构造函数保证了不能通过构造函数来创建对象实例,只能通过公有静态函数返回... 我是兔兔rabbit,关注我吧,给自己每天的进步找一个机会和理由,不要被无效信息淹没 单例(Singleton) Intent 确保一个类只有一个实例,并提供该实例的全局访问点。 Class Diagram 使用一个私有构造函数、一个私有静态变量以及一个公有静态函数来实现。 私有构造函数保证了不能通过构造函数来创建对象实例,只能通过公有静态函数返回...
- 作者:小傅哥 博客:https://bugstack.cn Github:https://github.com/fuzhengwei/CodeGuide/wiki 沉淀、分享、成长,让自己和他人都能有所收获!😄 一、前言 人看手机,机器学习! 正好是2020年,看到这张图还是蛮有意思的。以前小时候总会看到一些科技电影,讲到机器人会怎样怎样,但没... 作者:小傅哥 博客:https://bugstack.cn Github:https://github.com/fuzhengwei/CodeGuide/wiki 沉淀、分享、成长,让自己和他人都能有所收获!😄 一、前言 人看手机,机器学习! 正好是2020年,看到这张图还是蛮有意思的。以前小时候总会看到一些科技电影,讲到机器人会怎样怎样,但没...
- 我们提供一个类: class FooBar { public void foo() { for (int i = 0; i < n; i++) { print("foo"); } } ... 我们提供一个类: class FooBar { public void foo() { for (int i = 0; i < n; i++) { print("foo"); } } ...
- 众所周知,Redis是一个单线程架构的NoSQL数据库,但是是单线程模型的Redis为什么性能如此之高?这就是我们接下来要探究学习的内容。 1、Redis的单线程架构 1.1、Redis单线程简介 首先要明白,Redis的单线程指的是执行命令时的单线程。 Redis客户端与服务端的模型可以简化成下图,每次客户端调用都经历了发送命令、执行命令、返回结果三个过程。 ... 众所周知,Redis是一个单线程架构的NoSQL数据库,但是是单线程模型的Redis为什么性能如此之高?这就是我们接下来要探究学习的内容。 1、Redis的单线程架构 1.1、Redis单线程简介 首先要明白,Redis的单线程指的是执行命令时的单线程。 Redis客户端与服务端的模型可以简化成下图,每次客户端调用都经历了发送命令、执行命令、返回结果三个过程。 ...
- 1、对象的状态:对象的状态是指存储在状态变量中的数据,对象的状态可能包括其他依赖对象的域。在对象的状态中包含了任何可能影响其外部可见行为的数据。 2、一个对象是否是线程安全的,取决于它是否被多个线程访问。这指的是在程序中访问对象的方式,而不是对象要实现的功能。当多个线程访问某个状态变量并且其中有一个线程执行写入操作时,必须采用同步机制来协同这... 1、对象的状态:对象的状态是指存储在状态变量中的数据,对象的状态可能包括其他依赖对象的域。在对象的状态中包含了任何可能影响其外部可见行为的数据。 2、一个对象是否是线程安全的,取决于它是否被多个线程访问。这指的是在程序中访问对象的方式,而不是对象要实现的功能。当多个线程访问某个状态变量并且其中有一个线程执行写入操作时,必须采用同步机制来协同这...
- 我们之前学习了synchronized,今天来介绍一下lock。lock与synchronized一样都是为了多线程在竞争公共资源时,能不发生冲突,就是一个线程获取了锁,就去执行代码块,其它线程只能等待第一个线程执行完同步代码块,才能有机会获取到synchronized锁对象。 lock与synchronized最大的区别是,lock锁的释放需要程序员手动调用... 我们之前学习了synchronized,今天来介绍一下lock。lock与synchronized一样都是为了多线程在竞争公共资源时,能不发生冲突,就是一个线程获取了锁,就去执行代码块,其它线程只能等待第一个线程执行完同步代码块,才能有机会获取到synchronized锁对象。 lock与synchronized最大的区别是,lock锁的释放需要程序员手动调用...
- I/O设备:输入输出和存储功能的设备 I/O设备的分类 按传输的速度: 低速设备(如键盘、鼠标、语音输入输出设备) 中速设备(如行式打印机、激光打印机等) 高速设备(如磁带机、磁盘机、光盘机等)。 设备按信息交换的单位分类 块设备:用于存储信息。对于信息的存取总是以数据块为单位。典型例子是磁盘。该类设备基本特征是传输... I/O设备:输入输出和存储功能的设备 I/O设备的分类 按传输的速度: 低速设备(如键盘、鼠标、语音输入输出设备) 中速设备(如行式打印机、激光打印机等) 高速设备(如磁带机、磁盘机、光盘机等)。 设备按信息交换的单位分类 块设备:用于存储信息。对于信息的存取总是以数据块为单位。典型例子是磁盘。该类设备基本特征是传输...
- 导语 一文带你完全吃透 Redis 整个核心网络模型的原理和源码。 目录 导言 Redis 有多快? Redis 为什么快? Redis 为何选择单线程? 避免过多的上下文切换开销 避免同步机制的开销 简单可维护 Redis 真的是单线程? 单线程事件循环 多线程异步任务 Redis 多线程网络模型 设计思路 源码剖析 性能提升... 导语 一文带你完全吃透 Redis 整个核心网络模型的原理和源码。 目录 导言 Redis 有多快? Redis 为什么快? Redis 为何选择单线程? 避免过多的上下文切换开销 避免同步机制的开销 简单可维护 Redis 真的是单线程? 单线程事件循环 多线程异步任务 Redis 多线程网络模型 设计思路 源码剖析 性能提升...
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第五期2026/09/04 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;蒋春阳-华为云AI开发者案例开发专家
本期直播内容: AI工具体验营 · 第5-8课连讲。Agent-Team 多智能体协作完成毕业设计实践
回顾中 -
华为云开发者AI素养ClassRoom·第六期2026/09/08 周二 19:00-20:00
樊渊-2026华为软件挑战赛冠军
高手来了:看软挑高手解析二维排样问题—从工业难题到算法突破
回顾中
热门标签