排序:
默认
按更新时间
按访问量

分布式系统设计

高可用分布式系统应该要考虑以下几个大点和一些小点,大点与小点之间其实有包含、有交集,只是为了方便分点论述才分类。 四个大点: 容错能力(服务隔离、异步调用、请求幂等性、分布式锁) 可伸缩性(有 / 无状态的服务) 一致性(补偿事务、重试) 应对大流量的能力(熔断、降级) 两个小点: 解...

2018-07-16 22:32:55

阅读数:49

评论数:0

消息中间件:Kafka

mq使用的目的 应用解耦:屏蔽实现细节、异步通信,升级、扩容互不影响 流量消峰:生产速率>消息速率、消息积压能力、秒杀系统、批量导入 消息广播 最终一致性 kafka多实例、多分区、多副本: 1、说明: kafka实例:有四个Broker(四个kafka实例)...

2018-06-04 20:04:43

阅读数:101

评论数:0

SpringMVC 统一预处理返回值 @ControllerAdvice,ResponseBodyAdvice 统一处理返回值/响应体

ResponseBodyAdvice是spring4.1的新特性,其作用是在响应体写出之前做一些处理;比如,修改返回值、加密等。我在项目中的用到@ControllerAdvice,ResponseBodyAdvice的目的,是为每个请求的返回json中修改一个属性值。ResponseBodyAdv...

2018-05-16 17:31:29

阅读数:129

评论数:0

redis安装、启动、命令执行

mac下redis安装请参考文章:https://www.cnblogs.com/feijl/p/6879929.html写的简介明了,关键是靠谱,亲自试了,没问题;1、关闭、启动redis服务端:必须先到redis的安装目录下:cd /Users/zhengchao1991/redisTest/...

2018-04-09 22:09:10

阅读数:105

评论数:0

使用maven插件反向映射generatorConfig.xml生成代码

一、 配置Maven pom.xml 文件<!-- 反向映射 --> <plugin> <groupId>org.mybatis.generator&...

2018-02-13 11:38:43

阅读数:201

评论数:0

类加载器:ServiceLoader简述

ServiceLoader与ClassLoader是Java中2个即相互区别又相互联系的加载器.JVM利用ClassLoader将类载入内存,这是一个类声明周期的第一步(一个java类的完整的生命周期会经历加载、连接、初始化、使用、和卸载五个阶段,当然也有在加载或者连接之后没有被初始化就直接被使用...

2018-01-10 09:34:22

阅读数:190

评论数:0

java重写hashcode方法那点事

今天在调用别人写的对象时发现一个很奇怪的问题,首先描述下需求: 简要需求:从数据库查询一个对象Dish,将这个Dish上传到某某平台,过一点时间后,某某平台会将该Dish对象传回来,我们需要判断这个对象在数据库是否有被修改的痕迹;我们首先想到的就是第一次从数据库查询出这个对象的时候,计算出其h...

2017-12-27 21:18:14

阅读数:353

评论数:0

读懂 MySQL 执行计划

前言 在之前的面试过程中,问到执行计划,有很多童鞋不知道是什么?甚至将执行计划与执行时间认为是同一个概念。今天我们就一起来了解一下执行计划到底是什么?有什么用途? 执行计划是什么? 执行计划,简单的来说,是SQL在数据库中执行时的表现情况,通常...

2017-11-28 09:24:08

阅读数:246

评论数:0

ThreadPoolExecutor中的RejectedExecutionHandler浅析

当ThreadPoolExecutor中的线程都已经忙于执行,且有界队列也满了,这个时候就需要自己写reject策略;此处给一个demo,供大家去理解和参考: 1、先写一个可执行的线程 package zhengchao_001_005.ThreadPoolExecutor; public ...

2017-10-26 22:29:33

阅读数:255

评论数:0

性能分析5~top命令、jps命令、jstack命令:分析多线程下HashMap卡死原因分析

多线程下,HashMap使用很容易出bug,直接被卡死,原因分析我们先看一段代码: import java.util.HashMap; import java.util.Map; /** * 多线程下HashMap卡死原因分析 */ public class Test4_HashMap_bu...

2017-09-13 14:59:56

阅读数:653

评论数:0

性能分析4~jmap命令分析:堆信息、内存溢出

先看一个例子:jmap -heap pid该命令用于:展示pid的整体堆信息,运行结果如下 zhengchao1991deMacBook-Pro:~ zhengchao1991$ jmap -heap 33628 Attaching to process ID 33628, please wait...

2017-08-25 16:45:40

阅读数:529

评论数:0

性能分析3~jstack命令分析:死锁原因、cpu使用率过高的线程

jstack主要用来查看某个Java进程内的线程堆栈信息。语法格式如下: jstack [option] pid jstack [option] executable core jstack [option] [server-id@]remote-hostname-or-ip     命令行参数...

2017-08-23 16:53:50

阅读数:1633

评论数:0

性能分析2~jstat命令

上一篇文章top命令,估计大家并没有感觉到top命令有啥用,这一篇文章我们结合jstat命令来讲解一下;个人习惯,上来直接讲理论已经不适合我这种很难静下心来的同志了,我们直接看实例: 假设我们使用top命令发现进程id为15813的进行有问题,我们继续使用jstat命令来分析: 上面的信息是这...

2017-08-22 21:59:45

阅读数:435

评论数:0

性能分析1~top命令

最近开始学习解决线上问题的知识,大神一般怎么做,我也不知道,网上一搜都是top作为马前卒,来看看我的电脑这个命令运行的结果: 第一次看,估计不是太适应,我们只看核心简单的: load avg: linux系统中的Load对当前CPU工作量的度量,也有简单的说是进程队列的长度。 Load...

2017-08-22 20:42:33

阅读数:560

评论数:0

Java写一个简单的死锁程序

public class DeadlockSample {     private final Object obj1 = new Object();     private final Object obj2 = new Object();       public static voi...

2017-08-06 21:36:02

阅读数:1588

评论数:0

抽象类和接口 应用场景

抽象类和接口 设计模式

2017-07-04 15:58:01

阅读数:361

评论数:1

mybatis 操作数据库的 单例模式实现

SqlSession SqlSessionFactory SqlSessionFactoryBuilder MyBatis 单例模式

2017-07-04 12:51:06

阅读数:940

评论数:0

Java中执行Groovy脚本

Groovy脚本执行

2017-06-27 14:15:35

阅读数:915

评论数:0

测试 ThreadPoolExecutor 中遇到的近似死锁问题

今天在做一个简单的小test时,发现了ThreadPoolExecutor的一个问题,先列出代码:主要功能是往一个链接中插入、删除数据 链表的节点: public class BoundedNode { public Object value; public BoundedN...

2017-06-12 20:36:07

阅读数:442

评论数:0

重写toString方法的好处

举例:比如一个java类,未重写toString方法: public class TableInfo { private String tableID; private String tableName; private int tableState; p...

2017-05-23 09:21:47

阅读数:787

评论数:0

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