Loading

随笔分类 -  面试专题

摘要:1、什么情况下会发生栈内存溢出 思路: 描述栈定义,再描述为什么会溢出,再说明一下相关配置参数,OK的话可以给面试官手写是一个栈溢出的demo 栈是线程私有的,其生命周期与线程相同,每个方法在执行的时候都会创建一个栈帧,用来存储局部变量表,操作数栈,动态链接,方法出口等信息。局部变量表又包含基本数据 阅读全文
posted @ 2021-04-07 11:00 PinGoo 阅读(174) 评论(0) 推荐(0)
摘要:事务 MySQL 事务四大特性,简单说下 事务的四大特性 ACID 原子性 Atomicity: 一个事务必须被事务不可分割的最小工作单元,整个操作要么全部成功,要么全部失败,一般就是通过commit和rollback来控制 一致性 Consistency: 数据库总能从一个一致性的状态转换到另一个 阅读全文
posted @ 2021-03-31 01:05 PinGoo 阅读(137) 评论(0) 推荐(0)
摘要:ReentrantLock 源码分析 ReentrantLock 与 synchronized 实现机制有什么区别? ReentrantLock和synchronized都是独占锁 synchronized: 1、是悲观锁会引起其他线程阻塞,java内置关键字, 2、无法判断是否获取锁的状态,锁可重 阅读全文
posted @ 2021-03-31 01:04 PinGoo 阅读(73) 评论(0) 推荐(0)
摘要:1、了解Map吗?用过哪些Map的实现 Map是公共接口,AbstractMap 是其抽象类,常用的 HashMap、ConsurrentHashMap、TreeMap 均继承了AbstractMap HashMap LinkedHashMap TreeMap ConcurrentHashMap S 阅读全文
posted @ 2021-03-25 22:50 PinGoo 阅读(101) 评论(0) 推荐(0)
摘要:1、说下Vector和ArrayList、LinkedList联系和区别?分别的使用场景 这道题主要从 线程是否安全、使用场景 两个方面回答问题 线程安全性区别 ArrayList:底层是数组实现,线程不安全,查询和修改非常快,但是增加和删除慢 LinkedList: 底层是双向链表,线程不安全,查 阅读全文
posted @ 2021-03-25 00:09 PinGoo 阅读(70) 评论(0) 推荐(0)
摘要:1、你知道运算符 & 和 &&、| 和 || 的区别吗? & 按位与操作 只有对应的两个二进制数都为1时,结果位才为1 1&1 = 1 1&0 = 0 0&1 = 0 0&0 = 0 | 按位或操作 只要对应的两个二进制数有一个为1的时候,结果位就为1 1|1 = 1 1|0 = 1 0|1 = 1 阅读全文
posted @ 2021-03-23 23:36 PinGoo 阅读(162) 评论(0) 推荐(0)