最新文章
-
最全Java锁详解:独享锁/共享锁+公平锁/非公平锁+乐观锁/悲观锁
在Java并发场景中,会涉及到各种各样的锁,比如:4种常用Java线程锁的特点,性能比较、使用场景,这些锁有对应的种类:公平锁,乐观锁,悲观锁等等,这篇文章来详细介绍各种锁的分类: 公平锁/非公平锁 可重入锁 独享锁/共享锁 乐观锁/悲观锁 分段锁 自旋锁 乐观锁 VS 悲观锁 乐观锁与悲观锁是一种广义上的概念,体现了看待线程同步的不同角度,在Java和数据库中都有此概念对应的实际应用。 1.…... -
成长为Java架构师必须突破的11个技术点
1、Java基础技术体系掌握牢固: JVM内存分配 垃圾回收 类装载机制 JVM性能优化 反射机制 多线程 网络编程 常用数据结构和相关算法 2、对面向对象的软件开发思想有清晰的认识、熟悉掌握常用的设计模式: 熟练使用UML工具以及各种流程图 经典的设计模式会手写以及熟知使用场景 概要设计与详细设计 面向对象的核心思想需要运用在代码编程中,例如:高内聚低耦合 3、目前流行开源框架,除了熟练使用,还…... -
ReentrantReadWriteLock的实现原理与锁获取详解
我们继续Java多线程与并发系列之旅,之前我们分享了Synchronized 和 ReentrantLock 都是独占锁,即在同一时刻只有一个线程获取到锁。 然而在有些业务场景中,我们大多在读取数据,很少写入数据,这种情况下,如果仍使用独占锁,效率将及其低下。 针对这种情况,Java提供了读写锁——ReentrantReadWriteLock。 有点类似MySQL数据库为代表的读写分离机制,既然我…... -
史上最全Redis面试49题(含答案):哨兵+复制+事务+集群+持久化等
今天主要分享redis最全答案系列 Redis主要有哪些功能? 1.哨兵(Sentinel)和复制(Replication) Redis服务器毫无征兆的罢工是个麻烦事,如何保证备份的机器是原始服务器的完整备份呢?这时候就需要哨兵和复制。 Sentinel可以管理多个Redis服务器,它提供了监控,提醒以及自动的故障转移的功能,Replication则是负责让一个Redis服务器可以配备多个…... -
java程序员进阶必读书单
以下是我推荐给Java开发者们的一些值得一看的好书,从java基础开始到高级,以及从高级进阶到架构等的书单。 基本都是经典之作,可以利用工作闲暇的时间,系统阅读。 java程序员进阶之路 上图是完整java程序员进阶之路,可以进阶架构师也可以结合管理进阶,往技术经理、总监发展。 上周,写了程序员进阶到架构师三篇,基本涵盖了java程序员到架构师的必备技能。如果要想系统掌握,可以结合书单一起自学进阶…... -
开源搜索引擎Lucene、Solr、Sphinx等优劣势比较
开源搜索引擎分类 1.Lucene系搜索引擎,java开发,包括: Lucene Solr Elasticsearch Katta、Compass等都是基于Lucene封装。 你可以想象Lucene系有多强大。 2.Sphinx搜素引擎,c 开发,简单高性能。 以下重点介绍最常用的开源搜素引擎:Lucene、Solr、Elasticsearch、Sphinx的特点和优劣势选型比较。 Lucene …...