自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 ConcurrentModificationException异常即快速失败和安全失败

查看源码 AbstractList//modCount:list被修改的次数private void checkForComodification() { if (this.modCount != l.modCount) throw new ConcurrentModificationException(); }add,remove都会调用checkForComodification进行比较modCount 什么时候会被修改?查看ArrayLis

2021-10-11 16:14:43 110

原创 binlog恢复数据

记一次误删恢复数据通过binlog日志文件生成时间和误操作删除数据的时间对比,分析出生成到哪个文件中SHOW BINLOG EVENTS IN 'mysql-bin.000542';两种恢复方式;1:通过时间段:/usr/local/mysql/bin/mysqlbinlog --start-datetime='2019-10-11 19:00:00' --stop-datetime...

2019-10-15 11:21:57 212

原创 策略模式

策略模式,简单来说就是代替if else…实际项目中会多种设计模式混合使用,以达到目的。策略实现类的向上接口:/** * 第三方通道service * @author ethan */public interface AccountMsgService { /** * 获取收款账户信息 * @return void * @author ethan * 2019年2...

2019-02-21 20:46:28 190

原创 XXL-JOB 分布式任务调度系统使用及一些小优化

官网博客地址:https://www.cnblogs.com/xuxueli/p/5021979.html 有详细的操作流程和介绍环境要求:JDK:1.7+Servlet/JSP Spec:3.1/2.3Tomcat:8.5.x/Jetty9.2.xSpring-boot:1.5.x/Spring4.xMysql:5.6+Maven:3+项目分为xxl-job-admin(调度中心...

2019-01-24 11:55:04 13319 5

原创 bootstrap + ELK收集日志

安装ELK组件,版本都使用5.4.1一.安装jdk1.8 参考此连接二.安装elasticsearch1.curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.4.1.tar.gz2.tar -xvf elasticsearch-5.4.1.tar.gz3. 创建admin用户,e...

2019-01-22 16:32:18 374

转载 使用Guava的RateLimiter限流

转:https://blog.csdn.net/aa1215018028/article/details/80866335 场景: 1. 在日常生活中,我们肯定收到过不少不少这样的短信,“京东最新优惠卷…”,“天猫送您…”。这种类型的短信是属于推广性质的短信。这种短信一般群发量会到千万级别。然而,要完成这些短信发送,我们是需要调用服务商的接口来完成的。倘若一次发送...

2018-12-12 10:42:37 204

原创 设计模式

1.抽象工厂模式简单工厂模式意义不大,算不上工厂,抽象工厂好处就是新增动物类别,就新创建个factory,也遵循开闭原则,可新增不可修改public interface AnimalFactory { //获得狗的方法 public Dog createDog(); //获得猫的方法 public Cat createCat();}猫的工厂public class CatFa...

2018-12-09 15:33:37 95

原创 限制同一IP一段时间内访问次数

此方式简单粗暴…项目中有个发邮件功能,是网站暴露给用户的一个反馈意见的邮件入口,由于省事未使用redis或漏斗或平滑限流.只是个简单粗暴的限流,根据实际情况使用.private CopyOnWriteArrayList<ConcurrentHashMap<String,Long>> ipList = new CopyOnWriteArrayList<>();...

2018-12-02 11:45:56 7193 2

原创 spring源码 - 准备阶段

1.github上拉取源码地址:https://github.com/spring-projects/spring-framework2.spring是基于gradle构建的,所以本地需安装gradle:地址:http://services.gradle.org/distributions/目前最高版本:5.0,由于我本地有了Gradle 3.4,也就没装最新版本,能构建项目不报错就行了...

2018-11-27 19:23:14 129

原创 模板语言-Velocity

表现层技术主要有三种:jsp、freemarker、velocityvelocity是较早出现的用于代替jsp的模板语言优点:1、不能编写java代码,可以实现严格的mvc分离2、性能良好,据说比jsp性能还要好些3、使用表达式语言,据说jsp的表达式语言就是学velocity的缺点:1、不是官方标准 2、用户群体和第三方标签库没有jsp多 3、对jsp标签支持不够好详细语法介...

2018-11-18 15:50:35 776

原创 springboot+rabbitmq集成

关于rabbitmq相关的名词定义可查看 https://mp.weixin.qq.com/s/OABseRR0BnbK9svIPyLKXwlinux:搭建rabbitmq 地址:https://blog.csdn.net/qq_29312259/article/details/83347442开始搭建:pom.xml:<dependency> <...

2018-10-28 15:25:13 227

原创 linux环境安装rabbitmq

1.配置rabbitmq所需要的yum源su -c 'rpm -Uvh http://download.Fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm'2.安装erlang和rabbitmq(rabbitmq是基于erlang的,需先安装erlang)wget http://www.rabbitmq.com/rel...

2018-10-24 17:22:47 178

原创 mycat学习

1.下载mycat : http://dl.mycat.io/1.6.5/按照jdk : linux安装jdk82.解压tar -zxvf Mycat-server-1.6.5-release-20180122220033-linux.tar.gz3.移动或拷贝mycat文件夹到 /usr/local下mv mycat /usr/local/mycat4.创建组和用户group...

2018-10-14 13:15:14 201 1

原创 linux安装jdk8

1.下载包 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html2.拷贝到目录下(存放的目录根据个人规划)3.解压jdk到当前目录tar -zxvf jdk-8u151-linux-x64.tar.gz4.编辑配置文件,配置环境变量vim /etc/profile添加如下内容...

2018-10-14 10:48:48 166

原创 linux-centos7 安装mysql

1.下载mysql,wget安装或者官网下载 地址:https://www.mysql.com/downloads/ 如图:2.tar -zxvf mysql-5.6.41 解压 重命名为mysql,拷贝到/usr/local/目录下,也可自定义位置,但是/etc/my.conf里的basedir 需指定位置为mysql的文件夹路径3.添加组合用户:groupadd mysql和user...

2018-10-13 19:31:52 156

原创 IOS浏览器Date兼容

版权声明:本文为博主原创文章,欢迎转载,转载请注明作者、原文超链接js中 对日期操作不能出现"-",需转换成"/",再操作//两日期差输出分钟datedifference: function (sDate1, sDate2) { //格式2018-10-11 09:34:57 sDate1 = sDate1.replace(/-/g, "/"); sDate2 = sDa...

2018-10-11 20:15:22 164

原创 springboot-cache + reds整合

版权声明:本文为博主原创文章,欢迎转载,转载请注明作者、原文超链接maven:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId></dependen...

2018-09-24 14:24:59 187

原创 springboot +springsession+redis 做session共享

版权声明:本文为博主原创文章,欢迎转载,转载请注明作者、原文超链接springboot版本 2.0.5.RELEASEmaven: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-r...

2018-09-24 13:03:48 792 1

原创 HikariCP连接池

版权声明:本文为博主原创文章,欢迎转载,转载请注明作者、原文超链接常用连接池:c3p0,dbcp等,近期一个项目引用c3p0出现数据库一直连接失败的问题,故使用了HikariCP,据说是史上最快速的连接池。springboot2.0也是默认集成此连接池.github性能对比截图:application.yml配置 springboot版本2.0.5#数据库配置spring: da...

2018-09-20 13:54:58 994 1

原创 Lombok的使用

版权声明:本文为博主原创文章,欢迎转载,转载请注明作者、原文超链接Lombok可简化实体类的大部分代码。一.以IDEA为例,安装插件安装,后重启IDEA。二.可用的注解只介绍常用注解:@Getter和@Setter 提供getter setter方法@Data ,以下注解的集合/** * Generates getters for all fields, a useful to...

2018-09-19 18:46:40 236

原创 redis cluter集群搭建+springboot集成

版权声明:本文为博主原创文章,欢迎转载,转载请注明作者、原文超链接Redis Sentinel提供高可用,通过Redis Cluster提供自动分区.记录一下redis 集群搭建及与springboot集成Redis Cluster 将所有数据划分为 16384 的 slots,Cluster默认会对key值使用crc16算法进行hash得到一个整数值,然后用这个整数值对 16384 进行取模...

2018-09-19 12:58:04 670

原创 限流之redis-cell

常见的限流算法有:令牌桶、漏桶。现在分享一种非常简单的限流方法,redis开源社区的一个module:redis-cell,地址:https://github.com/brandur/redis-cell。1.下载redis-cell$ git clone https://github.com/brandur/redis-cell.git$ cd redis-cell$ car...

2018-09-17 18:00:45 2531

空空如也

空空如也

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

TA关注的人

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