Java核心知识点常考面试题(持续更新中)

news2024/12/22 13:26:23

Java核心知识点常考面试题(持续更新中)

  • 线程与线程池
  • Java锁机制
    • 轻量级锁
    • 重量级锁

线程与线程池

一、线程

1、线程的状态
在这里插入图片描述
2、线程的创建方式
(1)继承 Thread 类;
(2)实现 Runnable 接口,不带返回值;
(3)实现 Callable 接口,带返回值,阻塞式获取返回值;

public static void main(String[] args) {
     System.out.println("===开始===");
     //通过结合FutureTask类实现
     FutureTask<String> futureTask = new FutureTask<>(() -> {
         String result = "";
         //结果处理过程......
         result = "Hello world!";
         return result;
     });
     Thread thread = new Thread(futureTask);
     thread.start();
     try {
         //阻塞主线程并获取返回值
         String result = futureTask.get();
         System.out.println("result = " + result);
     } catch (InterruptedException | ExecutionException e) {
         e.printStackTrace();
     }
     System.out.println("===结束===");
}

(4)通过线程池创建线。注意:Java原生线程池(阿里官方不推荐使用Executors),原因如下:
在这里插入图片描述

二、线程池

1、线程池的核心参数
(1)corePoolSize:核心线程数。
(2)maxinumPoolSize:最大线程数。
(3)keepAliveTime:空闲线程存活时间。
(4)unit:时间单位(秒、分钟等)。
(5)workQueue:任务队列,存放任务的容器。
(6)threadFactory:线程工厂,可以使用默认的,或自定义的,通常使用默认。
(7)handler:拒绝策略,顾名思义,拒绝线程访问,JKD自带共有四种策略,如下:

1、new ThreadPoolExecutor.AbortPolicy():丢弃任务,并抛出RejectedExecutionException异常
2、new ThreadPoolExecutor.DiscardPolicy():丢弃任务,但是不抛出异常
3、new ThreadPoolExecutor.DiscardOldestPolicy():丢弃队列最前面的任务,然后重新提交被拒绝的任务
4、new ThreadPoolExecutor.CallerRunsPolicy():该任务被线程池拒绝,由调用 execute方法的线程执行该任务。

2、如何设置线程池参数

public static void main(String[] args) {
    //计算CPU核数
    int cpuCores = Runtime.getRuntime().availableProcessors();
    ThreadPoolExecutor threadPool = new ThreadExecutor(
            corePoolSize,   //核心线程数
            maxinumPoolSize,  //最大线程数,CPU密集型即高并发(一般为CPU核数),IO密集型(一般为:CPU核数*2)
            keepAliveTime,  //空闲线程的存活时间
            unit,  //超时时间单位
            workQueue,  //工作队列:new LinkedBlockingDeque<>(3),阻塞队列
            threadFactory,  //Executors.defaultThreadFactory(),默认创建线程的工厂,一般不动
            handler  //拒绝策略:ThreadPoolExecutor.AbortPolicy(),队列满了还有任务直接抛出异常
    );
}

3、线程池的状态及说明
线程池的状态及说明

Java锁机制

轻量级锁

一、CAS(Compare And Swap):比较并交换。也被成为:乐观锁、自旋锁。参考文章:https://blog.csdn.net/weixin_43715214/article/details/128255225

重量级锁

一、synchronized 关键字

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/611973.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大学计算机专业 学习Python学习路线图(最新版)

这是我刚开始学习python时的一套学习路线&#xff0c;从入门到上手。&#xff08;不敢说精通&#xff0c;哈哈~&#xff09; 希望对大家有帮助哈~ 大家需要高清得完整python学习路线可以 一、Python入门、环境搭建、变量、数据类型 二、数据库编程 三、Linux系统 四、网页编…

工信部—高级软件开发工程师认证

工业和信息化部教育与考试中心是工业和信息化部直属事业单位&#xff0c;承担计算机技术与软件专业技术资格考试、通信专业技术人员职业水平考试、电子通信行业职业技能鉴定、全国信息技术人才培养工程、产业工人网络平台建设等人才培养选拔工作。 软件工程师(Software Enginee…

京东数据分析软件工具(京东618销量查询)

这一期&#xff0c;我们主要分享今年618京东美妆的预售数据&#xff0c;包括面部护肤、香水彩妆、男士面部护肤品类。 -面部护肤- 今年618&#xff0c;面部护肤品类在京东累计预售量达到130万件&#xff0c;预售额达到13亿元。预售期间&#xff0c;护肤品类均价在1010元左右。期…

计算机中丢失VCRUNTIME140_1怎么办,vcruntime140_1.dll的三个修复方法

vcruntime140_1.dll是一个Windows系统文件&#xff0c;它是Microsoft Visual C Redistributable for Visual Studio 2019软件包的一部分&#xff0c;用于运行使用Visual C开发的应用程序。在我们打开软件或者游戏的时候&#xff0c;提示计算机中丢失VCRUNTIME140_1怎么办&#…

刷完它,最少17K,真的不能再少了····

金3银4已经过去了&#xff0c;金9银10也快来了&#xff0c;你找到工作了吗&#xff1f;薪资多少k&#xff1f;8K&#xff1f;13K&#xff1f;17&#xff1f; 最近有不少小伙伴在后台给我留言&#xff0c;说最近准备面试了&#xff0c;但是不知道从何下手&#xff01; 既然大家…

鲁大师5月新机性能/流畅/久用榜:蓝绿厂霸榜,天玑9200+与高通骁龙8 Gen2迎来首次交锋

性能榜 6.18年中购物节前夕&#xff0c;一众厂商开始扎堆发布新机冲销量&#xff0c;也导致本月的新发机型数量达到了19款。 从品牌来看&#xff0c;ov两家和其子品牌、独立品牌就占据了十二台。从机型定位来看&#xff0c;本月的手机竞争主要围绕中端市场&#xff0c;除了索尼…

【Log】大三的最后一个项目,所以我到底是不是恋爱脑?

文章目录 梦开始的地方核心功能恋爱相册&#xff08;LoveAlbum&#xff09;恋爱日志&#xff08;LoveLogs&#xff09;爱情邮局&#xff08;LovePostOffice&#xff09;时间线&#xff08;TimeLine&#xff09;待办列表&#xff08;LoveList&#xff09; 技术栈 梦开始的地方 …

STM32单片机WIFI智能语音家居窗户窗帘空调灯控制系统OLED显示

实践制作DIY- GC0139-WIFI智能语音家居窗户窗帘空调灯控制系统 基于STM32单片机设计---WIFI智能语音家居窗户窗帘空调灯控制系统 二、功能介绍&#xff1a; 件组成&#xff1a;stm32103 系列单片机&#xff0c;OLED 显示屏模块&#xff0c;语音识别模块&#xff0c;DTH11温湿度…

掌握了这些技术后,才发现进大厂,也没有那么难...

为了帮助大家快速回顾学习软件测试中的知识点&#xff1a;这套学习笔记&#xff0c;面试手册是由多位一线大牛老师联手打造3个月制作而成&#xff0c;几乎涵盖了所有的软件测试技术栈。掌握它们才发现进大厂&#xff0c;也没有那么难 全网首发&#xff01;非常珍贵&#xff0c…

控制算法工程师的工作职责(合集)

控制算法工程师的工作职责1 职责&#xff1a; 1、准确地控制密闭容器的气体或液体的压力&#xff0c;以供校准其他压力表使用; 2、准确地控制温度场的精度&#xff0c;以供校准其他温度计使用; 3、根据不同的控制方案和执行机构/加热制冷方式;测试其特性、建立数学模型、设计算…

运维小白必学篇之基础篇第十五集:FTP实验

FTP实验 实验者&#xff1a;胡 阳 匿名用户验证&#xff1a; 例&#xff1a;&#xff08;前提配置&#xff0c;防火墙关闭&#xff0c;yum安装&#xff0c;同模式vmware11&#xff09; 现有一台计算机huyanggw&#xff08;视作服务端&#xff09;&#xff0c;IP地址为192.1…

仙境传说RO:添加商店物品教程

仙境传说RO&#xff1a;添加商店物品教程 我是艾西&#xff0c;今天跟大家分享下仙境传说RO游戏中我们自己怎么创建商店卖东西装备等&#xff0c;首先看看下图以及自己创建商店时需要在文档里创建的脚本格式 //*------------------shop普通商店------------------ //带坐标的…

介绍如何使用反向传播的 CNN 接受场计算以及代码讲解

在上一篇文章中,我们学习了如何对任意大小的图像进行分类并可视化网络的响应图。 图 1:“骆驼”类激活的边界框。 在图 1 中,请注意骆驼的头部几乎没有突出显示,响应贴图包含大量沙子纹理。边界框也明显关闭。 有些事情是不对的。 我们使用的 ResNet18 网络非常准确,实…

win11系统内存完整性不兼容驱动程序查找删除教程

近期很多用户都对进行了升级更新&#xff0c;但是出现了很多不兼容的情况&#xff0c;导致内存完整性关闭了&#xff0c;想要开启就需要删除不兼容的驱动程序&#xff0c;关于这个问题&#xff0c;我就来分享查找和删除的方法&#xff0c;希望能够帮助到更多的用户。 当您考虑…

数字工厂解决方案,先进的数字工厂怎么建立?

2023年5月23日&#xff0c;国家市场监督管理总局&#xff08;国家标准化管理委员会&#xff09;发布2023年第2号中华人民共和国国家标准公告&#xff1a;批准GB/T 42562-2023《工业互联网平台选型要求》&#xff1b;GB/T 42568-2023《工业互联网平台微服务参考框架》&#xff1…

白盒测试、黑盒测试、灰盒测试

根据被测对象的不同&#xff0c;软件测试可以分为白盒测试、黑盒测试、灰盒测试三种方式。那么&#xff0c;这三种测试测试方式具体是如何运行的&#xff1f;各有什么特点&#xff1f;下面&#xff0c;跟着小厚一起了解一下吧&#xff01; 01 白盒测试 ●概念&#xff1a; ➢…

网络安全入门必学内容

随着时代的发展&#xff0c;经济、社会、生产、生活越来越依赖网络。而随着万物互联的物联网技术的兴起&#xff0c;线上线下已经打通&#xff0c;虚拟世界和现实世界的边界正变得模糊。这使得来自网络空间的攻击能够穿透虚拟世界的边界&#xff0c;直接影响现实世界的安全。 网…

2023最新网络安全面试题大全,看完这篇你的秋招offer就到手了!

前言 随着国家政策的扶持&#xff0c;网络安全行业也越来越为大众所熟知&#xff0c;想要进入到网络安全行业的人也越来越多。 为了拿到心仪的 Offer 之外&#xff0c;除了学好网络安全知识以外&#xff0c;还要应对好企业的面试。 作为一个安全老鸟&#xff0c;工作这么多年…

【unity小技巧】常用的方法属性和技巧汇总

学习目标&#xff1a; 最近学习过程经常遇到一些好的方法属性和技巧&#xff0c;但是很容易忘记&#xff0c;单内容都比较少&#xff0c;又不至于开一篇文章单独讲解各个用法&#xff0c;特此单独写一篇做汇总&#xff0c;好记性不如烂笔头&#xff0c;后面收获一些新的知识我还…

基于kubesphere的k8s环境部署单点版本的rook-ceph

文章目录 前言一、rook-ceph是什么&#xff1f;二、开始部署1.环境准备2.软件包准备3.下载rook-ceph文件4. 部署operator5.创建ceph集群6.创建工具容器&#xff0c;检查集群状态7.准备dashboard的nodeport端口映射服务8.准备prometheus的metric端口映射服务 总结 前言 基于kub…