
架构师
文章平均质量分 53
一位要成为架构师的Java攻城狮
攻城狮Chova
一位有自我修养的攻城狮。
2006年《时代》周刊年度人物,
2008年感动中国组委会特别奖获得者。
展开
-
软件架构设计之系统耦合性拆分
软件架构设计之系统模块的拆分基本概念基本概念功能模块拆分:原创 2021-11-22 09:01:58 · 1959 阅读 · 2 评论 -
JVM中的四种垃圾回收算法解析
JVM中的垃圾回收算法JVM中的垃圾JVM中的垃圾定义引用计数法原理分析优点问题可达性分析法原理分析GC Roots对象JVM中的垃圾回收标记清除算法原理分析优点问题标记复制算法JVM中的垃圾定义: JVM内存中随着方法执行创建的对象,在方法执行完成后不再引用,也没有被清除掉,依旧保存在内存中,这种不会被再次引用的对象就是JVM中的垃圾JVM内存中大部分对象都是随着方法的执行而创建,方法执行完毕后这些对象就不会被再次引用. 但是这些对象不会被清除掉,就会导致JVM内存中的对象越来越多此时,需要一原创 2021-11-16 14:04:51 · 813 阅读 · 0 评论 -
系统架构师如何做好系统设计
系统架构师如何做好系统设计系统设计基本概念系统设计流程系统设计的目的系统设计的目标围绕目标的核心设计围绕核心设计形成的设计原则各子系统以及模块的详细设计系统设计实践系统建设的目的系统建设的目标达成目标的核心问题解决核心问题的设计系统设计基本概念熟悉系统设计的思考框架,知道做系统设计的套路,系统设计不是简单的上来就画画框什么的,必须按照一定的套路才能更好的进行系统设计拓宽知识面,系统设计中非常重要的是考虑的全面性,以更好的进行权衡取舍系统设计流程系统设计的目的 -> 系统设计的目标 -&原创 2020-07-23 18:28:42 · 723 阅读 · 0 评论 -
常见的系统架构设计介绍
系统架构设计介绍分布式架构初始阶段架构特征应用服务和数据服务以及文件服务分离分布式架构初始阶段架构特征应用程序,数据库,文件等所有资源都放在同一台服务器上应用服务和数据服务以及文件服务分离...原创 2020-07-19 21:58:49 · 3131 阅读 · 0 评论 -
架构设计相关指导原则
架构设计中的原则架构原则的基本概念开闭原则-OCP单一职责原则-SRP架构原则的基本概念设计原则:架构设计的指导思想指导如何将数据和函数组织成类,如何将类连接成组件和程序架构的主要工作就是将软件拆解为组件,而设计原则就是指导如何拆解,拆解的粒度,组件间依赖的方向,组件的解耦方式等架构设计的主要原则:开闭原则OCP类和代码层级上的原则:单一职责原则SRP里氏替换原则LSP接口隔离原则ISP依赖反转原则DIP组件层级上的原则:复用,发布等同原则REP共同闭包原原创 2020-07-12 10:27:13 · 352 阅读 · 0 评论 -
架构师数据结构技术Day03-集合之Set
Java中Set集合Set对象相等SetSet: 具有元素唯一性.该集合可以知道某个元素是否已经存在于集合中 ,Set中不会存在重复元素Set用于存储不重复的无序元素 ,Set集合中的元素存入和取出的顺序不一定相同对象相等引用到堆上同一个对象的两个引用是相等的:如果对两个引用调用hashCode() 方法,会得到相同的结果如果对象所属的类没有重写Object的hashCode() 方法,那么hashCode() 方法会返回每个对象特有的hashCode值.这两个对象的hashCode值原创 2021-07-12 18:32:33 · 234 阅读 · 0 评论 -
一位Java开发攻城狮的自我修养之项目篇
攻城狮的自我修养之项目篇基础知识Java基础SpingBootSpringCloudLeetCode题库大数据项目实战商城系统人事管理系统论坛系统博客系统基础知识Java基础architect-awesome 后端架构师技术成长路线图toBeTopJavaer Java相关基础知识博客体系advanced-java 互联网Java工程师基础知识,涵盖高并发,分布式,高可用,微服务,海量数据处理等领域知识technology-talk 汇总Java常用技术框架,开源中间件,系统架构,数据库,大公原创 2020-09-13 10:28:56 · 1416 阅读 · 0 评论 -
Spring框架中使用的设计模式
Spring框架中使用的设计模式Spring控制反转IOC依赖注入DI工厂设计模式FactoryBeanFactoryApplicationContext单例设计模式SingletonSpring控制反转IOC控制反转IOC: Inversion of Control是一种解耦设计原则主要目的是借助第三方,比如Spring IOC容器实现具有依赖关系的对象之间的解耦,从而降低代码之间的耦合度Spring IOC容器:Spring IOC容器负责创建对象并将对象连接在一起,配置这些对象原创 2021-02-01 15:47:39 · 593 阅读 · 1 评论 -
JVM虚拟机Day01-Java虚拟机内存结构
Java虚拟机内存结构JVM内存模型分区Java堆Java虚拟机栈本地方法栈方法区运行时常量池程序计数器直接内存JVM内存模型分区运行数据区: Java虚拟机在运行Java程序时,管理的一块内存区域在运行数据区中,根据用途分为:Java堆Java虚拟机栈本地方法栈方法区程序计数器Java堆Java堆: 堆内存Heap, 堆区. 是垃圾收集器管理的主要区域,所以也称做GC堆作用: 用于存放Java对象实例特点:线程共享从内存分配角度来说 ,Java堆相当于多个线程原创 2021-01-26 11:07:45 · 306 阅读 · 0 评论 -
Java架构师Day41-服务治理之服务降级
服务降级SLA服务质量等级兜底数据限流降级超时降级降级开关数据组装降级读写降级前端降级与JS降级接入层和应用层降级片段降级静态化处理提前预埋SLA服务质量等级兜底数据限流降级超时降级降级开关数据组装降级读写降级前端降级与JS降级接入层和应用层降级片段降级静态化处理提前预埋...原创 2021-01-19 12:09:56 · 344 阅读 · 0 评论 -
Java架构师Day40-服务治理之系统扩容
系统扩容服务资源在利用率很高时如何进行扩容硬件与云服务扩容服务水平扩容数据库扩容引发的多库join问题与解决方案k8s容器化服务架构kvm技术架构的云服务平台服务资源在利用率很高时如何进行扩容硬件与云服务扩容服务水平扩容数据库扩容引发的多库join问题与解决方案k8s容器化服务架构kvm技术架构的云服务平台...原创 2021-01-19 12:06:06 · 378 阅读 · 0 评论 -
Java架构师Day39-服务治理之资源隔离
资源隔离服务中的资源管理方案线程隔离进程隔离集群隔离机房隔离读写隔离动静隔离爬虫隔离异地多活Sentinel限流底层实现原理Sentinel与Hystrix的比较服务中的资源管理方案线程隔离进程隔离集群隔离机房隔离读写隔离动静隔离爬虫隔离异地多活Sentinel限流底层实现原理Sentinel与Hystrix的比较...原创 2021-01-19 12:02:09 · 338 阅读 · 0 评论 -
Java架构师Day38-缓存之前端缓存
前端缓存前端基本框架浏览器缓存ETagCache-ControlLast-ModifiedExpiresfrom disk cachefrom memory cache浏览器缓存原则APP缓存样式加载过程提前下发兜底数据临时缓存固定缓存父子连接预加载异步加载前端基本框架浏览器缓存ETagCache-ControlLast-ModifiedExpiresfrom disk cachefrom memory cache浏览器缓存原则APP缓存样式加载过程提前下发兜底数据临时缓存固定原创 2021-01-19 11:58:17 · 327 阅读 · 0 评论 -
Java架构师Day37-缓存之缓存架构解决方案
多级缓存架构解决方案如何进行多级缓存架构流量接入缓存层HTTP DNSWAF全网CDN硬防火墙高性能网关流量清洗和分发应用接入缓存层Nginx静态文件缓存Nginx动态数据缓存lua-resty-lrucacheURL定向缓存请求转发Kafka异步日志分析单点登录系统应用缓存层memcachedRedis Cluster集群Redis一致性Hash存储JVMEhCacheSpringCloud数据持久层HbaseELKMySQL集群ShardingsphereMycat如何进行多级缓存架构流量接入缓存层原创 2021-01-19 11:53:41 · 376 阅读 · 1 评论 -
Java架构师Day36-缓存之系统缓存设计
系统缓存设计缓存层的意义常见的缓存技术解决方案电商项目架构方案对比与高并发瓶颈分析多源异构数据,服务数据闭环CDN和WAF流量清洗集群和单机的限流策略Nginx本地API动态网页内存数据缓存渲染直接输出方案Redis中各种集群模式优缺点对比以及高性能优化Linux内核优化企业级数据恢复容灾测试集群十万请求高压测试LFU,LRU,ARC,FIFO,MRU缓存清除算法Nginx中proxy_cahce, lua_shared_dict, ngx.shared, lua-resty-lrucache, ehcac原创 2021-01-18 12:48:12 · 354 阅读 · 0 评论 -
Java架构师Day35-高并发系统架构之高并发系统会话管理
高并发系统的会话管理会话的基本概念会话管理常见的技术及框架Session,Cookie和Token在高并发系统中存在的问题浏览器同源策略以及跨域引发的安全问题SpringSession集群化Session共享引发的服务雪崩问题有状态会话和无状态会话中Spring Security和Shiro以及JWT技术选型与对比OAuth2.0的接入流程OpenID和OAuth2.0的区别JWT中的header,playload,signature会话的基本概念会话管理常见的技术及框架Session,Cookie和原创 2021-01-18 12:37:31 · 333 阅读 · 0 评论 -
Java架构师Day34-高并发系统架构之网关系统设计
高并发系统网管设计网关的分类,应用场景与落地技术选型网关的基本概念以及功能和在分布式系统中的角色地位流量网关全局性流量控制日志统计防止SQL注入防止Web攻击屏蔽工具扫描黑白名单控制业务网关安全验证路由过滤流量控制缓存服务路由业务聚合开源网关技术选型SpringCloud GatewayZuul2Open RestyKong利用Java响应式Web提升网关的并发性能网关的分类,应用场景与落地技术选型网关的基本概念以及功能和在分布式系统中的角色地位流量网关全局性流量控制日志统计防止SQL注入防止原创 2021-01-18 12:30:56 · 427 阅读 · 1 评论 -
Java架构师Day33-高并发系统架构之高并发理论与技术
高并发系统理论与技术高并发项目基本概念分布式系统理论与落地技术选型依据类淘宝项目技术架构图高并发电商系统瓶颈分析秒杀系统多级读写分离CAP理论和BASE理论高并发项目基本概念分布式系统理论与落地技术选型依据类淘宝项目技术架构图高并发电商系统瓶颈分析秒杀系统多级读写分离CAP理论和BASE理论...原创 2021-01-18 12:22:44 · 349 阅读 · 1 评论 -
架构师数据结构技术Day02-队列之LinkedList,ConcurrentLinkedQueue和LinkedBlockingQueue
LinkedList,ConcurrentLinkedQueue和LinkedBlockingQueue比较LinkedListLinkedBlockingQueueLinkedList在多线程环境中,使用LinkedList并且没有做并发控制时会出现异常public boolean add(E e) { // 调用linkLast方法,在List集合的尾部添加元素 linkLast(e); retturn true;}void linkLast(E e) { final Node&原创 2020-11-02 21:33:21 · 580 阅读 · 1 评论 -
分布式应用Nginx配置详解
分布式应用Nginx配置详解Nginx基本介绍Nginx安装安装依赖Nginx基本介绍分布式Nginx配置可以实现:负载均衡系统限流缓存黑白名单灰度发布Nginx安装在CentOS环境下安装Nginx安装依赖yum -y install wget gcc-c++ ncur ses...原创 2020-09-30 09:03:46 · 1038 阅读 · 0 评论 -
架构图设计
架构图设计架构图设计步骤架构图设计步骤了解需要设计的架构图的类型确认架构图中的关键要素:产品技术服务梳理关键要素之间的联系:包含支撑同级并列原创 2020-09-28 12:42:05 · 1017 阅读 · 0 评论 -
架构师数据结构技术Day01-队列之Java队列Queue详细分析
Java队列Queue详细分析队列Queue基本概念Queue实现没有实现阻塞接口实现阻塞接口队列非阻塞队列:无界线程安全:ConcurrentLinkedQueue采用CAS机制:compareAndSwapObject原子操作阻塞队列:有界:ArrayBlockingQueue,设置了大小的LinkedBlockingQueue.通常情况下,LinkedBlockingQueue是有界队列无界:没有设置大小的LinkedBlockingQueue采用锁机制:DelayQueue原创 2020-09-23 23:07:31 · 404 阅读 · 0 评论 -
Java架构师Day32-开发工具之Git
GitGit的基本概念Git的工作原理Git常用命令Git引起冲突的原因如何解决Git冲突Git Flow规范Git使用规程Git的基本概念Git的工作原理Git常用命令Git引起冲突的原因如何解决Git冲突Git Flow规范Git使用规程...原创 2020-06-29 11:14:13 · 305 阅读 · 0 评论 -
Java架构师Day31-开发工具之Sonar
Sonar静态代码检查静态代码检查原创 2020-06-29 11:11:24 · 320 阅读 · 0 评论 -
Java架构师Day30-开发工具之Jenkins
Jekins持续集成一次build解决所有工作持续集成一次build解决所有工作原创 2020-06-29 11:10:20 · 326 阅读 · 0 评论 -
Java架构师Day29-开发工具之Maven
Maven生成可执行jar理解scope生成最精确的jar解决类冲突和包依赖问题NoClassDefFoundError问题定位及解决全面理解Maven的组件LifecyclePhaseGoalMaven生成ArchetypeMaven流行插件实战手写Maven插件实战Nexus的使用和配置以及上传Maven与Gradle生成可执行jar理解scope生成最精确的jar解决类冲突和包依赖问题NoClassDefFoundError问题定位及解决全面理解Maven的组件LifecyclePhas原创 2020-06-29 11:07:27 · 326 阅读 · 0 评论 -
Java架构师Day28-并发编程之线程池
线程池ExecutorThreadPoolExecutorCallable和FutureScheduledExecutorServiceExecutorThreadPoolExecutorCallable和FutureScheduledExecutorService原创 2020-06-28 11:12:44 · 342 阅读 · 0 评论 -
Java架构师Day27-并发编程之原子操作
原子操作基本类型AtomicBooleanAtomicIntegerAtomicLong数组AtomicIntegerArrayAtomicLongArrayAtomicReferenceArray引用类型AtomicReferenceAtomicReferenceFieldUpdater基本类型AtomicBooleanAtomicIntegerAtomicLong数组AtomicIntegerArrayAtomicLongArrayAtomicReferenceArray引用类型At原创 2020-06-28 11:01:59 · 298 阅读 · 0 评论 -
Java架构师Day26-并发编程之并发集合
并发集合ConcurrentHashMapConcurrentLinkedQueueConcurrentHashMapConcurrentLinkedQueue原创 2020-06-28 10:58:33 · 354 阅读 · 0 评论 -
Java架构师Day25-并发编程之并发工具类
并发工具类CyclicBarrierCountDownLatchSemphoreCyclicBarrierCountDownLatchSemphore原创 2020-06-28 10:54:58 · 313 阅读 · 0 评论 -
Java架构师Day17-性能优化之MySQL调优
MySQL调优MySQL底层B+树机制SQL执行计划详解索引优化详解SQL语句优化MySQL底层B+树机制SQL执行计划详解索引优化详解SQL语句优化原创 2020-06-28 10:52:21 · 379 阅读 · 0 评论 -
Java架构师Day24-并发编程之锁
并发编程之锁ReentrantLockReentrantReadWriteLockConditionReentrantLockReentrantReadWriteLockCondition原创 2020-06-28 10:49:20 · 305 阅读 · 0 评论 -
Java架构师Day23-并发编程之并发基础
并发基础AQSAbstractQueuedSynchronized同步器CLH同步队列同步状态的获取和释放线程阻塞和唤醒CASCompare And SwapCAS缺陷AQSAbstractQueuedSynchronized同步器CLH同步队列同步状态的获取和释放线程阻塞和唤醒CASCompare And SwapCAS缺陷...原创 2020-06-28 10:42:34 · 374 阅读 · 0 评论 -
Java架构师Day22-并发编程之DCL
DCL单例模式DCLDCL解决方案单例模式DCLDCL解决方案原创 2020-06-28 10:37:42 · 355 阅读 · 0 评论 -
Java架构师Day21-并发编程之volatile
volatilevolatile实现机制内存语义内存模型volatile实现机制内存语义内存模型原创 2020-06-28 10:36:28 · 297 阅读 · 0 评论 -
Java架构师Day20-并发编程之synchronized
synchronized同步锁重量级锁synchronized原理锁优化自旋锁轻量级锁重量级锁偏向锁同步锁重量级锁synchronized原理锁优化自旋锁轻量级锁重量级锁偏向锁原创 2020-06-28 10:35:00 · 322 阅读 · 0 评论 -
Java架构师Day19-并发编程之内存模型
内存模型重排序顺序一致性happens-beforeas-if-serial重排序顺序一致性happens-beforeas-if-serial原创 2020-06-28 10:32:03 · 335 阅读 · 0 评论 -
Java架构师Day18-并发编程之Java内存模型JMM
Java内存模型JMM线程通信消息传递线程通信消息传递原创 2020-06-28 10:29:06 · 374 阅读 · 0 评论 -
Java架构师Day16-性能优化之Tomcat调优
Tomcat调优Tomcat运行机制及框架Tomcat线程模型Tomcat系统参数认识及调优Tomcat基准测试Tomcat运行机制及框架Tomcat线程模型Tomcat系统参数认识及调优Tomcat基准测试原创 2020-06-28 10:21:06 · 284 阅读 · 0 评论 -
Java架构师Day15-性能优化之JVM调优
JVM调优什么是JVM调优及JVM如何实现调优什么是JVM运行时数据区什么是JVM内存模型JMM各种垃圾回收器Throughput和CMS的使用场景GC日志的理解与分析MAT分析dump文件实战什么是JVM调优及JVM如何实现调优什么是JVM运行时数据区什么是JVM内存模型JMM各种垃圾回收器Throughput和CMS的使用场景GC日志的理解与分析MAT分析dump文件实战...原创 2020-06-23 11:30:57 · 385 阅读 · 0 评论