自定义博客皮肤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-09-30 22:11:30 61 0

原创 spring cloud 微服务架构学习笔记

什么是微服务架构 “微服务”一词源于Martin Fowler的名为Microservices的博文。简单地说,微服务是系统架构上的一种设计风格,它的主旨是将一个原本独立的系统拆分成许多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间通过RPC/RESTFul API进行通信协作。 ...

2019-09-21 16:48:29 48 0

原创 Netty线程模型总结

netty是一个异步的,事件驱动的基于NIO的高性能的网络应用程序框架,下面主要看看netty的线程模型. Netty线程模型 netty的线程模型是基于reactor模式的一种实现 如果服务只需要绑定一个端口(比如8888),那么boss线程只需要一个线程,如果有多个才需要多个线程,一...

2019-09-18 17:58:26 97 0

原创 记一次jmeter压测的坑

最近做了一个安全传输方案,因为怕对性能有较大影响,因此测试安排了针对性的压测压测的过程出现了一点小问题发现失败率特别高,测试怀疑是服务端出了错,但是我查看日志发现没有报错。后面我观察TCP链接数排除了服务端的嫌疑我发现跑着跑着,tcp链接数就突然就降低下来,也就是这个时候jmeter显示的错误率急...

2018-06-10 22:34:28 10954 0

原创 一个分布式事务解决方案

分布式系统中,只要涉及到跨服务调用并且服务各自用自己的数据源,就会存在数据不一致问题.通常来说要保证强一致性代价太大,绝大部分场景也不需要,根据BASE法则,我们保证最终一致性就好了,下面设计的方案就是一个保证最终一致性的方案.架构及原理 实现最终一致性本质上是通过重试确保的,因此业务一定要保证逻...

2018-06-02 18:35:36 390 0

原创 关于Java泛型你应该知道的二三事

Java编程中无处不在的泛型!既然避不开,那最好多了解点。泛型是什么?“泛型” 这个术语的意思是 “使用许多许多的类型”使用泛型的好处?1、写出更通用的代码2、写出更安全的代码3、写出更简洁的代码泛型接口/类泛型方法使用边界实现具体方法调用协变与逆变协变逆变PECS原则java泛型的缺陷泛型代码内...

2018-05-11 23:22:41 208 0

原创 java 多环境配置的两种实现

使用maven的filter<filters>    <filter>src/main/filters/filter-${env}.properties</filter>    </filters...

2018-03-29 09:39:20 2101 0

原创 特性开关之开关策略

特性开关有时只是简简单单的通过配置true or false来决定开或关,而有时要根据某种策略来决定开或关。对于开关策略,特性开关框架一般会提供不少默认的策略给我们用,但有时我们也会遇到框架没有提供而我们又想要的,这时则需要我们自定义。掌握特性开关框架默认提供的开关策略及如何自定义开关策略都很重要...

2018-03-10 17:56:40 1655 0

原创 特性开关框架选型之FF4J vs Togglz

目前发现两个主要的开源的Java特性开关框架,togglz 和 ff4j。但是两个框架都优秀,都能达到开关切换等主要目的。选哪个?togglz vs ff4j比较项togglzff4j补充说明特性开关Togglz的开关需要定义在枚举中,ff4j不需要,通过一个字符串名就可以了特性分组togglz的...

2018-03-10 17:50:03 2681 2

原创 特性开关应用场景调研

金丝雀发布XXX项目的金丝雀发布2017年下半年《XXX》项目新版本上线多次出现意料之外的问题,原因是测试环境环境和线上环境终究有差别,测试环境测试没问题,但并不能保证生产环境没问题。当时的解决方案是申请一台服务器,将其部署的跟生产环境一样,用相同的配置中心,相同的数据库…..,然后在路由层,针对...

2018-03-10 17:35:26 705 0

原创 特性开关之策略模式

响应领导号召,我开始研究特性开关。发现在实现特性开关的方式上大有文章。使用不当会引入一些问题,而使用得到则可大大减少问题。实现特性切换很简单,使用if…else方式实现特性切换很简单嘛!就if….else …嘛,比如下面这个真的就这么简单吗?if…else…方式存在的问题其实真的就这么简单,使用i...

2018-03-09 18:05:08 582 1

原创 Mycat总结

mycat简介基于阿里开源的Cobar产品而研发,Cobar的稳定性、可靠性、优秀的架构和性能以及众多成熟的使用案例使得MYCAT一开始就拥有一个很好的起点,站在巨人的肩膀上,我们能看到更远。业界优秀的开源项目和创新思路被广泛融入到MYCAT的基因中,使得MYCAT在很多方面都领先于目前其他一些同...

2017-09-29 23:02:15 1371 0

原创 IDEA屏蔽不合理的提示警告

IDEA的提示警告通常会有不错的建议,但也有几处坑爹的,一个是public 类和方法常警告要改成包级私有的,但你的确需要public。 还有一个是你对方法做了单元测试,调用时传入了一个常量,然后IDEA就会警告提示你干掉这个参数,直接用常量,这明显不对。 解决的办法是修改IDEA的检查配置 ...

2017-06-15 22:49:50 20688 2

原创 CPU 100% 问题定位

1.先用top定位最耗cpu的java进程 例如: 12430 2.然后用top -p 12430 -H 定位到最耗cpu的线程 的ID 例如:12483 3.把第二步定位的线程ID ,转成16进制,printf "%x\n" 12483  得到 :30c3...

2017-04-12 11:57:40 1233 0

原创 python mysql CRUD

#coding:utf-8 import MySQLdb import json #连接 conn= MySQLdb.connect( host='localhost', port = 3306, user='root&...

2017-02-17 14:52:38 451 0

原创 python自动将数据库表结构转换成markdown文档

背景需要一份数据库表的字典,方便查看,而表有100多张,手动写就太悲剧了,于是我写了一段脚本将所有表自动转换成一个mardown文档效果图#代码#coding:utf-8 import os import re for parent,dirs,files in os.walk("D:\D...

2017-02-11 00:21:10 3638 0

原创 为知笔记MarkDown使用总结.md

[TOC]#####MarkDown用法######目录在文档第一行使用>[TOC]######标题 1. 一级标题# 2. 二级标题## 3. 三级标题### 4. 四级标题#### 5. 五级标题##### 6. 六级标题###### ######列表 1....

2017-02-09 15:13:15 5074 0

原创 Python 遍历目录 按类型大小过滤文件 删除空目录

#coding:utf-8 import os Const_Image_Format = [".jpg",".jpeg",".bmp",".png"] for parent,dirs,files in os.walk(...

2017-02-08 11:30:00 408 0

原创 关于Java中替换\的问题

title.replaceAll("\\\\", "") 上面这句代码可以把反斜杠替换成空,问题在于为什么要写成 \\\\,为什么不是\  或  \\  原理1:replaceAll的第一个参数是正则表达式,正则里\是一个转义符号,要表示\本身需要在加...

2017-01-20 18:59:46 1142 0

原创 Java实现分段视频合并

原理很简单就是把多个视频文件的内容按顺序写到一个视频文件中 代码如下: public static void union(String dirPath, String toFilePath) { File dir = new File(dirPath); if (!di...

2017-01-20 15:49:55 7526 2

原创 Java抓取网页上的unicode 数据 "\u5751\u7239\u7889\u5821" 怎么变成中文

背景冲突 需要抓取视频的标题,发现接口返回的是unicode ,如 "\u5751\u7239\u7889\u5821",而我需要的是中文 解决方法: String g1 = matcher.group(1); String title = U...

2017-01-11 16:48:28 785 0

原创 windows 下 mysql 乱码

背景冲突 将项目和数据库从macos上迁移到windows 上,发现查询功能有问题,又发现插入的数据变成乱码,便知都是由于数据库编码问题导致的 解决方法 将数据库编码改成utf-8, 找到 my-default.ini 文件,如我电脑上的地址 D:\mysql-5.7.16-winx...

2017-01-07 13:30:17 153 0

原创 mybatis-config.xml

xml version="1.0" encoding="UTF-8" ?> configuration PUBLIC "-//mapper.org//DTD Config 3.0//EN" "http://...

2017-01-07 09:26:03 169 0

原创 logback.xml

xml version="1.0" encoding="UTF-8" ?> name="stdout" class="ch.qos.logback.core.ConsoleAppender"> ...

2017-01-07 09:22:12 161 0

原创 正则特殊字符

\ 转义符 ^ 配置开始位置 [^xyz]在这里^表示非的意思 $匹配结尾的位置 * 匹配0次或多次等同于{0,n} +匹配1次或多次等同于{1,n}?匹配0次或多次等同于{0,1} . 表示任意字符 \.表示点号本身  java中\\.表示点号...

2016-12-30 16:20:41 255 0

原创 shell编程笔记

计算 echo `expr 123 + 456`   变量 a=1 b=2 echo `expr $a + $b` 双引号,单引号,反引号的区别 a=1 echo "$a"  输出 1 echo '$a'    输出$a...

2016-12-23 15:41:56 197 0

原创 jvm 查看异常代码

1、top           //查看占用cpu最高的PID 2、ps -mp $PID -o THREAD,tid,time | sort -rn    //获取排前面的线程TID 3、printf "%x\n" $TID        ...

2016-12-23 15:33:41 394 0

原创 mybatis生成动态sql的常用标签

用mybatis 一个很爽的地方就是可以实现动态sql,构建动态sql我们需要了解一些标签 1. 判断 2 添加 where,如果where 后面紧跟“AND”  或者 “OR” 则 剔除掉 3. 添加set,如果有多余的逗号则剔除掉 4. 更灵活的去除多余内容,可以实现...

2016-09-21 17:19:38 756 0

原创 iftop笔记

安装 Debian/Ubuntu系统为“apt-get install iftop” CentOS系统为“yum install iftop -y” 命令 iftop :打开iftop q : 退出iftop  界面说明: "",表示...

2016-08-12 14:22:45 458 0

原创 nginx 笔记

检查配置 /home/nginx/sbin/nginx -t -c /home/nginx/conf/nginx.conf 启动 /home/nginx/sbin/nginx 重启 /home/nginx/sbin/nginx -s reload 关闭 p...

2016-08-11 17:33:02 237 0

原创 UnsatisfiedLinkError问题

记录一个UnsatisfiedLinkError问题 现象:java 调用一个so文件的native方法 出现UnsatisfiedLinkError错误 原因:so里的文件头的命名空间和java里触发调用的那个类的命名空间不一样 答案:将那个类的命名空间改成和so里文件头命名空...

2016-08-10 18:47:21 492 0

原创 H5 FormData中文乱码问题

1.问题 今天和前端H5联调,遇上了中文乱码问题。 2.分析过程 服务端已经用了过滤器统一转码为utf-8,于是怀疑是H5 用 ajax 提交 formdata有问题,网上查都是要 设置content-type 为utf-8,但是 H5那边 只要设置content-type就不能跨域,由于时...

2016-08-04 16:26:30 5973 0

原创 模版引擎之Velocity

Velocity是一种Java模版引擎技术 一.使用场景 1.mvc中用来做 view层,实现html代码与java逻辑代码分离 2.用来开发各种生成工具,例如,根据数据库表,生成java实体类。 二.语法 所有关键字...

2016-07-14 15:23:32 325 0

原创 ERROR! The server quit without updating PID file (/usr/local/var/mysql/chenyuntekiMacBook-Air.local.

在Mac上通过brew install mysql 安装了完mysql 执行mysql.server start 报错:ERROR! The server quit without updating PID file (/usr/local/var/mysql/chenyuntekiM...

2016-04-04 23:10:16 3894 0

原创 SQL笔记

1.My SQL:,随机查询20条 select * from 表名 order by rand() limit 20 2.时间间隔判断 select * from video_info where UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(upload_tim...

2016-04-02 10:26:48 260 0

原创 IDEA快捷键 for Mac

al+fn+f7查找在哪里使用 相当于eclipse的ctrl+shift+G command+alt+fn+f7 这个是查找选中的字符在工程中出现的地方,可以不是方法变量类等,这个和上面的有区别的 command+fn+F7可以查询当前元素在当前文件中的引用,然后按F3可以选择 ,功能基本同...

2016-03-30 23:24:12 235 0

原创 jave获取视频时长

JAVE(Java音频视频编码器)是ffmpeg项目的Java包装程序。 下载地址 http://www.sauronsoftware.it/projects/jave/index.php 下载完后将jar导入项目 例: MultipartHttpServletR...

2016-03-25 10:31:43 1323 0

原创 MQ笔记

消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过队列来通信...

2016-03-20 17:45:37 523 0

原创 Jetty入门

Jetty 可以理解为一个嵌入式的Web服务器,由纯Java语言实现 Jetty 优点 1.启动速度快 2.轻量级 Jetty对于普通的HTTP服务(没有servlet)只需要350k的内 存,这使得可以将其用在智能设备中。 3.易嵌入性 它真正出名是因为它是作为一个可以嵌入到其...

2016-03-13 22:01:13 759 0

原创 tomcat war包解压规则

启动的时候 如果xx.war 不存在 xx文件夹,就会触发xx.war的解压 启动的时候 如果存在xx文件夹,即便 xx.war更新了也不会触发解压 所以更新war包,需要删除xx文件夹,重启才会更新最新代码

2016-03-12 21:57:19 3558 1

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