![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
归来少年Plus
这个作者很懒,什么都没留下…
展开
-
Java的几种异步任务形式(三)——利用任务调度框架quartz
一、Quartz介绍Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,完全由Java开发,可以用来执行定时任务.1、首先我们需要定义实现一个定时功能的接口,我们可以称之为Task(或Job),如定时发送邮件的task(Job),重启机器的task(Job),优惠券到期发送短信提醒的task(Job)2、有了任务之后,还需要一个能够实现触发任务去执行的触发器,触发器Trigger最基本的功能是指定Job的执行时间,执行间隔,运行次数等。3、有了Job和Tr原创 2021-02-24 11:11:00 · 1368 阅读 · 0 评论 -
Java的几种异步任务形式(二)——利用多线程,线程池
利用多线程完成异步任务原创 2021-02-24 10:17:53 · 187 阅读 · 0 评论 -
异步任务 与同步任务的区别
一、异步任务和RabbitMQ最大的区别应该是访问量的差异;可以将异步任务看作是简化版RabbitMQ 。二、服务器怎么处理多个请求1)同步任务:服务请求一到,服务器就出用一个线程去执行,并且到了service层之后,假设有个任务需要几十秒才能执行完毕;那么执行到这里就会卡住了,请求到这里都要卡住几十秒,人多的时候可能还要排队,等时间过了你才会得到响应。那就等着呗,然而不巧的是,这个时候又有几千人来来给服务器发请求,于是这几千人每人等几十秒,而且由于服务器又比较水,一下子开了几千个线程还有点卡于是要等原创 2021-02-23 09:56:32 · 654 阅读 · 0 评论 -
线程池之ThreadPoolExecutor概述及使用
一、ExecutorService(ThreadPoolExecutor的顶层接口)使用线程池中的线程执行每个提交的任务,通常我们使用Executors的工厂方法来创建ExecutorService二、Core and maximum pool sizes 核心和最大线程池数量参数 翻译corePoolSize 核心线程池数量maximumPoolSize 最大线程池数量当在execute(Runnable)方法中提交新任务并且少于corePoolSize线程正在运行时,即使其他工作线程处于空闲原创 2021-02-22 15:45:28 · 224 阅读 · 0 评论 -
Java的几种异步任务形式(一)——利用注解
1、关于Java的几种异步处理方式下面会分不同文章介绍.今天讲下怎么利用注解来完成Java的异步处理.1、首先在启动类中加入这个注解:@EnableAsync@SpringBootApplication@EnableAsyncpublic class DemoasyncApplication { public static void main(String[] args) { SpringApplication.run(DemoasyncApplication.clas原创 2021-02-20 18:53:00 · 1102 阅读 · 0 评论 -
TLS version used does not meet minimal requirements for this server. Please use a higher TLS version
springboot在部署应用程序的时候,如果mysql的安全协议使用的是Tls1.2.如果应用程序没有配置,则应用程序在启动的时候会报下面的错误:java.sql.SQLException: TLS version used does not meet minimal requirements for this server. Please use a higher TLS version and retry.at com.mysql.cj.jdbc.exceptions.SQLError.crea原创 2020-10-22 19:39:26 · 2107 阅读 · 0 评论 -
Java内存区域与内存溢出异常
java虚拟机规范中描述了两种异常:1、如果线程请求的栈深度大于虚拟机所允许的最大深度,将抛出StackOverflow异常2、如果虚拟机在扩展栈时无法申请到足够的内存空间,则抛出OutOfMemoryError异常内存泄漏:Memory Leak内存溢出:Memory overflow...原创 2020-09-28 09:53:04 · 65 阅读 · 1 评论 -
AK/SK 简介
1、AK/SK 简介AK:Access Key Id,用于标示用户;SK:Secret Access Key,是用户用于加密认证字符串和用来验证认证字符串的密钥,其中SK必须保密.通过使用Access Key Id / Secret Access Key加密的方法来验证某个请求的发送者身份。2、 AK/SK使用机制云主机接收到用户的请求后,系统将使用AK对应的相同的SK和同样的认证机制生成认证字符串,并与用户请求中包含的认证字符串进行比对。如果认证字符串相同,系统认为用户拥有指定的操作权限,并执行原创 2020-09-15 15:56:49 · 11955 阅读 · 2 评论 -
SpringBoot的Quartz实现动态配置的定时任务
一、Quartz简介了解QuartzQuartz 是一个完全由 Java 编写的开源作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。Quartz 允许程序开发人员根据时间的间隔来调度作业。 Quartz实现了作业和触发器的多对多的关系,还能把多个作业与不同的触发器关联。Quartz 核心概念Job 表示一个工作,要执行的具体内容。此接口中只有一个方法,如下:void execute(JobExecutionContextcontext)JobDetail原创 2020-08-10 14:57:48 · 240 阅读 · 0 评论 -
Spring Boot 通过自定义注解和AOP 切面实现统一打印接口出入参请求日志
一、先看看切面日志输出效果在看看实现方法之前,我们先看下切面日志输出效果咋样:从上图中可以看到,每个对于每个请求,开始与结束一目了然,并且打印了以下参数:URL: 请求接口地址;Description: 接口的中文说明信息;HTTP Method: 请求的方法,是 POST, GET, 还是 DELETE 等;Class Method: 被请求的方法路径 : 包名 + 方法名;IP: 请求方的 IP 地址;Request Args: 请求入参,以 JSON 格式输出;Response A原创 2020-07-30 18:25:00 · 1958 阅读 · 0 评论 -
Springboot进行Azure Blob Storage的开发
java语言的开发1、引入pom文件 <dependency> <groupId>com.microsoft.azure</groupId> <artifactId>azure-storage</artifactId> <version>8.4.0</version> </dependency>2、demopack原创 2020-07-14 16:58:05 · 1267 阅读 · 1 评论 -
解决 IDEA 创建 spring 项目时出现 Initialization failed for ‘https://start.spring.io‘ 问题
一、问题描述今天用 IDEA 创建 spring 项目时,刚开始还是正常,后面就出现报错 Initialization failed for ‘https://start.spring.io’ 。二、问题解决通过查资料找到了解决方法,只是看到网上大多数没有说清楚,所以我在这里也记录一下,希望可以帮到也遇到这种问题的猿友。选择 File -> settings2、3!在这里插入图片描述然后,就可以了...原创 2020-07-14 14:31:49 · 683 阅读 · 0 评论 -
spring boot 报错:extShutdownHook ...was destroying!
springboot启动报这个错的解决办法是:在pom里引入:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> ...原创 2020-04-22 19:14:52 · 3268 阅读 · 0 评论 -
全局异常处理
全局异常处理1. ControllerAdvice注解结合ExceptionHandle1.定义@ControllerAdvice注解是Spring3.2中新增的注解,学名是Controller增强器,作用是给Controller控制器添加统一的操作或处理2.@ControllerAdvice的作用对于@ControllerAdvice,我们比较熟知的用法是结合@ExceptionH...原创 2020-03-19 21:03:50 · 257 阅读 · 0 评论 -
QPS,TPS,RPS你知道多少?
QPS:即Queries Per Second的缩写,每秒能处理查询数目。是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。TPS:即Transactions Per Second的缩写,每秒处理的事务数目。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完...原创 2020-03-03 09:16:23 · 11947 阅读 · 0 评论 -
Shiro安全框架(七)---会话管理
shiro Session管理SessionManager,SessionDAORedis实现Session共享Redis实现Session共享存在的问题public class RedisSessionDao extends AbstractSessionDAO { @Resource private JedisUtil jedisUtil; privat...原创 2020-02-17 16:31:20 · 132 阅读 · 0 评论 -
shiro安全框架(六)---过滤器
各种拦截器的特点:配置拦截器 @Bean public ShiroFilterFactoryBean shiroFilterFactory(SecurityManager securityManager){ ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean(); ...原创 2020-02-16 18:20:16 · 197 阅读 · 0 评论 -
shiro安全框架(五)---加密
Shiro散列配置HashedCredentialsMatcher自定义Relam中使用散列盐的使用自定义relampackage com.example.shiro2020.training;import org.apache.shiro.authc.AuthenticationException;import org.apache.shiro.authc.Authentic...原创 2020-02-16 16:40:51 · 175 阅读 · 0 评论 -
怎么查看GC日志
更多技术文章请关注公众号:架构师Plus,扫码添加原创 2020-02-23 17:26:00 · 730 阅读 · 0 评论 -
redis配置文件RedisCacheConfig
import com.fasterxml.jackson.annotation.JsonAutoDetect;import com.fasterxml.jackson.annotation.PropertyAccessor;import com.fasterxml.jackson.databind.DeserializationFeature;import com.fasterxml.ja...原创 2019-10-18 15:44:59 · 1228 阅读 · 0 评论 -
在eclipse上clone一个git
http://git.dev.cmrh.com/paas-module/cmf-paas-om-api.gitimport projects最后一步。大功告成原创 2018-10-09 10:15:52 · 1309 阅读 · 0 评论 -
Netty网络
为什么要使用 NIO?NIO 的创建目的是为了让 Java 程序员可以实现高速 I/O 而无需编写自定义的本机代码。NIO 将最耗时的 I/O 操作(即填充和提取缓冲区)转移回操作系统,因而可以极大地提高速度。NIO最重要的组成部分通道 Channels缓冲区 Buffers选择器 SelectorsBuffer 是一个对象, 它包含一些要写入或者刚读出的数据。在 NIO 库中,所有...原创 2018-11-10 17:16:22 · 158 阅读 · 0 评论 -
lombok介绍
官方介绍:Project Lombok makes java a spicier language by adding ‘handlers’ that know how to build and compile simple, boilerplate-free, not-quite-java code.大致意思是Lombok通过增加一些“处理程序”,可以让java变得简洁、快速。Lombok...原创 2019-04-09 19:24:33 · 175 阅读 · 0 评论 -
mybatis-plus源码解析
原 mybtais-plus学习--BaseMapper提供的方法及SQL语句生成 2018年08月18日 18:44:59 归田 阅读数:5746收起 <div class="tags-box space">...原创 2019-04-09 21:21:49 · 5990 阅读 · 8 评论 -
maven打包的几种形式
package命令完成了项目编译、单元测试、打包功能,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库install命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库,但没有布署到远程maven私服仓库deploy命令完成了项目编译、单元测试、打包功能,同时把打好的可执行ja...原创 2019-07-04 13:47:09 · 304 阅读 · 0 评论 -
公钥RSA解密
此为RSA解密的方法public static byte[] decrypt(byte[] encryptedBytes, PrivateKey privateKey, int keyLength, int reserveSize, String cipherAlgorithm) throws Exception { int keyByteSize = keyLength / 8; in...原创 2019-07-19 09:37:27 · 923 阅读 · 0 评论 -
生成公钥和私钥
生成公钥和私钥package com.example.base.controller;import com.sun.org.apache.xml.internal.security.utils.Base64;import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;import javax.crypto.Cipher;i...原创 2019-07-19 09:48:44 · 558 阅读 · 0 评论 -
spring的注解
@Inherited:@Inherited 元注解是一个标记注解,@Inherited阐述了某个被标注的类型是被继承的。如果一个使用了@Inherited修饰的annotation类型被用于一个class,则这个annotation将被用于该class的子类。@Retention(RetentionPolicy.RUNTIME)//首先要明确生命周期长度 SOURCE < CLASS...原创 2019-09-04 16:40:29 · 85 阅读 · 0 评论 -
缓存
Spring缓存支持Spring定义了 org.springframework.cache.CacheManager 和 org.springframework.cache.Cache 接口来统一不同缓存技术。其中CacheManager是Spring提供的各种缓存技术抽象接口,内部使用Cache接口进行缓存的增删改查操作,我们一般不会直接和Cache打交道。针对不同的缓存技术,Spring有...原创 2019-09-16 16:38:20 · 72 阅读 · 0 评论 -
java lombok
注意如果IDE是idea,需要安装插件哈原创 2019-09-19 21:37:31 · 74 阅读 · 0 评论 -
ehcache使用
1、在pom文件里引入org.springframework.bootspring-boot-starter-cacheorg.ehcacheehcache3.5.22、在配置文件yaml里添加spring:cache:ehcache:config:classpath:ehcache.xml3、在application里加入@EnableCaching4、在代码...原创 2019-09-26 16:09:47 · 149 阅读 · 0 评论 -
win10下java环境变量设置
1.打开环境变量2.在系统变量点击新建JAVA_HOME 填入你的JDK安装路径3.在系统变量中新建CLASSPATH(前面有个小数点.)填入.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar4.在path中加入值,注意这里跟win7不同 不可以使用%java_home%等符号引用地址,一定要使用绝对路径接下来记得要点击两次确定,保存完成打开...原创 2018-10-07 10:26:55 · 188 阅读 · 0 评论