促销活动
CodeGym University
学习
课程
任务
调查和小测验
游戏
帮助
提醒时间表
社区
用户
论坛
聊天
文章
成功故事
活动
评论
订阅服务
浅色主题
课程
评论
关于我们
开始
开始学习
立即开始学习
目标地图
课程
全部目标
全部级别
newFixedThreadPool 方法
模块 2:Java 核心
第 14 级,
课程 2
Executors类的newFixedThreadPool方法创建了一个固定线程数的executorService 。与newSingleThreadExecutor方法不同,我们指定池中需要多少个线程。在引擎盖下,调用以下代码: new ThreadPoolExecutor(nThreads, nThreads,
newCachedThreadPool 方法
模块 2:Java 核心
第 14 级,
课程 3
另一种类型的线程池是“缓存的”。这样的线程池和固定线程池一样常用。 顾名思义,这种线程池就是缓存线程。它使未使用的线程在有限的时间内保持活动状态,以便重用这些线程来执行新任务。当我们有一些合理的轻量级工作时,这样的线程池是最好的。 “一些合理的数量”的含义相当广泛,但你应该知道,这样的池并不适合每一个任务数量。例如,假设我们要创建一百万个任务。即使每个都花费很少的时间,我们仍然会使用不合理的资源量并降低性能。当执行时间不可预测时,例如 I/O 任务,我们也应该避免使用此类池。
newWorkStealingPool 方法
模块 2:Java 核心
第 14 级,
课程 4
让我们弄清楚newWorkStealingPool方法,它为我们准备了一个ExecutorService 。 这个线程池很特别。它的行为是基于“窃取”工作的想法。 任务在处理器之间排队和分配。但是如果一个处理器很忙,那么另一个空闲的处理器可以从它那里窃取一个任务并执行它。这种格式是在 Java 中引入的,目的是减少多线程应用程序中的冲突。它建立在fork/join框架之上。 分叉/加入 在fork/join框架中,任务被递归分解,即分解为子任务。然后将子任务单独执行,将子任务
newScheduledThreadPool 方法
模块 2:Java 核心
第 14 级,
课程 5
另一种类型的任务池是计划任务池。从名称来看,我们可以假设我们使用此类型来安排何时应启动特定任务。 当我们有一个任务要在一段时间后启动一个活动,或者我们想要安排一个重复性任务时,这种类型的服务很有用。 要使用一个,我们调用Executors.newScheduledThreadPool(1)。 稍后我们将讨论参数。但现在,我们需要知道的是,当调用此方法时,我们将获得一个ScheduledExecutorService对象。 ScheduledExecutorService是一个
ThreadLocal,ThreadLocalRandom
模块 2:Java 核心
第 14 级,
课程 6
在本课中,我们将大体讨论使用java.lang.ThreadLocal<>类以及如何在多线程环境中使用它。 ThreadLocal类用于存储变量。这个类的一个显着特征是它为每个使用它的线程保留一个单独的独立值副本。 深入研究类的操作,我们可以想象一个映射,将线程映射到值,当前线程需要使用时从中取合适的值。 ThreadLocal类构造器 构造器 行动 线程局部() 在 Java 中创建一个空变量 方法 方法 行动 得到() 返回当前线程局部变量的值 放() 为当前线程设置局部
来自教授的有用链接 — 27
模块 2:Java 核心
第 14 级,
课程 7
“嗯,你好,阿米戈!我希望你今晚没有任何宏伟的计划,因为我已经找到了一些关于多线程的合理材料供你欣赏。 更好的结合:Java 和 Thread 类。 第一部分 — 执行线程。多线程从一开始就内置在 Java 中。让我们首先回顾一下线程从何而来以及它们是如何组织的。 第 2 部分 — 同步。本文致力于线程间同步的基本手段。我们将探索监视器、锁和同步。 第 3 部分 — 互动。线程如何交互的细节概述。我们将探讨线程交互时可能出现的问题,并讨论如何避免这些问题。 第 4 部分 —
嵌套类
模块 2:Java 核心
第 15 级,
课程 0
“嗨,阿米戈!” “嗨,艾莉!” “今天我们有一个很有意思的话题,今天我要给大家讲讲嵌套类。” “如果一个类声明在另一个类内部,那么它就是一个嵌套类。非静态嵌套类称为内部类。” “内部类的对象嵌套在外部类的对象中,因此可以访问外部类的变量。” 例子 public class Car
静态嵌套类
模块 2:Java 核心
第 15 级,
课程 1
“因此,第二个主题是静态嵌套类。请记住,非静态嵌套类称为内部类。 “让我们围绕嵌套类声明上下文中静态这个词的含义进行思考。你怎么看?” “如果一个变量被声明为静态的,那么该变量只存在一个副本。那么,如果一个嵌套类是静态的,那么是否意味着你只能创建该类的一个对象?” “不要让static这个词在这里混淆了你。确实,如果一个变量声明为static,那么该变量只有一个副本。但是静态嵌套类在这方面更像是一个静态方法。”类声明前的单词 static 表示该类不存储对其外部类对象的引用。
匿名内部类和示例
模块 2:Java 核心
第 15 级,
课程 2
“嗨,阿米戈!” “但我们已经打过招呼了,艾莉!” “喂,你别跟你阿姨吵架,在31世纪,半个小时以上没见人,再打声招呼是习惯性的,所以你别给我态度!” “总之,又到了另一个有趣的话题了:机器人繁殖!” “噢噢。” “开玩笑的,新话题是匿名内部类。” “在 Java 中,有时会出现需要一个类继承多个类的情况。由于 Java 不支持多重继承,他们使用内部类解决了这个问题:在我们的类中,我们声明一个内部类并使它继承了我们需要它继承的任何类。这是一个例子:“ 继承 Thread 类的
JDK中各类类的例子
模块 2:Java 核心
第 15 级,
课程 3
内部类的例子 AbstractList类有一个Itr内部类。它是Iterator接口的实现,可以逐个获取集合的元素: private class Itr implements Iterator {
来自教授的有用链接 — 23
模块 2:Java 核心
第 15 级,
课程 4
“嗨,阿米戈!你应对新主题和任务的速度如此之快。但我今天为你准备了很多很好的读物。我认为你会再次正确检查嵌套类而受益。 嵌套内部类 为什么要在另一个类中创建类?好吧,例如,您可能想分离出一些与另一个实体有着千丝万缕联系的实体,以维护程序的逻辑。难的?没什么好怕的。我们将在本文中通过示例详细考虑所有内容。 静态嵌套类 静态嵌套类与其他类型的嵌套类有何不同?我们将继续探索嵌套类,并在本实践课中了解一些细微差别。 本地方法中的内部类 局部类是内部类的一个亚种,但它们有几个特点和区别
序列化。开始。
模块 2:Java 核心
第 16 级,
课程 0
Java 机器可以存储和加载其对象。它甚至不需要使用 save 和 load 方法即可完成:所有对象都存储在 Java 机器内部,它拥有对这些对象的完全访问权限。因此,序列化是以字节序列存储对象状态的过程,它是 Java 机器固有的特性
显示更多
1
...
19
20
21
22
23
...
35
Please enable JavaScript to continue using this application.