作者:Mars酱声明:本文章由Mars酱编写,部分内容来源于网络,如有疑问请联系本人。转载:欢迎转载,转载前先请联系我!什么是JWTJWT的全称是Json Web Token。是基于RFC 7519开放标准的,它定义了一种紧凑且独立的方式,用于在各方之间以 JSON 对象的形式安全地传输信息。此信息可以用作验证和相互信任,因为它是经过数字签名的。JWT 可以使用密钥(使用 HMAC 算法)或使用
作者:Mars酱声明:本文章由Mars酱整理编写,部分内容来源于网络,如有疑问请联系本人。转载:欢迎转载,转载前先请联系我!前言我们选择一套框架或者技术的时候,一定要知道它的特点和功能,不能为了(学习)技术而(选择)技术,那是对产品的不负责任。官方说有类似情况的,可以使用PowJob:有定时执行需求的业务场景:如每天凌晨全量同步数据、生成业务报表、未支付订单超时取消等。有需要全部机器一同执行的业务
作者:Mars酱声明:本文章由Mars酱编写,部分内容来源于网络,如有疑问请联系本人。转载:欢迎转载,转载前先请联系我!前言java定时任务的框架可真是多啊,XXL-JOB也是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展,还是开源的,Mars酱只好下载下来看看了。架构图从架构图上可以看出,xxl-job并没依赖第三方的调度服务,而是自研的。那么我们看怎么使用,再研究它
作者:Mars酱声明:本文章由Mars酱编写,部分内容来源于网络,如有疑问请联系本人。转载:欢迎转载,转载前先请联系我!前言ElasticJob 是面向互联网生态和海量任务的分布式调度解决方案。 它通过弹性调度、资源管控、以及任务治理的功能,打造一个适用于互联网场景的分布式调度解决方案,并通过开放的架构设计,提供多元化的任务生态。 它的各个产品使用统一的任务 API,开发者仅需一次开发,即可随意部
作者:Mars酱 声明:本文章由Mars酱原创,部分内容来源于网络,如有疑问请联系本人。 转载:欢迎转载,转载前先请联系我!前言前几篇介绍了单体架构的定时任务解决方式,但是现代软件架构由于业务复杂度高,业务的耦合性太强,已经由单体架构拆分成了分布式架构。因此,定时任务的架构也随之修改。而Quartz是分布式定时任务解决方案中使用简单,结构清晰,且不依赖第三方分布式调
作者:Mars酱 声明:本文章由Mars酱原创,部分内容来源于网络,如有疑问请联系本人。 转载:欢迎转载,转载前先请联系我!前言多线程解决了并发阻塞问题,但是不能方便的表达我们的定时方式,目前单体架构定时任务用的多的就应该是Spring Task中的注解方式了吧?@Scheduledscheduled注解常用的两个:cron:支持灵活的cron表达式fixedRat
作者:Mars酱 声明:本文章由Mars酱原创,部分内容来源于网络,如有疑问请联系本人。 转载:欢迎转载,转载前先请联系我!前言JDK自带的Timer是无法做到多任务并发的,那么我们怎么处理多任务定时的并发问题呢?这章节Mars酱来研究下。Mars酱能想到的就是多线程、线程池这些关键字。ScheduledExecutorServiceScheduledExecuto
作者:Mars酱 声明:本文章由Mars酱编写,部分内容来源于网络,如有疑问请联系本人。 转载:欢迎转载,转载前先请联系我!前言反射你以为只在Java中有吗?Go也有反射机制,很多的标准库中,也使用了反射机制,比如fmt包中的encoding包,都是依赖反射机制的。Go的反射比Java的更简单,就只依赖两两个对象:一个Type,一个Value,前者是得到定义对象的类
作者:Mars酱 声明:本文章由Mars酱原创,部分内容来源于网络,如有疑问请联系本人。 转载:欢迎转载,转载前先请联系我!介绍这个是个JDK远古时代的api了,据考证,可以追溯到JDK 1.3 的时候,历史就不讲了,毕竟我们不是技术考古。还是按照我们以前的方式,废话少说直接上车吧。简单使用我们先直接new一个Timer对象:java.util.Timer time
作者:Mars酱 声明:本文章由Mars酱原创,部分内容来源于网络,如有疑问请联系本人。 转载:欢迎转载,转载前先请联系我!分类定时任务其实不会有分类,难道定时任务分为定时任务和不定时任务吗?但是根据我们现在的系统情况,我们需要执行的定时任务如果太多,我们可以根据系统的架构分为:单机定时任务和分布式定时任务。单机定时任务单机定时任务感觉好像就这几种吧?java.ut
作者:Mars酱 声明:本文章由Mars酱原创,部分内容来源于网络,如有疑问请联系本人。 转载:欢迎转载,转载前先请联系我!什么是定时任务定时任务就是在指定时间执行的一个或一串动作的行为。现实世界中,比如我们向自己心爱的女友送上祝福;给自己的好友送上祝福。那么,我们为了准时送祝福,会怎么做?当然是定好闹钟,或者是跟蛋糕店或花点预先下好订单,然后在指定好的当天,让蛋糕
作者:Mars酱 声明:本文章由Mars酱编写,部分内容来源于网络,如有疑问请联系本人。 转载:欢迎转载,转载前先请联系我!前言在Java中,多线程之间的通信方式有哪些?记得吗?Java多线程间通信的解决方案有很多种,比如:synchronized。使用锁来防止资源乱来,一人一个按顺序来,要么使用JDK提供的原子对象,那些Atomic关键字开头的对象,比如:Atom
作者:Mars酱 声明:本文章由Mars酱编写,部分内容来源于网络,如有疑问请联系本人。 转载:欢迎转载,转载前先请联系我!前言当今编程界,一个好的编译型语言如果不支持并发,那必然不是一个好的程序员goroutine什么是goroutine?goroutine是Go编程语言中的轻量级执行线程,也是与程序其余部分同时执行的函数。与传统线程相比,Goroutines 非
作者:Mars酱 声明:本文章由Mars酱编写,部分内容来源于网络,如有疑问请联系本人。 转载:欢迎转载,转载前先请联系我!前言defer是Go提供的关键字,defer用于资源的释放。一般在return之前执行,如果有多个defer,那么越靠后的defer越先执行。来我这里,我晚上辅导你~三个defer例子例子1func f1() (result int) { d
作者:Mars酱 声明:本文章由Mars酱编写,部分内容来源于网络,如有疑问请联系本人。 转载:欢迎转载,转载前先请联系我!前言go的指针相比c++里面的已经容易很多了。c++的指针定义太多了:空指针、野指针、常量指针、指针常量,还有结构体指针,c++在指针这一块就复杂很多。我理解的Go的指针我理解的Go的指针就两种:一种获取内存地址,一种获取地址指向的值。分别用&
作者:Mars酱声明:本文章由Mars酱编写,部分内容来源于网络,如有疑问请联系本人。转载:欢迎转载,转载前先请联系我!说明切片和数组有点像,对于我的理解就是声明了固定长度的就是数组,而且数组不可扩展;否则就是切片定义切片定义切片可以直接定义,如下:var sliceName []type也可以使用make函数来定义:var sliceName []type = make([]type, leng
作者:Mars酱声明:本文章由Mars酱编写,部分内容来源于网络,如有疑问请联系本人。转载:欢迎转载,转载前先请联系我!说明特意省去了很多基础章节,比如常量、变量、条件语句、判断语句、循环语句等等,那种1 - 2天就能学会;声明数组// 声明一个长度为3 的int型数组,数组名为intArray var intArray [3]int// 声明一个长度为3的string型数组,数组名为strArr
作者:Mars酱 声明:本文章由Mars酱原创,部分内容来源于网络,如有疑问请联系本人。 转载:欢迎转载,转载前先请联系我!简介既然有了好的工具,Go SDK也安装好了,那么我们需要给自己制定一下学习路线,学习路线最好按阶段执行,然后让自己的水平最终达到一个目标学习路线下面是我参考别的大神之后制定的学习路线,给大家参考一下:必要前提Go基础: go的语法,函数、管道
作者:Mars酱 声明:本文章由Mars酱编写,部分内容来源于网络,如有疑问请联系本人。 转载:欢迎转载,转载前先请联系我!工具介绍编码是一门传统手艺活,手艺好不好很重要,器物的辅助更能让效率和质量翻倍提升。目前就这几种比较好的编辑器:Visual Studio Code安装vsc的过程就免了,主要是需要添加go的插件,可以从插件市场搜索关键字go找到:点击安装按钮
作者:Mars酱 声明:本文章由Mars酱原创,部分内容来源于网络,如有疑问请联系本人。 转载:欢迎转载,转载前先请联系我!为什么学Go为什么要学Go?网上太多广告和说辞了,什么Go的大厂光环啊,什么Go是未来啊,什么Go简单啊等等。其实就两个目的:一是我想学,无论是我的兴趣想学,还是我为了学而学,还是工作需要我要学,归纳起来就是我想学;另一个就是前一门语言的有无法
作者:Mars酱 声明:本文章由Mars酱编写,部分内容来源于网络,如有疑问请联系本人。 转载:欢迎转载,转载前先请联系我!前言我们其实在分析的时候,也并不是必须使用命令行工具才能可以分析。JDK还提供了可视化工具让大家可以在图形化的操作系统中使用。可视化分析工具可视化分析工具分两种:一种JDK自带;一种第三方的。JConsoleJConsole 就是JDK自带的原
作者:Mars酱 声明:本文章由Mars酱编写,部分内容来源于网络,如有疑问请联系本人。 转载:欢迎转载,转载前先请联系我!前言前一篇 Java | 一分钟掌握JDK命令行工具 | 2- 分类 - 掘金 (juejin.cn) 罗列了一些JDK命令行工具,我们没有必要把所有命令行工具全部介绍,那样对于开发者来说不实用也没有任何价值,所有功能介绍,这件事情由且只能由J
作者:Mars酱 声明:本文章由Mars酱编写,部分内容来源于网络,如有疑问请联系本人。 转载:欢迎转载,转载前先请联系我!JDK命令行工具分类命令行工具按照功能可以分为以下几个重要的大类:主要工具主要工具是用来完成主要工作的(废话),比如:编译、反编译、打包等等,以下是常见的:javac:您可以使用javac工具及其选项来读取Java类和接口定义,并将它们编译为字
作者:Mars酱 声明:本文章由Mars酱编写,部分内容来源于网络,如有疑问请联系本人。 转载:欢迎转载,转载前先请联系我!什么是JDK命令行工具一个优秀的开发语言,除了语法、运行环境、集成开发工具等等之外,还需要有命令行工具的加持,这样才算得上是一个强大的编译型语言。以下是官方对JDK命令行工具的说明:JDK命令行工具是Java Development Kit(J
作者:Mars酱 声明:本文章由Mars酱编写,部分内容来源于网络,如有疑问请联系本人。 转载:欢迎转载,转载前先请联系我!前言实现异步方式还有很多,我认为Spring 的 @Async注解 和 ApplicationEvent 事件机制也是异步实现的一种可选方案。废话很多,上车再废话~@Async注解Spring的@Async注解一般我们这么写:@Async pu
作者:Mars酱 声明:本文章由Mars酱编写,部分内容来源于网络,如有疑问请联系本人。 转载:欢迎转载,转载前先请联系我!前言前面几篇都是讲的JDK提供的原生的异步实现方式,其实在互联网行业中,用得最多的属消息队列了。消息队列开源的也多:Kalfka、RabbitMQ、RocketMQ等等。我只知道RocketMQ ?。RocketMQ的系统架构说明三个角色简单的
作者:Mars酱 声明:本文章由Mars酱编写,部分内容来源于网络,如有疑问请联系本人。 转载:欢迎转载,转载前先请联系我!前言继续讲,前面讲了Future实现异步,优点缺点也都有,这里讲使用CompletableFuture机制,目前为止,应该说JDK原生提供的异步方式的最优方案就是CompletableFuture了,已知的开源框架Dubbo中的RPC协议实现、
作者:Mars酱 声明:本文章由Mars酱编写,部分内容来源于网络,如有疑问请联系本人。 转载:欢迎转载,转载前先请联系我!前言前篇 Java | 一分钟掌握异步编程 | 3 - 线程异步 - 掘金 (juejin.cn) 介绍了实现多线程异步处理业务的方式,但是我们无法获取到线程返回的结果,这是在JDK 5之前Java版本的小小缺陷,在Java 5之后,增加了Fu
作者:Mars酱 声明:本文章由Mars酱编写,部分内容来源于网络,如有疑问请联系本人。 转载:欢迎转载,转载前先请联系我!前言前两篇介绍了理论,这篇讲具体的实现方式。前言都是废话,直接上车~简单粗暴创建一个对象,继承Thread类,实现run函数,这个线程异步就做完了:/** * @author mars酱 */ public class OrderThrea
作者:Mars酱 声明:本文章由Mars酱编写,部分内容来源于网络,如有疑问请联系本人。 转载:欢迎转载,转载前先请联系我!前言废话不多说,因为废话已经在前一篇 Java | 一分钟掌握异步编程 | 1 - 基本概念 - 掘金 (juejin.cn) 多说。但是,这篇还是废话多~实现异步的几种方式线程异步线程异步实际就是把任务丢给多线程去处理,让本来串行的操作转化为
Copyright © 2005-2023 51CTO.COM 版权所有 京ICP证060544号