架构
文章平均质量分 73
yuyivie1
这个作者很懒,什么都没留下…
展开
-
redis setnx 实现分布式锁
import java.util.Map;import java.util.concurrent.ConcurrentHashMap;import org.slf4j.Logger;import org.slf4j.LoggerFactory; /** * @ClassName: DistributedLockHandler.java * @Description: 分布式...转载 2018-08-30 12:32:20 · 894 阅读 · 0 评论 -
redis中的事务、lua脚本和管道的使用场景
redis中的事务并不像mysql中那么完美,只是简单的保证了原子性。redis中提供了四个命令来实现事务,MULTI:类似于mysql中的BEGIN;EXEC:类似于COMMIT;DISCARD类似于ROLLBACK;WATCH则是用于来实现mysql中类似锁的功能。具体的使用方法非常简单,例如:127.0.0.1:6379> multiOK127.0.0.1:6379> ...转载 2018-09-02 14:26:29 · 238 阅读 · 0 评论 -
redis学习笔记之十六:Redis和Spring集成
n 构建开发环境,在Maven中添加spring-data-redis支持的jedis版本目前只是到了2.7.0,所以要修改一下前面的配置,然后添加:<dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis&l...原创 2018-09-02 15:51:51 · 180 阅读 · 0 评论 -
redis学习笔记之十七:Redis的Java客户端
n Redis官方推荐的Java客户端是jedis网址:https://github.com/xetorthio/jedisn 构建开发环境,在Maven中添加<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><versio...原创 2018-09-05 11:12:18 · 145 阅读 · 0 评论 -
JVM学习笔记4:类的加载、连接、初始化。
一:加载、连接、初始化加载:查找并加载类文件的二进制数据 类的加载要完成: (1)通过类的全限定名来获取该类的二进制字节流 (2)把二进制字节流转化为方法区的运行时数据结构 (3)在堆上创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。 类加载的最终产物就是在堆中的class对象;Class对...原创 2018-11-13 22:53:39 · 245 阅读 · 0 评论 -
JVM学习笔记5:内存分配
一:jvm的内存简化架构 二:运行时数据区 Java虚拟机定义了若干种程序运行期间会使用到的运行时数据区,其中有一些会随着虚拟机启动而创建,随着虚拟机的退出而销毁。另外一些则是与线程一一对应的,这些与线程对应的数据区域会随着线程的开始和结束而创建和销毁。其分为pc寄存器(程序计数器)、java虚拟机栈、Java堆、方法区、运行常量池、本地方法栈 PC(Program C...原创 2018-11-15 18:03:57 · 139 阅读 · 0 评论 -
JVM学习笔记3:字节码操纵框架ASM
一:ASM概述 ASM是一个Java字节码操纵框架,它能被用来动态生成类或者增强既有类的功能。ASM可以直接产生二进制class文件,也可以在类被加载入Java虚拟机之前动态改变类行为,ASM从类文件中读入信息后,能够改变类行为,分析类信息,甚至能够根据用户要求生成新类。目前许多框架如cglib、Hibernate、Spring都直接或间接地使用ASM操作字节码。二:AS...原创 2018-11-12 23:38:54 · 1180 阅读 · 0 评论 -
JVM学习笔记6:字节码执行引擎
一 概述 JVM的字节码执行引擎,功能基本就是输入字节码文件,然后对字节码进行解析并处理,最后输出执行的结果。其实现方式可能有通过解释器直接解释执行,或者是通过即时编译器产生本地代码,也就是编译执行,当然也可能两者皆有。1:解释运行 以解释方式运行字节码解释执行的意思是:读一句执行一句2:编译运行(JIT) 将字节码编译成机器码直接执行机器码运行...原创 2018-11-20 19:41:18 · 178 阅读 · 0 评论 -
数据权限管理中心 - 基于mybatis拦截器实现
https://my.oschina.net/gmarshal/blog/1797026https://gitee.com/gmarshal/foruo-sc-permission转载 2019-07-27 02:33:52 · 385 阅读 · 0 评论 -
redis bitmap 位操作。
Redis从2.2.0版本开始新增了setbit,getbit,bitcount等几个bitmap相关命令。虽然是新命令,但是并没有新增新的数据类型。redis 通过对bitmap 来实现对二进制bit位的操作,用来记录一些状态信息。其中一个字节占8个bit位。用bit位中的二进制的0 和1 各表示一个状态,以达到记录某些状态信息。因为所有的状态都是记录基于二进制的bit位。所以大大的节省了这些状...原创 2018-08-31 16:49:03 · 3501 阅读 · 3 评论 -
redis学习笔记之十五:Redis的优化
n 使用管道(Pipeline)Redis的底层通讯协议对管道提供了支持,通过管道,可以一次性发送多条命令给Redis,在执行完后一次性将结果取回。使用管道,可以减少客户端和Redis的通信次数,降低网络延时,从而提供性能。Redis的管道功能在命令行中没有,但Redis是支持管道的,而且在各个语言版的client中都有相应的实现。n 精简键名和键值n 合理设计存储的数据结构和数据关...原创 2018-08-23 22:53:44 · 355 阅读 · 0 评论 -
POI 通用导出Excel(.xls,.xlsx)
https://blog.csdn.net/houxuehan/article/details/50960259原创 2018-04-10 15:36:33 · 209 阅读 · 0 评论 -
JedisUtils
redis操作。package com.ane.service.common.impl;import java.util.ArrayList;import java.util.HashMap;import java.util.HashSet;import java.util.Iterator;import java.util.List;import java.util.Map;im...原创 2018-04-16 23:38:27 · 435 阅读 · 0 评论 -
JSONPATH处理json
本文主要记录 PredicateContext 和 Filter的用法 其中 PredicateContext 是用来删除替换。 Filter是用来过滤,具体用法参考文中代码入门请参照:http://www.ibloger.net/article/2329.html项目中有一串json如下{ "msg":"success", "paginationFlrs":"[[2141,2142...原创 2018-04-11 17:52:22 · 1779 阅读 · 1 评论 -
HttpClient重试机制 --- 自定义HttpRequestRetryHandler(自定义 重试次数以及重试的时候业务处理)
通过http做接口调用请求的时候,常常会因为网络抖动或者其他未知原因,造成接口在某个瞬间访问不了。此时需要增加重试机制。刚出来的时候掉接口需要三次重试,由于对httpclient不是很了解。只能在for循环里面对异常经常处理并重新调接口。后来做http服务端的时候,有次debug偶然发现客户端调一次请求,服务端会跳多次debug,后来查阅资料发现httpclient有重试机...原创 2018-04-18 21:12:39 · 16149 阅读 · 4 评论 -
Mybatis mysql保存之后返回自增长的id
<insert id="insertSubtitleLinks" useGeneratedKeys="true" parameterType="java.util.List"> <selectKey resultType="long" keyProperty="id" order="AFTER"> SE原创 2018-04-30 11:41:04 · 1072 阅读 · 0 评论 -
JMeter压测步骤记录
1.创建线程组。2.给线程组创建请求(这里是http请求)。3.创建.dat文件内容如图; 4.配置CSV Data Set Config5.配置CSV Date Set Config6.修改请求中的参数。(需要特别注意接口参数类型。不然调不通)7.添加查看结果树查看结果8添加响应断言 和聚合报告。 10.完成的流程。...原创 2018-08-17 18:11:39 · 1405 阅读 · 0 评论 -
redis学习笔记之十四:Redis的管理
n 常用的管理命令运行期间修改redis配置(config set)1:slowlog get:获取慢日志,可以通过配置文件的slowlog-log-slower-than来设置时间限制,默认是10000微秒,slowlog-max-len来限制记录条数。返回的记录包含四个部分:(1)日志的id(2)该命令执行的unix时间(3)该命令消耗的时间,单位微秒(4)命令和参数2...原创 2018-08-23 22:22:18 · 113 阅读 · 0 评论 -
自定义注解&Spring AOP实现日志组件(可重用)
https://www.jianshu.com/p/2cd7d31265f3原创 2018-04-10 15:35:48 · 138 阅读 · 0 评论