- 博客(18)
- 收藏
- 关注
原创 Java基础学习笔记
一. 泛型(1) 泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数,这个类型形参将在声明变量、创建对象、调用方法时动态指定。即传入实际的类型参数(也叫传入类型实参)。传入的类型实参的类型必须是引用类型。比如一个求数组最大值的方法,这个方法针对的数据类型可以是任何实现了 Comparable 接口的数据类型, 并且返回值类型就是传入的数据类型,这里返回类型是可变的,就可...
2020-02-08 21:04:18
299
原创 跨域和options请求
前后端分离的项目中,前端和后端单独部署,使用不同的域名,前端代码在浏览器端访问后端的时候就会有跨域问题。之前帮前端调试活动页面的时候,chrome调试工具上总是看到一个请求会重复发两次,后端加了锁,并做了数据校验,所以前端不管怎么搞都不会有问题,也没在意,一直以为是前端代码的问题。后来研究跨域的时候,发现前端发的两个请求中,第一个是 options请求,第二个才是正常的 get/post...
2019-12-08 15:41:22
1729
原创 postman请求参数的格式
postman中 http请求参数常用的格式有三种1. form-data2. x-www-form-urlencoded3. row1. form-data使用form-data格式时, Content-Type 为multipart/form-data; boundary=------WebKitFormBoundaryxapCX9v3I390PUpXbo...
2019-12-01 18:01:32
3444
1
原创 Redis常用配置
1.redis安装wget http://download.redis.io/releases/redis-5.0.3.tar.gztar -xvfredis-5.0.3.tar.gzcdredis-5.0.3/srcmake //编译安装redisvim /etc/profile 末尾追加export PATH=$PATH:[这里写redis-5.0.3的路...
2019-06-28 14:29:29
429
原创 Redis搭建集群
前几周就在学习搭建redis集群,照着网上的教程操作了一波,总是遇到各种各样的问题,很难受,最后还是没有搭建成功,像这种情况,我一般先放一放,等一段时间再来试试,今天又来操作了一波,终于成功搭建起了集群。一.下载安装rediswget http://download.redis.io/releases/redis-5.0.3.tar.gztar -xvf redis-5.0.3.tar...
2019-04-09 21:05:29
216
原创 Spring事务管理报错:Transaction rolled back because it has been marked as rollback-only
之前经常报"Transaction rolled back because it has been marked as rollback-only"这个异常字面意思是"事务回滚了,因为它被标记了必须回滚",最开始完全不懂事务的嵌套,每次出现这个错误都想知道为什么,但是总是不能重现,后面反复折腾终于弄明白了怎么回事。之前不能重现的一个重要原因是:同一个类,内部方法调用不走代理,spring基...
2019-03-31 15:37:01
78884
6
原创 MySQL(三)利用binlog日志恢复数据
1.开启binlog安装了mysql后,binlog默认是关闭的show variables like '%log_bin%'vim /etc/mysql/my.cnf 添加[mysqld]log-bin=mysql-binserver-id=1添加完后重启 sudo service mysql restart重启完成后在 /var/lib/mysql/...
2019-03-24 16:29:04
324
原创 Git(二) merge squash rebase
创建如上图所示的测试环境,创建master_tag和branchA_tag是为了方便反复测试1. mergegit checkout mastergit merge branchA显然 newFile1,newFile2两个文件存在冲突,解决冲突,再次提交后,提交历史如下:git log查看提交记录合并分支后,提交记录是按照时间先后顺序排列的,bran...
2019-03-15 10:51:13
519
原创 MySQL(二)事务隔离级别
创建测试数据SET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table structure for tb_student-- ----------------------------DROP TABLE IF EXISTS `tb_student`;CREATE TABLE `tb_student` ( ...
2019-03-10 13:34:31
233
原创 MySQL(一)共享锁 排它锁 意向锁 记录锁 间隙锁
1.共享锁和排它锁共享锁(shared lock): 又叫读锁,一个事务获取了一行的共享锁后,其它事务可以再获取这一行的共享锁,不能获取这行的排它锁加锁: select * from tb_student where id = 1 lock in share mode释放: commit / rollback排它锁(excusive lock): 又叫写锁,一个...
2019-03-09 14:49:11
1630
原创 动态代理和Spring Aop
1.动态代理在静态代理中,每个被代理的类都需要单独定义一个代理类,当业务庞大时,代理类的代码也会很庞大,造成重复代码很多,不好扩展和维护。相对于静态代理而言,动态代理可以将代理类的代码集中起来,让同一个类的不同方法,不同类的方法汇集在一起,方便对一些业务逻辑进行集中处理。例如:https://www.zhihu.com/question/20794107/answer/75164285...
2019-02-16 19:18:01
192
原创 Git(一)操作总结
cd ~/桌面/ 切到家目录的桌面文件夹下mkdir test_project 创建一个test_project的空文件夹cd test_project 切到test_project目录下git init 将当前目录初始化为一个git仓库ll 查看当前test_project下目录下的文件ll .g...
2019-02-02 22:34:32
340
原创 activiti6.0(二)节点处理人
1. 候选人和处理人候选人:candidateUser 处理人,指派人:assignee一个task可以有多个候选人,但是只能有一个处理人activiti6.0的数据库表结构中 ,identityLink表保存用户和task之间一对多的候选关系。处理人assignee直接是task表中的一个字段通常情况下,系统根据流程的定义,自动为一个task指定候选人。比如...
2019-01-19 17:53:24
3598
原创 activiti6.0(一)环境搭建
现在所在的项目中用到了activiti工作流框架,之前一直在已经搭建好的流程中修修补补,所以没有对它做更深入的了解,不清楚它的原来和具体用法,后面由于工作需要才开始深入学习activiti框架。下面介绍在springboot中搭建activiti6.0环境一 官方案例(一)下载首先需要有一个画模型的地方,eclipse和idea都可以安装activiti画图的插件,我平时工作和学...
2019-01-01 22:47:43
6398
6
原创 mybatis(二) 查询流程
本文在spring和mybatis整合的环境下,使用mapper接口查询,以如下方法为入口探究mybatis整个查询流程Student studentSelect = new Student();studentSelect.setStudentId(new Long(1));List<Student> students = studentMapper.selectWithCo...
2018-12-09 16:09:27
387
原创 mybatis(一) sqlSessionFactory和sqlSession的创建
最近想深入学习一下mybatis,想通过看mybatis的源码,了解mybatis的整个工作流程,熟悉mybatis的各种细节。使用mybatis的方式不同,sqlSessionFactory的创建方法也不同,具体可以看SqlSessionFactoryBuilder的源代码,里面有很多重载的build方法。本文是在SpringBoot环境下,基于mapper接口使用mybatis,在启动项目...
2018-12-08 14:07:45
1651
原创 JavaMail发送邮件
添加maven依赖<dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version></dependency>利用JavaMa
2018-11-17 16:17:07
243
原创 maven多环境配置
在实际开发过程中通常有多个环境,比如本地环境(local),开发环境(dev),测试环境(uat),生产环境(prod)不同环境的配置可能不同,比如数据库的配置,redis,activeMQ的配置,当和其它平台对接的时候,一般不同的环境也有不同的接口。在代码中需要用到这些配置信息,有时候还需要用这些配置信息做逻辑判断,比如系统涉及到支付的时候,开发和测试环境只需要支付0.01即可,走一个支付流...
2018-10-28 17:12:47
474
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人