自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 责任链模式详解

责任链模式定义 责任链模式(Chain of Respinsibility Pattern) 是将链中的每一个节点看做一个对象,每个节点处理的请求均不同,且内部自动维护下一个节点 对象。 当一个请求从链式的首端发出时,会沿着链的路径传递给每个节点对象,只至有对象处理这个请求为止。 属于行为模式。 责任链使用场景 1. 多个对象处理 同一请求,但具体由哪个对象处理则在运动时动态决定 2.在不明确指定接受者的情况下...

2021-01-30 12:39:56 327

原创 AOP 拦截 sql语句

1 .定义注解类@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.METHOD})public @interface PrintSql {}2.设置切面@Aspect@Componentpublic class MybatisSqlAop { @Value("${printSql.active}") private Boolean PRINT_SQL_ACTIVE; @Autowir...

2020-07-30 18:05:44 1998 1

原创 处理文件名称乱码

public static String getDownloadFileName(HttpServletRequest request, String fileName) { // 防止文件名中文乱码 String userAgent = request.getHeader("User-Agent"); try { if (userAgent.contains("MSIE") || userAgent.contains("Trid..

2020-06-16 10:10:02 369

原创 AES加密工具

public class AesUtil { public static final String KEY_ALGORITHM = "AES"; public static final String DEFAULT_CIPHER_ALGORITHM = "AES/ECB/PKCS5Padding";//默认的加密算法 //自定义密码 public static final String ASSETS_DEV_PWD_FIELD = "goujiaProblemConfir.

2020-06-14 16:52:57 508

原创 读取远程服务器文件并输出文件

public static void main(String[] args) throws Exception { String path="https://htmlstoretest.oss-cn- hangzhou.aliyuncs.com/acf/test100110010107011301781a9b73-ac34-479b-b793- 2093bc1b94eb.pdf"; URL url = new URL(path); ...

2020-06-14 16:49:59 656

原创 RockeMQ笔记

MQ的技术选型 1.业内常用的MQ有哪些,哪些活跃的比较高 2.每一种MQ各自的表现如何 3.这个些MQ在同等机器条件下,能抗多少QPS(每秒能抗几千QPS,还是几万QPS,QPS:每秒查询率) 4.性能如何(发 一条消息要2ms还是20ms) 5.可靠性能不能得到保障(MQ部署的服务器挂掉怎么办)RocketMQ: 1.开发语言:java开发 2.性能:吞吐量高...

2020-06-14 16:39:30 204

转载 JAVA注解-ElementType详解

java中元注解(用来标识注解的注解)有四个:@Retention @Target @Document @Inherited;  @Retention:注解的保留位置             @Retention(RetentionPolicy.SOURCE)//注解仅存在于源码中,在class字节码文件中不包含    @Retention(RetentionPolicy.CLASS)// 默认的保留策略,注解会在class字节码文件中存在,但运行时无法获得,    @R...

2020-05-26 17:27:15 676

转载 Java8 List集合过滤出符合条件的List元素集合

新增实体类 public class Student { private Integer stuNum; // 学号 private String name; // 姓名 private Integer age; // 年龄 省略set get 或加 @Data }使用Java8中的lambda表达式过滤public class FilterListTest { /** * @Description 创建四个学生对象并设值,保存在list集

2020-05-25 15:28:28 7402

原创 sql 统计记录

SELECT COALESCE(count(*),0) as total , COALESCE(SUM(CASE status WHEN 1 THEN 1 ELSE 0 END),0) one, COALESCE(SUM(CASE status WHEN 2 THEN 1 ELSE 0 END),0) two, COALESCE(SUM(CA...

2020-05-06 11:53:31 252

转载 成年人的21个潜规则

作者:英雄链接:https://zhuanlan.zhihu.com/p/106181239来源:知乎成年人的21个潜规则,必须知道:​1、偶尔联系你的人,不是有事就是借钱。​2、别人给你看手机照片的时候,管住手、别乱翻。​3、有重要和正式的事情一定要打电话通知对方,微信语音和电话不一样。​4、30岁以后朋友的婚礼可以选择性参加,邀请别人时心里应该有数,不会来的就别请,都尴...

2020-04-28 11:15:33 20891

原创 jdk1.8 笔记

// 流Map映射 将元素R映射为T,或者将对象Do转为DTOList<String> list = Arrays.asList("马某人", "测试组", "你猜啊");List<String> newList = list.stream().map(obj -> obj + "我家的").collect(Collectors.toList());Syst...

2020-04-01 16:57:15 184 1

原创 事务不回滚总结

事务失效的主要情况有如下: 1.没有添加事务或者事务@Transactional的拓展配置propagation不正确 2.事务注解所在的类没有被加载成Bean,被Spring进行管理 3.注解方法不为public修饰 4.发生了自调用,一个类中,自己调用自己的方法,没有经过Spring的代理类,默认只有在外部调用事务才会生效解决方法之一是在类中注入自己,用注...

2020-01-09 18:46:45 181

原创 序列化和反序列化

序列化:把存储在内存中的数据,转化为可以传输的数据反序列化: 可以传输的数据,存入内存之中

2019-10-17 23:01:22 96

原创 BIO、NIO、AIO之间的区别以及应用场景

BIO(IO): 同步阻塞IONIO : 同步非阻塞IOAIO : 异步非阻塞IO(事件驱动机制,回调)

2019-10-17 23:01:13 246

原创 Linux下Mycat安装

一、下载Mycat官网下载自己需要的Mycat版本二、解压我这里下载的是Mycat-server-1.6.7.1-release-20190627191042-linux.tar.gz 版本解压文件:Mycat-server-1.6.7.1-release-20190627191042-linux.tar.gz三、启动Mycat,进入bin目录执行命令: ./mycat...

2019-10-08 22:45:40 229

原创 keepalived邮件报警配置

一、配置keepalived自带的邮件配置,实际生产中不适用keepalived自带的邮件功能二、keepalived通过调用shell脚本(1)安装邮件服务器 yum install postfix* (2)修改配置cd /etc/postfix/ 编辑main.cf文件 修改主机名称打开取域名的注释配置网络监听,监听所有邮件目...

2019-10-04 17:11:01 922

原创 keepalived 配置简单详解

global_defs { router_id LVS_MASETR}router_id 只要保证不同就可以vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication {...

2019-10-04 16:18:48 1022

原创 keepAlive搭建高可用master

一、下载Keepalive官网下载keepalive,https://www.keepalived.org/download.html,我这里下载的是1.3.5版本二、将master包上传到 各个master服务器上解压文件:tar -zxvf keepalived-1.3.5.tar.gz进入文件夹 keepalived-1.3.5 , 执行./configure出现如...

2019-10-04 16:01:37 791

原创 主主复制配置

一、复制之前搭好的master,准备两个或两个以上的master二、配置主主复制(1)查看mysql的binlog日志启动状态并启动所有master的binlog日志 登录mysql,执行show variables like '%log_bin';(2)因为是复制的master,需要修改auto.cnf的uuid,确保唯一 cd /var/lib/mysql...

2019-10-03 10:06:27 154

原创 Haproxy简单配置

修改haproxy配置文件,添加balance source配置轮询算法监控页面 listent admin_stats检测数据库是否挂掉:添加Check port 3306绑定ip和端口: 0.0.0.0:8888指定协议: mode http指定路径 stats uri /test_haproxy指定用户名称和密码 stats auth ad...

2019-10-02 23:00:17 88

原创 Haproxy下载与安装 Linux版本

搭建Haproxy步骤一、 创建数据库用户,并赋予权限登录master数据库, 创建用户create user 'test'@'192.168.40.%' identified by 'test'; 从数据也会创建该用户test, 赋予该用户所有的权限:grant all on *.* to 'test'@'192.168.40.%';二、下载安装Haproxy下载...

2019-10-02 21:59:36 3240

原创 配置Mysql主从复制节点

一、环境配置前面博客已经配置好了我们的多个服务器,并且已经安装好了数据库二、创建用户,赋予权限我的master地址是192.168.40.200, slave:192.168.40.201在master中创建用户,并赋予权限create user 'repl'@'192.168.40.%' identified by 'repl';备注:修改设置密码条件set gl...

2019-09-29 18:01:49 612

原创 克隆Linux后修改网络配置

一、记录克隆后,被克隆Linux的MAC 地址 右键虚拟机,选择设置后,选择硬件选项中的网络配置,点击高级选项,弹出框 中,有MAC地址,记录下来。二、 修改网络配置 文件 进入文件vim /ect/sysconfig/network-scripts/ifcfg-eth0 修改HWADDR= 属性,将熟悉值改为我们刚才记录的值三、删除多余配置 文件进入 cd ...

2019-09-29 16:23:30 274

原创 线程按顺序执行

一、使用线程池实现 使用线程池工具Executors.newSingleThreadExecutor(); 获得的是核心线程数量是1,最大线程数也是1,无界阻塞队列,实际不建议使用Executors提供的工具,自己根据实际情况自定义线程池比较好。 实现线程顺序执行,我将线程放到我们定义好的线程池就好,线程池会按照我们提交的顺序执行我们递交的任务。实例代码如下: pub...

2019-09-28 11:57:52 167

原创 java8 Lambda Stream collect Collectors 常用详细实例

public static void main(String[] args) { Activity activityOne = new Activity(1L, "12幢"); Activity activityTwo = new Activity(6L, "13幢"); Activity activityThree = new Acti...

2019-09-23 14:00:11 1274

原创 通过binlog日志恢复数据

1.登录数据库执行一下命令 show master logs; 可以查看二进制日志列表 show master status:查看当前使用的日志文件 2.退出mysql,选择要使用的日志文件进行数据恢复 执行命令: mysqlbinlog mysql-bin.000002 | mysql -uroot -p...

2019-09-18 23:57:12 213

原创 开启MySQL的binlog日志

1.开启binlog日志 进入mysql配置文件,vim /etc/my.cnf添加如下配置 server-id=1 log-bin=/var/lib/mysqld-bin添加完以后重启,mysql,使用命令 show variables like '%log_bin%';可以 查看多出的两个文件Mysql-bin.000001 : 日志文件的数据文件...

2019-09-17 00:07:38 135

原创 Linux 的Mysql中创建用户

1.登录mysql后,创建用户,命令如下:create user 'repl1'@'192.168.40.%' identified by '123456'; repl1:用户名 IP:为网段为40的所有ip 123456:密码 2.给用户分配权限grant replication slave on *.* to 'repl1'@'192.1...

2019-09-15 23:17:33 192

原创 Linux中安装 MySQL Yum Repository

1.官网下载符合自己要求的mysql yum源 地址:https://dev.mysql.com/downloads/repo/yum/ 2.使用工具上传到linux中 3.到文件夹中执行命令,解压文件 命令如下:yum localinstall mysql57-community-release-el6-11.noarch.rpm ...

2019-09-13 14:52:18 387

原创 Linux网络配置

1、先进入 etc/sysconfig/network-scripts 目录 cd /etc/sysconfig/network-scripts 2、编辑网卡文件ifcfg-eth0 vi ifcfg-eth0编辑页面如下; 修改ONBOOT=yes BOOTTRPOTO=static 指定...

2019-09-13 01:12:52 55

原创 并发工具之CycliBarrier

CycliBarrier :栅栏作用: 可以使一组线程在达到同一个屏障之前阻塞,当最后一个线程到达屏障时,屏障打开,这一组线程继续往下执行 构造方法:new CyclicBarries(int parties)parties 线程组的数量,当只有部分线程到达屏障时,该部分线程阻塞,当所有线程都到达屏障时,屏障放行 主要方法: a...

2019-09-12 19:17:41 295

原创 保留两位小数

int diliverNum=3;//举例子的变量 int queryMailNum=9;//举例子的变量// 创建一个数值格式化对象 NumberFormat numberFormat = NumberFormat.getInstance();// 设置精确到小数点后2位 numberFormat.setMaximumFractionD...

2019-09-02 16:42:48 91

原创 并发工具之Semaphore

semaphore:信号量,又可称为限流器,可以控制线程的并发量,初始化的之后指定令牌数。 Semaphore 管理了一系列的许可证,也就是令牌机制。每个线程进来,调用acquire()获得令牌,若无法获得令牌,放到同步队列AQS中并阻塞。如果获得令牌,执行方法后,调用release()释放令牌,其他线程才再次争抢令牌。 拥有的方法如下:acquire() :获...

2019-09-01 22:01:46 118

原创 并发工具之计数器CountDownLoach

CountDownLatch是一个同步计数器 作用:用于协调多个线程之间的同步,让一个线程线程等待其他线程执行完以后再执行。 初始化时,传入一个需要计数的线程等待数。 CountDownLatch总共有两个方法: await(): 阻塞当前线程,当其他线程将计数countDown()为0时,线程开始执行 countDown() : 负责计数器减1例如:...

2019-09-01 16:33:57 732

原创 java-合并单元格导出excel表格

导出具体代码如下: @RequestMapping("/") public String home(HttpServletResponse response) throws IOException { String fileName="hjx08.xls"; HSSFWorkbook workbook = new HSSFWorkbook();...

2019-07-05 16:12:44 201

原创 设计模式之委派模式

委派模式:负任务的调用和分配任务。 和代理模式很像,可以看做是一种特殊静态的代理的全权 代理。代理模式注重过程,委派模式注重结果。 委派模式在spring中应用非常多,dispatherServlet就用到了委派模式,在spring源码中,以delegate结尾,都是使用了委派模式的。BeanDefinitonParseDelegate根据 不同的委派类型,委派不同滴解析逻...

2019-06-23 22:54:18 69

原创 exist和in的区别

这里简单的给自己做个记录: exist和in的区别: select * from a where id in (select id from b) ; select * from a where id exists (select id from b) ; ...

2019-06-17 22:47:00 23562

原创 统计某个进程中各线程的状态数量

top查看linux中所有的进程jstack:查看进程中的线程状态jstack 2702 | grep java.lang.Thread.State | awk '{print $2}' | sort | uniq -c:查看进程2702中线程状态统计如图:...

2019-06-14 12:00:41 1020

原创 Connection is read-only. Queries leading to data modification are not allowed

对数据库操作时,出现: Connectionisread-only.Queriesleadingtodatamodificationarenotallowed 报错, 是因为把事务设置为了只读,改下事务为可写就行了...

2019-05-24 14:26:10 184

原创 JSR-330 'javax.inject.Inject' annotation found and supported for autowiring

Debug启动,项目起不来,出现这种JSR-330 :'javax.inject.Inject' annotation found and supported for autowiring日志,卡主了,最后发现是把断点打在了方法名上了,去掉就好了...

2019-05-24 14:24:18 3485

空空如也

空空如也

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

TA关注的人

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