码云

没事喜欢做点小研究

记一次jmeter压测的坑

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

2018-06-10 22:34:28

阅读数 3040

评论数 0

一个分布式事务解决方案

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

2018-06-02 18:35:36

阅读数 246

评论数 0

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

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

2018-05-11 23:22:41

阅读数 82

评论数 0

java 多环境配置的两种实现

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

2018-03-29 09:39:20

阅读数 769

评论数 0

特性开关之开关策略

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

2018-03-10 17:56:40

阅读数 665

评论数 0

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

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

2018-03-10 17:50:03

阅读数 1149

评论数 2

特性开关应用场景调研

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

2018-03-10 17:35:26

阅读数 318

评论数 0

特性开关之策略模式

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

2018-03-09 18:05:08

阅读数 283

评论数 1

Mycat总结

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

2017-09-29 23:02:15

阅读数 1187

评论数 0

IDEA屏蔽不合理的提示警告

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

2017-06-15 22:49:50

阅读数 11613

评论数 0

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

阅读数 586

评论数 0

python mysql CRUD

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

2017-02-17 14:52:38

阅读数 377

评论数 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

阅读数 2226

评论数 0

为知笔记MarkDown使用总结.md

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

2017-02-09 15:13:15

阅读数 2960

评论数 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

阅读数 189

评论数 0

关于Java中替换\的问题

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

2017-01-20 18:59:46

阅读数 764

评论数 0

Java实现分段视频合并

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

2017-01-20 15:49:55

阅读数 4977

评论数 1

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

阅读数 555

评论数 0

windows 下 mysql 乱码

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

2017-01-07 13:30:17

阅读数 126

评论数 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

阅读数 133

评论数 0

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