最新文章
-
深入详解Synchronized同步锁的底层实现
谈到多线程就不得不谈到Synchronized,很多同学只会使用,缺不是很明白整个Synchronized的底层实现原理,这也是面试经常被问到的环节,比如: synchronized的底层实现原理 synchronized锁与JVM的实现 synchronized锁升级顺序 synchronized锁的优劣势与应用场景 Synchronized synchronized 翻译为中文的意思是同步,也…... -
大型网站系统的特点和架构设计
分布式架构 大型网站架构设计谈过了多期,本篇大部分内容来源与大型网站技术架构这本书,算是大型网站技术的科普篇,推荐给大家。 大型网站系统的特点 1.高并发,大流量 需要面对高并发用户,大流量访问。 2.高可用 系统 7 x 24 小时不间断服务。 3.海量数据 需要存储、管理海量数据,需要使用大量服务器。 4.用户分布广泛,网络情况复杂 许多大型互联网站都是为全球用户提供服务的,用户分布范围广,各…... -
史上最全Redis面试49题(含答案):哨兵+复制+事务+集群+持久化等
今天主要分享redis最全答案系列 Redis主要有哪些功能? 1.哨兵(Sentinel)和复制(Replication) Redis服务器毫无征兆的罢工是个麻烦事,如何保证备份的机器是原始服务器的完整备份呢?这时候就需要哨兵和复制。 Sentinel可以管理多个Redis服务器,它提供了监控,提醒以及自动的故障转移的功能,Replication则是负责让一个Redis服务器可以配备多个…... -
CountDownLatch、Semaphore等4大并发工具类详解
之前谈过4种常用Java线程锁的特点,性能比较、使用场景,以及ConcurrentHashMap的实现原理(含JDK1.7和JDK1.8的区别) 今天主要介绍concurrent包的内容以及4大并发工具类。 Java并发工具包 1.并发工具类 提供了比synchronized更加高级的各种同步结构:包括CountDownLatch、CyclicBarrier、Semaphore等,可以实现更加丰富…... -
架构设计经验汇总
架构设计更多的是实践经验总结,以下架构设计经验,我会陆续补充完整。 一:数据库拆分原则 架构设计之数据库拆分六大原则 二:缓存选择原则 分布式缓存的应用场景、选型比较、问题和挑战 三:消息中间件原则 消息中间件介绍、典型使用场景、以及使用原则 后续陆续更新以下架构设计原则: 工程拆分原则 性能调优原则 性能评估原则 容错原则 框架选择原则 安全设计原则 Nosql选…... -
什么是缓存雪崩?服务器雪崩的场景与解决方案
什么是应用服务雪崩 雪崩问题 分布式系统都存在这样一个问题,由于网络的不稳定性,决定了任何一个服务的可用性都不是 100% 的。当网络不稳定的时候,作为服务的提供者,自身可能会被拖死,导致服务调用者阻塞,最终可能引发雪崩连锁效应。 缓存雪崩 当缓存服务器重启或者大量缓存集中在某一个时间段失效,这样在失效的时候,也会给后端系统(比如DB)带来很大压力,造成数据库后端故障,从而引起应用服务器雪崩。 雪…... -
java初级、中级、高级、架构师的技能要求和职责要求
java初级工程师技能要求: 工作1-3年 要求:能独立完成分配的模块开发任务 技术要求: 1、掌握最基础的数据结构:数组、链表、堆、栈、队列、Hash表、二叉树等 2、算法:经典排序:插入排序、冒泡排序、快排(分划交换排序)、直接选择排序、堆排序、合并排序等。 3、语言要求:基本的开发基础语言掌握,比如:面向对象,集合类、网络IO。 4、数据库要求:能独立设计数据库表,掌握sql,索引等。 ja…... -
我眼中真正优秀的CTO长啥样
现在很多创业公司在找CTO,但是优秀的CTO是极度稀缺的,究竟优秀的CTO需要具备什么样的特征,如何才能成为优秀的CTO呢。 1.技术广度和深度同时具备 作为CTO你不可能什么技术都精通,但什么技术你都要懂和了解,以及对如今的技术发展趋势和技术的各种使用场景,需要掌握。 使用场景分为产品的早期、中期、后期对应的技术方案要清楚。例如,在早期阶段,产品最急缺的是技术能配合快速试错,对技术…...