- 博客(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
147
原创 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
243
原创 策略模式
策略模式,简单来说就是代替if else…实际项目中会多种设计模式混合使用,以达到目的。策略实现类的向上接口:/** * 第三方通道service * @author ethan */public interface AccountMsgService { /** * 获取收款账户信息 * @return void * @author ethan * 2019年2...
2019-02-21 20:46:28
214
原创 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
13639
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
412
转载 使用Guava的RateLimiter限流
转:https://blog.youkuaiyun.com/aa1215018028/article/details/80866335 场景: 1. 在日常生活中,我们肯定收到过不少不少这样的短信,“京东最新优惠卷…”,“天猫送您…”。这种类型的短信是属于推广性质的短信。这种短信一般群发量会到千万级别。然而,要完成这些短信发送,我们是需要调用服务商的接口来完成的。倘若一次发送...
2018-12-12 10:42:37
227
原创 设计模式
1.抽象工厂模式简单工厂模式意义不大,算不上工厂,抽象工厂好处就是新增动物类别,就新创建个factory,也遵循开闭原则,可新增不可修改public interface AnimalFactory { //获得狗的方法 public Dog createDog(); //获得猫的方法 public Cat createCat();}猫的工厂public class CatFa...
2018-12-09 15:33:37
110
原创 限制同一IP一段时间内访问次数
此方式简单粗暴…项目中有个发邮件功能,是网站暴露给用户的一个反馈意见的邮件入口,由于省事未使用redis或漏斗或平滑限流.只是个简单粗暴的限流,根据实际情况使用.private CopyOnWriteArrayList<ConcurrentHashMap<String,Long>> ipList = new CopyOnWriteArrayList<>();...
2018-12-02 11:45:56
7280
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
150
原创 模板语言-Velocity
表现层技术主要有三种:jsp、freemarker、velocityvelocity是较早出现的用于代替jsp的模板语言优点:1、不能编写java代码,可以实现严格的mvc分离2、性能良好,据说比jsp性能还要好些3、使用表达式语言,据说jsp的表达式语言就是学velocity的缺点:1、不是官方标准 2、用户群体和第三方标签库没有jsp多 3、对jsp标签支持不够好详细语法介...
2018-11-18 15:50:35
809
原创 springboot+rabbitmq集成
关于rabbitmq相关的名词定义可查看 https://mp.weixin.qq.com/s/OABseRR0BnbK9svIPyLKXwlinux:搭建rabbitmq 地址:https://blog.youkuaiyun.com/qq_29312259/article/details/83347442开始搭建:pom.xml:<dependency> <...
2018-10-28 15:25:13
255
原创 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
210
原创 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
217
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
185
原创 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
173
原创 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
181
原创 springboot-cache + reds整合
版权声明:本文为博主原创文章,欢迎转载,转载请注明作者、原文超链接maven:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId></dependen...
2018-09-24 14:24:59
207
原创 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
813
1
原创 HikariCP连接池
版权声明:本文为博主原创文章,欢迎转载,转载请注明作者、原文超链接常用连接池:c3p0,dbcp等,近期一个项目引用c3p0出现数据库一直连接失败的问题,故使用了HikariCP,据说是史上最快速的连接池。springboot2.0也是默认集成此连接池.github性能对比截图:application.yml配置 springboot版本2.0.5#数据库配置spring: da...
2018-09-20 13:54:58
1019
1
原创 Lombok的使用
版权声明:本文为博主原创文章,欢迎转载,转载请注明作者、原文超链接Lombok可简化实体类的大部分代码。一.以IDEA为例,安装插件安装,后重启IDEA。二.可用的注解只介绍常用注解:@Getter和@Setter 提供getter setter方法@Data ,以下注解的集合/** * Generates getters for all fields, a useful to...
2018-09-19 18:46:40
254
原创 redis cluter集群搭建+springboot集成
版权声明:本文为博主原创文章,欢迎转载,转载请注明作者、原文超链接Redis Sentinel提供高可用,通过Redis Cluster提供自动分区.记录一下redis 集群搭建及与springboot集成Redis Cluster 将所有数据划分为 16384 的 slots,Cluster默认会对key值使用crc16算法进行hash得到一个整数值,然后用这个整数值对 16384 进行取模...
2018-09-19 12:58:04
705
原创 限流之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
2558
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人