10 2018 档案

第六章 命令模式 Command
摘要:行为型设计模式 定义: 将‘请求’封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作 类图: 阅读全文

posted @ 2018-10-21 18:14 胡子就不刮 阅读(105) 评论(0) 推荐(0) 编辑

第五章 单例模式 Singleton
摘要:创建型设计模式 定义: 确保一个类只有一个实例,并提供一个全局访问点,单例模式的写法 类图: 单例类:包含一个实例且能自行创建这个实例的类。 访问类:使用单例的类。 阅读全文

posted @ 2018-10-21 18:14 胡子就不刮 阅读(105) 评论(0) 推荐(0) 编辑

第四章 工厂模式 Factory
摘要:创建型设计模式 定义: 定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类 类图: 应用: 当一个类不知道它所需要的对象的类时在工厂方法模式中,客户端不需要知道具体产品类的类名,只需要知道所对应的工厂即可 当一个类希望通过其子类来指定创建对象时在工厂方法模式中 阅读全文

posted @ 2018-10-21 18:13 胡子就不刮 阅读(96) 评论(0) 推荐(0) 编辑

第二章 观察者模式 Observer
摘要:行为型设计模式 定义: 观察者模式定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新 类图: 应用: spring事件驱动模型的结构(发布订阅模式):通过ApplicationEvent抽象类和ApplicationListener接口,可以实现Appl 阅读全文

posted @ 2018-10-21 18:12 胡子就不刮 阅读(83) 评论(0) 推荐(0) 编辑

第三章 装饰者模式 Decorator
摘要:结构型设计模式 定义: 动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代放方案 类图: Java I/O中的装饰器模式: FileInputStream 阅读全文

posted @ 2018-10-21 18:12 胡子就不刮 阅读(89) 评论(0) 推荐(0) 编辑

第一章 设计模式入门
摘要:设计模式: interface abstract 多态 指导思想: 可维护性 可重用性 可扩展性 灵活性 面向对象六大原则: 单一职责原则(SRP):高内聚、低耦合 开闭原则(OCP):对扩展开放、对修改关闭 里氏替换原则(LSP):子类可以透明替换父类 依赖倒置原则(DIP):面向对接编程、面向抽 阅读全文

posted @ 2018-10-21 18:11 胡子就不刮 阅读(90) 评论(0) 推荐(0) 编辑

第十八章 MySQL Workbench5.2使用(待续)
摘要:·········· 阅读全文

posted @ 2018-10-21 18:10 胡子就不刮 阅读(152) 评论(0) 推荐(0) 编辑

第十九章 MySQL Cluster(待续)
摘要:·········· 阅读全文

posted @ 2018-10-21 18:10 胡子就不刮 阅读(76) 评论(0) 推荐(0) 编辑

第十六章 性能优化(待续)
摘要:········· 阅读全文

posted @ 2018-10-21 18:09 胡子就不刮 阅读(86) 评论(0) 推荐(0) 编辑

第十七章 MySQL Replication(待续)
摘要:·········· 阅读全文

posted @ 2018-10-21 18:09 胡子就不刮 阅读(97) 评论(0) 推荐(0) 编辑

第十四章 数据备份与还原(待续)
摘要:········ 阅读全文

posted @ 2018-10-21 18:08 胡子就不刮 阅读(75) 评论(0) 推荐(0) 编辑

第十五章 MySQL日志(待续)
摘要:······· 阅读全文

posted @ 2018-10-21 18:08 胡子就不刮 阅读(92) 评论(0) 推荐(0) 编辑

第十二章 MySQL触发器(待续)
摘要:······ 阅读全文

posted @ 2018-10-21 18:07 胡子就不刮 阅读(108) 评论(0) 推荐(0) 编辑

第十三章 MySQL用户管理(待续)
摘要:············· 阅读全文

posted @ 2018-10-21 18:07 胡子就不刮 阅读(75) 评论(0) 推荐(0) 编辑

第十一章 视图(待续)
摘要:············ 阅读全文

posted @ 2018-10-21 18:06 胡子就不刮 阅读(111) 评论(0) 推荐(0) 编辑

第十章 存储过程和函数(待续)
摘要:·········· 阅读全文

posted @ 2018-10-21 18:05 胡子就不刮 阅读(106) 评论(0) 推荐(0) 编辑

第九章 Mysql执行计划
摘要:在企业的应用场景中,为了知道优化SQL语句的执行,需要查看SQL语句的具体执行过程,以加快SQL语句的执行效率。可以使用explain+SQL语句来模拟优化器执行SQL查询语句,从而知道mysql是如何处理sql语句的。官网地址: https://dev.mysql.com/doc/refman/5 阅读全文

posted @ 2018-10-21 18:04 胡子就不刮 阅读(102) 评论(0) 推荐(0) 编辑

第七章 Mysql MTS并行复制技术
摘要:一般主从复制,有三个线程参与,都是单线程:Binlog Dump(主) >IO Thread (从) > SQL Thread(从)。 复制出现延迟一般出在两个地方: 1)SQL线程忙不过来(可能需要应用数据量较大,可能和从库本身的一些操作有锁和资源的冲突;主库可以并发写,SQL线程不可以;主要原因 阅读全文

posted @ 2018-10-21 18:03 胡子就不刮 阅读(320) 评论(0) 推荐(0) 编辑

第八章 Mysql主从复制原理
摘要:0、为什么需要主从复制? 1、在业务复杂的系统中,有这么一个情景,有一句sql语句需要锁表,导致暂时不能使用读的服务,那么就很影响运行中的业务,使用主从复制,让主库负责写,从库负责读,这样,即使主库出现了锁表的情景,通过读从库也可以保证业务的正常运作。 2、做数据的热备 3、架构的扩展。业务量越来越 阅读全文

posted @ 2018-10-21 18:03 胡子就不刮 阅读(133) 评论(0) 推荐(0) 编辑

第五章 Mysql的锁机制
摘要:1、MySQL锁的基本介绍 ​ 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的 计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一 个问题,锁冲突也是影响数据库并发访问性能的一个重 阅读全文

posted @ 2018-10-21 18:02 胡子就不刮 阅读(99) 评论(0) 推荐(0) 编辑

第六章 Mysql读写分离
摘要:1、读写分离的介绍 ​ MySQL读写分离基本原理是让master数据库处理写操作,slave数据库处理读操作。master将写操作的变更同步到各个slave节点。 ​ MySQL读写分离能提高系统性能的原因在于: ​ 1、物理服务器增加,机器处理能力提升。拿硬件换性能。 ​ 2、主从只负责各自的读 阅读全文

posted @ 2018-10-21 18:02 胡子就不刮 阅读(88) 评论(0) 推荐(0) 编辑

第三章 MySQL底层架构
摘要:一 MySQL的基本架构图 连接器 ▪ 连接器负责跟客户端建立连接,获取权限、维持和管理连接 – 用户名密码验证 – 查询权限信息,分配对应的权限 – 可以使用show processlist查看现在的连接 – 如果太长时间没有动静,就会自动断开,通过wait_timeout控制,默认8小时 ▪ 连 阅读全文

posted @ 2018-10-21 18:01 胡子就不刮 阅读(99) 评论(0) 推荐(0) 编辑

第四章 MySQL的日志类型
摘要:一 MySQL常用日志类型: 错误日志(error-log):记录mysql在启动、运行和停止时出现的问题诊断分析 使用场景: a.分析排查mysql运行错误; b.记录未经授权的访问 常用配置参数: 1 log_error=$mysql/sql_log/mysql-error.log 2 log_ 阅读全文

posted @ 2018-10-21 18:01 胡子就不刮 阅读(132) 评论(0) 推荐(0) 编辑

第二章 MySQL的安装与配置
摘要:MYSQL5.7详细安装步骤: 0、更换yum源 1、打开 mirrors.aliyun.com,选择centos的系统,点击帮助 2、执行命令:yum install wget -y 3、改变某些文件的名称 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum 阅读全文

posted @ 2018-10-21 18:00 胡子就不刮 阅读(102) 评论(0) 推荐(0) 编辑

第一章 初识MySQL
摘要:MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统 阅读全文

posted @ 2018-10-21 17:59 胡子就不刮 阅读(100) 评论(0) 推荐(0) 编辑

第十二章 远程服务(待续)
摘要:··········· 阅读全文

posted @ 2018-10-21 17:57 胡子就不刮 阅读(80) 评论(0) 推荐(0) 编辑

第十三章 Spring消息(待续)
摘要:··············· 阅读全文

posted @ 2018-10-21 17:57 胡子就不刮 阅读(96) 评论(0) 推荐(0) 编辑

第十一章 SpringMvc(待续)
摘要:············ 阅读全文

posted @ 2018-10-21 17:56 胡子就不刮 阅读(78) 评论(0) 推荐(0) 编辑

第九章 整合Mybatis(待续)
摘要:·········· 阅读全文

posted @ 2018-10-21 17:55 胡子就不刮 阅读(77) 评论(0) 推荐(0) 编辑

第十章 事务(待续)
摘要:········ 阅读全文

posted @ 2018-10-21 17:55 胡子就不刮 阅读(71) 评论(0) 推荐(0) 编辑

第八章 数据库连接JDBC(待续)
摘要:············ 阅读全文

posted @ 2018-10-21 17:54 胡子就不刮 阅读(55) 评论(0) 推荐(0) 编辑

第六章 容器的功能扩展(待续)
摘要:········ 阅读全文

posted @ 2018-10-21 17:53 胡子就不刮 阅读(57) 评论(0) 推荐(0) 编辑

第七章 AOP(待续)
摘要:··············· 阅读全文

posted @ 2018-10-21 17:53 胡子就不刮 阅读(74) 评论(0) 推荐(0) 编辑

第五章 bean的加载(待续)
摘要:············· 阅读全文

posted @ 2018-10-21 17:52 胡子就不刮 阅读(76) 评论(0) 推荐(0) 编辑

第三章 默认标签的解析(待续)
摘要:··········· 阅读全文

posted @ 2018-10-21 17:51 胡子就不刮 阅读(93) 评论(0) 推荐(0) 编辑

第四章 自定义标签的解析(待续)
摘要:············· 阅读全文

posted @ 2018-10-21 17:51 胡子就不刮 阅读(71) 评论(0) 推荐(0) 编辑

第二章 容器的基本实现(待续)
摘要:·············· 阅读全文

posted @ 2018-10-21 17:50 胡子就不刮 阅读(77) 评论(0) 推荐(0) 编辑

第一章 Spring整体架构和环境搭建(待续)
摘要:········ 阅读全文

posted @ 2018-10-21 17:48 胡子就不刮 阅读(77) 评论(0) 推荐(0) 编辑

第十三章 线程安全与锁优化
摘要:·········· 阅读全文

posted @ 2018-10-21 17:48 胡子就不刮 阅读(62) 评论(0) 推荐(0) 编辑

第十一章 晚期(运行期)优化
摘要:··········· 阅读全文

posted @ 2018-10-21 17:47 胡子就不刮 阅读(60) 评论(0) 推荐(0) 编辑

第十二章 Java内存模型与线程
摘要:············ 阅读全文

posted @ 2018-10-21 17:47 胡子就不刮 阅读(71) 评论(0) 推荐(0) 编辑

第九章 类加载及执行子系统的案列与实战
摘要:案列分析 阅读全文

posted @ 2018-10-21 17:46 胡子就不刮 阅读(91) 评论(0) 推荐(0) 编辑

第十章 早期(编译期)优化
摘要:·············· 阅读全文

posted @ 2018-10-21 17:46 胡子就不刮 阅读(64) 评论(0) 推荐(0) 编辑

第六章 类文件结构
摘要:Class类文件的结构 一组以8位字节为基础单位的二进制流 结构采用C语言的伪结构存储数据,只有两种数据类型:无符号数和表 魔数与class文件的版本 每个class头4个字节称为魔数:用于确定文件是否能被虚拟机接受 常量池 class文件中的资源仓库 访问标志 用于识别一些类或者接口层次的访问信息 阅读全文

posted @ 2018-10-21 17:44 胡子就不刮 阅读(111) 评论(0) 推荐(0) 编辑

第七章 虚拟机类加载机制
摘要:虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型 类加载的时机 加载、验证、准备、初始化和卸载这五个阶段的顺序是确定的,但解析阶段则不一定,它在某些情况下可以在初始化阶段之后再开始。为了支持java动态绑定 虚拟机规范严格 阅读全文

posted @ 2018-10-21 17:44 胡子就不刮 阅读(63) 评论(0) 推荐(0) 编辑

第八章 虚拟机字节码执行引擎
摘要:概述 执行引擎是Java虚拟机最核心的组成部分之一,它再执行java代码的时候分为解释执行和编译执行两种选择 运行时栈帧结构 栈帧:用于支持虚拟机进行方法调用和方法执行的数据结构,结构如下 局部变量表 操作数栈 动态链接 方法返回地址 附加信息 方法调用 解析 分派 动态类型语音支持 ···· 阅读全文

posted @ 2018-10-21 17:44 胡子就不刮 阅读(74) 评论(0) 推荐(0) 编辑

第五章 调优案列分析与实战
摘要:案列分析 实战 阅读全文

posted @ 2018-10-21 17:42 胡子就不刮 阅读(80) 评论(0) 推荐(0) 编辑

第四章 虚拟机性能监控与故障处理工具
摘要:JDK的命令行工具 jps:虚拟机进程状况工具 jstat:虚拟机统计信息监视工具 jmap:Java配置信息工具 jhat:Java内存映像工具 jstack:Java堆栈跟踪工具 HSDIS:JIT生成代码反汇编 JDK可视化工具 JConsole:Java监视与管理控制台 VisualVM:多 阅读全文

posted @ 2018-10-21 17:41 胡子就不刮 阅读(89) 评论(0) 推荐(0) 编辑

第二章 Java内存区域与内存溢出异常
摘要:运行时数据区域 程序计数器(线程私有) 可以看作当前线程所执行的字节码行号指示器。如果线程正在执行一个java方法,计数器记录的是正在执行的虚拟机字节码指令的地址;如果是Native方法,计数器值为空(Undefind)。此内存区域是唯一一个在Java虚拟机中没有规定任何OutOfMemoryErr 阅读全文

posted @ 2018-10-21 17:40 胡子就不刮 阅读(68) 评论(0) 推荐(0) 编辑

第三章 垃圾收集器与内存分配策略
摘要:对象已死 引用计数算法:没有引用 可达性分析算法:GC Roots (虚拟机栈中引用的对象、方法区中类静态属性引用的对象、方法去中常量引用的对象、本地方法栈JNI引用的对象) 在谈引用 强引用 软引用 弱引用 虚引用 垃圾收集算法 标记-清除算法 复制算法 标记-整理算法 分代收集算法 HotSpo 阅读全文

posted @ 2018-10-21 17:40 胡子就不刮 阅读(54) 评论(0) 推荐(0) 编辑

第一章 走进Java
摘要:Java设计语言、Java虚拟机、Java API 类库这三部分统称为JDK(Java Development Kit),JDK用于支持java程序开发的最小环境 JDK(Java Development Kit) 是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirn 阅读全文

posted @ 2018-10-21 17:39 胡子就不刮 阅读(90) 评论(0) 推荐(0) 编辑

第十六章 Java内存模型
摘要:什么是内存模型,为什么需要它 发布 初始化过程中的安全性 阅读全文

posted @ 2018-10-21 17:37 胡子就不刮 阅读(86) 评论(0) 推荐(0) 编辑

第十四章 构建自定义的同步工具
摘要:状态依赖性的管理 使用条件队列 显示条件队列 显示的Condition对象 Synchronized剖析 AbstractQueuedSynchronizer java.util.concurrent同步器类中的AQS 阅读全文

posted @ 2018-10-21 17:36 胡子就不刮 阅读(80) 评论(0) 推荐(0) 编辑

第十五章 原子变量与非阻塞同步机制
摘要:锁的劣势 硬件与并发的支持 原子变量类 非阻塞算法 阅读全文

posted @ 2018-10-21 17:36 胡子就不刮 阅读(84) 评论(0) 推荐(0) 编辑

第十三章 显示锁
摘要:Lock与ReentrantLock 性能考虑因素 公平性 在synchronized和ReentrantLock之间选择 读-写锁 阅读全文

posted @ 2018-10-21 17:35 胡子就不刮 阅读(63) 评论(0) 推荐(0) 编辑

第十二章 并发程序的测试
摘要:正确性测试 性能测试 避免性能测试的陷阱 其他测试方法 阅读全文

posted @ 2018-10-21 17:34 胡子就不刮 阅读(71) 评论(0) 推荐(0) 编辑

第十一章 性能与可伸缩性
摘要:对性能的思考 Amdahl定律 线程引入的开销 减少锁的竞争 示例:比较Map的性能 减少上下文切换的开销 阅读全文

posted @ 2018-10-21 17:34 胡子就不刮 阅读(60) 评论(0) 推荐(0) 编辑

第十章 避免活跃性危险
摘要:死锁 死锁的避免与诊断 其他活跃性危险 阅读全文

posted @ 2018-10-21 17:33 胡子就不刮 阅读(78) 评论(0) 推荐(0) 编辑

第九章 图形用户界面的并行化
摘要:为什么GUI是单线程的 短时间的GUI任务 长时间的GUI任务 共享数据模型 其他形式的单线程子系统 阅读全文

posted @ 2018-10-21 17:32 胡子就不刮 阅读(105) 评论(0) 推荐(0) 编辑

第七章 取消与关闭
摘要:任务取消 停止基于线程的服务 处理非正常的线程终止 JVM关闭 阅读全文

posted @ 2018-10-21 17:31 胡子就不刮 阅读(79) 评论(0) 推荐(0) 编辑

第八章 线程池的使用
摘要:在任务与执行策略之间的隐形耦合 设置线程池的大小 配置ThreadPoolExecutor 扩展ThreadPoolExecutor 递归算法的并行化 阅读全文

posted @ 2018-10-21 17:31 胡子就不刮 阅读(75) 评论(0) 推荐(0) 编辑

第六章 任务执行
摘要:在线程中执行任务 Executor框架 找出可利用的并行性 阅读全文

posted @ 2018-10-21 17:30 胡子就不刮 阅读(117) 评论(0) 推荐(0) 编辑

第五章 基础构建模块
摘要:同步容器类 并发容器 阻塞队列和生产者-消费者模式 阻塞方法和中断方法 同步工具类 构建高效且可伸缩的结果缓存 阅读全文

posted @ 2018-10-21 17:29 胡子就不刮 阅读(91) 评论(0) 推荐(0) 编辑

第四章 对象的组合
摘要:设计线程安全的类 设计线程安全类的三个基本要素: 1. 找出构成对象状态的所有变量 2. 找出约束状态变量的不变性条件 3. 建立对象状态的并发访问管理策略 实例封闭 当一个对象被封装到另一个对象中,能够访问到被封装对象的所有代码路径都是已知的。通过将封闭机制和合适的加锁策略结合,可以确保以线程安全 阅读全文

posted @ 2018-10-21 17:27 胡子就不刮 阅读(94) 评论(0) 推荐(0) 编辑

第二章 线程安全性
摘要:什么是线程安全性 要编写线程安全的代码,其核心在于要对状态访问操作进行管理,特别是对共享的(Shared)和可变的(Mutable)状态的访问。“共享”意味着变量可以由多个线程同时访问,而“可变”则意味着变量的值在其生命周期内可以发生变化 一个对象是否需要是线程安全的,取决于它是否被多个线程访问。这 阅读全文

posted @ 2018-10-21 17:26 胡子就不刮 阅读(98) 评论(0) 推荐(0) 编辑

第三章 对象的共享
摘要:可见性 失效数据 非原子的64位操作:非volatile类型的64位数值变量(double和long).java内存模型要求,变量的读取和写入操作必须是原子。对于非volatile类型的long和double变量,JVM允许将64位的读写操作分解成两个32位操作 加锁与可见性 Volatile变量: 阅读全文

posted @ 2018-10-21 17:26 胡子就不刮 阅读(108) 评论(0) 推荐(0) 编辑

第一章 简介
摘要:并发简史 在早期的计算机中不包含操作系统,它们从头到尾只执行一个程序,并且这个程序能访问计算机中的所有资源。在这种裸机环境中,不仅很难编写和运行程序,而且每次只能运行一个程序,这对于昂贵并且稀有的计算机资源来说也是一种浪费操作系统的出现使得计算机每次能运行多个程序,并且不同的程序都在单独的进程中运行 阅读全文

posted @ 2018-10-21 17:25 胡子就不刮 阅读(100) 评论(0) 推荐(0) 编辑

第十六章 漫话网站架构师
摘要:按作用划分架构师 按效果划分架构师 按职责角色划分架构师 按关注层次划分架构师 按口碑划分架构师 非主流方式划分架构师 阅读全文

posted @ 2018-10-21 17:23 胡子就不刮 阅读(80) 评论(0) 推荐(0) 编辑

第十五章 网站架构师职场攻略
摘要:发现问题,寻找突破 提出问题,寻求支持 解决问题,达成绩效 阅读全文

posted @ 2018-10-21 17:22 胡子就不刮 阅读(57) 评论(0) 推荐(0) 编辑

第十四章 架构师领导艺术
摘要:关注人而不是产品 发掘人的优秀 共享没好蓝图 共同参与架构 学会妥协 成就他人 阅读全文

posted @ 2018-10-21 17:21 胡子就不刮 阅读(77) 评论(0) 推荐(0) 编辑

第十二章 网购秒杀系统架构设计案例分析
摘要:秒杀活动的技术挑战 秒杀系统的应对策略 秒杀系统架构设计 阅读全文

posted @ 2018-10-21 17:20 胡子就不刮 阅读(93) 评论(0) 推荐(0) 编辑

第十三章 大型网站典型故障分析案例
摘要:写日志也会引发故障 高并发访问数据库引发的故障 高并发情况下锁引发的故障 缓存引发的故障 应用启动不同步引发的故障 大文件读写独占磁盘引发的故障 滥用生产环境引发的故障 不规范的流程引发的故障 不好的编程引发的故障 阅读全文

posted @ 2018-10-21 17:20 胡子就不刮 阅读(80) 评论(0) 推荐(0) 编辑

第十一章 海量分布式存储系统Doris的高可用架构设计分析
摘要:分布式存储系统的高可用架构 不同故障情况下的高可用解决方案 分布式存储系统的故障分类 正常情况下系统访问结构 瞬时故障的高可用解决方案 临时故障的高可用解决方案 永久故障的高可用解决方案 阅读全文

posted @ 2018-10-21 17:19 胡子就不刮 阅读(302) 评论(0) 推荐(0) 编辑

第十章 维基百科的高性能架构设计分析
摘要:Wikipedia网站整体架构 Wikipedia性能优化策略 Wikipedia前端性能优化 Wikipedia服务端性能优化 Wikipedia后端性能优化 阅读全文

posted @ 2018-10-21 17:18 胡子就不刮 阅读(138) 评论(0) 推荐(0) 编辑

第九章 淘宝网的架构演化案列分析
摘要:淘宝网的业务发展历程 淘宝网技术架构演化 阅读全文

posted @ 2018-10-21 17:17 胡子就不刮 阅读(94) 评论(0) 推荐(0) 编辑

第八章 固若金汤:网站的安全架构
摘要:网站应用攻击与防御 XSS攻击 注入攻击 SCRF功夫 其他攻击和漏洞 Web应用防火墙 网站安全漏铜扫描 信息加密技术及密钥安全管理 单向散列加密 对称加密 非对称加密 密钥安全管理 信息过滤与反垃圾 文本匹配 分类算法 黑名单 电子商务风险控制 风险 风控 阅读全文

posted @ 2018-10-21 17:16 胡子就不刮 阅读(58) 评论(0) 推荐(0) 编辑

第七章 随需应变:网站的可扩展架构
摘要:构建可扩展的网站架构 利用分布式消息队列降低系统耦合性 事件驱动框架 分布式消息队列 利用分布式服务打造可复用的业务平台 Web Service与企业级分布式服务 大型网站分布式服务的需求与特点 分布式服务框架设计 构建可扩展的数据结构 利用开放平台建设网站生态圈 阅读全文

posted @ 2018-10-21 17:15 胡子就不刮 阅读(52) 评论(0) 推荐(0) 编辑

第六章 永无止境:网站的伸缩性架构
摘要:网站架构的伸缩性设计 不同功能进行物理分离实现伸缩 单一功能通过集群规模实现伸缩 应用服务器集群的伸缩性设计 HTTP重定向负载均衡 DNS域名解析负载均衡 反向代理负载均衡 IP负载均衡 数据链路层负载均衡 负载均衡算法 分布式缓存集群的伸缩性设计 Memcached分布式缓存集群的访问模型 Me 阅读全文

posted @ 2018-10-21 17:14 胡子就不刮 阅读(73) 评论(0) 推荐(0) 编辑

第四章 瞬时响应:网站的高性能架构
摘要:网站性能测试 不同视角下的网站性能: 用户视角的网站性能:网站响应速度 开发人员视角的网站性能:响应延迟、系统吞吐量、并发处理能力、系统稳定性等技术指标 运维人员视角的网站性能:基础设施性能和资源利用率 性能测试指标 响应时间 并发数 吞吐量 性能计数器 性能测试方法 性能测试 负载测试 压力测试 阅读全文

posted @ 2018-10-21 17:13 胡子就不刮 阅读(74) 评论(0) 推荐(0) 编辑

第五章 万无一失:网站的高可用架构
摘要:网站可用性的度量与考核 网站可用性度量 网站可用性考核 高可用的网站架构 高可用的应用 通过负载均衡进行无状态服务的失效转移 应用服务器集群的Session管理 高可用的服务 高可用的数据 CAP原理 数据备份 失效转移 高可用网站的软件质量保证 网站发布 自动化测试 预发布验证 代码控制 自动化发 阅读全文

posted @ 2018-10-21 17:13 胡子就不刮 阅读(84) 评论(0) 推荐(0) 编辑

第三章 大型网站核心架构要素
摘要:什么是架构,一种比较通俗的说法是“最高层次的规划,难以改变的决定” 具体到软件架构,“有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计” 性能 可用性 伸缩性 扩展性 安全性 阅读全文

posted @ 2018-10-21 17:12 胡子就不刮 阅读(71) 评论(0) 推荐(0) 编辑

第二章 大象网站架构模式
摘要:一 网站架构模式 分层:一种架构模式,将系统在横向维度上切分成几个部分,每个部分负责一部分相对比较单一的职责,然后通过上层对下层的依赖和调用组成一个完整的系统 分割:在纵向方面对软件进行切分 分布式:使用更多的计算机完成同样功能,模块化部署 集群:多台服务器部署相同应用构成一个集群,通过负载均衡设备 阅读全文

posted @ 2018-10-21 17:11 胡子就不刮 阅读(88) 评论(0) 推荐(0) 编辑

第一章 大型网站架构演化
摘要:一 大型网站软件系统的特点: 高并发、大流量 高可用 海量数据 用户分布广泛,网络情况复杂 安全环境恶劣 需求快速变更,发布频繁 渐进式发展 二 大型网站架构演化发展历程 初始阶段的网站架构 应用服务和数据服务分离 使用缓存改善网站性能 使用应用服务器集群改善网站的并发处理能力 数据库读写分离 使用 阅读全文

posted @ 2018-10-21 17:10 胡子就不刮 阅读(65) 评论(0) 推荐(0) 编辑

第十八章 大浏览量系统的静态化架构设计
摘要:淘宝大浏览量商品详情系统简介 系统面临哪些挑战 淘宝前台系统的优化历程 大浏览量系统的静态改造 阅读全文

posted @ 2018-10-21 17:09 胡子就不刮 阅读(84) 评论(0) 推荐(0) 编辑

第十七章 Velocity优化实践
摘要:现实存在的问题 优化的理论基础 一个高效的模版引擎实现思路 优化成果 其他优化手段 阅读全文

posted @ 2018-10-21 17:07 胡子就不刮 阅读(103) 评论(0) 推荐(0) 编辑

第十六章 Velocity工作原理解析
摘要:Velocity总体架构 JJTree渲染过程解析 事件处理机制 常用优化技巧 与JSP比较 设计模式解析之合成模式 设计模式解析之解释器模式 阅读全文

posted @ 2018-10-21 17:06 胡子就不刮 阅读(138) 评论(0) 推荐(0) 编辑

第十五章 深入分析iBatis框架之系统架构与映射原理
摘要:iBatis框架主要的类层次结构 iBatis框架的设计策略 iBatis框架的运行原理 iBatis框架对SQL语句的解析 数据库字段映射到Java对象 示例运行的结果 设计模式解析之简单工厂模式 设计模式解析之工厂模式 阅读全文

posted @ 2018-10-21 17:04 胡子就不刮 阅读(118) 评论(0) 推荐(0) 编辑

第十四章 Spring MVC的工作机制与设计模式
摘要:Spring MVC的总体设计 Control设计 Model设计 View设计 框架设计的思考 设计模式解析之模版模式 阅读全文

posted @ 2018-10-21 17:02 胡子就不刮 阅读(151) 评论(0) 推荐(0) 编辑

第十三章 Spring框架的设计理念与设计模式分析
摘要:Spring的骨骼架构 核心组件详解 Spring中AOP的特性详解 设计模式解析之代理模式 设计模式解析之策略模式 阅读全文

posted @ 2018-10-21 16:59 胡子就不刮 阅读(119) 评论(0) 推荐(0) 编辑

第十二章 Jetty的工作原理解析
摘要:Jetty的基本架构 Jetty的启动过程 接受请求 处理请求 与JBoss集成 与Tomcat的比较 阅读全文

posted @ 2018-10-21 16:58 胡子就不刮 阅读(122) 评论(0) 推荐(0) 编辑

第十一章 Tomcat的系统架构与设计模式
摘要:Tomcat总体设计 Tomcat中的设计模式 阅读全文

posted @ 2018-10-21 16:56 胡子就不刮 阅读(82) 评论(0) 推荐(0) 编辑

第十章 深入理解Session与Cookie
摘要:理解Cookie 理解Session Cookie安全问题 分布式Session框架 Cookie压缩 表单重复提交问题 多终端Session统一 阅读全文

posted @ 2018-10-21 16:54 胡子就不刮 阅读(96) 评论(0) 推荐(0) 编辑

第九章 Servlet工作原理解析
摘要:从 Servlet容器说起 创建 Servlet实例 Servlet体系结构 Servlet如何工作 Servlet中的Listener Filter如何工作 Servlet中的url-pattern 阅读全文

posted @ 2018-10-21 16:53 胡子就不刮 阅读(96) 评论(0) 推荐(0) 编辑

第八章 JVM内存管理
摘要:物理内存与虚拟内存 内核空间与用户空间 在Java中哪些组件需要使用内存 JVM内存结构 JVM内存分配策略 JVM内存回收策略 内存问题分析 阅读全文

posted @ 2018-10-21 16:51 胡子就不刮 阅读(95) 评论(0) 推荐(0) 编辑

第七章 JVM体系结构与工作方式
摘要:JVM体系结构 JVM工作机制 阅读全文

posted @ 2018-10-21 16:49 胡子就不刮 阅读(61) 评论(0) 推荐(0) 编辑

第六章 深入分析ClassLoader工作机制
摘要:ClassLoader类结构分析 ClassLoader的等级加载机制 如何加载class文件 常见加载类错误分析 常用的ClassLoader分析 如何实现自己的ClassLoader 实现类的热部署 Java应不应该动态加载类 阅读全文

posted @ 2018-10-21 16:48 胡子就不刮 阅读(99) 评论(0) 推荐(0) 编辑

第五章 深入class文件结构
摘要:JVM指令集简介 class文件头的表示形式 常量池 类信息 Fields和Methods定义 类属性描述 Javap生成的class文件结构 阅读全文

posted @ 2018-10-21 16:46 胡子就不刮 阅读(89) 评论(0) 推荐(0) 编辑

第四章 Javac编译原理
摘要:Javac是什么 一种编辑器,能将一种语言规范转化成另外一种语言规范 Javac编译器的基本结构 Javac工作原理分析 词法分析器 语法分析器 语义分析器 代码生成器 设计模式解析之访问者模式 阅读全文

posted @ 2018-10-21 16:45 胡子就不刮 阅读(86) 评论(0) 推荐(0) 编辑

第三章 深入分析Java Web的中文乱码问题
摘要:几种常见的编码格式 ASCII码 ISO-8859-1 GB2312 GBK GB18030 UTF-16 UTF-8 在Java中需要编码的场景 在I/O操作中存在的编码 在内存操作中的编码 在Java中如何编解码 在Java Web中涉及的编解码 在JS中的编码问题 常见问题分析 一种繁简转换的 阅读全文

posted @ 2018-10-21 16:44 胡子就不刮 阅读(103) 评论(0) 推荐(0) 编辑

第二章 深入分析Java I/O的工作机制
摘要:Java的I/O类库的基本架构 java.io包下,将近80个类,分成四组: 基于字节操作的I/O接口:InputStream和OutputStream 基于字符操作的I/O接口:Writer和Reader 基于磁盘操作的I/O接口:File 基于网络操作的I/O接口:Socket 磁盘I/O工作机 阅读全文

posted @ 2018-10-21 16:41 胡子就不刮 阅读(108) 评论(0) 推荐(0) 编辑

第一章 深入Web请求过程
摘要:B/S网络架构概述 Web2.0到来,传统C/S架构转变成B/S架构,B/S架构两方面好处: 1 客户端使用统一的浏览器(Browser) 2 服务端(Server)基于统一的HTTP 如何发起一个请求 发起一个HTTP请求的过程就是建立一个Socket通信的过程 HTTP解析 B/S网络架构核心是 阅读全文

posted @ 2018-10-21 16:37 胡子就不刮 阅读(84) 评论(0) 推荐(0) 编辑

第六章 Java性能调优工具(待续)
摘要:Java性能调优工具 Windows工具 JDK命令行工具 JConsole工具 Visual VM多合一工具 Visual VM对QQL的支持 MAT内存分析工具 MAT对QQL的支持 JProfile简介 阅读全文

posted @ 2018-10-20 09:11 胡子就不刮 阅读(109) 评论(0) 推荐(0) 编辑

第五章 JVM调优(待续)
摘要:Java虚拟机内存模型 JVM内存分配参数 垃圾收集基础 常用调优案列和方法 实用JVM参数 实战JVM调优 阅读全文

posted @ 2018-10-20 09:07 胡子就不刮 阅读(91) 评论(0) 推荐(0) 编辑

第四章 并行程序开发及优化(待续)
摘要:并行程序设计模式 JDK多任务执行框架 JDK并发数据结构 并发控制方法 锁的性能和优化 无锁的并行计算 协程 阅读全文

posted @ 2018-10-20 09:04 胡子就不刮 阅读(98) 评论(0) 推荐(0) 编辑

第三章 Java程序优化(待续)
摘要:字符串优化处理 String对象及其特点 String对象是java语言中重要的数据类型,但它并不是Java的基本数据类型。在C语言中,对字符串的处理最通常的做法是使用char数组,但这种方式的弊端是显而易见的,数组本身无法封装字符串操作所需的基本方法。而在Java语言中,String对象可以认为是 阅读全文

posted @ 2018-10-20 09:02 胡子就不刮 阅读(106) 评论(0) 推荐(0) 编辑

第二章 设计优化(待续)
摘要:善用设计模式 单例模式 单例模式是设计模式中使用最为普遍的模式之一。它是一种对象创建模式,用于产生一个对象的具体事例,它可以确保系统中一个类只产生一个实例。在Java语言中,这样的行为带来两大好处: 因此对于系统的关键组件和被频繁使用的对象,使用单例模式便可以有效地改善系统的性能。 单例模式的核心在 阅读全文

posted @ 2018-10-20 09:00 胡子就不刮 阅读(119) 评论(0) 推荐(0) 编辑

第一章 Java性能调优概述
摘要:性能概述 看懂程序的性能 一般来说,程序的性能能通过以下几个方面来表现: 执行速度:程序的反映是否迅速,响应时间是否足够短 内存分配:内存分配是否合理,是否过多地消耗内存或者存在泄漏 启动时间:程序从运行到可以正常处理业务需要花费多长时间 负责承受能力:当系统压力上升时,系统的执行速度、响应时间的上 阅读全文

posted @ 2018-10-17 22:42 胡子就不刮 阅读(186) 评论(0) 推荐(0) 编辑

第十章 Executor框架
摘要:在Java中,使用线程来异步执行任务。Java线程的创建与销毁需要一定的开销,如果我们为每一个任务创建一个新线程来执行,这些线程的创建与销毁将消耗大量的计算资源。同时,为每一个任务创建一个新线程来执行,这种策略可能会使处于高负荷状态的应用最终崩溃。 Java的线程既是工作单元,也是执行机制。从JDK 阅读全文

posted @ 2018-10-03 17:01 胡子就不刮 阅读(193) 评论(0) 推荐(0) 编辑

第九章 Java中线程池
摘要:Java中的线程池是运用场景最多的并发框架,几乎所有需求异步或并发执行任务的程序都可以使用线程池。在开发过程中,合理地使用线程池能够带来3个好处。 线程池的实现原理 当向线程池提交一个任务之后,线程池是如何处理这个任务呢?如图 从图中可以看出,当提交一个新任务到线程池时,线程池的处理流程如下 (1) 阅读全文

posted @ 2018-10-03 16:53 胡子就不刮 阅读(159) 评论(0) 推荐(0) 编辑

第八章 Java中的并发工具类
摘要:等待多线程完成的CountDownLatch countDownLatch允许一个或多个线程等待其他线程完成操作。 countDownLatch的构造函数接受一个int类型的参数作为计数器,如果你想等待N个点完成,这里就传入N 当我们调用countDownLatch的countDown方法时,N就会 阅读全文

posted @ 2018-10-03 10:49 胡子就不刮 阅读(115) 评论(0) 推荐(0) 编辑

第七章 Java中的13个原子操作类
摘要:当程序更新一个变量时,如果多线程同时更新这个变量,可能得到期望之外的值,比如变量i = 1;A线程更新i + 1,B线程也更新i + 1,经过两个线程操作之后可能i不等于3,而是等于2,。因为A和B线程在更新变量i的时候拿到的i都是1,这就是线程不安全的更新操作,通常我们会使用synchronize 阅读全文

posted @ 2018-10-02 21:12 胡子就不刮 阅读(148) 评论(0) 推荐(0) 编辑

第六章 Java并发容器和框架
摘要:ConcurrentHashMap的实现原理与使用 ConcurrentHashMap是线程安全且高效的hashmap。本节让我们一起研究一下该容器是如何在保证线程安全的同时又能保证高效的操作。 为什么要使用ConcurrentHashMap 在并发编程中使用HashMap可能导致程序死循环。而使用 阅读全文

posted @ 2018-10-01 22:39 胡子就不刮 阅读(165) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示