- 博客(105)
- 资源 (7)
- 收藏
- 关注
转载 setbit实现活跃用户统计
通过《The Little Redis Book》看到有这样一篇博文《REDIS BITMAPS – FAST, EASY, REALTIME METRICS》,这次就不翻译了,已经有其他中文的版本。写这个目的在于一开始没看懂,想把整个详细的思想写出来。先看setbit的使用。https://redis.io/commands/setbit。先说位图,bitmap,根据二进制不同位置的值...
2019-05-29 12:19:56 589
原创 MySQL 远程连接(federated存储引擎)
FEDERATED存储引擎是访问远程数据库中的表,在平时开发中可以用此特性来访问远程库中的参数表之类的,还是非常方便的。使用时直接在本地构建一个federated表来链接远程数据表,配置好之后本地数据库可以直接和远程数据表进行同步,实际上这个数据库并不是真实存放数据,所需要的数据都是存放在远程服务器上。开启federated存储引擎先查看federated存储引擎存储引擎是否启用SH...
2019-05-14 14:31:59 1172
转载 【java证书】JDK自带工具keytool生成ssl证书
JDK自带工具keytool生成ssl证书前言:因为公司项目客户要求使用HTTPS的方式来保证数据的安全,所以木有办法研究了下怎么生成ssl证书来使用https以保证数据安全。百度了不少资料,看到JAVA的JDK自带生成SSL证书的工具:keytool,外加看了同事的心得体会,自己总结了一下具体的使用方法和使用过程中发现的问题及解决办法。1:什么是HTTPS?HTT...
2019-05-09 12:25:42 851
原创 linux安装mysql5.6
使用的系统时centos 71、下载 下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads 下载版本:我这里选择的5.6.33,通用版,linux下64位 也可以直接复制64位的下载地址,通过命令下载:wget http://dev.mysql.com/get/Downloads/MySQL-5....
2019-02-21 11:31:44 4222
转载 String.format和MessageFormat.format的使用
常规类型的格式化String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处。format()方法有两种重载形式。format(String format, Object... args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。format(Locale lo...
2019-02-20 15:06:30 5171
原创 SQL查询对分数进行排名
编写SQL查询以对分数进行排名。 如果两个分数之间存在平局,则两者应具有相同的排名。 请注意,在平局之后,下一个排名数应该是下一个连续的整数值。 换句话说,等级之间不应该存在“漏洞”。+----+-------+| Id | Score |+----+-------+| 1 | 3.50 || 2 | 3.65 || 3 | 4.00 || 4 | 3.85 |...
2019-02-12 14:39:46 6518
转载 redis持久化的几种方式
1、前言Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务 器。Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”...
2019-01-29 17:02:51 183
转载 数据库事务的四大特性以及事务的隔离级别
本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别。 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性:⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。⑵ 一...
2019-01-29 14:36:35 163
转载 Java中的String,StringBuilder,StringBuffer三者的区别
最近在学习Java的时候,遇到了这样一个问题,就是String,StringBuilder以及StringBuffer这三个类之间有什么区别呢,自己从网上搜索了一些资料,有所了解了之后在这里整理一下,便于大家观看,也便于加深自己学习过程中对这些知识点的记忆,如果哪里有误,恳请指正。 这三个类之间的区别主要是在两个方面,即运行速度和线程安全这两方面。首先说运行速度,或者说是执行速度,在这方...
2019-01-02 14:47:11 147
转载 K7与JDK8中HashMap的实现
JDK7中的HashMapHashMap底层维护一个数组,数组中的每一项都是一个Entrytransient Entry<K,V>[] table;我们向 HashMap 中所放置的对象实际上是存储在该数组当中; 而Map中的key,value则以Entry的形式存放在数组中static class Entry<K,V> implements Map....
2018-12-28 17:29:31 200
转载 Java中的hashcode详解
哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率。在Java的Object类中有一个方法:public native int hashCode(); 根据这个方法的声明可知,该方法返回一个int类型的数值,并且是本地方法,因此在Object类中并没有给出具体的实现。 为何Object类需要这样一个方法?它有什么作用呢?今天我们就来具体探讨...
2018-12-28 16:55:45 1085
转载 Java的自动装箱与拆箱(Autoboxing and unboxing)
一、什么是自动装箱拆箱 很简单,下面两句代码就可以看到装箱和拆箱过程1 //自动装箱2 Integer total = 99;3 4 //自定拆箱5 int totalprim = total; 简单一点说,装箱就是自动将基本数据类型转换为包装器类型;拆箱就是自动将包装器类型转换为基本数据类型。下面我们来看看需要装箱拆箱的类型有哪些:这个过程是自动执行的,那...
2018-12-28 16:04:21 207
转载 java常量池详解
理论 jvm虚拟内存分布: 程序计数器是jvm执行程序的流水线,存放一些跳转指令。 本地方法栈是jvm调用操作系统方法所使用的栈。 虚拟机栈是jvm执行java代码所使用的栈。 方法区存放了一些常量、静态变量、类信息等,可以理解成class文件在内存中的存放位置。 虚拟机堆是jvm执行java代码所使用的堆。...
2018-12-28 15:47:17 616
原创 存储过程进行多个表数据的清空
-- 定义存储过程CREATE PROCEDURE init_table()BEGINTRUNCATE TABLE xxx7;TRUNCATE TABLE xxx1;TRUNCATE TABLE xxx5TRUNCATE TABLE xxx4;TRUNCATE TABLE xx3;TRUNCATE TABLE sys_xx2;TRUNCATE TABLE sy...
2018-12-21 11:32:59 1353
转载 Docker一键ZooKeeper伪集群的搭建
详情参考:使用 Docker 一步搞定 ZooKeeper 集群的搭建注:其中docker-compose的使用需要先安装docker-compose,否则不能使用安装步骤如下:下载并安装curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(...
2018-11-08 16:40:08 771 1
原创 docker安装redis及常用命令
一、选择最新版latest输入命令:docker pull redis:latest二、启动容器并设置密码输入命令:docker run --name redis-test -p 6379:6379 -d --restart=always redis:latest redis-server --appendonly yes --requirepass '123456’注:-p 6379...
2018-10-25 17:38:23 7361
转载 FTP的安装部署
LINUX安装 1.1 安装 VSFTPD使用 yum 安装 vsftpd yum install -y vsftpd 1.2 启动 vsftpd安装完成后,启动 FTP 服务: service vsftpd start 启动后,可以看到系统已经监听了 21 端口: netstat -nltp | grep 21此时,访问 ftp:// ...
2018-08-03 14:08:52 15077
原创 IntelliJ IDEA如何生成exe程序
1.首先将项目打包成xx.jar,通过命令窗口,对java -jar xx.jar,保证打好的jar可运行2.下载launch.exe(解压密码是onepoint),神奇的javetoexe.zip并解压。3.创建一个文件夹名称为exceltopic然后将将刚刚生成的jar包和jre目录复制到新建的文件夹中(如果你的项目使用了其他资源的话,都一同复制到文件夹中)4.我们将javalauncher文...
2018-07-07 00:48:43 18708 7
原创 多线程实现Callable数据查询
当在做es查询时,需要通过terms进行查询,terms一次最多可以进行1000个值的查询,如果通过迭代去查询,单线程查询会比较耗时间,因此,采用分批,每一个批次放入一个线程,通过设置固定线程池去进行线程的调用,防止terms太多,分批次多造成线程数过多。经过这样,可以有效的提升查询性能。其他相似场景亦可。定义线程类:/** * @Author: MR LIS * @Desc...
2018-07-04 12:26:03 1393
原创 双重检查锁定与延迟初始化
在java程序中,有时候需要推迟一些高开销的对象初始化操作,并且只有在使用这些对象时才进行初始化。但是正确实现线程安全的延迟初始化需要一些技巧,否则容易出现问题。public class UnsafeLazyInitialization{ private static UnsafeLazyInitialization instance; public static UnsafeLazyIniti...
2018-06-28 18:00:57 273
原创 springMVC同时传参文件和对象时,报异常
在控制层进程参数设置时,需要同时包含文件流和对象时,报异常如下:org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'multipart/form-data;boundary=----WebKitFormBoundaryRAYPKeHKTYSNdzc1;charset=UTF-8' not support...
2018-06-11 11:22:31 3944 5
原创 java 8对Optional的简单使用
java 8新特性出来很久了,最近了解到Optional对判断空有很好的优势,避免代码缺陷 通过Optional.of方法接受一个参数,然后使用ifPresent进行判断,如果不为null,执行后面的代码,为null的话抛出异常 List<String> list = Arrays.asList("John Lennon", "PaulMcCartney", "Georg...
2018-05-29 17:27:50 861
原创 Runtime注入钩子程序
往往在程序运行时,一些运行异常造成服务停止,但是资源为来得及释放,或者无法通知,这样会不友好。通过JDK中的Runtime.getRuntime().addShutdownHook()方法进行资源释放或者发送消息通知 /** * @Author: MR LIS * @Description: * @Date: Create in 17:46 2018/4/20 * @Modi...
2018-04-20 18:07:03 378
原创 sleep和wait 方法的区别
最近学习多线程时了解到sleep和wait的区别,特记录如下sleep 和 wait 方法的区别:1.sleep是Thread的方法,wait是Object的方法2.sleep不会释放锁,wait会释放锁,并且加入到等候队列3.sleep依赖锁,而wait必须定义锁4.sleep不需要唤醒,而wait需要唤醒(通过notify或notifyAll进行唤醒),wait(10)这种除外...
2018-04-20 15:53:44 687
原创 多线程实现强制停止替代过时的stop方法
最近学习汪文君的多线程时,看到一个强制停止线程的课程,觉得很有用就将其改良一下,便于以后备用1.定义一个线程服务: /** * @Author: MR LIS * @Description: 替代Thread.stop()方法的实现,通过main方法传入的task(实际任务),将其设置为守护线程 * @Date: 14:36 2018/4/19 * @return */p...
2018-04-19 14:50:12 2906 1
原创 Spring Boot + Swagger2
首先swagger2的依赖 <!--swagger文档生成工具 --><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>${swagger.
2018-04-19 11:43:22 284
原创 mysql 设置自动创建时间及修改时间
第一种,通过ddl进行定义CREATE TABLE `course` ( `course` varchar(255) DEFAULT NULL, `user` varchar(255) DEFAULT NULL, `score` int(11) DEFAULT NULL, `id` int(11) NOT NULL AUTO_INCREMENT, `create_time` dateti...
2018-03-19 10:17:57 35180 2
原创 mysql格式化时间
-- 当前日期SELECT CURDATE();-- 当前日期的前187天 select DATE_SUB(CURDATE(), INTERVAL 187 DAY);-- 当前日期后的187天 select DATE_ADD(CURDATE(),INTERVAL 187 DAY);-- 当前时间格式SELECT DATE_FORMAT(CURRENT_TIME,'%Y-%c-%d %h:%i:%s...
2018-03-01 18:19:08 3901
转载 websocket Java Programming注解版及配置
1、前言一直没有怎么做过前端的东西,但是最近的项目中,前端人员奇缺,公司又不安排新的人员进入,所以我这个后台开发人员只能拉过来坐前端了,前段的东西感觉一大堆,CSS,js自不必说,HTML生态圈就有很多的技术要去学习,好吧,那就一个一个的学习整理啦,先来说说最近这个项目的前端用到什么技术吧。1、Restful:DropWizard这个很简单,两天基本上就能拿下2、Js Framework :Ang...
2018-02-12 15:36:34 318
原创 POJO与javabean的区别、transient
POJO与javabean的区别POJO 和JavaBean是我们常见的两个关键字,一般容易混淆,POJO全称是Plain Ordinary Java Object / Pure Old Java Object,中文可以翻译成:普通Java类,具有一部分getter/setter方法的那种类就可以称作POJO,但是JavaBean则比 POJO复杂很多, Java Bean 是可复用的组件,对 J...
2018-02-11 11:55:26 339
原创 浏览器查看服务器上的jvm内存进行分析
前提:虚拟机上安装jdk#window查找端口号(8082为端口号)对应的进程号netstat -aon|findstr "8082"#linux上查看端口口对应的进程号netstat -tunlp|grep 8082结果:tcp 0 0 :::8082 :::*
2018-01-25 11:06:18 1139
转载 springboot集成swagger2,构建优雅的Restful API
swagger,中文“拽”的意思。它是一个功能强大的api框架,它的集成非常简单,不仅提供了在线文档的查阅,而且还提供了在线文档的测试。另外swagger很容易构建restful风格的api,简单优雅帅气,正如它的名字。一、引入依赖 dependency> groupId>io.springfoxgroupId> artif
2018-01-23 17:50:49 208
转载 Spring Data Redis提供的几种序列化的比较
* redis虽然提供了对list set hash等数据类型的支持,但是没有提供对POJO对象的支持,底层都是把对象序列化后再以字符串的方式存储的。* Spring data提供了若干个Serializer,主要包括:JdkSerializationRedisSerializer——使用Java自带的序列化机制将对象序列化为一个字符串OxmSerializer——将对象序列化
2018-01-11 11:26:44 759
转载 HttpClient超时设置详解
HttpClient 4.3。HttpClient这货和Lucene一样,每个版本的API都变化很大,这有点让人头疼。就好比创建一个HttpClient对象吧,每一个版本的都不一样,3.X是这样的?1HttpClient httpClient=newDefaultHttpClient();4.3
2017-11-29 14:22:02 149529 7
转载 zk实现分布式锁
前言:2016春节之后一直比较忙,因此博客N个没有更新,现在也是忙里偷闲,偷偷的更新一篇!一、分布式锁介绍 分布式锁主要用于在分布式环境中保护跨进程、跨主机、跨网络的共享资源实现互斥访问,以达到保证数据的一致性。二、架构介绍 在介绍使用Zookeeper实现分布式锁之前,首先看当前的系统架构图
2017-11-28 18:45:43 12434
原创 存储过程mysql批量删除记录
//创建函数CREATE PROCEDURE DATA_SOURCE_DELETE(sourceID varchar(32),certNo varchar(32))BEGINdelete from t_bankcard_info where cust_id = sourceID;delete from t_work_info where cust_id = sourceID;
2017-11-17 16:18:29 4501
原创 拦截器+redis实现指定服务的次数现在及登录拦截
/** * @desc:第三方次数限制拦截 * @Author: * @date:Create on 2017/11/10 14:44 */public class InvokeLimitInterceptor implements HandlerInterceptor { private static final Log log = LogFacto
2017-11-15 15:53:45 1616
原创 springboot通过redis实现分布式锁实现并调用
import org.springframework.data.redis.core.RedisTemplate;public class RedisLock { private RedisTemplate redisTemplate; /** * 重试时间 */ private static final int DEFAU
2017-11-15 15:43:26 1769
转载 RSA加密算法、数字签名和数字证书及其java实现
前段时间遇到过RSA这里把前段时间学到的东西做一些总结:RSARSA是目前为止应用最为广泛的非对称加密算法。非对称加密算法简单的说就是分成公钥和私钥。加密和解密采用不同的算法实现,这样的好处是不需要像传统对称加密算法一样将相同算法的密钥分发给对方,从而减少密钥被获取所带来的严重危害,目前基本上都是采用非对称算法,而RSA是最为广泛的。理论上1024位以上的RSA是无法破解的(或者未
2017-11-07 21:00:30 2261
转载 java生成二维码使用QRCode和ZXing两种方式
网址:http://blog.csdn.net/xiaokui_wingfly/article/details/39476185
2017-11-05 21:53:14 347
省市县镇详细结构数据.sql
2020-02-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人