自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 设计模式-命令模式

参考文献 理解设计模式之----命令模式

2019-04-04 15:01:04 105 0

原创 Spring IOC工作原理

Spring框架的概念 Spring中IOC Spring框架原理 beanFactory和AppilcationContext的区别 一.Spring框架的概念 Spring是一个开源容器框架,可以接管web层,业务层,dao层,持久层的组件,并且可以配置各种bean,和维护bean与bean...

2019-03-26 15:09:59 2472 0

原创 设计模式

JDK中设计模式 单例模式 Runtime 类图 代码: public class Runtime { private static Runtime currentRuntime = new Runtime(); public static Runtime get...

2019-03-15 17:18:07 992 0

原创 设计模式-模板方法

模板方法 模板方法模式在一个方法中定义一个算法的骨架,而将一些步骤的实现延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中某些步骤的具体实现。 例子 现在我家里有一台铃木的小车锋驭和一台铃木的摩托车风暴1000,我要想把这两种类型的车都先跑起来再停下来,有一些步骤,并且这些...

2019-03-15 16:46:46 824 0

原创 RESTful api接口规范

域名 应该尽量将API部署在专用域名之下。 https://api.example.com 如果确定API很简单,不会有进一步扩展,可以考虑放在主域名下。 https://example.org/api/ api版本控制 应该将API的版本号放入URL。 https://api.exampl...

2019-03-15 11:03:29 1706 0

原创 Mybatis学习

Mybatis学习 工作原理 流程 1、加载mybatis全局配置文件(数据源、mapper映射文件等),解析配置文件,MyBatis基于XML配置文件生成Configuration,和一个个MappedStatement(包括了参数映射配置、动态SQL语句、结果映射配置),其对应着&...

2019-03-14 17:04:07 1022 0

原创 阿里巴巴Java开发手册

阿里巴巴Java开发手册 todo 一、编程规约 二、异常日志 三、单元测试 四、安全规约 五、Mysql数据库 六、工程机构 七、设计规约

2019-03-13 17:35:09 145 0

原创 kafka学习

Kafka是一个开源的,分布式的,高吞吐量的消息系统。 kafka架构 基本概念 Topic 主题,或者说是一类消息。类似于RabbitMQ中的queue。可以理解为一个队列。 Broker 一个Kafka服务称之为Broker。Kafka可以集群部署,每一个Kafka部署就是一个Bro...

2019-03-13 16:10:44 972 0

原创 TDD测试驱动开发

什么是 TDD 单元测试驱动开发 为什么要 TDD 传统编码方式 VS TDD 编码方式 传统编码方式 需求分析,想不清楚细节,管他呢,先开始写 发现需求细节不明确,去跟业务人员确认 确认好几次终于写完所有逻辑 运行起来测试一下,靠,果然不工作,调试 调试好久终于工作了 转测试,QA 测出 ...

2019-03-13 11:01:01 255 0

原创 Spring学习

IOC 要了解控制反转( Inversion of Control ), 我觉得有必要先了解软件设计的一个重要思想:依赖倒置原则(Dependency Inversion Principle ) 举例 这样的设计看起来没问题,但是可维护性却很低。假设设计完工之后,上司却突然说根据市场需求的变动...

2019-03-13 10:24:13 956 0

原创 Apollo配置中心

todo Apollo开源地址 参考文献 Apollo配置中心介绍

2019-03-13 09:51:24 227 0

原创 Dubbo实现原理

todo 参考文献 dubbo实现原理简单介绍

2019-03-13 09:51:01 179 0

原创 quartz定时调用框架

quartz简介 quartz,即石英的意思,隐喻如石英表般对时间的准确把握。 quartz是一个由java编写的任务调度库 quartz实现原理 参考文献

2019-03-13 09:49:34 96 0

原创 Spring Boot学习

什么是Spring boot 它使用 “习惯优于配置” (项目中存在大量的配置,此外还内置一个习惯性的配置,让你无须)的理念让你的项目快速运行起来。 它并不是什么新的框架,而是默认配置了很多框架的使用方式,就像 Maven 整合了所有的 jar 包一样,Spring Boot 整合了所有框架 ...

2019-03-13 09:48:47 122 0

原创 Linux常用命令

linux常用命令

2019-03-13 09:47:21 97 0

原创 Java常用工具框架

参考文献 Apache Commons 工具类介绍及简单使用

2019-03-12 20:06:49 250 0

原创 Redis学习

Redis数据类型 String: 字符串 redis 127.0.0.1:6379> SET name "runoob" OK redis 127.0.0.1:6379> GET name "r...

2019-03-12 16:00:37 994 0

原创 多线程并发

线程 新建线程 线程状态 并发理论 JMM内存模型 重排序 happens-before规则 并发关键字 synchronized volatile Lock体系 Lock与synchronized对比 AQS AQS原理 AQS源码解析 ReentrantLock 重入锁实...

2019-03-12 15:37:41 1071 0

原创 JVM性能调优

jps jps(Java Virtual Machine Process Status Tool) 主要用来输出JVM中运行的进程状态信息。语法格式如下: jps [options] [hostid] 如果不指定hostid就默认为当前主机或服务器。 命令行参数选项说明如下: -...

2019-03-12 15:24:55 140 0

原创 大型网站架构设计及优化

优化思路: 经过初步分析,发现瓶颈在数据库。WEB服务器的CPU闲来无事,但数据库服务器的CPU使用率高居不下。 于是,请来架构组的DBA同事,监控数据库的访问,整理出那些耗时的SQL,并且进行SQL查询分析。根据分析结果,对数据表索引进行重新整理。同时也对数据库本身的参数设置进行了优化。 优化...

2019-03-12 14:36:42 372 0

原创 Sharding-JDBC

Sharding-JDBC

2019-03-12 13:34:14 326 0

原创 TDDL生成全局id原理

在数据库中创建 sequence 表,用于记录,当前已被占用的id最大值。 每台客户端主机取一个id区间(比如 1000~2000)缓存在本地,并更新 sequence 表中的id最大值记录。 客户端主机之间取不同的id区间,用完再取,使用乐观锁机制控制并发。 参考文献: 《TDDL 在分布式下...

2019-03-12 11:12:19 540 0

原创 高并发系统的限流

在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。 限流 限流可以认为服务降级的一种,限流就是限制系统的输入和输出流量已达到保护系统的目的。一般来说系统的吞吐量是可以被测算的,为了保证系统的稳定运行,一旦达到的需要限制的阈值,就需要限制流量并采取一些措施以完成限制流量的目的。比如:延迟处...

2019-03-12 10:08:37 286 0

原创 InnoDB的Buffer Pool

缓存的重要性 所以InnoDB存储引擎在处理客户端的请求时,当需要访问某个页的数据时,就会把完整的页的数据全部加载到内存中,也就是说即使我们只需要访问一个页的一条记录,那也需要先把整个页的数据加载到内存中。将整个页加载到内存中后就可以进行读写访问了,在进行完读写访问之后并不着急把该页对应的内存空间...

2019-03-12 10:06:34 100 0

原创 Java8 Stream

Java8 Stream Stream介绍 Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。 Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。 这种风格将要处理的元素集合看作一种流,...

2019-03-12 10:05:45 101 0

原创 Docker学习

通过这个系列的文章学习,你可以掌握下面的知识: 虚拟化技术、容器技术和 Docker 的背景 Docker 运行环境的搭建 镜像与容器的管理与使用 自定义镜像和共享镜像 通过 Compose 编排应用 多个使用 Docker 搭建运行环境的实践 浅谈虚拟化和容器技术 todo Docker技术...

2019-03-12 10:04:21 103 0

原创 架构师成长之路

《架构师之路》

2019-03-12 10:01:21 465 0

原创 分布式ID生成

参考文献 Leaf——美团点评分布式ID生成系统 https://github.com/Meituan-Dianping/Leaf

2019-03-12 09:59:11 81 0

原创 Hystrix

服务雪崩 分布式系统环境下,服务间类似依赖非常常见,一个业务调用通常依赖多个基础服务。如下图,对于同步调用,当库存服务不可用时,商品服务请求线程被阻塞,当有大批量请求调用库存服务时,最终可能导致整个商品服务资源耗尽,无法继续对外提供服务。并且这种不可用可能沿请求调用链向上传递,这种现象被称为雪崩效...

2019-03-11 17:14:56 769 0

原创 Mysql学习

Mysql优化原理 对于InnoDB存储引擎来说,页是磁盘和内存之间交互的基本单位,设计MySQL的大叔规定读取一个页面花费的成本默认是1.0,读取以及检测一条记录是否符合搜索条件的成本默认是0.2。1.0、0.2这些数字称之为成本常数,这两个成本常数我们最常用到,其余的成本常数我们后边再说哈。 ...

2019-03-11 16:20:58 86 0

原创 Mysql事务

把需要保证原子性、隔离性、一致性和持久性的一个或多个数据库操作称之为一个事务。 事务特点: 原子性(Atomicity) 隔离性(Isolation) 一致性(Consistency) 持久性(Durability) Mysql事务相关语法 开启事务 方法1: BEGIN [WORK]; 方...

2019-03-11 16:20:22 92 0

原创 分布式事务

分布式事务

2019-03-11 14:53:02 2071 1

原创 微服务学习

微服务学习

2019-03-11 14:50:41 146 0

原创 HDFS学习

HDFS是Hadoop Distribute File System 的简称,也就是Hadoop的一个分布式文件系统。 分布式文件系统(DistributedFileSystem) 是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。分布式文件系统的设计基于客户...

2019-03-11 14:42:05 91 0

原创 Hive学习

之前我们说了MapReduce计算模型,但是只有懂Java的才能撸代码干这个事,不懂Java的想用Hadoop的计算模型是不是就没法搞了呢?比如HDFS里的海量数据,数据分析师想弄点数据出来,咋办?所以就要用到Hive,它提供了SQL式的访问方式供人使用。 Hive是由Facebook 开源, 最...

2019-03-11 14:16:53 93 0

原创 HBase学习

HBase学习

2019-03-11 14:12:26 94 0

原创 Hadoop学习

Hadoop在2.0将资源管理从MapReduce中独立出来变成通用框架后,就从1.0的三层结构演变为了现在的四层架构: 底层——存储层,文件系统HDFS 中间层——资源及数据管理层,YARN以及Sentry等 上层——MapReduce、Impala、Spark等计算引擎 顶层——基于MapR...

2019-03-11 14:09:20 112 0

原创 Spark学习

反观Spark,它会在内存中以接近“实时”的时间完成所有的数据分析:“从集群中读取数据,完成所有必须的分析处理,将结果写回集群,完成,” Born说道。Spark的批处理速度比MapReduce快近10倍,内存中的数据分析速度则快近100倍。 ...

2019-03-11 14:05:06 67 0

原创 大数据书籍推荐

hadoop权威指南 Hadoop技术内幕:深入解析YARN架构设计与实现原理 Hadoop技术内幕:深入解析Hadoop Common和HDFS架构设计与实现原理 Hadoop技术内幕:深入解析MapReduce架构设计与实现原理 ...

2019-03-11 13:55:17 1745 0

原创 大数据学习之路

大数据学习之路 todo

2019-03-11 13:45:20 65 0

提示
确定要删除当前文章?
取消 删除