自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (2)
  • 收藏
  • 关注

原创 SpringBoot 整合 FastDFS 中间件,实现文件分布式管理

一、FastDFS简介分布式文件系统FastDFS:是一个开源的轻量级分布式文件系统,由跟踪服务器(tracker server)、存储服务器(storage server)和客户端(client)三个部分组成,作为一个分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题,特别适合中小文件(建议范围:4KB < file_size <500MB),对以文件为载体的在线服务,如相册网站、视频网站等等具有显著的效果。

2021-07-02 14:17:22 729

原创 Java日期时间处理-Calendar、LocalDateTime

DateCalendarLocalDateTime一、System.currentTimeMillis()获取标准时间可以通过System.currentTimeMillis()方法获取,此方法不受时区影响,得到的结果是时间戳格式的。例如:public static void main(String[] args) { long l = System.currentTimeMillis(); System.out.println(l);}//print:16239830..

2021-06-21 18:09:01 3358

原创 Spring Aop 自定义注解的方式记录系统日志信息

我们在日常编程中,应该保持高内聚,低耦合,函数功能单一,代码可复用性,可移植性性高。当涉及到日志,缓存等功能是,我们可以根据业务需求,利用spring aop面向切面编程,把核心的功能和附加功能剥离开来使代码达到高复用的效果,比如用注解记录操作日志。为了避免无代码侵入并实现通用,于是定义一个注解,如果要统计哪个方法,只需在方法上标记上注解即可,通过注解可以获取到方法的参数、方法名、返回值等等信息。一、引入相关依赖 <dependency> <groupId&g.

2021-04-07 14:51:18 993

原创 SpringBoot 如何执行定时任务

SpringBoot 如何执行定时任务工作中有需要应用到定时任务的场景,一天一次,一周一次,一月一次,一年一次,做日报,周报,月报,年报的统计,以及信息提醒,等,spring boot 提供了一个两种方式实现定时任务。一、静态定时任务—基于注解SpringBoot 中的 @Scheduled 注解为定时任务提供了一种很简单的实现,只需要在注解中加上一些属性,例如 fixedRate、fixedDelay、cron(最常用)等等,并且在启动类上面加上 @EnableScheduling 注解,就可

2021-03-29 16:23:21 9033 1

原创 @Async注解实现异步调用

@Async默认异步配置使用的是SimpleAsyncTaskExecutor,该线程池默认来一个任务创建一个线程,在大量的请求的时候,这时就会不断创建大量线程,极有可能压爆服务器内存@Async的时候一定要设置线程数,以防万一OOM​ 异步调用,类似我们多年前的ajax调用,局部刷新,整体不变,当然,在java的后台的异步调用,类似于自己实现一个多线程的程序,任务开启一个线程后由它最去执行,我们其实是不能干预太多的。。​ 在实际的开发中,如果某一个方法需要异步去执行,那么我们可以在.

2021-03-26 19:26:43 2628 3

原创 CountDownLatch作用及使用场景

概念CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程执行完后再执行。例如,应用程序的主线程希望在负责启动框架服务的线程已经启动所有框架服务之后执行。CountDownLatch的用法CountDownLatch典型用法1:某一线程在开始运行前等待n个线程执行完毕。将CountDownLatch的计数器初始化为n new CountDownLatch(n) ,每当一个任务线程执行完毕,就将计数器减1 countdownlatch.countDown(),当计数器的

2021-02-01 16:13:50 3120

原创 CompletableFuture实现异步任务

CompletableFuture 是 Future API的扩展。Future 被用于作为一个异步计算结果的引用。提供一个 isDone() 方法来检查计算任务是否完成。当任务完成时,get() 方法用来接收计算任务的结果。项目需求:项目中需要优化一个接口,这个接口需要拉取2,3个第三方接口,需求延迟时间小于200ms;技术选型:在Java中CompletableFuture用于异步编程,异步编程是编写非阻塞的代码,运行的任务在一个单独的线程,与主线程隔离,并且会通知主线程它的进度,成功或者失败

2021-02-01 15:30:30 2182

原创 java 实现多线程几种方式

java多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。1、继承Thread类实现多线程继承Thread类的方法尽管被我列为一种多线程实现方式,但Thread本质上也是实现了Runnable接口的一个实例,它代表一个线程的实例,并且,启动线程的唯一方法就是通过Thread类的start()实例方法。start()方法是一

2021-02-01 15:29:14 2189

原创 Java 多线程实现方式、如何使用 CompletableFuture 完成异步任务

多线程的实现、CompletableFuture异步任务、@Async注解异步调用一、异步和多线程有什么区别?其实,异步和多线程并不时一个同等关系,异步是目的,多线程只是我们实现异步的一个手段.什么是异步?异步是当一个调用请求发送给被调用者,而调用者不用等待其结果的返回.实现异步可以采用多线程技术或则交给另外的进程来处理多线程和异步操作两者都可以达到避免调用线程阻塞的目的,从而提高软件的可响应性。甚至有些时候我们就认为多线程和异步操作是等同的概念。但是,多线程和异步操作还是有一些区别的。而这些区别

2021-01-22 17:51:56 1745

原创 SpringBoot 使用 Thymeleaf 如何发送带模板的Email邮件

springboot+Thymeleaf实现发送Email模板邮件如何在Spring Boot 应用中发送邮件以及使用非常简单强大的Thymeleaf模板引擎来制作邮件内容。一、授权码常用的电子协议有POP3,SMTP,IMAP,协议的具体区别就不进行详细介绍了。这里选择smtp协议进行演示。登录邮箱,在设置中找到协议地址,点击开启。授权码只会显示一次,需要保存好。下面是126邮箱对应的三种协议主机地址:smtp.126.compop.126.comimap.126.com二、导入pom依

2021-01-15 16:42:12 6159

原创 如何使用SmartApplicationListener有顺序的监听同一个事件Event

Spring boot 有序事件监听器用户注册发送邮件首先创建一个事件,监听都是围绕着事件import com.tellhow.meinergy.pot.base.client.model.vo.UserVO;import lombok.Getter;import org.springframework.context.ApplicationEvent;/** * 用户创建事件 * * @author arjun * @date 2020/12/09 */@Getterpubli

2020-12-09 17:16:37 2485 2

原创 SpringBoot Security用户认证成功或失败监听处理

Spring boot Security 用户认证成功失败事件监听器ApplicationEvent以及Listener是Spring为我们提供的一个事件监听、订阅的实现,内部实现原理是观察者设计模式,设计初衷也是为了系统业务逻辑之间的解精,提高可扩展性以及可维护性。事件发布者并不需要考虑谁去监听,监听具体的实现内容是什么,发布者的工作只是为了发布事件而已。一、@EventListener注解方式注解方式比较简单不需要实现任何接口,代码如下:import org.springframework.co

2020-12-09 10:16:00 2576

原创 自定义异常类

自定义异常类自定义异常package com.es.test.exception;import com.es.test.util.ResponseCodeEnum;/** * 自定义异常(CustomException) * * @author arjun * @date 2020/7/27 13:59 */public class CustomException extends RuntimeException { private String code; /

2020-07-27 15:10:48 1041

提供 nacos-server-1.4.2 Windows和Linux版本下载

GitHub官方地址下载nacos-server-1.4.2.zip速度太慢,这里准备了两个版本的,Windows和Linux版本都可用。 注意(windows单机环境):编辑startup.cmd,单机模式需要设置set MODE="standalone",nacos默认的启动模式为“cluster”(集群模式),直接启动会报Unable to start embedded Tomcat,所以我们需要将这个模式更改为“standalone”单机模式。

2021-11-25

GitKrakenSetup-5.0.4.exe

GitKraken-6.5.3 之后版本开始收费,提供6.0以下版本.exe下载

2021-03-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除