- 博客(72)
- 资源 (1)
- 收藏
- 关注
转载 Java Runnable与Callable区别
https://www.cnblogs.com/kaituorensheng/p/9502968.html?utm_source=debugrun&utm_medium=referral#_label0
2019-12-26 11:34:46
302
原创 java 中实体类值转换
public class ConvertModelHelper { /** * 转换模型对象类型 * * @param source 要转换的源对象 * @param clzTarget 转换后的类型 * @param <T> 转换后的类型 * @return 转换后的对象 * @depr...
2019-11-21 17:47:26
1032
原创 Redis 分布式锁实现 高并发抢购的问题
@Servicepublic class RedisServiceImpl implements RedisService { private Logger logger = LoggerFactory.getLogger(RedisServiceImpl.class); /** * redis 配置 */ @Value("redis://${re...
2019-11-21 15:21:36
301
原创 多线程批量处理 list数据;
1: 创建线程池 private static final ExecutorService EXECUTOR_POOL = new ThreadPoolExecutor(CORE_POOL_SIZE, MAX_POOL_SIZE, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<>(BLOCKING_...
2019-11-20 14:42:13
677
原创 分布式定时任务用 redis.lock() 实现
1:实现 redis 加锁lock() 类// 创建 redis 连接 @PostConstruct private void init() { Config config = new Config(); config.useSingleServer().setAddress(redisAddress).setPassword(redisPassword...
2019-11-20 14:40:16
389
原创 线程池 ExecuterService 的用法
public class Test { private static int CORE_POOL_SIZE=4; private static final int MAX_POOL_SIZE = 100; private static final int BLOCKING_QUEUE_SIZE = 10000; private static final Str...
2019-11-18 14:42:10
441
原创 Redis ---AOF持久化的配置和数据恢复
1、AOF持久化的配置AOF持久化,默认是关闭的,默认是打开RDB持久化appendonly yes,可以打开AOF持久化机制,在生产环境里面,一般来说AOF都是要打开的,除非你说随便丢个几分钟的数据也无所谓打开AOF持久化机制之后,redis每次接收到一条写命令,就会写入日志文件中,当然是先写入os cache的,然后每隔一定时间再fsync一下而且即使AOF和RDB都开启了,redis...
2019-03-24 13:31:00
329
原创 Redis ---配置RDB持久化机制和数据恢复实验
1、如何配置RDB持久化机制redis.conf文件,也就是/etc/redis/6379.conf,去配置持久化save 60 1000每隔60s,如果有超过1000个key发生了变更,那么就生成一个新的dump.rdb文件,就是当前redis内存中完整的数据快照,这个操作也被称之为snapshotting,快照也可以手动调用save或者bgsave命令,同步或异步执行rdb快照生成s...
2019-03-24 13:03:10
262
原创 redis数据备份 RDB和AOF两种持久化对比
1、RDB和AOF两种持久化机制的介绍2、RDB持久化机制的优点3、RDB持久化机制的缺点4、AOF持久化机制的优点5、AOF持久化机制的缺点6、RDB和AOF到底该如何选择我们已经知道对于一个企业级的redis架构来说,持久化是不可减少的企业级redis集群架构:海量数据、高并发、高可用持久化主要是做灾难恢复,数据恢复,也可以归类到高可用的一个环节里面去比如你redis整个挂了...
2019-03-24 12:55:56
555
原创 linux系统下安装单机版redis
1、安装单机版redis大家可以自己去官网下载,当然也可以用课程提供的压缩包wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gztar -xzvf tcl8.6.1-src.tar.gzcd /usr/local/tcl8.6.1/unix/./configuremake && make insta...
2019-03-24 12:42:41
172
原创 spring框架中AOP 五种通知类型
前置通知(@Before):logStart:在目标方法(div)运行之前运行后置通知(@After):logEnd:在目标方法(div)运行结束之后运行(无论方法正常结束还是异常结束)返回通知(@AfterReturning):logReturn:在目标方法(div)正常返回之后运行异常通知(@AfterThrowing):logException:在目标方法(div)出现异常以后运行环...
2019-03-11 17:31:54
812
原创 代理模式---动态代理(cglib代理)
Cglib代理上面的静态代理和动态代理模式都是要求目标对象是实现一个接口的目标对象,但是有时候目标对象只是一个单独的对象,并没有实现任何的接口,这个时候就可以使用以目标对象子类的方式类实现代理,这种方法就叫做:Cglib代理Cglib代理,也叫作子类代理,它是在内存中构建一个子类对象从而实现对目标对象功能的扩展.JDK的动态代理有一个限制,就是使用动态代理的对象必须实现一个或多个接口,如果想...
2019-03-10 15:20:12
119
原创 设计模式--代理模式(动态代理)
动态代理有以下特点:1.代理对象,不需要实现接口2.代理对象的生成,是利用JDK的API,动态的在内存中构建代理对象(需要我们指定创建代理对象/目标对象实现的接口的类型)3.动态代理也叫做:JDK代理,接口代理JDK中生成代理对象的API代理类所在包:java.lang.reflect.ProxyJDK实现代理只需要使用newProxyInstance方法,但是该方法需要接收三个参数,...
2019-03-10 15:14:17
106
原创 设计模式--代理模式(静态代理)
代理模式:提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法1.1.静态代理静态代理在使用时,需要定义接口或者父类,被代理对象与代理对象一起实现相同的接口或者是继承相同父类。代码示...
2019-03-10 15:11:42
90
原创 设计模式---单例模式
单例模式:确保一个类最多只有一个实例,并提供一个全局访问点.public class Singleton { private static Singleton uniqeInstance=null; private Singleton(){ }; public static Singleton getInstance() { if(uniqeInstance==n...
2019-03-10 14:32:58
85
原创 Redis五种数据类型使用方法
redis是键值对的数据库,有5中主要数据类型:字符串类型(string),散列类型(hash),列表类型(list),集合类型(set),有序集合类型(zset)几个基本的命令:KEYS * 获得当前数据库的所有键EXISTS key [key …] 判断键是否存在,返回个数,如果key有一样的也是叠加数DEL key [key …] 删除键,返回删除的个数TYPE k...
2019-02-22 10:03:56
215
原创 Java 使用 neo4j-java-driver操作neo4j ---操作步骤
1:使用maven依赖管理, 加入maven驱动包<dependency> <groupId>org.neo4j.driver</groupId> <artifactId>neo4j-java-driver</artifactId> <version>1.2.2</version></dep
2019-02-14 10:16:06
4012
原创 neo4j入门----学习查询CQL语句操作图数据库(三)
1:查找名叫 “Tom Hanks” 的演员…MATCH (tom {name: “Tom Hanks”}) RETURN tom2:查找标题为 “Cloud Atlas” 的电影…MATCH (cloudAtlas {title: “Cloud Atlas”}) RETURN cloudAtlas3:查找 10 个人…MATCH (people:Person) RETURN peopl...
2019-02-14 09:50:43
383
原创 neo4j-入门---学习复杂关系使用CQL语句操作图数据库(二)
1:创建标签CREATE (TheMatrix:Movie {title:‘The Matrix’, released:1999, tagline:‘Welcome to the Real World’})2:创建节点:CREATE (Keanu:Person {name:‘Keanu Reeves’, born:1964})CREATE (Carrie:Person {name:‘Car...
2019-02-14 09:44:40
697
原创 neo4j入门----学习使用CQL语句操作图数据库(一)
1:使用数据:从一个标签为 “Person” 属性 “name” 之值为 “Ann” 的节点, 通过一个类型为 “KNOWS” 的关系, 到一个标签为 “Person” 属性 “name” 之值为 “Dan” 的节点;2:创建(create)创建一个标签为 “Person” 属性 “name” 之值为 “Ann” 的节点. (或创建节点 B)CREATE (n:Person { name:...
2019-02-14 09:32:36
531
原创 拆红包随机算法
package base;/**Created by superVV on 2018/12/13.*/import java.math.BigDecimal;import java.util.ArrayList;import java.util.Collections;import java.util.List;import java.util.Random;public c...
2018-12-13 11:10:31
811
2
转载 Mysql主从配置
mysql主从配置主数据库所在的操作系统:win7主数据库的版本:5.0主数据库的ip地址:192.168.1.111从数据库所在的操作系统:linux从数据的版本:5.0从数据库的ip地址:192.168.1.112 介绍完了环境,就聊聊配置步骤:1、确保主数据库与从数据库一模一样。例如:主数据库里的a的数据库里有b,c,d表,那从数据库里的就应该有一个模子刻出来的a的数据库...
2018-11-21 16:52:57
109
转载 mysql 查询性能慢的SQL
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sunyuhua_keyboard/article/details/81204020mysql慢查询日志是mysql提供的一种日志记录,它是用来记录在mysql中相应时间超过阈值的语句,就是指运行时间超过long_query_time值的sql,会被记录在慢查询日志中。long_query_time...
2018-11-21 11:37:58
437
原创 Mysql 查看执行慢的sql语句
开启慢查询日志mysql> set global slow_query_log=1;定义时间SQL查询的超时时间mysql> set global long_query_time = 0.005;查看慢查询日志的保存路径mysql> show global variables like ‘slow_query_log_file’;查看慢查询cat /var/log/...
2018-11-20 16:40:30
7505
原创 Dubbo框架的搭建----RPC分布式调用
1.准备工作jdk:1.8admin安装包:dubbo-admin-2.5.4.wartomcat8:apache-tomcat-8.0.39zookeeper:3.3.3(部署在linux6.9)ip:192.168.8.128win10下面是我用到工具的分享:链接:https://pan.baidu.com/s/1dFRTXYD 密码:bdk82.首先开启zookeeper服务...
2018-11-09 17:18:36
164
原创 RabbitMQ消息队列代码实现
新建发送者Send.javapackage com.luo.rabbit.test.one;import com.rabbitmq.client.Channel;import com.rabbitmq.client.Connection;import com.rabbitmq.client.ConnectionFactory;public class Send { //队列...
2018-10-12 15:05:39
199
原创 消息队列RabbitMq的五种形式队列(第二讲)
1.点对点的队列功能:一个生产者P发送消息到队列Q,一个消费者C接收生产者实现思路:创建连接工厂ConnectionFactory,设置服务地址127.0.0.1,端口号5672,设置用户名、密码、virtual host,从连接工厂中获取连接connection,使用连接创建通道channel,使用通道channel创建队列queue,使用通道channel向队列中发送消息,关闭通道和连接...
2018-10-12 14:50:14
242
原创 RabbitMQ基础知识(第一讲)
QueueQueue(队列)RabbitMQ的作用是存储消息,队列的特性是先进先出。上图可以清晰地看到Client A和Client B是生产者,生产者生产消息最终被送到RabbitMQ的内部对象Queue中去,而消费者则是从Queue队列中取出数据。生产者Send Message “A”被传送到Queue中,消费者发现消息队列Queue中有订阅的消息,就会将这条消息A读取出来进行一些列的业...
2018-10-12 14:39:57
131
原创 ssm定时任务的实现
一、单独建立一个目录结构用来存放定时任务二、创建task的配置文件 我起的名字是spring-task.xml,并将配置文件在web.xml中进行配置。<servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframewo...
2018-10-08 15:34:59
444
原创 Mysql 数据库批量插入百万级别数据库配置 (show VARIABLES )
问题背景: 最近有一个需求,要执行一个定时任务,多表连接查询后结果要插入到目标表中。如果是少量数据应该没问题,但是考虑到后期的数据量的增加,可能会有十万甚至百万级别的数据同时插入,就不得不考虑效率和数据库承载能力的问题了。实现方式:通过sql 语句,直接在sql 中写业务逻辑。此方式是把业务逻辑写在 SQL (insert into() table select from table2 ...
2018-08-30 09:56:38
1083
原创 json转成类或者集合
public class JsonUtil { private static final Logger logger = LoggerFactory.getLogger(JsonUtil.class); private static ObjectMapper mapper = new ObjectMapper(); static{ //设置序列化配置,...
2018-08-29 17:41:50
556
原创 获取客户端的IP地址
public class IPUtil {private static final Logger logger = Logger.getLogger(IPUtil.class);/** * 获取IP地址 * * @param request * @return */public static String getIP(HttpServletRequest request){ ...
2018-08-29 17:39:12
106
原创 HSSFWorkbook 导出复杂报表通用工具类
通用的工具类:public class ExportExcelUtil{ //显示的导出表的标题 private String title; //导出表的列名 private String[] rowName ; private List<Object[]> dataList = new ArrayList<Object[]&...
2018-08-29 17:37:41
1146
转载 Mysql指定日期区间的提取方法
https://blog.csdn.net/oYeZhou/article/details/81217096 感谢博主。
2018-08-27 11:02:05
1444
原创 SimpleDateFormat 线程安全的问题解析
1,使用Static 关键字容易出现的问题SimpleDateFormat(下面简称sdf)类内部有一个Calendar对象引用,它用来储存和这个sdf相关的日期信息,例如sdf.parse(dateStr), sdf.format(date) 诸如此类的方法参数传入的日期相关String, Date等等, 都是交友Calendar引用来储存的.这样就会导致一个问题,如果你的sdf是个stat...
2018-08-08 14:45:54
162
原创 SpringMVC框架执行流程
1 SpringMVC 概念: Spring Web MVC框架也是一个基于请求驱动的Web框架,并且也使用了前端控制器模式来进行设计,再根据请求映射规则分发给相应的页面控制器(动作/处理器)进行处理。2 处理流程 3 执行流程1、 首先用户发送请求——>DispatcherServlet,前端控制器收到请求后自己不进行处理,而是委托给其他的解析器进行处理,作为统一访问点...
2018-08-07 10:38:07
21859
原创 HTTP 请求协议详解
1.HTTP协议位于 OSI 协议中的 应用层。 2.HTTP 协议是什么: http(HyperText Transfer Protocol),超文本传输协议,是互联网上应用最广泛的一种网络协议,所有www文件都必须遵守的一个标准,是以 ASCII 码传输,建立在 TCP/IP 协议之上的应用层规范。3. HTTP协议请求 http请求报文是指客户端到服务器端的...
2018-08-06 15:02:22
450
原创 Java之FileChannel类的理解和使用 -----java 流NIO的使用
1. FileChannel 使用场景:一个读,写,映射,操作文件的通道。 2 使用的优点 1.在文件的绝对位置的字节读写操作在某种程度上不会影响通道的当前位置。2.文件的区域可能会被直接映射到内存中,对于大文件来说,这比通常的读写方法更有效。3.为了保证数据在系统崩溃之后不丢失数据,文件的修改模式会被强制到底层存储设备。4.字节能从一个文件被转换为一些其他的通道,反之亦然,...
2018-08-06 14:16:25
1506
转载 java中java.io.RandomAccessFile的应用场景及使用实例
应用场景: 1、向10G文件末尾插入指定内容,或者向指定指针位置进行插入或者修改内容。 2、断点续传,使用seek()方法不断的更新下载资源的位置。简介: Java中的RandomAccessFile提供了对文件的读写功能。RandomAccessFile 虽然属于java.io下的类,但它不是InputStream或者OutputStream的子类;它也不同于File...
2018-08-06 11:10:20
150
原创 信道加密:SSL +scoket 加密理论详解
一、 SSL概述SSL协议采用数字证书及数字签名进行双端实体认证,用非对称加密算法进行密钥协商,用对称加密算法将数据加密后进行传输以保证数据的保密性,并且通过计算数字摘要来验证数据在传输过程中是否被篡改和伪造,从而为敏感数据的传输提供了一种安全保障手段。SSL协议提供的服务主要有:1)认证用户和服务器,确保数据发送到正确的客户机和服务器认证用户和服务器的合法性,使它们...
2018-08-03 16:36:33
4705
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人