面试篇:杂乱篇

 String s = " ";

1. String类的常用方法有哪些?

  1. s.length():               返回字符串长度
  2. s.substring():          截取字符串
  3. s.split():                  分割字符串
  4. s.equlas():              字符串比较
  5. s.chatAt():               返回指定索引处的字符

2. 说一下synchronized底层实现原理

答:它底层是由monitor实现的,monitor是jvm级别的对象(使用c++编写的),线程获得锁需要用对象关联monitor。  monitor有三个属性:owner, entrylist, waitset.

        其中:owner是关联获得锁的线程,并且只能关联一个线程,而entrylist是关联处于阻塞状态的线程,waitset是关联处于等待状态的线程

3.线程池的七个参数是什么?执行原理是什么?

 答:七个参数:

        1. 核心线程数

        2.最大线程数

        3.线程存活时间

        4.线程存活时间的单位

        5.工作队列

        6.线程工厂

        7.拒绝策略

                        

执行原理:当一个任务来了之后,会先去判断一下核心线程数是否已满,如果没有满,直接添加到工作线程去执行,如果已经满了,则添加到阻塞队列,如果阻塞队列也满了,则判断是否达到最大线程数,如果没达到,则创建临时线程来执行,如果已经达到了最大线程数,那就直接根据拒绝策略来拒绝。

4.线程池有哪些常见的阻塞队列?

BlockingQueue有这几种类型:ArrayBlockingQueue、LinkedBlockingQueue、SynchronousQueue、DelayedWorkQueue。

5. 线程池有哪些种类?

在JUC包下有Excutors类中提供了很多创建连接池的静态方法,常见的有四种:

1. newFixedThreadPool(int nThreads)

特点:

  • 核心线程数 == 最大线程数
  • 阻塞队列使用的是LinkedBlockingQueue
  • 适用于任务数已知,比较耗时的任务

2. newSingleThreadExcutors()

特点:

  • 核心线程数 == 最大线程数 == 1   (单线程)
  • 阻塞队列使用的是LinkedBlockingQueue
  • 适用于按照顺序执行的任务

3. newCachedThreadPool()

特点:

  • 核心线程数 == 0
  • 最大线程数 == Integer.MAX_VALUE
  • 阻塞队列为synchronousQueue
  • 适用于任务数比较密集,而且任务耗时比较短的情况(防止任务太多时,任务耗时太长,创建大量的线程占用内存)

4. newScheduledThreadPool

特点:创建一个可执行延时任务的线程池,支持定时及周期性任务执行

6.谈谈对ThreadLocal的理解

答:1.ThreadLocal可以实现资源对象的线程隔离,让每个线程各用各的资源对象,防止产生线程安全问题

       2.ThreadLocal也实现了线程内的资源共享。

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

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

相关文章

Chapter 1 Basic Concepts of Communication and Communication Systems

1.1 The Concept of Communication communication【通信】:It is the process of using signals to transmit messages containing information in space. To put it simply, communication is the spatial transmission of information【信息的空间传递】Information【信息】…

【JavaWeb】Day35.MySQL概述——数据库设计-DDL(二)

表操作 关于表结构的操作也是包含四个部分:创建表、查询表、修改表、删除表。 1.创建 语法 create table 表名( 字段1 字段1类型 [约束] [comment 字段1注释 ], 字段2 字段2类型 [约束] [comment 字段2注释 ], ...... 字段n 字段n类型 [约束] [comment …

藏不住了!这20个技术点是运维老手的秘密武器

你们好,我的网工朋友。 信息技术系统的正常运行直接关系到企业或生产的正常运行。 然而,网工经常面临以下问题:网络速度慢、设备故障和应用系统效率低。 任何信息技术系统的故障,如果不及时处理,都会产生很大的影响…

P2089 烤鸡、P1706 全排列问题、P1157 组合的输出、P1036 [NOIP2002 普及组] 选数——Python代码实现(带注释)

P2089 烤鸡 题目背景 猪猪 Hanke 得到了一只鸡。 题目描述 猪猪 Hanke 特别喜欢吃烤鸡(本是同畜牲,相煎何太急!)Hanke 吃鸡很特别,为什么特别呢?因为他有 1010 种配料(芥末、孜然等&#xf…

【优选算法专栏】专题十六:BFS解决最短路问题(一)

本专栏内容为:算法学习专栏,分为优选算法专栏,贪心算法专栏,动态规划专栏以及递归,搜索与回溯算法专栏四部分。 通过本专栏的深入学习,你可以了解并掌握算法。 💓博主csdn个人主页:小…

串口和 蓝牙模块HC08

串口基本认知 串行接口简称串口,也称 串行通信 接口或 串行通讯接口 (通常指 COM 接口 ),是采用串行通信方 式的 扩展接口 。串行 接口(Serial Interface )是指数据一位一位地顺序传送。其特点是 通信线路…

优秀企业都在用的企微知识库,再不搭建就晚了!

每个团队都在寻找让工作效率提升的方法。如果你想知道哪些团队能够高效地完成任务,而另一些却步履维艰,那么答案可能就是“企业微信知识库”。见过很多团队都在使用它,而且效果非常显著。如果你还没有搭建属于自己的企微知识库,可…

你真的会写接口自动化测试断言吗?

你真的会写自动化测试断言吗? 在接口测试中,断言是一项非常重要的操作,它是用来校验接口返回结果是否符合预期的一种手段。一般来说,接口测试断言大致可以分为以下几类: 状态码断言:这是最基本也是最常用的…

【C语言】汉诺塔问题

目录 一、何为汉诺塔问题? 二、汉诺塔计算规律 三、打印汉诺塔的移动路径 总结 一、何为汉诺塔问题? 汉诺塔问题是一个经典的问题。汉诺塔(Hanoi Tower),又称河内塔,源于印度一个古老传说。大梵天创造世…

BM57 岛屿数量(回溯)

对数组index的判断要放前面,要不然报数组越界异常。 import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** 判断岛屿数量* param grid char字符型二维数组 * return …

Unity开发者3D模型基础

术语“3D 建模”是指使用特殊软件创建对象或表面的 3D 数字表示的过程。 3D 模型可用于各种不同的目的,包括电影、视频游戏、建筑和工程。 3D 建模也是创建虚拟现实 (VR) 和增强现实 (AR) 体验工作的重要组成部分。 我们通常通过构建或获取 3D 模型并将其导入 Unit…

ssm028蜀都天香酒楼的网站设计与实现+jsp

基于JSP的蜀都天香酒楼管理系统的设计与实现 摘要 近年来,信息化管理行业的不断兴起,使得人们的日常生活越来越离不开计算机和互联网技术。首先,根据收集到的用户需求分析,对设计系统有一个初步的认识与了解,确定蜀都…

ssm026校园美食交流系统+vue

校园美食交流系统 摘 要 1 前 言 3 第1章 概述 4 1.1 研究背景 4 1.2 研究目的 4 1.3 研究内容 4 第二章 开发技术介绍 5 2.1Java技术 6 2.2 Mysql数据库 6 2.3 B/S结构 7 2.4 SSM框架 8 第三章 系统分析 9 3.1 可行性分析 9 3.1.1 技术可行性 9 3.1.2 经济可行…

极客时间: 用 Word2Vec, LangChain, Gemma 模拟全本地检索增强生成(RAG)

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

第7章 数据安全

思维导图 7.1 引言 数据安全包括安全策略和过程的规划、建立与执行,为数据和信息资产提供正确的身份验证、授权、访问和审计。虽然数据安全的详细情况(如哪些数据需要保护)因行业和国家有所不同,但是数据安全实践的目标是相同的,即根据隐私和…

隐私计算实训营第七讲-隐语SCQL的开发实践

隐私计算实训营第七讲-隐语SCQL的开发实践 文章目录 隐私计算实训营第七讲-隐语SCQL的开发实践1.如何使用SCQL?2.使用流程3.SCQL部署4.SCQL使用示例4.1创建用户4.2创建项目&用户授权4.3创建表4.4设置CCL4.5发起联合分析查询 1.如何使用SCQL? 2.使用流…

Echarts实现高亮某一个点

背景 接口会返回所有点的数据,以及最优点的数据。产品要求在绘制图形后,高亮最优点,添加一个红色的样式,如图。点击select选择器时,可选择不同指标和花费对应的关系。 以下介绍实现思路 1、自定义配置选择器的数据源…

C#基础:类,对象,类成员简介(第四节课)

本节内容: 类与对象的关系 什么时候叫“对象”,什么时候叫实例引用变量与实例的关系 类的三大成员 属性方法事件 类的静态成员与实例成员 关于“绑定” 1.什么是类:(再详细一点) 类是对现实世界事物进行抽象所…

LLM是优秀的手语翻译者

LLM是优秀的手语翻译者 简介Related WorkMethodSignLLM Overviewector-Quantized Visual Sign ModuleCodebook Reconstruction and Alignment LLMs are Good Sign Language Translators 简介 基于观察,我们发现LLMs可以通过利用与之前学习过的语言的共有特性来有效…

CPU+GPU+NPU三位一体AI边缘控制器,三屏异显,搭载RK3588处理器

XMS-201采用了Rockchip RK3588八核64位处理器,集成ARM Mali-G610 MP4四核GPU,内置AI加速器NPU,可提供6Tops算力,支持主流的深度学习框架;性能强劲的RK3588可为各类AI应用场景带来更强大的性能表现,适用于机…