![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试
文章平均质量分 83
Hi丶ImViper
这个作者很懒,什么都没留下…
展开
-
2021到2022,从学生成长为职场人(面试打工指南)
如何从学生成长为职场人,面试打工指南请看!原创 2022-02-07 22:53:47 · 1982 阅读 · 4 评论 -
应届生想在大厂中快速晋升,这些你都要懂
前言作为一个刚入职的校招生,学会如何在大厂中快速晋升,对自己的职业发展有很大的帮助。这篇文章带领大家简单的了解下想要晋升,你需要知道说明?职级不同公司,特别是成熟的互联网公司,都有自己的一套职级体系。 首先你得清晰的知道,自己处于什么等级,再去对症下药,用不同的方式准备晋升。跨域式职级在这个体系下,两个级别之间差距很大,就像是有一条鸿沟一般,需要花费很大的事件和精力才能跨越。目前国内大型互联网公司中,阿里、百度、滴滴和字节跳动采用的都是跨越式职级。其中比较广为熟知的则是阿里的职级,下图放出一张各原创 2021-10-31 18:17:00 · 1355 阅读 · 0 评论 -
Go语言面试系列:Go基础类型大全
Go语言面试系列:Go基础类型大全go语言自带的基础类型包括int :有符号的整数类型,具体占几个字节要看操作系统的分配,不过至少分配给32位。uint:非负整数类型,具体占几个字节要看操作系统的分配,不过至少分配给32位。int8:有符号的整数类型,占8位bit,1个字节。范围从负的2的8次方到正的2的8次方减1。int16:有符号的整数类型,占16位bit,2个字节。范围从负的2的16次方到正的2的16次方减1。int32:有符号的整数类型,占32位bit,4个字节。范围从负的2的32次方原创 2021-09-29 21:26:41 · 959 阅读 · 0 评论 -
MySQL常见面试题:什么是主从延时?如何降低主从延时?
1. 背景高并发这个阶段,肯定是需要做读写分离的,啥意思?因为实际上大部分的互联网公司,一些网站,或者是 app,其实都是读多写少。所以针对这个情况,就是写一个主库,但是主库挂多个从库,然后从多个从库来读,那不就可以支撑更高的读并发压力了吗?那具体什么是读写分离又如何解决其中的延迟问题呢?赶快一起来看看吧!监控:MySQL 的主从延迟?影响MySQL 主从延迟的影响?多少的延迟,可以接受?原因:MySQL 主从延迟的产生原因?2. MySQL 主从复制2.1. 作用原点之问原创 2021-09-04 11:03:08 · 659 阅读 · 0 评论 -
2021大厂面试Java真题合集!上百道题包含答案!刷完无惧任何面试!
2021大厂面试真题合集!上百道题包含答案!刷完无惧任何面试!先上链接: https://w86fskhnhi.feishu.cn/base/appcnPi0qF2EusU1Nb5Ea70lAEe?table=tblE6N0F7Zn9kRb7&view=vewfw5h5zp这些题目都是Viper自己在面试期间的准备,以及对这些问题的答案整合。基本上刷完之后,面试的问题除非很刁钻,否则就难不倒你了。链接里面有详细的使用教程,欢迎各位取用。下面为部分真题截图。...原创 2021-06-30 18:12:37 · 2471 阅读 · 7 评论 -
一文搞定权限管理!授权、鉴权超详细解析
一文搞定权限管理!授权、鉴权超详细解析授权概览什么是授权 (Authorization)?广义上的授权:是上级将完成某项工作所必须的权力授给部属人员;是领导者通过为员工和下属提供更多的自主权,以达到组织目标的过程。信息系统中的授权:是管理员将某些资源的访问、管理、操作等权限赋予用户,达到管理和使用的目的。譬如主机的访问使用权限,某项功能菜单的使用权限亦或是某个数据的读写权限。本文将对信息系统中的授权进行着重讲解授权的意义授权管理是所有业务系统不可缺少的一部分!企业角度:1)贴合管理制度原创 2021-06-30 17:06:38 · 5196 阅读 · 0 评论 -
一文搞定权限设计模型(RBAC,ABAC)超详细图文解析
术语用户发起操作的主体。对象(Subject)指操作所针对的客体对象,比如订单数据或图片文件。权限控制表 (ACL: Access Control List)用来描述权限规则或用户和权限之间关系的数据表。权限 (Permission)用来指代对某种对象的某一种操作,例如“添加文章的操作”。权限标识权限的代号,例如用“ARTICLE_ADD”来指代“添加文章的操作”权限。常见设计模式自主访问控制(DAC: Discretionary Access Control)系统会识别用户,然后原创 2021-06-30 17:06:02 · 13644 阅读 · 2 评论 -
Go 面试系列: Goroutine 数量是越多越好吗?设置多少会影响GC调度呢?
Go 面试系列: Goroutine 数量是越多越好吗?设置多少会影响GC调度呢?前言现在的大厂都开始慢慢使用Go语言了,例如字节已经把Go作为后端开发的主要编程语言。但是Go的面试题总结的比较少,于是打算开启这个专栏,一起学习一起进步。前几天被问到一个问题:“单机的 goroutine 数量控制在多少比较合适?”。第一反应一样是答复 “控制多少,我觉得没有定论”。紧接着延伸出了更进一步的疑惑:“goroutine 太多了会影响 gc 和调度吧,主要是怎么预算这个数是合理的呢?”这是本文要进行原创 2021-06-15 22:34:35 · 2828 阅读 · 5 评论 -
Go 面试系列:Go interface中nil的比较问题
Go 面试系列:Go interface中nil的比较问题前言现在的大厂都开始慢慢使用Go语言了,例如字节已经把Go作为后端开发的主要编程语言。但是Go的面试题总结的比较少,于是打算开启这个专栏,一起学习一起进步。最近在网上看到有小伙伴在 Go 面试的时候被问到了:来自网上博客的截图今天特意分享出来让大家避开这个坑。例子一第一个例子,如下代码:func main() { var v interface{} v = (*int)(nil) fmt.Println(v原创 2021-06-15 22:33:02 · 384 阅读 · 0 评论 -
牛客网2021校招模拟笔试一模(三月份)编程题解析
题目1:天弃之子标题:天弃之子时间限制: 3秒 内存限制: 262144k 语言限制:不限有一款游戏,过关的方式是按按钮。游戏一共有几关,每一关有a[i]个按钮,其中只有唯一一个按钮是可以通关的,按下其他的按钮游戏就会失败。好在这个游戏可以重来,而且由于设计者的疏忽,每一关的通关按钮是不变的,所以你可以记住前几关的按钮,重来时就可以直接通关。但是你的运气似乎用在了其他地方,你使用了最多的按按钮次数才成功通关。求这个最多的按按钮次数吧!解题思路题目提炼: 游戏共有n关,每一关有a[i]个按钮,原创 2021-03-18 23:06:57 · 1055 阅读 · 0 评论 -
面经:北明数科java方向笔试题(含答案)
【北明数科】实习生-Java/大数据题目—、不定向选择题(每题2分)1.下列属于合法的java标识符的是【多选题】A._catB. 5booksC. +staticD. -3.14159二、简答题String, Stringbuffer, StringBuilder 的区别?简单的来说:String 类中使⽤ final 关键字修饰字符数组来保存字符串, private final char value[] ,所以 String 对象是不可变的。⽽ StringBuilder 与原创 2021-03-18 16:41:37 · 657 阅读 · 0 评论 -
《剑指offer》Java版全系列题解(2021版,持续更新!)
《剑指offer》Java版全系列题解(2021版,持续更新!)本系列记录了最新版 《剑指Offer》 的题解过程与代码,因为原书是c语言。这里用Java代码复现并优化,并包含解题分析。希望各位能够点赞,收藏!关注我! 每日更新!如果在准备java面试,可以看看我的另外一篇文章! Java面试复习体系总结(2021版,持续更新)csdn题解(包含详细分析过程,代码)力扣链接 剑指Offer系列(java版,详细解析) 03. 数组中重复的数字剑指 Offer 03. 数组中重复原创 2021-03-12 13:11:36 · 22143 阅读 · 19 评论 -
java面试常见问题大全!准备春招面试必看!
目录面试题面试技巧面试题Java 基础说说你对Fail-Fast的理解什么是面向对象JDK 和 JRE 有什么区别== 和 equals 的区别是什么两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?final 在 Java 中有什么作用?String 属于基础的数据类型吗?Java中操作字符串都有哪些类?它们之间有什么区别?String str="i"与 String str=new String(“i”)一样吗?如何将字符串反转?普通原创 2021-02-28 19:34:39 · 533 阅读 · 0 评论 -
java春招面试冲刺系列:linux面试问题大全!
学习笔记Zero-Copy的前世今生清空文件 sudo sh -c “echo ‘’ > a.txt”重命名 mv folderAName newFolderName创建软链 ln -s sourcefile targetfileln -s /xxx/xx/eclipse eclipseLink使用代理下载文件 wget -e use_proxy=yes -e http_proxy=x.x.x.x:1080设置ulimit sudo sh -c “ulimit原创 2021-02-28 19:32:39 · 2066 阅读 · 7 评论 -
java春招面试冲刺系列:redis基础知识详细解析
目录学习计划学习笔记百问redis在什么情况下会变慢?单线程的redis,如何知道要运行定时任务?学习计划Redis的介绍、优缺点、使用场景Linux中的安装常用命令Redis各个数据类型及其使用场景Redis字符串(String)Redis哈希(Hash)Redis列表(List)Redis集合(Set)Redis有序集合(sorted set)Redis - 瑞士军刀慢查询pipeline流水线发布订阅bitmapHyperLogLog原创 2021-02-18 11:47:03 · 8715 阅读 · 5 评论 -
java春招面试冲刺系列:mysql基础知识超详细复习
目录基础番外篇MySQL体系结构MySQL基准测试数据库结构优化MySQL的复制功能MySQL日志索引表中有多个索引,优化器怎么决定使用哪个索引SQL查询优化数据库监控常用命令常用函数注意点CentOS中安装MySQL查看MySql数据库物理文件存放位置Mysql执行sql文件关键字解读进阶性能查询数据页的空间利用率事务的传播机制百问实战设计使用count(*)的实现番外篇数据库的扩展没有web服务器那样原创 2021-02-18 11:45:20 · 574 阅读 · 0 评论 -
java春招面试冲刺系列:log日志详细复习
目录导读Log的发展历程历史原生Java日志组件长什么样logback与log4j2比较SLF4J门面日志的好处Log4j2使用Log4j2的两种配置方式Log4j2的三大组件Log4j2常用配置文件详解异步日志动态调整日志级别代码示例引用导读在日常的面试中,问到日志这块的很少,但是也会问到关于日志的选型和对比,主要考察你平时的总结。我这篇笔记呢主要是从Java中日志的发展历史,到流行的log4j2的常规使用和规范进行一个系统的总结。Log的发展历程历史原创 2021-02-18 11:44:08 · 440 阅读 · 0 评论 -
java春招面试冲刺系列:spring注解详细解析
相关问题为什么要引入注解元注解有哪些Spring常用的注解有哪些SpringBoot常用注解有哪些SpringCloud常用注解有哪些为什么要引入注解注解是JDK1.5引入的功能。注解可以看作是对类和方法的扩展标识,这些标识可以在编译,类加载,运行时被读取,并执行相应的处理。在注解之前,我们只能通过xml配置的方式来做。由于XML的配置诸多不便,并且配置和代码分离,不便于代码阅读,慢慢的注解就替代了xml配置的方式。元注解有哪些元注解是负责对其它注解进行说明的注解,自定义注解时可以使用原创 2021-02-18 10:04:32 · 417 阅读 · 1 评论 -
java春招面试冲刺系列:JSP知识总结
JSP知识总结目录JSP简介JSP-Velocity-FreeMarker对比JSP结构JSP生命周期JSP语法JSP-HTTP状态码JSP表单处理JSP编码设置JSP是不是被淘汰JSP Velocity FreeMarker对比JSTL库安装JSP简介什么是Java Server Pages?JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。JSP是一种J原创 2021-02-18 09:08:31 · 422 阅读 · 3 评论 -
java春招面试冲刺系列:java基础知识复习
一、数据类型基本类型byte/8bitchar/16bitshort/16bitint/32bitfloat/32bitlong/64bitdouble/64bitboolean/~boolean 只有两个值:true、false,可以使用 1 bit 来存储,但是具体大小没有明确规定。JVM 会在编译时期将 boolean 类型的数据转换为 int,使用 1 来表示 true,0 表示 false。JVM 支持 boolean 数组,但是是通过读写 byte 数组来实现的。1by原创 2021-02-17 09:36:01 · 673 阅读 · 2 评论 -
java春招面试冲刺系列:IO详细解析
IO简介IO是Java中的一种输入和输出的功能,Java中对这种操作叫做对流的操作。流代表的是任何有能力产出数据的数据源对象或者是有能力接受数据的接收端对象。流的本质是数据传输,流不只是对文件可进行读写,还可以对内存、网络、程序操作。学习笔记NIO是同步的IO,是因为程序需要IO操作时,必须获得了IO权限后亲自进行IO操作才能进行下一步操作。AIO是对NIO的改进(所以AIO又叫NIO.2),它是基于Proactor模型的。每个socket连接在事件分离器注册 IO完成事件 和 IO完成事件处理原创 2021-02-17 09:35:15 · 499 阅读 · 1 评论 -
java春招面试冲刺系列:java并发基础
目录Java为什么会有并发问题什么是CASUnsafe类解读JUC原子类JUC原子类介绍基础类型AtomicInteger线程池Java为什么会有并发问题出现的原因因为Java是一种多线程的处理模型。所以当一个请求过来的时候,Java会将产生一个线程来处理这个请求。如果多个线程访问同一个共享变量的时候,就会出现并发问题。所以,并发问题产生的条件之一是“共享变量”。那么什么样的变量是共享变量呢?这就涉及到Java内存模型JMM了,Java内存模型中,一个Java线程,要想获取到原创 2021-02-17 09:34:23 · 461 阅读 · 1 评论 -
java春招面试冲刺系列:java多线程精华内容详解
目录基础概念进程与线程单线程与多线程实现线程的4中方式thread.start()和runnable.run()的区别Thread和Runnable的异同线程的基本操作线程的优先级与守护线程synchronized关键字实例锁与全局锁wait和notify线程的让步yeild线程的休眠sleepThread中的join线程的中断interrupt线程的状态与转换生产者消费者问题钩子线程线程中的异常基础概念进程与线程进程(Process)是计算机中的原创 2021-02-17 09:33:40 · 363 阅读 · 1 评论 -
JavaWeb项目:个人主页生成器网站(java+mysql+tomcat+vuejs,内附部署到云服务器ECS教程!以及采用Palor数据库的方法)
个人主页生成器本项目制作了一个个人主页的生成器。能够实现输入个人数据,生成一个在线网站供他人查看你的信息。项目地址https://github.com/ImViper/HomePage_Generator运行环境JavaWebMysql 8.0Tomcat 9.0.39VueJs阿里服务器ECS (非必须)阿里云数据库(非必须)效果展示填写信息界面生成界面如果想要采用polarDB数据库,将数据库部署到云上,请参考这个文章申请。之后修改代码中的数据库链接原创 2021-01-19 20:30:13 · 1974 阅读 · 1 评论 -
自然语言处理大作业-三种中文分词方法的性能对比与评分(附带完整源码,超详细报告文档,展示文档)
自然语言处理大作业-三种中文分词方法的性能对比与评分项目地址https://github.com/ImViper/nlp_Chinese_word_segmentation文档在doc文件夹里。自行fork或者star下载。需要环境python3numpy安装方法:pip3 install --user numpy scipy matplotlib或者使用Anaconda集成环境。项目结构类名作用dict_generator.py将标准数据集生成为json格原创 2021-01-18 10:40:44 · 3104 阅读 · 1 评论 -
JVM春招面试复习系列:探秘HotSpot虚拟机对象
Java是面向对象的静态强类型语言,声明并创建对象的代码很常见,根据某个类声明一个引用变量指向被创建的对象,并使用此引用变量操作该对象在实例化对象的过程中,JVM中发生了什么呢?(1)下面从最简单的代码进行分析,利用javap -verbose- p命令查看对象创建的字节码● new : 如果找不到Class对象,则进行类加载加载成功后,则在堆中分配内存,从Object开始到本类路径上的所有属性值都要分配内存分配完毕之后,进行零值初始化在分配过程中,注意引用是占据存储空间的,它是一个变量,原创 2021-01-15 11:46:59 · 352 阅读 · 0 评论 -
JVM春招面试复习系列:探秘HotSpot虚拟机对象
Java是面向对象的静态强类型语言,声明并创建对象的代码很常见,根据某个类声明一个引用变量指向被创建的对象,并使用此引用变量操作该对象在实例化对象的过程中,JVM中发生了什么呢?(1)下面从最简单的代码进行分析,利用javap -verbose- p命令查看对象创建的字节码● new : 如果找不到Class对象,则进行类加载加载成功后,则在堆中分配内存,从Object开始到本类路径上的所有属性值都要分配内存分配完毕之后,进行零值初始化在分配过程中,注意引用是占据存储空间的,它是一个变量,原创 2021-01-15 11:45:08 · 292 阅读 · 0 评论 -
JVM春招面试复习系列:内存模型
0 相关源码内存是非常重要的系统资源,是硬盘和CPU的中间仓库及桥梁,承载着操作系统和应用程序的实时运行JVM内存布局规定了Java在运行过程中内存申请、分配、管理的策略,保证了JVM的高效稳定运行不同的JVM对于内存的划分方式和管理机制存在着部分差异结合JVM虚拟机规范,来探讨经典的JVM内存布局1 Program Counter Register (程序计数寄存器)Register 的命名源于CPU的寄存器,CPU只有把数据装载到寄存器才能够运行寄存器存储指令相关的现场信息,由于CPU原创 2021-01-15 11:40:55 · 361 阅读 · 0 评论 -
JVM春招面试复习系列:垃圾收集器
使用分代垃圾收集器,基于以下观察事实(弱分代假设)大多数分配对象的存活时间短存活时间久的对象很少引用存活时间短的对象由此, HotSpot VM 将堆分为两个物理区空间,这就是分代(永久代只存储元数据, eg. 类的数据结构,保留字符串( Interned String))根据新生代和老年代各自的特点,我们应该分别为它们选择不同的收集器,以提升垃圾回收效率.1 新生代垃圾收集器1.1 Serial垃圾收集器一个主要应用于Y-GC的垃圾回收器,采用串行单线程的方式完成GC任务,其中“St原创 2021-01-15 11:28:55 · 199 阅读 · 0 评论 -
Java面试复习体系总结(2021版,持续更新)
Java面试复习体系总结(2021版)一、Java基础内容Java基础(一):Java集合框架(超详细解析,看完面试不再怕)Java基础(二):迭代器(Iterator)(含使用方法详解)Java基础 (三):LinkedList(含使用方法详解)Java基础(四):ArrayList(含使用方法详解)Java基础(五):HashSet(使用方法详解)Java基础(六):HashMap(使用方法详解)Java基础(七):栈 Stack(使用方法详解)原创 2021-02-26 11:44:31 · 112357 阅读 · 150 评论 -
春招面试复习:消息队列(七)-数据压缩
1 数据压缩意义Kafka使用数据压缩,最高可提升约几十倍吞吐量。数据压缩不仅可节省存储空间,还可用于提升网络传输性能。这种使用压缩提升系统性能的方法,不仅在MQ使用,日常开发也可。比如传输大量数据或要在磁盘、数据库中存储较大数据,这些情况下,都可考虑使用数据压缩提升性能,还能节省网络带宽和存储空间。2 数据压缩适用场景进程间通过网络传输数据是不是需要压缩?不压缩直接传输耗时: 传输未压缩数据的耗时使用数据压缩耗时: 压缩耗时 + 传输压缩数据耗时 + 解压耗时压缩快还是不压缩快呢?不好说。原创 2021-01-14 10:35:36 · 934 阅读 · 0 评论 -
春招面试复习:消息队列(六)- 异步编程妙用
0 异步的优势太多的线程会造成频繁的cpu上下文切换,你可以想象一下,假设你的小公司只有8台电脑,你雇8个程序员一直不停的工作显然是效率最高的。考虑到程序员要休息不可能连轴转,雇佣24个人,每天三班倒,效率也还行。但是,你要雇佣10000个人,他们还是只能用这8台电脑,大部分时间不都浪费在换人、交接工作上啦。异步编程是通过分工的方式,是为了减少了cpu因线程等待的可能,让CPU一直处于工作状态。换句话说,如果我们能想办法减少CPU空闲时间,我们的计算机就可以支持更多的线程。其实线程是一个抽象概念,我原创 2021-01-14 10:34:47 · 799 阅读 · 0 评论 -
春招面试复习:消息队列(五)- 消息积压解决方案
1 消息积压问题追溯系统某部分出现性能问题,来不及处理上游发的消息,导致消息积压。消息积压是正常现象,积压越来越多就需要处理了。就像一个水库,日常蓄水是正常的,但下游泄洪能力太差,导致水库水位一直不停的上涨,这个就不正常了。2 积压的开发警示防范于未然,平时使用MQ时,如何优化代码才能避免消息积压?若线上已出现积压,如何处理最好?3 性能优化性能的优化主要在生产者和消费者这俩业务逻辑。MQ自身性能,作为API使用者,无需过于关注。因大多MQ业务,MQ本身处理能力远大于业务系统。主流MQ的原创 2021-01-14 10:34:17 · 1260 阅读 · 0 评论 -
春招面试复习:消息队列(四)- 消息可靠性投递的实现原理
丢失消息则丢了数据,这是我们不能接受的,否则MQ意义何在?因此主流MQ其实都提供了可靠性投递机制,确保即使网络异常,消息也能可靠传递,而不会丢失。如果发现还是丢失消息了,多半是开发者问题,很可能没有正确配置MQ。不同MQ在保证消息可靠传递方面的实现原理其实也是一样的。1 验证丢失的消息大公司一般都通过分布式链路追踪系统,很方便追踪每条消息。如果是中小公司,也有个简单方案验证。即利用MQ的有序性:在Producer端,给每个发出的消息附加一个连续递增的序号然后在Consumer端检查这序号的连原创 2021-01-14 10:33:47 · 1661 阅读 · 1 评论 -
春招面试复习:消息队列(二)- MQ选型
1 MQ选型的标准1.1 开源(白嫖)方便可以修改源代码,而非一味地等待软件提供商猴年马月发布的下个版本解决。在知识产权下,使用开源的才可商用。1.2 生态(大家都玩)只要你的使用场景不冷门,你遇到Bug的概率非常低,因为大部分你可能遇到的,其他人早就遇到并且修复。使用过程中遇到的一些问题,也容易在网上搜索到类似的,然后找到解决方案。和其他框架也能无缝对接。1.3 确保消息可靠传递1.4 Cluster高可用性。1.5 性能(用户就爱快的)具备足够好的性能,能满足绝大多数场景的性能要求。原创 2021-01-14 10:29:21 · 1280 阅读 · 0 评论 -
春招面试复习:消息队列(一)- 消息队列的意义
MQ 主要就是用来发送和接收处理消息,但它的作用可不仅解决应用间通信问题。1 MQ 的现实由来在工厂我们随处可见各种传送带,很多道工序都替代了人工一次次极大耗费劳动力的往返运动,而把一套业务分成若干部分,各流程之间传输所需材料即可。用编程思想,我们可以认为是传送带的发明解决了上下游工序间的“通信”问题。传送带的使用着实提高社会必要劳动生产时间,让人类工业社会效率显著提升。但就真的百利无一害了吗?我们会发现每道工序生产速度并不相同。有时上游的材料刚传送过来,工人可能正在处理上批材料,没有时间接收。不原创 2021-01-14 10:29:00 · 2051 阅读 · 0 评论 -
Java春招面试复习:锁的优化
我们知道synchronized是重量级锁,效率不怎么样,不过在JDK6中对synchronize的实现进行了各种优化,使得它显得不是那么重了,那么JVM采用了那些优化手段呢锁优化如自旋锁、适应性自旋锁、锁消除、锁粗化、偏向锁、轻量级锁等技术来减少锁操作的开销。 锁主要存在四种状态:无锁状态、偏向锁状态、轻量级锁状态、重量级锁状态他们会随着竞争的激烈而逐渐升级。注意锁可以升级不可降级,这种策略是为了提高获得锁和释放锁的效率自旋锁线程的阻塞和唤醒需要CPU从用户态转为核心态,频繁的阻塞原创 2021-01-13 11:41:17 · 227 阅读 · 0 评论 -
Java春招面试复习:BlockingQueue详细解析
1 Java中的阻塞队列1.1 简介一种支持两个附加操作的队列,是一系列阻塞队列类的接口当存取条件不满足时,阻塞在操作处队列满时,阻塞存储元素的线程,直到队列可用队列空时,获取元素的线程会等待队列非空阻塞队列常用于生产者/消费者场景,生产者是向队列里存元素的线程,消费者是从队列里取元素的线程.阻塞队列就是生产者存储元素、消费者获取元素的容器抛出异常当队列满时,如果再往队列里插入元素,会抛出IllegalStateException(“Queuefull”)异常当队列空时,从队原创 2021-01-13 11:27:37 · 349 阅读 · 0 评论 -
Java春招面试复习:Java线程状态
0 线程状态概述分类6个状态定义: java.lang.Thread.StateNew: 尚未启动的线程的线程状态。Runnable: 可运行线程的线程状态,等待CPU调度。Blocked: 线程阻塞等待监视器锁定的线程状态。处于synchronized同步代码块或方法中被阻塞。Waiting: 等待线程的线程状态。下 列不带超时的方式:Object.wait、Thread.join、 LockSupport.parkTimed Waiting:具有指定等待时间的等待线程的线程状态。下原创 2021-01-13 11:25:12 · 246 阅读 · 0 评论 -
2021设计模式春招面试复习:状态模式
0源码地址https://github.com/ImViper/design_pattern1 前言有时一个对象的行为取决于一或多个动态变化的属性(状态),这样的对象称为有状态的(stateful)对象,其对象状态是从事先定义好的一系列值中取出。当这样的对象与外部事件产生互动时,内部状态就会改变,对象行为也随之变化。在UML中可以使用状态图来描述对象状态的变化。在状态模式中,创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象。2 定义该模式中,类的行为基于其状态改变。原创 2021-01-12 13:39:12 · 824 阅读 · 0 评论