01 2025 档案
摘要:课程目标 Kafka 产生的背景 Kafka 的架构 Kafka 的安装部署和集群部署 Kafka 的基本操作 Kafka 的应用 Kafka 的简介 高性能 高吞吐量 什么是 Kafka Kafka 是一款分布式消息发布和订阅系统,具有高性能、高吞吐量的特点而被广泛应用于大数据传输场景。它是由
阅读全文
摘要:数据存储 基于 Java API初探zookeeper的使用 深入分析Watcher机制的实现原理 Curator客户端的使用,简单高效 数据存储 基于znode,基于文件系统风格的,树形结构的文件模型,和内存数据库差不多,基于增删改查的命令去操作数据库,整个数据库包括整个树形结构的内容,比如说
阅读全文
摘要:使用zookeeper原生API实现分布式锁 分析Curator实现分布式锁的原理 实现带注册中心的RPC框架 使用zookeeper原生API实现分布式锁 什么是分布式锁? 我们在选择一个方案去实现分布式锁的时候,我们得知道我们要解决的是一个什么问题,或者说我们使用zookeeper实现对应的分布
阅读全文
摘要:了解zookeeper及zookeeper的设计猜想 Zookeeper集群角色 深入分析ZAB协议 从源码层面分析leader选举的实现过程 关于zookeeper的数据存储 回顾内容 zookeeper集群安装(myid/zoo.cfg) zookeeper的数据模型(znode) 节点的特性
阅读全文
摘要:从架构的发展过程说起 什么是zookeeper Zookeeper安装部署 Zoo.cfg配置文件分析 zookeeper 下边有 zookeeper.out 日志记录 架构不是一蹴而就的,是随着我们业务量的不断增加,不断去演变的。 架构的演变 单体架构 tomcat war 目标是很快地解决产
阅读全文
摘要:20180602-分布式通讯框架RMI的原理.md TOC 目录20180602-分布式通讯框架RMI的原理.mdTOC什么是RPCRMI底层 TCP/IP协议层之上。序列化安全性服务的管理TCP/IP注册中心是独立的。源码分析服务端的启动Registry的过程HelloServiceImpl_st
阅读全文
摘要:了解序列化的意义 如何实现一个序列化操作 序列化的高阶认识 常见的序列化技术及应用 Protobuf实现原理分析 序列化框架的选型 了解序列化的意义 我们非常地考虑系统性能的时候,就要考虑到序列化。 序列化在我们系统架构里边处于非常底层的位置。我们平时不会去关心,我们使用的是什么序列化。后者说我们用
阅读全文
摘要:了解客户端和服务端的请求原理 HTTP协议及其组成 HTTPS交互原理分析 访问支付宝,微信的开放接口 都是基于HTTP 对外提供的开放服务 API都是基于HTTP协议的, 微服务中的服务之间的调用大部分都是基于HTTP协议的。 Web层提供http协议的对外接口 http协议是基于TCP可靠通讯协
阅读全文
摘要:通讯协议在分布式架构中的核心应用 深入料及TCP/IP和UDP/IP通信协议 TCP流量整形 基于Java自身技术实现系统通讯 多任务处理及优化 了解什么是NIO 组播协议 Multicast 从集中式的架构到分布式架构粗粒度的架构模型图 相当于是在整个架构层面上去做一个分层,分层以后会存在按照某一
阅读全文
摘要:主流架构模型-SOA架构和微服务架构 领域驱动设计及业务驱动划分。 分布式架构的基本理论CAP、BASE以及应用 什么是分布式架构下的高可用设计 分布式架构下的可伸缩设计 构建高性能的分布式架构 SOA架构和微服务架构 Service Oriented Architecture 面向服务的架构,是架
阅读全文
摘要:分布式架构的演进过程 了解分布式架构中的相关概念 初始分布式架构的意义 分布式架构的发展过程和历史 分布式架构的演进过程 构建分布式架构最重要的因素 了解分布式结构中的相关概念 第一个计算机时代 集中式到分布式的发展历史 1946年ENIAC第一台计算机美国, 单台的计算机的性能不断地提升 以M为单
阅读全文
摘要:Spring面试解答 上半节:面试中需要注意的细节 动脑子,面试是一种交流 面试的时候,要用心去感受当时面试场景 了解自己,自己的长处、自己的短处 (巧妙地扬长避短) 了解 1. 公司的业务场景 2. 你是去面试什么岗位的? Java高级工程师 实际工作经验是1年(如实填写) 1、请描述Spring
阅读全文
摘要:背景:不是为了推荐大家去使用Spring5 文档很少、资料难找 没有实战实践,包括老师自己没有用过 目的: 1、带大家来看看眼界 2、了解一下未来的一个发展趋势 鸡肋 推荐:SpringBoot,Spring生态链(框架的框架) Spring5新特性: 依赖JDK 8+和Java EE7+以
阅读全文
摘要:基于Spring5实现ORM 初衷: 单表查询不写一句SQL,自动生成 查询的结果自动映射为Java对象 1、我要传一个复杂的查询条件,怎么传? 想到了用对象来传,但是有问题 a)、跨表联查的条件 b)、无法携带判断逻辑的运算符 c)、or 或者 and 无法区分 2、自动映射类型判断麻烦 ,用rs
阅读全文
摘要:ORM ( 对象关系 Object Relation Mapping ) 用 Java 对象来描述对象与对象之间的关系和数据内容 Hibernate Mybatis JPA SpringJDBC 对比 Hibernate 全自动挡 不需要写一句SQL语句、烧油(牺牲性能) MyBatis 手自一体(
阅读全文
摘要:事务 事务就是 Socket 连接 JDBC 的连接 1. 如果是 SELECT 拿到直接返回就好了 2. 把找出来的记录放到内存中 3. 异常检查:有没有这条数据。再检查 SQL 语句是不是有语法错误,等等,然后在内存中修改这条数据。修改完以后,会去检查,比如说外键关联了之类的问题。发现不能改了又
阅读全文
摘要:上 <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"
阅读全文
摘要:已完成 Spring IOC Spring DI Spring MVC 继续完善: Spring AOP 的功能,基于 Spring IOC 和 DI 去完成 未完成: Spring AOP、Spring Transaction、Spring JDBC、自己手写 ORM 框架。 Spring I
阅读全文
摘要:Spring MVC 一种 Web 开发的设计模式 实现了不同业务层面的解耦,隔离。 http://www.dairan.com?id=?&type= Model: 将传输数据封装成一个完成的载体。把很多参数传成一个Model。就是一种设计模式,你也可以不封装。 View: 视图,用来展示或
阅读全文
摘要:dispatcherServlet 图片 AbstractApplicationContext //初始化所有剩余的单例Bean // 当工厂初始化完成的时候, finishBeanFactoryInitialization(beanFactory); 它在判断它是不是“延时加载”,如果不是“延时加
阅读全文
摘要:20180415-Spring核心IOC容器及依赖注入原理 ClassPathXmlApplicationContext //存储注册信息的BeanDefinition // 传说已久的 IOC 容器 private final Map<String, BeanDefinition> beanDef
阅读全文
摘要:看不懂很正常 让面试官仰望你。 Spring 是围绕 Bean 来展开, BOP 的开发思想。 Spring 的四个策略: 1. 基于 POJO 的轻量和最小侵入性编程 2. 通过依赖注入和面向接口松耦合 3. 基于切面和惯性进行声明式编程 4. 通过切面和模板减少样板式代码。 手段: 面向 Bea
阅读全文
摘要:穷举法: 把生活所见所闻全部归纳到我们所学的知识体系中,加以思考变成自己的东西。(举例子) 类比法: 把自己熟悉的方法(利用自己已有的知识体系),去对比学习新的知识。 Spring 怎么学? 1. 环境准备好了没有? 2. 项目里边有红叉❌ 学习源码,不一定要让项目跑起来,报一两个红叉其实不要紧。
阅读全文
摘要:三、Spring5 概述 Spring 是一个开源的轻量级 Java SE (Java 标准版本)/ Java EE (Java 企业版本)开发应用框架,其目的是用于简化企业级应用程序开发。应用程序是由一组相互协作的对象组成。而在传统应用程序开发中,一个完成的应用是由一组相互协作的对象组成。所以开发
阅读全文
摘要:一、认识MyBatis MyBatis 是什么? What is MyBatis? MyBatis is a first class persistence framework with support for custom SQL, stored procedures and advanced m
阅读全文
摘要:设计模式容易混淆的几个对比.md 1、代理模式跟委派模式混淆 委派就是说全权代理 代理只参与某一个环节,委派参与整个环节 委派可以说是一个静态代理 Porxy 传一个接口,传实现类不行吗? Java核心思想:面向接口编程 OOP:用代码来解释生活 接口:只是一种规范,做任何事前以前先思考好以后,再去
阅读全文
摘要:后端框架 Spring 最大的败笔是什么? 其实对业务开发来说:Spring 最大的败笔就是设计了 @Service ,什么都可以定义成为一个 @Service 、@Component 这才是 Spring 最大的败笔。 业务一复杂,就定义了一堆的 @Service 和 @Component 互相依
阅读全文
摘要:策略模式 举例: 比较器 旅行路线 固定算法策略(封装) 买东西结算支付 场景: 根据用户的需求处理数据时候需要对算法做出选择,固定的一些算法(不再发生变化的算法),扩展。(算法会变的时候,不建议用策略模式) 客户本身就知道要采用什么样的算法去计算。(有选择的权利) assets/支付的策略
阅读全文
摘要:回顾 适配器模式使用了继承的方法,达到了兼容的目的,或者使用注入的办法也能够达到兼容的目的。适配器模式就是兼容 装饰器模式 为了某个实现类在不修改原始类的基础上进行动态的覆盖或者增加方法。 该实现保持跟原有类的继承关系 采用装饰模式 装饰器模式实际上是一种非常特殊的适配器模式 装饰器模式和适配器
阅读全文
摘要:单例模式 全局只有唯一一个实例, 一个类模板,在整个系统运行中,只允许产生一个实例(有且只有一个实例) 分布式系统中用 分布式锁 来保证单例模式。 例子: 工厂本身 配置文件 日历 保证单例模式的技术方案 解决一个并发访问时的时候的线程安全问题。 饿汉式 懒汉式 注册登记式 枚举式 序列化与反序
阅读全文
摘要:代理模式 作用: AOP 实现 拦截器 中介 黄牛 媒婆 解耦 专人做专事 自己不想做,又不得不做的事 增强 代理: 静态代理 动态代理 角色 代理角色 被代理的角色(目标对象) 由被代理的角色来做最终的决定 代理角色通常来说会持有被代理角色对象引用(以便于代理角色完成工作之前或者之后能够找到被
阅读全文
摘要:设计模式: 怎么做人?对中国来说: 出生 、二十加冕、三十而立、四十不惑、五十知天命、六十花甲... 经验之谈: 总结前人的经验,提供给后人去借鉴使用 前人栽树,后人乘凉 用途 解决一些具有代表性的一些问题。 设计模式,通常来源于生活,反过来帮助我们更好地生活。 设计模式目标: 提升代码的可读性
阅读全文
摘要:第二章--SpringWeb应用开发篇 二、Spring 源码版本命名规则及下载安装 2.1、Spring源码版本命名规则 (1) 首先看看某些常见软件的版本号: Linux Kernel: 0.0.1 , 1.0.0 , 2.6.32 , 3.0.18 ...,若用 X.Y.Z 表示,则偶数 Y表
阅读全文