- 博客(17)
- 收藏
- 关注
原创 通过自定义注解控制权限
1、编写自定义注解类/** * 自定义Access注解 * 若使用在类上,这个类的所有方法都进行权限校验,暂不支持 * 若使用在方法上,这个方法进行权限校验 */@Target({ElementType.METHOD, ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interf...
2019-04-10 10:55:05 824
原创 封装一套RabbitMQ通用发送和接收类
一、发送消息类/** * 消息发送封装类 * * 需要发送消息的模块注入这个类就可以实现消息发送,推荐使用直接发送Bean的方式发送mq消息 */@Component@EnableAsyncpublic class RabbitMqMessageSender { private static Logger logger = LoggerFactory.getLog...
2019-03-02 14:48:51 4669 3
原创 java后台生成微信中用的分享图片
案例: 底图: 色值转换工具:http://www.atool.org/colorpicker.php代码:public interface ActivityShareImageServise { /**生成活动分享图*/ String generateActivityShareImage(Activity...
2018-12-28 20:05:23 2867 8
原创 ThreadPoolExecutor
简单来说使用线程池有以下几个目的:线程是稀缺资源,不能频繁的创建。 解耦作用;线程的创建于执行完全分开,方便维护。 应当将其放入一个池子中,可以给其他任务进行复用。一.Java中的ThreadPoolExecutor类 java.uitl.concurrent.ThreadPoolExecutor类是线程池中最核心的一个类,因此如果要透彻地了解Java中的线程池,必须先了解这个类。...
2018-12-12 10:53:10 171
原创 Fork/Join框架
1. 什么是Fork/Join框架Fork/Join框架是Java7提供了的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。我们再通过Fork和Join这两个单词来理解下Fork/Join框架,Fork就是把一个大任务切分为若干子任务并行的执行,Join就是合并这些子任务的执行结果,最后得到这个大任务的结果。比如计算1+2+。。...
2018-12-11 19:48:06 129
转载 AbstractQueuedSynchronizer的介绍和原理分析
简介提供了一个基于FIFO队列,可以用于构建锁或者其他相关同步装置的基础框架。该同步器(以下简称同步器)利用了一个int来表示状态,期望它能够成为实现大部分同步需求的基础。使用的方法是继承,子类通过继承同步器并需要实现它的方法来管理其状态,管理的方式就是通过类似acquire和release的方式来操纵状态。然而多线程环境中对状态的操纵必须确保原子性,因此子类对于状态的把握,需要使用这个同步器...
2018-12-03 16:03:02 93
原创 本地guava cache缓存
@Componentpublic class AppInitializingBean implements InitializingBean { static Logger logger = LoggerFactory.getLogger(AppInitializingBean.class); @Value("${deploy.env}") private String e...
2018-09-21 16:31:57 197
原创 MyBatis 分页插件 PageHelper
1、依赖<!--通用分页插件--><dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.1.1&
2018-08-03 16:46:59 316
原创 jetcache
jetcache简介JetCache是一个基于Java的缓存系统封装,提供统一的API和注解来简化缓存的使用。 JetCache提供了比SpringCache更加强大的注解,可以原生的支持TTL、两级缓存、分布式自动刷新,还提供了Cache接口用于手工缓存操作。当前有四个实现,RedisCache、TairCache(此部分未在github开源)、CaffeineCache(in memo...
2018-07-23 19:49:26 571
原创 orika
Orika是什么Orika是一个简单、快速的JavaBean拷贝框架,它能够递归地将数据从一个JavaBean复制到另一个JavaBean,这在多层应用开发中是非常有用的。为什么要使用OrikaOrika用于简化多层之间的对象映射,避免苦苦挣扎于手工编码和基于反射的映射。Orika致力于提供一个全面、有效、强大的Java Bean映射解决方案。Orika关注尽可能地自动化,同时根据...
2018-07-23 14:50:04 1768
原创 spring-boot集成swagger
1、什么是Swagger Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件。本文简单介绍了在项目中集成swagger的方法和一些常见问题。 Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器...
2018-07-23 11:52:04 187
原创 IDEA Mybatis plugin 免费版安装
安装步骤1.左上角点击File,选择Settings,找到Plugins,出现如下界面:install JetBrains plugin:在IDEA官方内部上选择安装Browse repositories:在IDEA浏览存储库中选择安装install plugin from disk:下载插件安装,插件地址:https://pan.baidu.com/s/1W24bqWJvJ6...
2018-07-21 13:01:30 4983 2
转载 RabbitMQ
来源RabbitMQ是用Erlang实现的一个高并发高可靠AMQP消息队列服务器。支持消息的持久化、事务、拥塞控制、负载均衡等特性,使得RabbitMQ拥有更加广泛的应用场景。RabbitMQ跟Erlang和AMQP有关。下面简单介绍一下Erlang和AMQP。Erlang是一门动态类型的函数式编程语言,它也是一门解释型语言,由Erlang虚拟机解释执行。从语言模型上说,Erlang是...
2018-07-18 18:27:29 654
原创 获取access_token的中控服务器
access_token 是全局唯一接口调用凭据,开发者调用各接口时都需使用 access_token,请妥善保存。access_token 的存储至少要保留512个字符空间。access_token 的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的 access_token 失效。获取 access_token公众平台的 API 调用所需的 access_token 的使用及...
2018-07-18 18:13:15 5155
原创 Redis 分布式锁
分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。可靠性首先,为了确保分布式锁可用,我们至少要确保锁的实现同时满足以下四个条件:1.互斥性。在任意时刻,只有一个客户端能持有锁。2.不会发生死锁。即使有一个客户端在持有锁的期间崩溃而没有主动解锁,也能保证后续其他客户端能加锁。3.具有容错性。只要大...
2018-07-18 18:00:30 107
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人