Java作为最流行的语言,一直占据着非常大的市场,但是很多遍Java程序员没有把Java基础的专业知识把握好,所以后期开发遇到问题非常多,下面来看一些Java常见的专业术语知识。
- StringBuffer和StringBuilder区别是什么?
- 什么是线程安全?
- 什么是死锁?
- synchronized的实现原理是什么?
- 有了synchronized,还需要volatile做什么事?
- synchronized的锁优化是怎么处理的?
- JMM是什么?
- Java并发包都有哪些,性能怎样?
- 什么是fail-fast?
- 什么是fail-safe?
- 什么是CopyOnWrite?
- 什么是AQS呢?
- 什么是CAS呢?
- 乐观锁是怎样的?
- 乐观锁悲观锁区别是什么?
- 数据库如何实现悲观锁和乐观锁?
- 数据库锁和隔离级别有什么关系?
- 数据库锁和索引有什么关系?
- 什么是聚簇索引?
- 什么是非聚簇索引?
- 索引最左前缀是什么?
- 什么是B+树索引?
- 什么是联合索引?
- 什么是回表?
- 分布式锁有了解吗?
- Redis怎么实现分布式锁?
- 为什么要用Redis?
- Redis和memcache区别是什么?
- Zookeeper怎么实现分布式锁?
- 什么是Zookeeper?
- 什么是CAP?
- 什么是BASE?和CAP什么区别?
- CAP怎么推导?如何取舍?
- 分布式系统怎么保证数据一致性?
- 什么是分布式事务?分布式事务方案?
- 线程安全的单例?
- 不用synchronized和lock能实现线程安全的单例吗?
- 什么是Paxos算法?
- ArrayList和LinkedList和Vector的区别
- SynchronizedList和Vector的区别
- Arrays.asList获得的List使用时需要注意什么
- List和原始类型List之间的区别
- List和List之间的区别是什么
- synchronized是如何实现的?
- BIO、NIO和AIO的区别、三种IO的用法与原理
- ConcurrentSkipListMap
- String.valueOf和Integer.toString的区别
- Integer的缓存机制
- Set如何保证元素不重复
- Java中如何保证线程安全?