- 博客(15)
- 资源 (2)
- 收藏
- 关注

原创 分布式锁? 来看下redis怎么做的
重点讲redis 分布式锁,后两种持续更新中。。。锁: 当在单进程系统中,用到多线程时,多个线程改变一个变量,这时候,需要对变量或者代码块进行同步,避免多线程引发的线程不安全问题,即数据不一致。而同步的本质就是加锁,目的是为了实现多个线程同一时刻操作同一代码的时候,只能有一个线程执行任务。 对于单机来讲,可以加关键字 synchronized 或者 v...
2018-11-20 15:25:00
2683

原创 springboot aop 自定义切面编程
springboot aop 自定义切面编程 本文结合springboot,实现切面编程。 @Before 前置通知:在某连接点(JoinPoint)之前执行的通知, 但这个通知不能阻止连接点前的执行。 @After 后通知:当某连接点退出的时候执行的通知 (不论是正常返回还是异常退出)。 @AfterReturning 返回后通知 :在某连接点正常完成后执行的通知...
2018-11-15 18:41:56
659
1
原创 txt,csv文件的读写操作
前言 对于单次大数据量的存储,从mysql中读取或者写入由于耗时及性能问题, 可以选择clickhouse等大数据存储或者 可以以文件形式存入服务器中。而txt,csv文件相对占用内容较小,所以选用这两种方式。txt文件:写文件:public static void writeToTxt(List list, String path, String fileName) { File parent = new File(path); if (p...
2021-04-29 20:44:31
839
原创 mysql 加序号以及成绩单排名的几种实现方式
首先 我们新建一个表,表信息如下:CREATE TABLE `report` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id', `score` int(4) DEFAULT NULL COMMENT '分数', `user_name` varchar(255) DEFAULT NULL COMMENT ...
2018-12-14 12:02:18
2547
原创 设计模式之策略模式
定义: 策略模式定义了一系列算法,并将每一个算法封装起来,而且使他们可以相互替换,让算法独立于使用它的客户而独立变化。结构: 策略接口角色(Strategy):定义所有支持的算法的公共接口 具体策略实现角色(ConcreteStrategy):具体的策略实现 策略上下文角色(StrategyContext):策略上下文负责和具体的策...
2018-12-03 17:34:41
167
原创 深入理解Map之HashMap
map 主要有四个实现类: HashMap、Hashtable、LinkedHashMap、TreeMapLinkedHashMap:有序,按照顺序插入数据,根据Iterator遍历时,先插的先得到。TreeMap:是SortedMap接口的实现类,默认按照键值的升序保存数据,也可以指定排序的比较器,key必须实现Comparable接口或者构造map时传入自定义...
2018-11-28 15:21:46
319
原创 设计模式之单例模式
单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。解决的问题:一个全局使用的类,频繁的创建和销毁。1. 饿汉式单例(立即加载)// 饿汉式单例public class Singleton1 { // 私有构造 private Singleton1() {} private static Singleton1 single = new Si...
2018-11-27 16:22:21
126
原创 过滤器和拦截器的区别
项目中会用到过滤器(Filter)和拦截器(Interceptor)。首先看一下这两者之间的包含关系:如上图所示,二者之间的触发时机不同:执行顺序为: 过滤前-拦截前-action执行-拦截后-过滤后 1. 过滤器:过滤器是JavaEE标准,基于函数回调。主要对客户请求做预处理。过滤器的触发是在请求进入容器后,且请求进入servlet之前进行预处理的。所以请求...
2018-11-27 15:17:24
142
原创 Linux项目部署 部分简单命令
tomcat: 启动 ./startup.sh bin目录下 关闭 ./shutdown.sh bin目录下 查看日志 tail -f catalina.out logs目录下查看服务: ps -ef|grep tomcatredis命令: 启动: ./redis-server ../redis.conf src目录下...
2018-11-22 11:57:41
163
原创 Mybatis 通用Mapper、逆向生成、PageHelper分页插件使用
注意: 本文是在springboot整合mybatis的基础下 进行延伸的。mybatis 集成springboot 就不说了,下面讲一下,由于mybatis的mapper以及 实体类 如果要手写的话,准备工作会很繁杂,由此,介绍一下逆向生成工具。首先,引入对应依赖,在pom文件中,build目录下,plugins下引入一下依赖 <plugin>...
2018-11-21 15:49:04
772
原创 mysql 按(当年,月,周,日) 等日期以及聚合每个月统计数据
本周统计:SELECT * FROM tablename WHERE YEARWEEK(FROM_UNIXTIME(create_time/1000,'%Y-%m-%d')- INTERVAL 1 DAY) = YEARWEEK(now());本月统计:SELECT * FROM tablename WHERE FROM_UNIXTIME(create_time/1000,'%Y...
2018-11-16 12:00:47
4280
原创 springboot 配置拦截器
spring boot 配置拦截器 springboot配置拦截器非常简单,首先新建一个自定义的拦截器类,并实现 HandlerInterceptor接口,重写三个方法;public class MyInterceptor implements HandlerInterceptor { @Autowired private UserService userServ...
2018-11-16 10:27:11
420
原创 Git 在idea中的分支操作
刚来新公司,初来乍到,最怕的就是提交代码失误,把远程的代码给误删误操作了。以前用过Git,但并没有用分支,由于一个项目,可能会有多个人来维护,所以Git 分支来管理代码,每个人在自己的分支上,操作代码,既避免了每次提交都会有冲突,又能更合理清晰的分离。 1. 首先先要下载Git,然后 定义全局变量。git config --global user.name "xxxx"git...
2018-11-15 19:24:02
577
原创 JavaBean 重写tostring方法的用途
当实体类中,没有重写toString()方法, 用rest 格式调接口,传数据结果的时候,并不会有影响。情况一: new一个对象,或者从数据库里查询一个对象,举例子 ,查的是user实体,如果没有tostring方法,System.out.println() 打印的话 ,结果是 com.example.demo.entity.User@817a; 实体类有tostring方...
2018-11-15 18:49:24
1678
maven配置管理
2016-11-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人