自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 线程池面试问题

一、什么是线程池?线程池是一种多线程处理形式,处理过程中将任务提交到线程池,任务的执行交由线程池来管理。如果每个请求都创建一个线程去处理,那么服务器的资源很快就会被耗尽,使用线程池可以减少创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务。二、为什么使用线程池?创建线程和销毁线程的花销是比较大的,这些时间有可能比处理业务的时间还要长。这样频繁的创建线程和销毁线程,再加上业务工作线程,消耗系统资源的时间,可能导致系统资源不足。(我们可以把创建和销毁的线程的过程去掉)三、线程池工作原理

2022-05-22 10:10:30 1317

转载 JVM对final关键字的编译优化

深入java final关键字 用法注意点和JVM对其进行的优化(例子转载:https://blog.youkuaiyun.com/yabay2208/article/details/71248462(按照Java代码惯例,final变量就是常量,而且通常常量名要大写:)final关键字声明的static变量(属于类)必须在声明、类初始化(static{})的时候初始化,而且不能重复赋值;而非static变量(属于对象),必须在声明、对象初始化({}方法)或者构造函数里面初始化,也不可以重复赋值。(有例子)f

2021-03-16 11:34:26 802

原创 Java线程池实现原理详解

Java线程池实现原理详解一、为什么要使用线程池?二、线程池的原理?1、线程池的七大参数2、线程池的工作原理2.1 线程池工作原理步骤2.2 线程池任务提交流程图3、线程池的底层原理3.1 ThreadPoolExecutor中的全局常量和方法3.2 ThreadPoolExecutor类中的相关代码3.2.1 提交任务相关代码3.2.2 Worker的结构三、如何使用线程池?一、为什么要使用线程池?降低资源消耗。通过重复利用已创建的线程降低线程创建、销毁线程造成的消耗。提高响应速度。当任务到达时,

2021-03-12 17:23:51 755

原创 JAVA是如何在运行时确定对象类型?

JAVA是如何在运行时确定对象类型?一、RTTI在运行时确定对象类型,俗称RTTI(Run-Time Type Information),即运行时类型识别的信息,使用java官方语言则为:Java在运行时能够获得或判断某个对象的类型信息。二、JAVA在运行时,识别对象和类信息的方式:转型利用class对象反射机制三、识别对象和类信息的方式解释:转型在程序运行时检查父类型的引用是否可以指向子类型的对象,即确保类型向上转换安全。样例一:abstract class Shape

2021-03-10 21:28:43 1183

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除