自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Joker_DJ

Joker_DJ的博客

  • 博客(113)
  • 收藏
  • 关注

原创 文章迁移腾讯开发者社区说明

我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?

2023-11-27 10:06:01 118

原创 MongoDB

MongoDBMongoDB相关概念业务应用场景MongoDB简介体系结构数据模型MongoDB的特点单机部署Windows系统中的安装启动第一步:下载安装包第二步:解压安装启动Shell连接(mongo命令)MongoDB相关概念业务应用场景传统的关系型数据库(如MySQL),在数据操作的“三高”需求以及应对Web2.0的网站需求面前,显得力不从心解释:“三高”需求:High performance - 对数据库高并发读写的需求。Huge Storage - 对海量数据的高效率存储和访问的需

2022-02-24 10:06:43 298 1

原创 消息队列-RabbitMQ

消息队列-RabbitMQ教学视频地址:学相伴-飞哥-rabbitmq代码地址:链接:https://pan.baidu.com/s/1-N0vQRhAO4kbkRk9w8BS2w提取码:zoh7什么是中间件我国企业从20世纪80年代开始就逐渐进行信息化建设,由于方法和体系的不成熟,以及企业业务和市场需求的不断变化,一个企业可能同时运行着多个不同的业务系统,这些系统可能基于不同的操作系统、不同的数据库、异构的网络环境。现在的问题是,如何把这些信息系统结合成一个有机地协同工作的整体,真正实现企业跨

2021-09-10 13:46:59 837 1

原创 策略者模式

策略者模式&框架源码应用所谓的策略者模式:定义了ー系列的算法,并将每一个算法封装起来,而且使他们可以互相换,让算法独立于使用它的喜户而独立变化算法:程序执行的逻辑,或者顺序。封装:可以是方法,也可以是函数,也可以是类、接口、抽象关相互替换:代表每一种算法,功能定义是一样的,具体实现不同Java中可以直接替换的是接口实现、子类(看到 f elseif esleif if)可以考虑用设计模式进行重构看到一对多的触发可以用观察者模式看到很多公共的部分很多,局部不同可以考虑用模板方

2021-09-09 09:23:15 425

原创 SpringBoot统一返回R类

在项目开发过程中,很难避免返回各种各样的结果,就会导致前端渲染时造成混乱,怎么统一返回呢?编写R.java Object/** * @Author Joker DJ * @Date 2021/8/7 20:58 * @Version 1.0 */public class R { /** *标识返回状态 */ private Integer code; /** * 标识返回内容 */ private Object da

2021-09-09 09:22:58 4626

原创 ActiveMQ

ActiveMQ入门消息中间件应用场景异步处理应用解耦流量削锋异步处理场景说明:用户注册,需要执行三个业务逻辑,分别为写入用户表,发注册邮件以及注册短信。串行方式将注册信息写入数据库成功后,发送注册邮件,再发送注册短信。以上三个任务全部完成后,返回给客户端。并行方式将注册信息写入数据库成功后,发送注册邮件的同时,发送注册短信。以上三个任务完成后,返回给客户端。与串行的差别是,并行的方式可以提高处理的时间异步处理引入消息中间件,将部分的业务逻辑,进行异步处理。改造

2021-09-09 09:20:50 291

原创 RocketMQ

1. MQ介绍##1.1 为什么要用MQ消息队列是一种“先进先出”的数据结构其应用场景主要包含以下3个方面应用解耦系统的耦合性越高,容错性就越低。以电商应用为例,用户创建订单后,如果耦合调用库存系统、物流系统、支付系统,任何一个子系统出了故障或者因为升级等原因暂时不可用,都会造成下单操作异常,影响用户使用体验。使用消息队列解耦合,系统的耦合性就会提高了。比如物流系统发生故障,需要几分钟才能来修复,在这段时间内,物流系统要处理的数据被缓存到消息队列中,用户的下单操作正常完成。当物流系统回复

2021-09-09 09:20:17 204

原创 MybatisPlus

了解Mybatis-PlusMybatis-Plus介绍MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。官网: https://mybatis.plus/ 或 https://mp.baomidou.com/愿景我们的愿景是成为 MyBatis 最好的搭档,就像 魂斗罗 中的 1P、2P,基友搭配,效率翻倍。代码以及文档文档地址:https://mybatis.plus/guide/源码

2021-09-09 09:19:06 449

原创 axios传递数组以及对象,后端接收

前端代码: insertRole() { let data = { role:{ rname: "业务员", remark: "业务员", }, pids: [1, 2, 3, 4] } this.$axios.post(this.$api + "role/insertRole", data,{indices:false,headers:{'Content-T

2021-09-09 09:18:15 3141

原创 SpringBoot vue+axios文件上传与下载

上传上传代码:采用iview组件上传 <Upload :action="uploadApi" multiple :headers="jwt" :data="uploadData" :on-success="uploadsuccess" :on-error="uploadFaild" :on-progress="uplo

2021-09-09 09:17:37 328

原创 Java解密解密工具类

加密解密工具类import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;import javax.crypto.Cipher;import javax.crypto.KeyGenerator;import javax.crypto.Mac;import javax.crypto.SecretKey;import javax.crypto.spec.SecretKeySpec;import java.security.Messa

2021-09-09 09:17:06 748

原创 Java解析eml文件工具类

依赖 <!-- https://mvnrepository.com/artifact/javax.mail/mail --> <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version>

2021-09-09 09:16:37 864

原创 开源项目推荐(实用)

此篇文章用于存那些优质的开源项目,方便反复学习参考Sa-Token【Java权限认证框架】gitee地址:https://gitee.com/dromara/sa-token官网地址:http://sa-token.dev33.cn/Sa-Token是一个轻量级Java权限认证框架,主要解决:登录认证、权限认证、Session会话、单点登录、OAuth2.0 等一系列权限相关问题登录验证 —— 单端登录、多端登录、同端互斥登录、七天内免登录权限验证 —— 权限认证、角色认证、会话二级认证.

2021-07-19 17:56:13 1982

原创 Velocity模板引擎

velocity简介velocity介绍Velocity是一个基于Java的模板引擎,可以通过特定的语法获取在java对象的数据,填充到模板中,从而实现界面和java代码的分离应用场景Web应用程序:作为为应用程序的视图,展示数据。源代码生成 :velocity可用于基于模板生成Java源代码自动电子邮件:网站注册,认证等的电子邮件模板网页静态化:基于velocity模板,生成静态网页velocity结构Velocity主要分为app、context、runtime

2021-07-17 22:37:45 6126 1

原创 Java常用工具类整合(史上最全)

JSON转换工具package com.taotao.utils; import java.util.List; import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.databind.JavaType;import com.fasterxml.jackson.databind.JsonNode;import com.fasterxml.jackson.databind.O

2021-06-30 17:53:36 1080

转载 代码量减少90%,Java程序员必会的工具库

工作后,才发现有很多工具类库,可以大大简化代码量,提升开发效率,初级开发者却不知道。而这些类库早就成为了业界标准类库Java自带工具方法List集合拼接成以逗号分隔的字符串// 如何把list集合拼接成以逗号分隔的字符串 a,b,cList<String> list = Arrays.asList("a", "b", "c");// 第一种方法,可以用stream流String join = list.stream().collect(Collectors.joining(","))

2021-06-24 15:46:02 115

原创 Java对象和XML相互转换

Java对象和XML相互转换最近在项目中一直出现Java对象和XML之间的相互转换,一开始由于项目很庞大,我又是临时调度过去,导致在按照项目组长的要求进行写代码的同时,总是在这块云里雾里,最近才慢慢开始搞清楚项目中具体的使用缘由。但是项目中封装的代码总是很庞大,因为要考虑太多的东西,而对于此,我只能通过小的Demo来说明,其实在项目中用到很多插件,轻巧,灵便,封装很好使用,但这里我讲解的是JAXB(JavaArchitecture for XML Binding)。JAXB(Java Archit

2021-06-23 09:04:35 1455

原创 扩展Java 8 日期操作

Java 8 日期处理Java 8 推出了全新的日期时间API,在教程中我们将通过一些简单的实例来学习如何使用新API。Java处理日期、日历和时间的方式一直为社区所诟病,将 java.util.Date设定为可变类型,以及SimpleDateFormat的非线程安全使其应用非常受限。新API基于ISO标准日历系统,java.time包下的所有类都是不可变类型而且线程安全。编号类的名称描述1Instant时间戳2Duration持续时间,时间差3Local

2021-06-23 08:53:39 124

原创 Java 图形验证码

EasyCaptcha1.简介 Java图形验证码,支持gif、中文、算术等类型,可用于Java Web、JavaSE等项目。2.效果展示        算术类型:    中文类型:    内置字体:    3.导入项目3.1.gradle方式的引入dependencies { compile 'com.github.whvcse:easy-captcha:1.6.2'}3.2.maven方式引入<depende

2021-06-23 08:49:09 924

原创 Java使用SSH连接Linux并获取cpu,内存,磁盘使用率

获取依赖包hyperic链接:https://pan.baidu.com/s/1EFTvC-lnjgRtdtLumiAHOQ提取码:qnms将hyperic-sigar-1.6.4.zip解压将hyperic-sigar-1.6.4\sigar-bin\lib下的sigar.jar打包到maven仓库将sigar-amd64-winnt.dll放到jdk的bin目录打包命令mvn install:install-file -Dfile=sigar.jar -DgroupId=org.hyp

2021-06-23 08:47:16 2967 2

原创 Java常用工具类整合

JSON转换工具package com.taotao.utils; import java.util.List; import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.databind.JavaType;import com.fasterxml.jackson.databind.JsonNode;import com.fasterxml.jackson.databind.O

2021-06-23 08:46:14 280

原创 IDEA常用插件

简介此文章整合了其他文章,为了能迅速找到合适的插件而创作,也是为了自己碍于找不着插件名称而烦恼Key Promoter XKey Promoter X 插件,IDEA 快捷键提示工具。MyBatisXMyBatisX 插件,对 MyBatis 框架的增强 插件,提升使用 MyBatis 的效率和体验。MybatisLogFormatMybatisLogFormat 插件,格式化 MyBatis 输出的 SQL 日志。SequenceDiagramSequenceDiagram 插件,生成

2021-04-28 10:19:50 708 1

原创 Linux安装Nginx 在线&离线

在线安装# 下载NGINX:yum install nginx# 启动nginx:systemctl start nginx# 加入开机启动:systemctl enable nginx# 查看nginx的状态:systemctl status nginx离线安装下载Nginx

2021-04-26 19:10:54 130

原创 SpringBoot整合JWT

什么是JWTjsonwebtoken(JWT)是一个开放标准(rfc7519),它定义了一种紧凑的、自包含的方式,用于在各方之间以JSON对象安全地传输信息。此信息可以验证和信任,因为它是数字签名的。jwt可以使用秘密(使用HMAC算法)或使用RSA或ECDSA的公钥/私钥对进行签名通俗解释JWT简称JSON Web Token,也就是通过JSON形式作为Web应用中的令牌,用于在各方之间安全地将信息作为JSON对象传输。在数据传输过程中还可以完成数据加密、签名等相关处理。JWT能做什么

2021-04-26 12:45:35 154

原创 快速搭建Vue-cli

搭建vue-cli步骤下载nodejshttps://nodejs.org/zh-cn/download/一直下一步安装完成即可查看安装是否成功node -vnpm -v设置淘宝镜像加速器npm install cnpm -gnpm install --registry=https://registry.npm.taobao.org安装vue-clicnpm install vue-cli -g #全局# 测试是否安装成功vue list第一个vue-clivue

2021-04-12 22:03:08 130

原创 给localStorage添加过期时间的功能

给localStorage添加过期时间的功能定义一个工具函数Util,用localstorage来存储数据,且可以传入expires作为过期时间,如果已过期,get的时候清空该数据。LocalStorage.js function localset(key, val, expire) { var exp = expire ? Date.now() + expire * 1000 : -1; localStorage.setItem(key, JSON.stringify({value: val

2021-04-12 21:58:52 306

原创 Vue 移动端打包成apk

Vue 移动端打包成apk如何将Vue 移动端打包成apk打包配置打包使用HuilderX进行打包打包 云配置如何将Vue 移动端打包成apk打包配置dex.js的build下的assetsPublicPath修改为如图(解决打包空白)将webpack.prod.conf.js的extract修改为如同(解决图标问题)打包在项目根目录执行npm run build 生成dist目录使用HuilderX进行打包将dist拖入Huilder转成app项目生成manifest.js

2021-04-12 21:54:09 401

转载 SpringBoot整合License实现认证

SpringBoot整合License实现认证简介使用 TrueLicense 生成License创建maven工程导入pom依赖校验自定义的License参数License生成类需要的参数:添加抽象类AbstractServerInfos,用户获取服务器的硬件信息:获取客户Linux服务器的基本信息:获取客户Windows服务器的基本信息自定义LicenseManager,用于增加额外的服务器硬件信息校验License生成类,用于生成License证书自定义KeyStoreParam,用于将公私钥存储文件

2021-04-05 21:49:26 6651 3

原创 如何拥有一个1PB的盘符

如何拥有一个1PB的盘符如何拥有一个1PB网盘winfsp使用rclone安装阿里云配置rclone配置将网盘挂载到盘符开机自启运行rclone结束如何拥有一个1PB网盘效果如图需要两个开源软件rclone下载地址winfsp下载地址网盘下载提取码(vk4h)winfsp使用双击安装一直下一步即可安装完成重启电脑rclone安装将rclone放到C盘根目录配置用户环境变量将rclone根目录配置到pathcmd控制台输入rclone.exe出现以上输出表示安装

2021-03-25 20:24:31 448 1

原创 Java常用工具类

Java常用工具类1. org.apache.commons.io.IOUtilscloseQuietly:关闭一个IO流、socket、或者selector且不抛出异常,通常放在finally块toString:转换IO流、 Uri、 byte[]为Stringcopy:IO流数据复制,从输入流写到输出流中,最大支持2GBtoByteArray:从输入流、URI获取byte[]write:把字节. 字符等写入输出流toInputStream:把字符转换为输入流readLines:从输入流中

2021-03-16 11:30:10 95

原创 Activiti整合Spring,SpringBoot

一、Activiti与Spring整合开发1.1 Activiti与Spring整合的配置1)、在pom.xml文件引入坐标如下<properties> <slf4j.version>1.6.6</slf4j.version> <log4j.version>1.2.12</log4j.version></properties><dependencies> <depen

2021-03-11 12:50:43 516

原创 Avtiviti进阶

一、流程实例什么是流程实例流程实例(ProcessInstance)代表流程定义的执行实例。一个流程实例包括了所有的运行节点。我们可以利用这个对象来了解当前流程实例的进度等信息。例如:用户或程序按照流程定义内容发起一个流程,这就是一个流程实例。流程定义和流程实例的图解:启动流程实例 并添加Businesskey(业务标识)流程定义部署在activiti后,就可以在系统中通过activiti去管理该流程的执行,执行流程表示流程的一次执行。比如部署系统出差流程后,如果某用户要申请出差这时就需要

2021-03-11 10:28:14 660

原创 SpringBoot+Vue+Axios cookie跨域处理

话不多说直接上代码vue:mian.jsimport Vue from 'vue'import App from './App'import axios from "axios"axios.defaults.withCredentials=true //允许cookie跨域Vue.config.productionTip = falseVue.prototype.$axios = axios//初始化axios/* eslint-disable no-new */new Vue({

2021-03-05 13:29:15 434

原创 Ngork内网穿透

Ngork内网穿透注册账号购买服务(0元)下载工具如何不通过服务器让别人访问自己的项目-Ngork问题:自己电脑上的项目,如何让别人访问?注册账号Ngork链接地址https://ngrok.cc/购买服务(0元)如果需要自己定义域名,则需要花钱可选提供的免费子域名填写信息确定信息下载工具下载客户端工具根据不同的系统选择解压启动输入客户端的隧道id访问提供的公网IP即可...

2020-11-17 14:15:21 127

原创 SVN版本控制

SVN版本控制什么是SVN版本控制获取SVN安装软件SVNSVN服务端配置SVN客户端安装与使用获取软件安装包使用客户端软件连接SVN服务器SVN使用提交commit更新操作 update什么是SVN版本控制SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理特点:操作简单,入门容易,支持跨平台操作(Windows,Linux,macos),支持版本回退。获取SVN属于C/S

2020-11-17 01:28:55 127

原创 Linux云服务器部署项目

Linux云服务器部署项目准备环境搭建安装JDKMySQL5.7安装项目部署配置域名访问(http)反向代理准备购买云服务器【阿里云,腾讯云都可以】重置密码环境搭建使用xshell连接云服务器安装JDKLinux上使用yum命令后,会将OpenJDK安装到/usr/lib/jvm/目录下# 安装OpenJDKyum install -y java-1.8.0-openjdk.x86_64配置jdk环境变量# 打开配置文件vim /etc/profile进入文本编辑状态

2020-10-15 17:11:09 557

原创 百度地图api

百度地图apiapi地址注册账号查看api创建应用hello word开发常见api测试开启鼠标滚轮缩放设置地图的旋转角度和倾斜角度变更地图类型为地球添加控件设置标注示例Demo总结api地址http://lbsyun.baidu.com/注册账号查看api要先进行注册账号和申请密钥(ak)才可使用该服务,接口无使用次数限制,请放心使用创建应用申请账号为开发账号申请密钥创建应用hello word开发复制api提供的html脚本到工程中输入密钥访问页面测试

2020-08-24 23:20:50 811

原创 面试精选

面试精选数据类型面向对象集合框架多线程ServletJSPJDBCMySQLSpringSpringMVCMybatisSpringBootSpringCloudRedisSolrElasticSearchNginxDubbo&Zookeeper**Zookeeper同步流程**FastDFSLinuxDocker数据类型java中基本数据类型各占多少字节?byte:1字节short:2字节int:4字节long:8字节float:4字节char:2字节double:8字节b

2020-08-21 11:42:02 887 1

原创 JUC并发编程

JUC并发编程什么是JUC线程和进程并发、并行线程有几个状态wait/sleep 区别Lock锁(重点)Synchronized 和 Lock 区别生产者和消费者问题防止虚假唤醒8锁现象集合类不安全List 不安全解决方案Set不安全解决方案HashSet底层是什么?HashMap不安全解决方案Callable常用的辅助类(必会)CountDownLatchCyclicBarrierSemaphore读写锁ReadWriteLock阻塞队列会抛出异常有返回值 不会抛出异常检测队首元素等待 阻塞超时等待 自

2020-08-17 16:03:59 211

原创 Docker 入门

DockerDocker概述Docker为什么会出现?Docker的历史Docker能干嘛Docker 安装Docker的基本组成安装Docker卸载旧的版本需要的安装包设置镜像仓库安装docker相关的东西 docker社区启动docker测试helloword卸载docker阿里云镜像加速run 执行流程图底层原理Docker的常用命令帮助命令镜像命令**docker images 查看所有本地主机上的镜像****docker search 搜索镜像****docker pull 下载镜像**docke

2020-08-13 21:46:13 820

空空如也

空空如也

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

TA关注的人

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