自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基于redis实现分布式锁

第一种方式:加锁:Setnx命令加锁,并设置锁的有效时间和持有人标识Expir命令设置锁的过期时间、解锁:检查是否持有锁,然后删除锁;Delete命令删除锁在使用redis实现分布式锁的时候,主要就会使用到这三个命令。private StringRedisTemplate stringRedisTemplate;private StringRedisTemplate st...

2019-09-07 16:04:07 180

原创 MySQL实现排名并查询指定用户排名功能

用到user 用户表说明:@rownum := @rownum + 1 中 := 是赋值的作用,这句话的意思是先执行@rownum + 1,然后把值赋给@rownum;(SELECT @rownum := 0) r 这句话的意思是设置rownum字段的初始值为0,即编号从1开始。实现排名:第一步 : SELECT u.UserID as userId,u.NickName, @...

2019-05-27 17:15:13 575

原创 java中的大于大于是什么意思

移位运算符面向的运算对象也是二进制的“位”。可单独用它们处理整数类型(主类型的一种)。左移位运算符(<<)能将运算符左边的运算对象向左移动运算符右侧指定的位数(在低位补0)。“有符号”右移位运算符(>>)则将运算符左边的运算对象向右移动运算符右侧指定的位数。“有符号”右移位运算符使用了<<:是逻辑左移,右边补0,符号位和其他位一样要移动例如: 1<...

2019-05-22 16:37:45 3871 1

转载 高并发系统限流-漏桶算法和令牌桶算法

参考:http://www.cnblogs.com/LBSer/p/4083131.htmlhttps://blog.csdn.net/scorpio3k/article/details/53103239https://www.cnblogs.com/clds/p/5850070.htmlhttp://jinnianshilongnian.iteye.com/blog/2305117ht...

2019-05-18 18:25:16 7971

转载 MySql获取某天是一年的第几周

MySql获取某天是一年的第几周,要求周一为第一天,并且一年多余的天数算到第二年的第一周MySql获取某天是一年的第几周,要求周一为第一天,并且一年多余的天数算到第二年的第一周,比如2012-12-24至2012-12-30为2012年的第53周,2012-12-31为2013年的第一周,(2012年有53周),我测试了week(date,N)各种参数,都不行自问自答,刚刚自己测试成功了SE...

2019-04-08 10:08:49 3909

原创 Java中利用EXCEL进行XXE攻击

Java中常见解析Excel引入的XXE组件复现与分析新建excel文件 修改后缀为.zip在zip文件中,修改[Content_Types].xml,在其中加入XXE验证POC重新修改后缀为 .xlsx结果发现直接通过 SAXReader 来解析xml文档,导致xxe漏洞的产生修复方案是在此处增加了一个SAXHelper类来进行防御处理Apache POI,受影响...

2019-03-31 19:53:28 3418

转载 mysql查询今天、昨天、7天、近30天、本月、上一月 数据

mysql查询今天、昨天、7天、近30天、本月、上一月 数据今天select * from 表名 where to_days(时间字段名) = to_days(now());昨天SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) &lt;= 17天SELECT * FROM 表名 where DATE_SUB(CURDA...

2019-02-20 14:09:11 117

原创 排序算法之堆排序

package com.person.tree;import java.util.Arrays;/** * 大顶堆 ... 堆排序 */public class TreeSort { public static void main(String[] args) { int[] data = {9,6,8,7,0,1,10,4,2}; /*//开始...

2019-01-09 13:48:34 105

原创 java生成PDF(iText)

添加依赖&amp;amp;lt;dependency&amp;amp;gt; &amp;amp;lt;groupId&amp;amp;gt;com.itextpdf&amp;amp;lt;/groupId&amp;amp;gt; &amp;amp;lt;artifactId&amp;amp;gt;itextpdf&amp;amp;lt;/artifactId&amp;amp;gt; &a

2019-01-07 10:39:35 133

转载 【转】中缀表达式转换为后缀表达式

一、后缀表达式求值后缀表达式也叫逆波兰表达式,其求值过程可以用到栈来辅助存储。假定待求值的后缀表达式为:6 5 2 3 + 8 * + 3 + *,则其求值过程如下:1)遍历表达式,遇到的数字首先放入栈中,此时栈如下所示:2)接着读到“+”,则弹出3和2,执行3+2,计算结果等于5,并将5压入到栈中。3)读到8,将其直接放入栈中。4)读到“”,弹出8和5,执行85,并将结果4...

2019-01-05 11:23:52 140

转载 约瑟夫环问题(josephus problem)详解

约瑟夫环问题描述:编号为1,2,3…n的人一词围成一圈,从第k个人开始报数(从1开始),数到m的人退出。接着下一个人又从1开始报数,数到m的人退出,以此类推。问:剩下的人的编号是多少?如:n=6,m=3,k=1原始序列: 1 2 3 4 5 6 ; 从编号1开始报数第一轮数完后的序列为: 1 2 4 5 ; 3、6出列——从编号1开始报数第二轮数完后的序列为: 1 ...

2019-01-04 16:22:04 549

转载 Java SimpleDateFormat中英文时间格式化转换详解

SimpleDateFormat是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -&gt; 文本)、解析(文本 -&gt; 日期)和规范化。SimpleDateFormat使得可以选择任何用户定义的日期-时间格式的模式。但是,仍然建议通过DateFormat中的getTimeInstance、getDateInstance 或 getDateTimeInstanc...

2019-01-03 16:07:24 563

原创 Linux下安装mysql5.7

1、检查系统是否安装了 mariadb 数据库yum list installed | grep mariadb卸载 mariadbyum -y remove mariadb-libs.x86_642、解压tar -zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz -C /usr/local/3、创建数据文件夹datamkdir data...

2019-01-02 17:32:18 186

原创 Linux下安装jdk8步骤详述

0.下载jdk8登录网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html选择对应jdk版本下载。(可在Windows下下载完成后,通过文件夹共享到Linux上)登录Linux,切换到root用户su root 获取root用户权限,当前工作目录不变(需要root密码)...

2019-01-02 16:53:00 106

原创 数据结构之顺序表

要将Li=[200,390,78,12112]存入,32位的机器每个整型占4个字节4Byte=32,Li[0] = 0x32; Li[3]=0x32+3*4Byte线性表的顺序存储是用一组地址连续的存储单元依次存储线性表的数据元素。假设线性表每个数据元素需占用K个存储单元,并以元素所占的第一个存储单元的地址作为数据元素存储地址。则线性表中序号为i的数据元素的存储地址LOC(ai)与序号为i+...

2018-12-23 21:10:18 170

转载 StringBuilder/StringBuffer的insert, append复杂度分析

先来看一个cc150的例子:要串联一组strings合成单个string,可以用一下代码来实现。public String joinWords(String[] words) { String sentence = ""; for (String w : words) { sentence += w; } return sentence;}这里使用string来存储结果,在每个...

2018-12-17 21:39:04 1965

原创 时间复杂度与大O表示法

相同的代码 对于每台机器执行的总时间不同,但是执行的基本运算数量大体相同我们假定计算机执行算法每一个操作的时间都是固定的一个时间单位,那么有多少个基本操作就会花费多少个时间单位。算法对于不同的机器环境而言,确切的说单位时间是不同的,但是对于算法进行多少个基本操作(就是花费多少时间单位)在规模数量级上却是相同的,由此可以忽略机器环境的影响而客观的反应算法的时间效率。算法的时间复杂度*用来度...

2018-12-16 21:54:15 913

原创 枚举算法

核心思想就是:枚举所有的可能也就是尽可能的尝试所有的可能,该算法非常暴力,速度很慢,但是实现简单,得到结果总是正确(牺牲时间)

2018-12-16 19:33:39 197

原创 控制层报空指针

考虑下参数问题:参数Integer时,以后调用的方法都是Integer,当以后调用的方法含有该参数时,使用int,会出现空指针因为:Integer转int时,Integer integer = new Integer(1); int i = integer.intValue();...

2018-12-14 18:37:17 350

空空如也

空空如也

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

TA关注的人

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