最新文章
-
我在百度的一整年敏捷开发实践
如今敏捷开发似乎已经成为了互联网界的主流,大量的公司已经把产品流程更改为敏捷开发,以下是我在百度期间带领团队的敏捷开发实践思考系列篇。 关于敏捷实践 追溯到几年前,在百度的时候,公司从上要求全面转敏捷开发,用KPI来保证。那个时间点腾讯、阿里也在转敏捷开发,基本大家都在同步进行。现在敏捷开发在互联网界,基本算是主流思想,大家都在不断强调小步快跑、快速试错。于是敏捷开发被…... -
大型网站架构书籍推荐
书籍推荐分为如下: 大型网站架构系列 分布式系统系列 BAT技术系列 架构设计系列 一:大型网站架构系列 第一本:《大型网站技术架构:核心原理与案例分析》 这本书主要从大型网站架构的特点,架构目标(高性能,高可用,可伸缩等)基本理论讲起,并介绍了几个很有特色的案例。 第二本:《大型网站系统与Java中间件实践》 同样出自阿里。 此书对分布式系统的演进做了较好的介绍。对常用中间件(服务框架,…... -
最全MySQL面试60题和答案
Mysql中有哪几种锁? 1.表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 2.行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。 3. 页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。 Mysql中有哪些不同的表格? 共有5种类型的表格: MyISAM Heap Merg…... -
CountDownLatch、Semaphore等4大并发工具类详解
之前谈过4种常用Java线程锁的特点,性能比较、使用场景,以及ConcurrentHashMap的实现原理(含JDK1.7和JDK1.8的区别) 今天主要介绍concurrent包的内容以及4大并发工具类。 Java并发工具包 1.并发工具类 提供了比synchronized更加高级的各种同步结构:包括CountDownLatch、CyclicBarrier、Semaphore等,可以实现更加丰富…... -
设计模式详解
我们继续架构师进阶之独孤九剑进阶,目前我们仍然在第一阶段:程序设计和开发环节。 “ 设计模式不仅仅只是一种规范,更多的是一种设计思路和经验总结,目的只有一个:提高你高质量编码的能力。以下主要分为三个环节:为什么要用设计模式、设计模式的分类,以及最后推荐大家三本设计模式相关的书籍,希望对你有所帮助。 为什么要使用设计模式 1、设计模式是前人根据经验总结出来的,使用设计模式,就相当于是站在了前人的…... -
消息中间件介绍、典型使用场景、以及使用原则
大型分布式架构里一定会涉及到消息中间件,今天先谈谈消息中间件。 常用的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ。 一、kafka 1、不完全符合jms规范,注重吞吐量,类似udp 和 tcp 2、一般做大数据吞吐的管道 我们现在的用途就是负责在各个idc之间通信 3、量大对数据不是百分之百保证的,会有数据丢失,不是百分百送达(amq和r…... -
深度源码剖析AQS的实现原理
在并发编程领域,AQS号称是并发同步组件的基石,很多并发同步组件都是基于AQS实现,所以想掌握好高并发编程,你需要掌握好AQS。 本篇主要通过对AQS的实现原理、数据模型、资源共享方式、获取锁的过程,让你对AQS的整体设计有清晰了解,让你迈出高并发编程的第一步。 AQS AQS(AbstractQueuedSynchronizer)就是一个抽象的队列同步器,AQS定义了一套多线程访问共享资源的同步…... -
从Java程序员进阶为架构师,全套16张图概括最全技能
如何从程序员进阶到架构师?今天完整的把我积累的经验和技能分享给大家! 作者:陈睿|优知学院创始人 数据结构 算法=程序 数据是一切能输入到计算机的信息总和,结构是指数据之间的关系,数据结构就是将数据及其之间的关系有效地存储在计算机中。 算法是指对特定问题求解步骤的一种描述,说白了就是解决问题的方法策略。 总而言之:数据结构 算法=程序。 语言掌握 任何一门开发语言都自己的语法,也有对应开发语言对应…...