自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (3)
  • 问答 (3)
  • 收藏
  • 关注

原创 Druid无效链接回收策略(源码分析)(mysql 8小时连接失效问题)

目录问题背景(异常Communications link failure)druid数据库连接池关键配置说明(注意标红配置)druid数据库连接池超时连接回收源码分析第一种方式 : 获取连接时校验第二种方式 : Destroy 定时任务检查需要被回收的连接总结(线程回收几种配置方法)参考资料问题背景(异常Communications link failure)最近添加了数据库监控后发现会有几十万分之一概率查询失败. 查看日志发现异常如下 :Caused by: com.mysql.jdbc.excep

2020-05-22 00:57:47 4558 3

原创 使用CopyOnWriteArrayList时建议使用foreach或iterator

目录导语使用CopyOnWriteArrayList时建议使用foreach或iterator原因分析解决方案导语博客太久没更新了, 18年12月换了工作. 工作比较忙再加上自己有点贪玩. 看到了很多同学后台的提问和私聊. 找时间会统一回复的哈.使用CopyOnWriteArrayList时建议使用foreach或iterator关于CopyOnWriteArrayList就不细讲了. 网...

2020-03-22 16:07:44 1109 1

原创 Kafka : Kafka入门教程和JAVA客户端使用

目录目录Kafka简介环境介绍术语介绍消费模式下载集群安装配置命令使用JAVA实战参考文献Kafka简介由Scala和Java编写,Kafka是一种高吞吐量的分布式发布订阅消息系统.环境介绍操作系统:centos6.5 kafka:1.0.1 zookeeper:3.4.6术语介绍Broker : Kafka集群包含一个或...

2018-03-15 16:47:16 55436 25

原创 ZooKeeper 集群搭建

目录目录zk集群介绍下载安装server1配置启动集群检查集群是否搭建成功防火墙配置zkzk本来是大数据这边的一个技术,解决服务与服务之间的协调工作.近年来各种集群涌现.集群每个节点之间的协调工作就成了一个问题.比如dubbo,kafka这些.这篇主要介绍zk集群的搭建.单节点参照我之前写过博客 : http://blog.csdn.net/shangmi...

2018-03-15 10:04:17 954

原创 GIT : 记录IntelliJ IDEA 合并冲突时的一个bug(冲突解决后代码和本地仓库一样时导致merge失败)

目录目录IntelliJ IDEA版本问题描述解决办法IntelliJ IDEA版本IntelliJ IDEA 2017.1.4 x64问题描述我们在用git开发是经常遇到冲突的情况,一般发生在协同开发时,一个文件被两个人同时改掉了,这是我们在pull代码时要解决冲突,并重新add然后commit最后push.这个博客记录一个IntelliJ

2018-01-23 19:56:18 17229

原创 JAVA : try catch resource异常处理

目录:目录try-with-resources7之前释放资源try-with-resources释放资源结论try-with-resourcesjdk1.7后增加了try-with-resources,他是一个声明一个或多个资源的try语句。一个资源作为一个对象,必须在程序结束之后关闭。try-with-resources语句确保在语句的最后每个资源都被关闭,任

2018-01-18 02:20:47 8925

转载 转载 : 有return的情况下try catch finally的执行顺序(最有说服力的总结)

转自:http://blog.csdn.net/kavensu/article/details/8067850目录:结论举例最终结论结论不管有木有出现异常,finally块中代码都会执行;当try和catch中有return时,finally仍然会执行;finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,

2018-01-16 00:35:48 1400

原创 Mysql : 主从配置 & mysqldump & binlog备份 (笔记)

目录目录主从配置修改master修改slave重启两台mysql在主服务器上建立帐户并授权slave配置slave查看slave状态异常处理mysqldumpbinlog参考文章主从配置修改mastervi /etc/my.cnf[mysqld]log-bin=mysql-bin //[必须]启用二进制日志server-id=11 //[必须]服务器唯一ID

2017-12-26 00:31:11 1753

原创 Mysql : Mysql5.6 Linux6.5安装

目录:目录下载解压配置用户配置目录权限安装添加系统服务设置开机启动启动服务创建软连接登陆配置密码Navicat连接下载官网下载 : https://downloads.mysql.com/archives/community/ 历史版本选择: 下载mysql-5.6.15-linux-glibc2.5-x86_64.tar.gz 至 /usr/local/目录下解压cd

2017-12-25 17:40:05 2236 1

原创 Mysql :sql优化

目录目录表结构数据估计检查较多时可能不使用索引多列索引最左前缀select尽量覆盖索引字段多列索引where子句条件查询不要在索引列使用表达式或做运算order by用索引排序JOIN原理1Simple Nested-Loop Join2Index Nested-Loop Join3Block Nested-Loop JoinJOIN使用索引OR要慎用like xx要避免使

2017-12-16 00:02:00 432

原创 Mysql : Mysql索引

目录:目录索引类型单列索引组合索引多列索引索引方法BTREE索引HASH索引BTREE和HASH比较索引使用查询缓存explain命令profiling使用索引的选择性参考文章索引类型单列索引普通索引(Normal):基本索引类型,没有唯一性限制。如果列字段类型为CHAR、VARCHAR,length可以小于字段的实际长度,我们称为前缀索引;如果是BLOB、TEXT类型必须

2017-12-11 20:13:16 361

原创 Mysql : Mysql引擎

我的博客很多时候是当笔记本用,最近学习mysql相关的知识,记录下常见的几种引擎和使用需要注意的地方。目录:目录常见引擎ISAMMYISAMMyISAM MergeHEAPmemoryinnoDBBERKLEYDBBDBARCHIVE查看引擎引擎特性对比MyIASM 和 Innodb引擎详解Innodb引擎MyIASM引擎两种引擎的选择Index索引MyIASM引擎索引

2017-12-10 14:53:19 357

原创 FastDFS : 开启钻牛角尖模式搞FastDFS集群

目录目录本文目的FastDFS介绍FastDFS交互过程FastDFS上传交互过程FastDFS下载交互过程FastDFS集群规划FastDFS集群配置FastDFS依赖安装安装libfastcommon httpsgithubcomhappyfish100libfastcommon上传或下载libfastcommon-masterzip到usrlocalsrc目录

2017-11-13 17:49:40 4160 7

原创 ActiveMQ : ActiveMQ入门介绍

目录目录下载安装Queue通信方式Topic通信方式持久化消费者持久化接收端持久化消息持久化发送端持久化ACK确认消息Spring集成下载安装下载 apache-activemq-5.15.2-bin.tar.gzcd /usr/local/tar -xzvf apache-activemq-5.15.2-bin.tar.gzcd /usr/local/apache-active

2017-11-01 19:01:25 366

原创 HTTPS : HTTPS原理详解

目录:目录http有什么弊端https协议简介什么是对称加密非对称加密对称加密非对称加密HTTPS原理问题一解决数据加密问题问题二如何保证协商过程是安全的问题三客户端公钥哪里来的客户端如何确认公钥是真的问题四同一机构颁发的不同证书被混用问题五如何防止证书不被篡改问题六客户端的第三方公钥从哪里获取鸣谢写在最后hash的不可逆特性作用参考资料http有什么弊端http是基

2017-10-25 23:24:31 2631 1

原创 Spring : Spring加载配置文件classpath、classpath*、file解析

目录目录背景classpathclasspathfile通过JVM传参指定配置文件路径背景最近研究dubbo这个框架遇到一个问题,dubbo的生产者都是通过jar来启动的,结合公司的项目都是通过war启动的,war包启动可以在war解压以后运维人员更改配置文件(原则上生产环境的配置只有运维人员才能看到)。但是jar包不可能让运维人员解压更改配置才从新打jar包。所以jar包启动的项目需要能

2017-10-22 16:55:51 9576 1

原创 Jenkins : Jenkins+Maven+GitHub实现持续集成

目录:目录背景jenkins和hudson环境准备项目背景启动jenkins配置jenkins创建job构建job配置ssh实现自动部署配置邮箱实现邮件通知github分medule分别构建解决方案 待续背景很多小伙伴都会遇到这种困扰,项目变得越来越多,每次编译部署很麻烦,经常在项目上线或者开发过程中需要花几个小时时间对生产或线上服务器进行更新。比如公司开发团队很大,每晚都会对

2017-09-27 01:17:41 3960

原创 Linux : 添加交换空间

目录目录添加交换空间添加一个交换分区添加一个交换文件删除交换空间添加交换空间  两种选择:添加一个交换分区或添加一个交换文件。推荐你添加一个交换分区;不过,若你没有多少空闲空间可用,则添加交换文件。添加一个交换分区步骤如下:使用fdisk来创建交换分区 (假设 /dev/sdb2 是创建的交换分区),创建分区参考:http://blog.csdn.net/shangmingtao/art

2017-09-21 17:08:03 1116

原创 Linux : 给硬盘分区

目录目录给硬盘分区格式化硬盘挂载单次生效开机直接挂载给硬盘分区fdisk /dev/sda Command (m for help): n Command action e extended p primary partition (1-4) 输入:e Partition number (1-4): 1 First cylinder (1-9729, default 1):回

2017-09-21 17:01:30 1712

原创 Dubbo : Dubbo管理控制台&Dubbo监控中心安装,Dubbo服务Linux部署 (三)

目录目录Dubbo管理控制台安装Dubbo简易监控中心安装Linux部署Dubbo管理控制台安装Dubbo-Admin管理控制台是一个可以直观看到并管理生产者消费者的平台.Dubbo-Admin本身就是一个java项目.下载地址: https://github.com/alibaba/dubbo 在dubbo-admin上用mvn package就可以了打好包后我们需要将war包解压缩到to

2017-09-21 10:58:31 2257 1

原创 Linux : rc.local 重启不生效

目录目录添加开启自启动方法问题原因问题解决添加开启自启动方法在/etc/init.d/添加脚本chkconfig –add [脚本] 编辑/etc/rc.local方式 这里说下/etc/rc.local方式有时候启动java程序不生效.问题原因我们把tomcat startup.sh脚本日志重定向到d.log,发现是JAVA_HOME没有找到 问题解决在rc.local中expor

2017-09-20 17:52:50 2878

原创 Dubbo : 传统工程改造(二)

目录目录传统工程为什么改造改造思路项目源码传统工程为什么改造引用官方文档的说明:改造思路对于一个MVC开发模式的项目,我们需要将CV层放在一个项目中,而M单独放在一个项目中.中间接口约定需要一个单独的项目打成jar包形式分别引入.一个简单的例子(省略了DB相关操作):UserService.javapublic interface UserService { public String

2017-09-18 11:42:33 752

原创 Dubbo : ZooKeeper安装配置(一)

目录:目录dubbo简介注册中心介绍下载安装ZooKeeper启动命令dubbo简介简介: 百度百科 官网 GitHub注册中心介绍注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动 时与注册中心交互,注册中心不转发请求,压力较小 监控中心负责统计各服务调用次数,调用时间等,统计先在内存汇总后每分钟一次发送 到监控中心服务器,并以报表展示 服

2017-09-17 02:17:55 257

原创 Spring Boot : 集成mybatis、pagehelper插件、开启事务、druid数据源配置、mybatis-generator(十一)

目录目录完整项目目录完整pomxml集成mybatisPageHelper插件使用开启事务druid数据源mybatis-generator完整项目目录完整pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xs

2017-08-29 00:10:54 3586

原创 Spring Boot : 定时任务(十)

目录目录单线程定时任务多线程定时任务单线程定时任务SpringBoot提供的定时任务是单线程的。代码很简单。package cn.milo.controllor;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.context.annotation.Configuration;

2017-08-28 00:19:04 279

原创 Spring Boot : 集成redis(九)

目录目录集成方式代码测试集成方式我们分别可以通过直接集成jedis包或者集成spring-data-redis的方式,网上大部分都是用的spring,但是我比较习惯直接用jedis包.而且spring-data-redis也是对jedis进行的二次封装.当然也有同学觉得spring-data-redis方便的,有时间我会补充spring-data-redis的springboot集成方法.和j

2017-08-25 20:06:27 340

原创 Spring Boot : 文件上传(八)

目录目录文件上传文件大小设置文件上传添加pom.xml包支持 <!-- thymeleaf支持 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>页面:file

2017-08-25 11:47:45 386

原创 Spring Boot : CROS解决跨域问题(七)

目录目录官网说明全局配置部分配置 CrossOrigin注解官网说明官网说明: http://docs.spring.io/spring-boot/docs/1.5.6.RELEASE/reference/htmlsingle/#boot-features-cors全局配置全局配置,配置后无须添加其他配置.SpringBoot 1.5.6版本jdk1.7或者1.8都测试没问题.@Configu

2017-08-24 20:10:27 4645

原创 Spring Boot : 配置JSP(六)

目录目录官方文档配置项目结构具体配置测试结果官方文档官方文档 : Template engines 官方是不建议用JSP template的,但有时公司需要.这里讲下配置. 配置项目结构:具体配置pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLS

2017-08-24 18:09:06 1331

原创 Spring Boot : logback和log4j2配置(五)

目录目录官方文档logback日志log4j2日志log4j2xml 配置方法log4j2yml配置方法官方文档官网文档:Logginglogback日志logback是springboot默认使用的日志,默认级别INFO。比log4j效率更高,且实现了slf4j接口。实际日志都是在运行时binding的具体实现类。默认情况下spring-boot-starter已经包含了logback,

2017-08-24 01:12:21 5922

原创 Redis : Jedis性能测试

目录:目录硬件及操作系统测试方法测试代码测试结果测试报告硬件及操作系统Centos 6.7网路带宽:(127.0.0.1) CPU:4核 内存:32GRedis : 3.2.3Jedis : 2.7.3测试方法可执行jar包在服务器本机进行测试.Redis Server Host 127.0.0.1,开启aof,不开启rdb.测试数据:String类型,数据长度2个字节. 测

2017-08-21 18:54:49 2953 2

原创 WebSocket :记录WebSocket onError错误用法导致的BUG

目录:目录项目背景WebSocket连接流程图bug复现条件 bug现象bug原因解决思路方案项目背景本篇记录WebSocket :用WebSocket实现推送你必须考虑的几个问题 onError错误用法导致的一个bug(同一种client类型只能登陆一个设备,具体代码可以参见 : http://download.csdn.net/download/shangmingtao/99205

2017-08-21 12:40:18 38011

原创 WebSocket :Nginx+WebSocket内部路由策略推送服务器的实现(附可生产环境应用代码)

目录目录项目背景实现思路源码地址可优化的点Nginx配置及说明1.项目背景前几天写了一篇WebSocket推送的博客:WebSocket :用WebSocket实现推送你必须考虑的几个问题 支持的连接数大概几千个,具体数量依赖于tomcat能并发的线程数,但很多时候生产环境应用的话几千个肯定是不行的,所以本问介绍Nginx+WebSocket的实现思路及代码.2.实现思路依照设计模式中的

2017-08-03 19:22:35 6846 10

原创 WebSocket :用WebSocket实现推送你必须考虑的几个问题

目录:目录WebSocket简介项目背景硬件环境及客户端支持本文研究内容基于javaxwebsocket服务端代码源码后续补充git连接客户端代码问题探索如何做到支持几千个client同时在线人数后续1.WebSocket简介WebSocket_百度百科2.项目背景、硬件环境及客户端支持本项目通过WebSocket实现同时在线用户量5k推送服务器(可内网运行)。且可实时查看用户在线状

2017-07-23 06:54:47 125523 27

原创 maven入门:mac IntelliJ IDEA Maven项目package或compile时会从新下载jar解决方案(五)

目录:目录问题描述问题出现原因解决方案备注问题描述昨晚发生一个很奇怪的现象,本来已经在本地工厂中存在的jar在对项目进行package或者compile时这些jar依然会到中央工厂下载(我是在setting.xml中配置了nexus的,所有工厂都会镜像到nexus,包括中央工厂,具体配置请参见我之前写的博客)。问题出现原因:在idea中如果按照如下配置setting.xml文件的位置,那么i

2017-07-18 23:13:51 3029 1

转载 postman中 form-data、x-www-form-urlencoded、raw、binary的区别

1.form-data就是http请求中的multipart/form-data,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开.既可以上传键值对,也可以上传文件.当上传的字段是文件时会有Content-Type来表名文件类型;content-disposition用来说明字段的一些信息; 由于有boundary隔离,所以multipart/form-data既可以上传文件也可以上传键

2017-07-05 17:42:26 9412 1

原创 Spring Boot : 属性配置&Controller注解补充(四)

1.属性配置文件分类属性配置两种文件: .properties和.yml,如我们想要配置tomcat启动时端口和上下文,两种文件配置分别如下: properties : server.port=8081server.context-path=/bootyml : (注意:后边有空格) (推荐使用)server: port: 8082 context-path: /boot大家配置完可以分

2017-07-04 11:29:24 2540

原创 Spring Boot : 全局异常捕捉(三)

在写 Spring Boot : 自动JSON转换和热部署(二) 时本来想把全局异常捕捉加上的,但是不知道为什么测试一直没成功.今天又看了下全局异常捕捉@ControllerAdvice 和 @ExceptionHandler 两个标签. 参考 : Spring3.2新注解@ControllerAdvice , 在spring扫描bean的时候一定要把全局异常捕捉类扫描进来,否则是不成功的.下面是反

2017-06-28 18:34:45 3755

原创 siege压力测试工具安装和介绍

最近公司有个项目需要做一个短轮询类推送服务器(推送服务器分为三种,短轮询,长轮询,长连接),用户量不大,但是为了保险起见还是做一下压力测试.用的工具是siege.1.siege介绍siege介绍 : 百度百科 : siege 输入参数说明: 输入名称 解释说明 -V, –version 打印版本信息 -h, –help 打印帮助信息 -C, –config 显示配置信息

2017-06-28 16:50:29 16373

原创 Spring Boot : 自动JSON转换和热部署(二)

1.Spring Boot 请求传参先举几个简单请求传参的例子,其实和注解式开发很像。package cn.milo.controllor;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.EnableAutoConfiguration;import or

2017-06-27 01:27:04 4552

dubbo简易监控中心

Dubbo监控中心monitor主要是用来计数的,比如某个生产者被访问了多少次,安装方法:http://blog.csdn.net/shangmingtao/article/details/78049479#dubbo%E7%AE%80%E6%98%93%E7%9B%91%E6%8E%A7%E4%B8%AD%E5%BF%83%E5%AE%89%E8%A3%85

2017-09-21

Dubbo工程demo

传统工程改造成Dubbo工程 dubbodemo-parent : 父项目,定义jar包版本号,聚合所有maven项目(module)等. dubbodemo-facede : 定义接口,这个项目是要打成jar包分别被dubbodemo-service和dubbodemo-web引用的 dubbodemo-service : 只做逻辑实现,也就是dubbo中的生产者 dubbodemo-web : 负责页面跳转及渲染,也就是dubbo中的消费者 讲解 : http://blog.csdn.net/shangmingtao/article/details/78017510

2017-09-18

Nginx + Websocket 实现推送

Nginx + Websocket 实现推送 , 实现思路 : http://blog.csdn.net/shangmingtao/article/details/76639821 . 代码可以直接线上运行.

2017-08-03

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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