成都领保科技一面

1.什么是JUC,JUC的基本组件

java并发编程包,位于java.util.concurrent包下。JUC的基本组件是Excutor线程池、并发集合ConcurrentHashMap等、锁。

2.什么场景下会发生并发问题

多线程同时对单个数据进行修改,CAS进行解决

多线程之间资源不共享,其他线程可能获得的仍然是旧值,使用volatile

饥饿,在非公平情况下,某个线程一直获取锁资源,他们线程一直等待,使用ReentranLock公平锁

3.一个Mysql资源在不加锁的情况下,如何使用并发编程堆资源进行累加。java代码的业务逻辑如何实现。

多线程之间的副本进行相加,将累加后的单个数据写入到数据库当中(将算一次写一次,转变为全部计算完成,写一次)

4.JVM内存模型

包含线程共享区与非线程共享区,线程共享区包括堆(存放对象、集合数据)、方法区(类、字符串常量池),非线程共享区(程序计数器(记录当前线程代码执行位置,方便线程切换后继续执行代码)、栈(存放栈帧、局部变量表、操作数栈(记录临时数据所需空间))、本地方法栈)、本地方法栈(C语言编写的本地方法)

5.Mysql的索引类型

按照数据结构来分:B+Tree,Hash

按照物理存储来分:聚簇索引(主键索引)、非聚簇索引(二级索引,辅助索引)

按照字段特性来分:主键索引、唯一索引、普通索引

按照字段个数来分:单列索引、联合索引

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务