当前位置: 首页 > news >正文

面经学习(hbkj实习)

个人评价

这次面试算是对我基础知识空缺的排查,有很多小知识点是我没有去复习到的,也是一次比较愉快的面试。 

1.在java中有哪些数据属于共享变量?(共享变量怎么创建)

共享变量的形式还是很多的,首先就是今天变量进行一个共享变量。当我们需要将某个变量变成一个共享变量的时候需要使用Voliate进行修饰,使其变成共享变量。

 2.多线程进行操作数据时如果不上锁为什么共享变量中的数据会被该的乱七八糟吗?

举例子:两个线程同时去操作一个类中的变量,就比如说对应的变量++,当两个线程进行竞争的时候,二者可能获取的数据都是对方为修改的数据,此时就会出现++缺失的情况。

3.JVM加载class的时候卸载class的条件是什么?

1.当该类的所有实例已经被全部进行GC了,这时候在JVM中不存在class的实例。

2.当该类的.class没有被任何的引用,也就是我们不能通过放射来获取对应的实例。

3.当该类的classLoader被GC了。

4.软引用,弱引用,虚引用在什么时候会使用呢?

软引用(softRefrence):当我们内存不足的时候,如果检查到当前的软引用的时候,就会进行回收。主要的应用场景就是做缓存,当内存不足的时候就会清除一点缓存。

弱引用(weakRefrence):即使在内存充裕的情况下,如果检查到弱引用的时候,就会对其进行回收。主要的应用场景就是解决ThreadLocal内存泄漏问题。

虚引用(phantoms Refrence):不会对对象的生命周期有影响,我们无法从该引用中获取对象实例,主要就是在垃圾回收前的做一些列的操作,就比如系统通知。

4.ThreadLocal中ThreadLocalMap的entry为什么使用弱引用来解决呢?

使用弱引用作为ThreadLocalMap的key在进行垃圾回收的时候呢,虽然会导致key为null出现内存泄漏的问题,但是呢如果key使用强引用,key设置为null也会出现内存泄漏的问题。

相比于强引用,当key为弱引用的时候,当我们进行垃圾回收的时候,ThreadLocal的实例就会进行回收,虽然vlaue在还存在,但是呢,在set和get方法中有回收无效key的操作。

5.什么情况下,强引用会被回收呢?

1.在执行方法的时候,我们会创建一些局部变量,在执行完这个方法后就会将该引用进行回收。

2.使用可达性分析算法无法在GC中找到对应的对象,也就是没有被引用,这时候就会被回收。

6.数据的隔离级别中可重复读有什么缺点?

1.无法解决幻读的问题,当一个事务对某个范围进行查询,另外一个事务对当前范围中的数据进行插入操作,那事务一在做查询的时候,查询的结果就会不一样,最终出现幻读的情况。

2.因为可重复读在多次进行读取的时候使用的都是同一个readView,我们就无法获取刚更新的数据。

7.介绍一下实习项目中业务的难点?

合并写请求。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 如何在Mac中修改pip的镜像源
  • 【MySQL】批量插入数据造数-存储过程
  • 在Windows系统上部署PPTist并实现远程访问
  • IntelliJ IDEA下载安装
  • 01 Shell Script概述
  • HTTP 三、http在springboot中得应用
  • 好看的个人导航页面html源码
  • 使用Fign进行客户端远程调用和SpringFormEncoder的使用
  • Docker Container 常用命令
  • 新型PyPI攻击技术可能导致超2.2万软件包被劫持
  • 服务器/linux上登录huggingface网站
  • [UVM]5.config机制 report 消息管理
  • docker装大米cms(damicms)各种cms可用相同办法
  • 开源 AI 智能名片小程序在内容营销中的应用与价值
  • JVM系列(七) -对象的内存分配流程
  • @jsonView过滤属性
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • ES6系统学习----从Apollo Client看解构赋值
  • FastReport在线报表设计器工作原理
  • go append函数以及写入
  • Javascripit类型转换比较那点事儿,双等号(==)
  • PAT A1050
  • React-Native - 收藏集 - 掘金
  • Wamp集成环境 添加PHP的新版本
  • 关于使用markdown的方法(引自CSDN教程)
  • 那些被忽略的 JavaScript 数组方法细节
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 栈实现走出迷宫(C++)
  • 追踪解析 FutureTask 源码
  • Nginx实现动静分离
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • ## 1.3.Git命令
  • #《AI中文版》V3 第 1 章 概述
  • #HarmonyOS:Web组件的使用
  • #if等命令的学习
  • #如何使用 Qt 5.6 在 Android 上启用 NFC
  • (173)FPGA约束:单周期时序分析或默认时序分析
  • (20050108)又读《平凡的世界》
  • (二)丶RabbitMQ的六大核心
  • (循环依赖问题)学习spring的第九天
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转)关于多人操作数据的处理策略
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .net 7和core版 SignalR
  • .NET Reactor简单使用教程
  • .NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九)
  • .NET6 命令行启动及发布单个Exe文件
  • .ui文件相关
  • @data注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • @Transient注解
  • @vueup/vue-quill使用quill-better-table报moduleClass is not a constructor
  • [ MSF使用实例 ] 利用永恒之蓝(MS17-010)漏洞导致windows靶机蓝屏并获取靶机权限
  • [BZOJ1178][Apio2009]CONVENTION会议中心