轻量 架构 原则 三个

《Java架构师的第一性原理》31分布式计算之微服务RPC(Dubbo)

1 互联网架构,究竟为啥要做服务化 互联网架构,究竟为啥要做服务化? 2 微服务架构,多“微”才合适? 微服务架构,多“微”才合适? 3 离不开的微服务架构,脱不开的RPC细节 离不开的微服务架构,脱不开的RPC细节 3.1 服务化解决的问题 1)服务化需要解决的问题: 一套序列化、反序列化、网络框 ......
第一性 分布式 架构 原理 Dubbo

《Java架构师的第一性原理》32分布式计算之分布式锁(Redis、Zookeeper)

1 这才是真正的分布式锁 技术领域,我觉得了解来龙去脉,了解本质原理,比用什么工具实现更重要: (1)进程多线程如何互斥? (2)一个手机上两个APP访问一个文件如何互斥? (3)分布式环境下多个服务访问一个资源如何互斥? 归根结底,是利用一个互斥才能访问的公共资源来实现分布式锁,具体这个公共资源是 ......
分布式 第一性 架构 Zookeeper 原理

《Java架构师的第一性原理》32分布式计算之分布式缓存第3篇LevelDB

互联网业务,绝大部分场景,会使用缓存服务。 但有时候,确实会使用到进程内存缓存/数据库,这个时候,LevelDB就能派上用场了。啥是LevelDB?LevelDB是Google开发的,一个速度非常块的KV存储库(storage library),它支持字符串的key与字符串的value,并且这种映射 ......
分布式 第一性 缓存 架构 原理

《Java架构师的第一性原理》33分布式计算之分布式注册中心、分布式配置中心

待补充 1 分布式注册中心 2 分布式配置中心 2.1 Apollo 2.1.1 Apollo是怎样注入到SpringBean的容器里的 99 直接读这些牛人的原文 apollo不使用 MQ 如何实现 pub/sub 场景? 13张图彻底搞懂分布式系统服务注册与发现原理 为什么 @Value 可以获 ......
分布式 第一性 架构 原理 Java

《Java架构师的第一性原理》32分布式计算之分布式缓存第1篇如何使用Redis搭建玩家排行榜

今天我们用 Redis 搭建一个玩家的排行榜,假设一个服务器存储了 10 万名玩家的数据,我们想给这个区(这台服务器)上的玩家做个全区的排名,该如何用 Redis 实现呢? 不妨一起来思考下面几个问题: MySQL 是如何实现玩家排行榜的?有哪些难题需要解决? 如何用 Redis 模拟 10 万名玩 ......
分布式 第一性 缓存 架构 原理

《Java架构师的第一性原理》27Java基础之Tomcat

待补充 99 直接读这些牛人的原文 Tomcat 架构原理解析到架构设计借鉴 Tomcat 高并发之道原理拆解与性能调优 ......
第一性 Java 架构 原理 基础

《Java架构师的第一性原理》26Java基础之Netty入门

1 Reactor模式演进 1)读请求内容——》解码——》计算处理——》编码回复——》回复 2)采用基于事件驱动的设计,当有事件触发时,才会调用处理器进行数据处理 3)改进:使用多线程处理业务逻辑 4)继续改进:对于多个CPU的机器,为充分利用系统资源,将Reactor拆分为两部分 2 JVM和内核 ......
第一性 Java 架构 原理 基础

《Java架构师的第一性原理》29Java基础之设计模式

待补充 99 直接读这些牛人的原文 码海:我用 DCL 写出了单例模式,结果阿里面试官不满意! ......
第一性 设计模式 Java 架构 原理

《Java架构师的第一性原理》28Java基础之三大框架(SpringBoot、Spring、SpringMVC、MyBatis)

1. Spring框架 Spring框架的七大模块 Spring Core:框架的最基础部分,提供 IoC 容器,对 bean 进行管理。 Spring Context:继承BeanFactory,提供上下文信息,扩展出JNDI、EJB、电子邮件、国际化等功能。 Spring DAO:提供了JDBC ......
第一性 Java SpringBoot 架构 SpringMVC

《Java架构师的第一性原理》25Java基础之Java虚拟机第2篇类加载器

1. 类加载器 简单说下JVM预定义的三种类型的类加载器,这个也算是老生常谈了。当JVM启动一个项目的时候,它将缺省使用以下三种类型的类加载器:1. 启动(Bootstrap)类加载器:负责装载<Java_Home>/lib下面的核心类库或-Xbootclasspath选项指定的jar包。由nati ......
Java 第一性 架构 原理 基础

《Java架构师的第一性原理》25Java基础之Java虚拟机第3篇常用面试题

jre、jdk、jvm的关系: jdk是最小的开发环境,由jre++java工具组成。 jre是java运行的最小环境,由jvm+核心类库组成。 jvm是虚拟机,是java字节码运行的容器,如果只有jvm是无法运行java的,因为缺少了核心类库。 JVM内存模型 (1):堆<对象,静态变量,共享 ( ......
Java 第一性 架构 原理 常用

《Java架构师的第一性原理》26Java基础之Netty源码剖析与实战(极客时间 傅健)

极客时间 98.Netty源码剖析与实战 课程名称:极客时间《Netty源码剖析与实战》 讲师简介 傅健,Netty 源码贡献者。 思科中国研发中心平台软件工程师,毕业后一直在思科工作,已有 9 年。做过很多项目,从移动端应用到文档存储系统、从消息系统到电话接入系统,接触过很多不同类型的开源软件且很 ......
第一性 Java 架构 实战 源码

《Java架构师的第一性原理》25Java基础之Java虚拟机第1篇入门篇

Java内存模型 > 本文内容来源于书籍和网络。 [TOCM] 目录一、运行时数据区域程序计数器Java 虚拟机栈本地方法栈堆方法区运行时常量池直接内存二、垃圾收集判断一个对象是否可被回收1. 引用计数算法2. 可达性分析算法3. 方法区的回收4. finalize()引用类型1. 强引用2. 软引 ......
Java 第一性 架构 原理 基础

《Java架构师的第一性原理》23Java基础之IO

1 简介 Java 非阻塞 IO 和异步 IO IO多路复用机制详解 《我想进大厂》之网络篇夺命连环12问 1)BIO、NIO、AIO BIO:面向流(Stream)、同步阻塞IO、单向通道(输入或者输出流) NIO:面向缓冲区(Buffer)、同步非阻塞IO(轮询状态)、双向通道 三大核心组成部分 ......
第一性 Java 架构 原理 基础

《Java架构师的第一性原理》20Java基础之语言基础

1 Java基础知识 1.1 面向对象 1.2 基本数据类型 1.3 基础API 8 JDK1.8新特性 Lambda表达式 java也开始承认了函数式编程, 就是说函数既可以作为参数,也可以作为返回值, 大大的简化了代码的开发 default关键字 打破接口里面是只能有抽象方法,不能有任何方法的实 ......
基础 第一性 语言基础 Java 架构

《Java架构师的第一性原理》22Java基础之动态字节码编程

1 反射 Class类 Filed类 Constructor类 Method类 2 动态代理 3 字节码编程 4 字节码编程应用 99 直接读这些牛人的原文 早就听闻阿里开源的 Arthas 在做 Java 应用诊断上十分牛逼,没失望 ......
第一性 Java 字节 架构 原理

《Java架构师的第一性原理》24Java基础之并发第4篇常问面试题

1 JMM内存模型 2 睡眠与等待 interrupt/isInterrupted/interrupt区别 interrupt() 调用该方法的线程的状态为将被置为"中断"状态(set操作) isinterrupted() 是作用于调用该方法的线程对象所对应的线程的中断信号是true还是false( ......
第一性 Java 架构 原理 基础

安卓之技术架构优劣分析

文章摘要 安卓架构技术主要包括MVC、MVP、MVVM等。下面分别对这些架构技术进行分析优劣势,并附上代码示例。 正文 MVC(Model-View-Controller)架构 MVC是一种常用的软件架构,它将应用程序分为三个主要组成部分:Model(模型)、View(视图)和Controller( ......
优劣 架构 技术

TFT架构学习

1.TFT架构图 2.各成分概述 1)门控机制 2)变量选择网络 3)静态协变量编码器 4)时间处理 5)通过分位数预测 2.1门控机制-门控残差网络GRN \[GRN_{\omega}(a,c)=LayerNorm(a+GLU_{\omega}(\eta_{1}))\\ \eta_{1}=W_{1 ......
架构 TFT

1、组织架构图—word

1、在word里面录入所有的文字 2、选中一级的文字,按【Tab】键,降级 3、选中二级文字,按【Tab】键,降级 4、选中三级文字,按【Tab】键,降级 5、将【布局】—>【纸张方向】—>【横向】,然后【Ctrl+A】全选文字,最后【Ctrl+x】剪切文字, 点击【插入】—>【smart art】 ......
组织架构 架构 word

一套分布式IM即时通讯系统的技术选型和架构设计

为了更好的理解分布式IM即时通讯系统的设计,我站在架构师的角度,在充分了解系统需求、业务流程和技术流程后,从全局视角为系统设定方案目标,对技术方案进行选型,对系统进行总体架构设计和分层架构设计,并梳理清楚发送消息的交互链路、单聊和群聊的交互链路。希望对你有帮助。 ......
通讯系统 分布式 架构 通讯 系统

迪米特原则 Demeter

又称:最少知道原则 一、定义 一个对象应该对其他对象保持最少的了解 二、特点 强调只和朋友交流,不和陌生人说话 出现在成员变量、方法的输入/输出参数中的类成为成员朋友类 而出现在方法体内部的类不属于朋友类 三、优点 降低类之间的耦合 如使用包权限进行隔离 四、举例 ......
原则 Demeter

里氏替换原则 Liskou Substitution

对开闭原则 OpenClose的补充 对抽象化的规范 一、定义 如果对每一个类行为T1的对象o1,都有类型为T2的对象o2,使得以T1定义的所有程序P在所有的对象o1都替换成o2时,程序P的行为没有放生变化,那么类型T2是类型T1的子类型 1、定义扩展 一个软件实体如果适用一个父类的话,那一定适用于 ......
里氏 Substitution 原则 Liskou

接口隔离原则 Interface Segregation

一、定义 用多个专门的接口,而不使用单一的总接口 客户端不应该依赖它不需要的接口 二、特点 一个类对另一个类的依赖应该建立在最小的接口上 建立单一接口,不要建立庞大臃肿的接口 尽量细化接口,接口中方法尽量少 也应注意适度拆分 三、优点 符合高内聚低耦合的设计思想 提升代码可读性、可扩展性和可维护性 ......
Segregation Interface 接口 原则

单一职责原则 Single Responsibility

一、定义 不要存在多于一个导致类变更的原因 如果改变了一个方法,导致了另一个方法故障,那么就违背的单一职责原则 二、特点 一个类/接口/方法只负责一项职责 三、优点 降低类复杂度 提高类的可读性 提高系统可维护性 降低变更引起的风险 四、举例 ......
Responsibility 职责 原则 Single

开闭原则 OpenClose

一、定义 一个软件实体(如类、模块和函数),应该对扩展开放,对修改关闭 二、特点 用抽象构建框架,用实现扩展细节 面向抽象编程,抽象相对稳定 三、优点 提高软件系统的可复用性和可维护性 四、举例 ......
OpenClose 原则

依赖倒置原则 Dependence Inversion

一、定义 高层模块不应该依赖底层模块 二者都应该依赖其抽象 二、特点 抽象不应该依赖细节,而细节应该依赖抽象 针对接口编程,而不要针对实现编程 尽量每个类都实现自接口或继承父类 三、优点 减少类间的耦合性 提高系统稳定性 提高代码可读性和可维护性 降低修改程序所造成的风险 四、举例 ......
Dependence Inversion 原则

组合/聚合复用原则

一、定义 尽量使用对象组合/聚合,而不是继承关系达到软件复用的目的 二、特点 使用组合/聚合代替继承,继承会将父类方法直接暴露给子类。 组合强调contains-a的关系 聚合强调has-a的关系 继承强调is-a的关系 可参考UML类图 三、优点 可以使系统更加灵活 降低类与类之间的耦合 一个类的 ......
原则

七大原则

设计模式目的 设计模式的目的是为了提高代码重用性、可读性、可扩展性、可靠性,使得程序呈现出高内聚、低耦合的特性。 代码重用性:相同功能的代码无需多次重复编写 可读性:编程按照一定规范,便于其他程序员的阅读和理解 可扩展性:当我们可以非常方便简单地增加新功能 可靠性:我们增加或删除部分功能时,对原有系 ......
七大 原则

网易面试:亿级用户,如何做微服务底层架构?

文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录 博客园版 为您奉上珍贵的学习资源 : 免费赠送 :《尼恩Java面试宝典》 持续更新+ 史上最全 + 面试必备 2000页+ 面试必备 + 大厂必备 +涨薪必备 免费赠送 :《尼恩技术圣经+高并发系列PDF》 ,帮你 实现技术自由,完成职 ......
底层 架构 用户
共2250篇  :6/75页 首页上一页6下一页尾页