自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

鬼谷神奇的博客

天之道,损有余而补不足

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

原创 分布式锁? 来看下redis怎么做的

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

2018-11-20 15:25:00 2651

原创 springboot aop 自定义切面编程

springboot aop 自定义切面编程    本文结合springboot,实现切面编程。  @Before 前置通知:在某连接点(JoinPoint)之前执行的通知, 但这个通知不能阻止连接点前的执行。  @After 后通知:当某连接点退出的时候执行的通知 (不论是正常返回还是异常退出)。  @AfterReturning 返回后通知 :在某连接点正常完成后执行的通知...

2018-11-15 18:41:56 618 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 788

原创 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 2471

原创 设计模式之策略模式

定义:       策略模式定义了一系列算法,并将每一个算法封装起来,而且使他们可以相互替换,让算法独立于使用它的客户而独立变化。结构:      策略接口角色(Strategy):定义所有支持的算法的公共接口      具体策略实现角色(ConcreteStrategy):具体的策略实现      策略上下文角色(StrategyContext):策略上下文负责和具体的策...

2018-12-03 17:34:41 147

原创 深入理解Map之HashMap

map 主要有四个实现类:      HashMap、Hashtable、LinkedHashMap、TreeMapLinkedHashMap:有序,按照顺序插入数据,根据Iterator遍历时,先插的先得到。TreeMap:是SortedMap接口的实现类,默认按照键值的升序保存数据,也可以指定排序的比较器,key必须实现Comparable接口或者构造map时传入自定义...

2018-11-28 15:21:46 289

原创 设计模式之单例模式

单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。解决的问题:一个全局使用的类,频繁的创建和销毁。1.   饿汉式单例(立即加载)// 饿汉式单例public class Singleton1 { // 私有构造 private Singleton1() {} private static Singleton1 single = new Si...

2018-11-27 16:22:21 112

原创 过滤器和拦截器的区别

项目中会用到过滤器(Filter)和拦截器(Interceptor)。首先看一下这两者之间的包含关系:如上图所示,二者之间的触发时机不同:执行顺序为: 过滤前-拦截前-action执行-拦截后-过滤后 1.    过滤器:过滤器是JavaEE标准,基于函数回调。主要对客户请求做预处理。过滤器的触发是在请求进入容器后,且请求进入servlet之前进行预处理的。所以请求...

2018-11-27 15:17:24 122

原创 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 141

原创 Mybatis 通用Mapper、逆向生成、PageHelper分页插件使用

注意: 本文是在springboot整合mybatis的基础下 进行延伸的。mybatis 集成springboot 就不说了,下面讲一下,由于mybatis的mapper以及 实体类 如果要手写的话,准备工作会很繁杂,由此,介绍一下逆向生成工具。首先,引入对应依赖,在pom文件中,build目录下,plugins下引入一下依赖 <plugin>...

2018-11-21 15:49:04 749

原创 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 4228

原创 springboot 配置拦截器

spring boot 配置拦截器 springboot配置拦截器非常简单,首先新建一个自定义的拦截器类,并实现 HandlerInterceptor接口,重写三个方法;public class MyInterceptor implements HandlerInterceptor { @Autowired private UserService userServ...

2018-11-16 10:27:11 401

原创 Git 在idea中的分支操作

刚来新公司,初来乍到,最怕的就是提交代码失误,把远程的代码给误删误操作了。以前用过Git,但并没有用分支,由于一个项目,可能会有多个人来维护,所以Git 分支来管理代码,每个人在自己的分支上,操作代码,既避免了每次提交都会有冲突,又能更合理清晰的分离。    1.  首先先要下载Git,然后 定义全局变量。git config --global user.name "xxxx"git...

2018-11-15 19:24:02 521

原创 JavaBean 重写tostring方法的用途

当实体类中,没有重写toString()方法, 用rest 格式调接口,传数据结果的时候,并不会有影响。情况一:       new一个对象,或者从数据库里查询一个对象,举例子 ,查的是user实体,如果没有tostring方法,System.out.println() 打印的话 ,结果是 com.example.demo.entity.User@817a; 实体类有tostring方...

2018-11-15 18:49:24 1628

原创 Intellij IDEA 配置Jetty多个端口

开发十年,就只剩下这套架构体系了!>>>    ...

2017-02-08 14:13:00 245

redis分布式锁实现类

redis分布式锁的工具类,采用的是Lua代码的方式,保证了Java执行方法的原子性。

2018-11-23

maven配置管理

2016-11-28

空空如也

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

TA关注的人

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