- 要理解实现原理,必须把线程池的几个参数彻底搞懂,不要死记硬背 线程池参数 1、corePoolSize(必填):核心线程数。 2、maximumPoolSize(必填):最大线程数。 3、keep... 要理解实现原理,必须把线程池的几个参数彻底搞懂,不要死记硬背 线程池参数 1、corePoolSize(必填):核心线程数。 2、maximumPoolSize(必填):最大线程数。 3、keep...
- 前言 最近被问到了这个问题,第一次回答的也是很不好,在此参考网上答案进行整理记录。供大家学习参考。 Synchronized修饰非静态方法 Synchronized修饰非静态方法,实际上是对调用该方法的对象加锁,俗称“对象锁”。 Java中每个对象都有一个锁,并且是唯一的。假设分配的一个对象空间,里面有多个方法,相... 前言 最近被问到了这个问题,第一次回答的也是很不好,在此参考网上答案进行整理记录。供大家学习参考。 Synchronized修饰非静态方法 Synchronized修饰非静态方法,实际上是对调用该方法的对象加锁,俗称“对象锁”。 Java中每个对象都有一个锁,并且是唯一的。假设分配的一个对象空间,里面有多个方法,相...
- 前言 最近在复习锁这一块,对java中的锁进行整理,本文介绍各种锁,希望给大家带来帮助。 Java的锁 乐观锁 乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,采取在写时先读出当前版本号,然后... 前言 最近在复习锁这一块,对java中的锁进行整理,本文介绍各种锁,希望给大家带来帮助。 Java的锁 乐观锁 乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,采取在写时先读出当前版本号,然后...
- 在我们的Thread类中,我们可以看到多线程有六种状态。 NEW:初始状态 RUNNABLE:运行状态 BLOCKED:阻塞状态 WAITING:等待状态 TIMED_WAITING:超时等待状态 TERMINATED:终止状态 六种状态之间的转化关系如下: 1、N... 在我们的Thread类中,我们可以看到多线程有六种状态。 NEW:初始状态 RUNNABLE:运行状态 BLOCKED:阻塞状态 WAITING:等待状态 TIMED_WAITING:超时等待状态 TERMINATED:终止状态 六种状态之间的转化关系如下: 1、N...
- 前言 大家好,今天鸡翅老哥继续带大家深入了解多线程,我们都知道多线程有两种实现方式,一种是实现runnable接口,一种是实现callable接口。那么线程池的submit提交方式,两种都可以作为参数传递。要知道submit是当需要返回值的情况下才使用,runnable是没有返回值,那么submit为什么可以接收两种呢,我们继续往下看... 前言 大家好,今天鸡翅老哥继续带大家深入了解多线程,我们都知道多线程有两种实现方式,一种是实现runnable接口,一种是实现callable接口。那么线程池的submit提交方式,两种都可以作为参数传递。要知道submit是当需要返回值的情况下才使用,runnable是没有返回值,那么submit为什么可以接收两种呢,我们继续往下看...
- 从thread类中,我们可以看到类中预先定义了三个优先级。 通过getpriority可以看到新建线程的默认等级。 public class ExtendsThread { public static void main(String[] args) { MyThread c = new... 从thread类中,我们可以看到类中预先定义了三个优先级。 通过getpriority可以看到新建线程的默认等级。 public class ExtendsThread { public static void main(String[] args) { MyThread c = new...
- idea启动配置 参数如下 -Djava.rmi.server.hostname=127.0.0.1-Dcom.sun.management.jmxremote-Dcom.sun.management.jmxremote.port=11911-Dcom.sun.management.jmxremote.... idea启动配置 参数如下 -Djava.rmi.server.hostname=127.0.0.1-Dcom.sun.management.jmxremote-Dcom.sun.management.jmxremote.port=11911-Dcom.sun.management.jmxremote....
- 单例模式可以说只要是一个合格的开发都会写,但是如果要深究,小小的单例模式可以牵扯到很多东西,比如:多线程是否安全?是否懒加载?性能等等。还有你知道几种单例模式的写法呢?如何防止反射破坏单例模式? 一、 单例模式 1.1 定义 单例模式就是在程序运行中只实例化一次,创建一个全局唯一对象。有点像 Java&nbs... 单例模式可以说只要是一个合格的开发都会写,但是如果要深究,小小的单例模式可以牵扯到很多东西,比如:多线程是否安全?是否懒加载?性能等等。还有你知道几种单例模式的写法呢?如何防止反射破坏单例模式? 一、 单例模式 1.1 定义 单例模式就是在程序运行中只实例化一次,创建一个全局唯一对象。有点像 Java&nbs...
- 前言 本篇博客来自 https://www.cnblogs.com/clover-forever/p/12616869.html 自己在此记录一下,方便日后复习。 虚假唤醒的概念 jdk官方文档解释: 所以说在wait和notify一块使用时,如果使用if作为条件时,会有虚假唤醒的... 前言 本篇博客来自 https://www.cnblogs.com/clover-forever/p/12616869.html 自己在此记录一下,方便日后复习。 虚假唤醒的概念 jdk官方文档解释: 所以说在wait和notify一块使用时,如果使用if作为条件时,会有虚假唤醒的...
- 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。 注意: 1、单例类只... 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。 注意: 1、单例类只...
- 一. 前言 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。 二. 认识Block... 一. 前言 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。 二. 认识Block...
- 前言 wait和notify必须在synchronized块中,否则会抛出IllegalMonitorStateException。 原因 代码示例 class BlockingQueue { Queue<String> buffer = new LinkedList<String>(... 前言 wait和notify必须在synchronized块中,否则会抛出IllegalMonitorStateException。 原因 代码示例 class BlockingQueue { Queue<String> buffer = new LinkedList<String>(...
- 前言 大年初二,大家新年快乐,我又开始码字了。写这篇文章,源于在家和基友交流的时候,基友问到了,我猛然发现还真是这么回事,多线程启动调用的都是start,那么为什么没人掉用run呢?于是打开我的idea,翻一波代码,带大家一探究竟。 继承thread类实现多线程 我们知道java有三种方式实现多线程,这里直接用继承的方... 前言 大年初二,大家新年快乐,我又开始码字了。写这篇文章,源于在家和基友交流的时候,基友问到了,我猛然发现还真是这么回事,多线程启动调用的都是start,那么为什么没人掉用run呢?于是打开我的idea,翻一波代码,带大家一探究竟。 继承thread类实现多线程 我们知道java有三种方式实现多线程,这里直接用继承的方...
- 前言 大家好,这里是经典鸡翅,最近有人问我线程池的execute和submit,有的抛出异常,有的不抛出异常,这里鸡翅老哥给大家整理下。通过源码跟踪跟大家讲解。 两个方法 我们先用最普通的方式定义一个线程池。 ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecut... 前言 大家好,这里是经典鸡翅,最近有人问我线程池的execute和submit,有的抛出异常,有的不抛出异常,这里鸡翅老哥给大家整理下。通过源码跟踪跟大家讲解。 两个方法 我们先用最普通的方式定义一个线程池。 ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecut...
- 一、前言 移动互联网时代,网页依旧是内容展示的重要媒介,这离不开 WebKit 浏览内核技术的支持与发展。在 iOS 平台下开发者们需要通过 WKWebView 框架来与 WebKit 打交道。虽然苹果... 一、前言 移动互联网时代,网页依旧是内容展示的重要媒介,这离不开 WebKit 浏览内核技术的支持与发展。在 iOS 平台下开发者们需要通过 WKWebView 框架来与 WebKit 打交道。虽然苹果...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢
2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
苏州工业园区“华为云杯”2025人工智能应用创新大赛赛中直播
2025/08/21 周四 16:00-17:00
Vz 华为云AIoT技术布道师
本期直播将与您一起探讨如何基于华为云IoT平台全场景云服务,结合AI、鸿蒙、大数据等技术,打造有创新性,有竞争力的方案和产品。
回顾中 -
深入解读架构师专业级培训认证
2025/08/22 周五 16:30-17:30
阿肯-华为云生态技术讲师
解决方案架构专业级是开发者认证中的顶端明珠。这门认证聊什么?值得学吗?怎么考、考什么、难不难?这门课程深入解答
回顾中
热门标签