自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 SaaS系统多租户多应用多用户设计(三)

SaaS 多租户 多应用 多用户 权限管理系统 Oauth2

2024-02-06 17:46:01 335

原创 SaaS系统多租户多应用多用户设计(二)

SaaS 多租户 多应用 多用户 权限管理系统 Oauth2

2024-02-06 12:12:21 434

原创 SaaS系统多租户多应用多用户设计(一)

SaaS 多租户 多应用 多用户 权限管理系统 Oauth2

2024-02-04 15:04:52 516

原创 JVM调优

JVM调优JVM内存JVM脑图## 垃圾回收算法标记-复制算法为了解决效率问题,“复制”收集算法出现了。它可以将内存分为大小相同的两块,每次使用其中的一块。当这一块的内存使用完后,就将还存活的对象复制到另一块去,然后再把使用的空间一次清理掉。这样就使每次的内存回收都是对内存区间的一半进行回收。标记-清除算法算法分为“标记”和“清除”阶段:标记存活的对象, 统一回收所有未被标记的对象(一般选择这种);也可以反过来,标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象 。但是会

2021-01-19 17:29:17 145

原创 JAVA8 JVM内存模型

JAVA8 JVM内存模型.png&originHeight=829&originWidth=729&size=89375&status=done&style=none&width=729)内存分配剖析public class MathTest { public static void main(String[] args) { Math math = new Math(); int a = 2;

2021-01-15 14:24:55 404

原创 类加载机制

类加载机制源码一 Launcher类public class Launcher { // 有java虚拟机调用该方法获取到类加载器, 这个方法一般为jvm调用(C++调用) public static Launcher getLauncher() { return launcher; } public Launcher() { // 扩展类加载器 Launcher.ExtClassLoader var1; try {

2021-01-12 17:33:50 154 1

原创 第二章 springboot starter 最佳实践

第二章 springboot starter 最佳实践资料:https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-custom-starter项目地址:https://gitee.com/vastmoon/sparrow文档上的大概的意思是说当你有很多功能的时候建议将autoconfigure 和 starter 分开,如果功能单一的话你

2021-01-04 12:12:33 131

原创 附录一 nginx + frp + let‘s encrypt 搭建内网穿透环境

附录一 nginx + frp + let's encrypt 搭建内网穿透环境搭建 frpfrp项目地址:https://github.com/fatedier/frpfrp地址:https://gofrp.org/下载项目到本地并且上传到服务器由于我的腾讯云下载特别慢所以我下载后再上传参考链接:https://www.linuxprobe.com/linux-securecrt-sftp.html安装 frp# 安装 lrzszsudo yum install -y l

2020-12-09 17:50:13 1023

原创 第一章 企业级 gradle 依赖管理层次结构设计

第一章 企业级 gradle 依赖管理层次结构设计Gradle概述Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具。它使用一种基于Groovy的特定领域语言来声明项目设置,而不是传统的XML。Gradle就是工程的管理,帮我们做了依赖、打包、部署、发布、各种渠道的差异管理等工作。Gradle优势一款最新的,功能最强大的构建工具,用它逼格更高使用程序代替传统的XML配置,项目构建更灵活丰富的第三方插件,让你随心所欲使用Maven、Ant能做的,G

2020-11-13 22:33:47 636 1

原创 jingwei-cloud 序言

序言转眼已经成为码农7年,发现没有任何总结,所以有了自己从底层写一个微服务架构的系统,以便于系统的整理编程知识,技巧,努力成功一个系统架构专家。项目地址:gingwei-cloud系统所需技术栈...

2020-11-13 22:22:02 80

原创 springboot 通过设计模式来消除你代码中的if else/switch-case

最近在学习spring源码,发现里面的设计模式的应用对工作中写出高质量的代码很有帮助,现在通过一个例子来说明怎么消除代码中的if else 来达到高质量的代码,顺便可以装一下(__) 嘻嘻……需求:现在有三种支付方式 微信支付(WECHAT_PAY),谷歌支付(GOOGLE_PAY), 支付宝支付(ALIPAY),现在根据客户端传入的方式来选择对应的支付.现在来展示常规写法(小白写法)...

2020-02-25 00:04:02 1427

原创 idea导入spring源码

idea 导入spring源码学习spring源码最好的方法就是运行源码然后在源码基础上进行debug学习, 现在就总结一下spring源码怎么导入到idea中下载源码,直接通过spring官网找到源码,然后通过git导入idea.spring源码git地址: https://github.com/spring-projects/spring-framework添加阿里的maven仓库...

2020-01-06 16:28:04 747 2

原创 从0到1搭建前后端分离的脚手架框架之后端(七)JPA整合

JPA整合jpa相关内容就不多接受了,可以自行查阅官方文档,这里就说一下整合思路, BaseEntity来设置审计字段,所有entity都必须继承该类,重写了基础实现类 BaseRepository来扩展实现原生查询方法, ColumnToBean类型转换,详细代码可以去github上查阅,具体代码如下:@NoRepositoryBeanpublic interface BaseRepos...

2019-11-18 23:25:31 168

原创 从0到1搭建前后端分离的脚手架框架之后端(六) 鉴权

鉴权通过jwt做授权认证操作, AuthorizationInterceptor拦截器来判断token的合法性,包括是否登录,是否有权限访问某个资源,由于跨域问题,所以 OPTIONS请求将直接跳过,不进行校验, WebAppConfig进行拦截器注册和跨域设置 代码如下:public class AuthorizationInterceptor implements HandlerInter...

2019-11-17 13:19:38 144

原创 从0到1搭建前后端分离的脚手架框架之后端(五) 基于Caffeine的缓存实现

Caffeine Cache 缓存集成Caffeine常用配置说明:initialCapacity=[integer]: 初始的缓存空间大小maximumSize=[long]: 缓存的最大条数maximumWeight=[long]: 缓存的最大权重expireAfterAccess=[duration]: 最后一次写入或访问后经过固定时间过期expireAfterWrite=[d...

2019-11-13 23:16:02 174

原创 从0到1搭建前后端分离的脚手架框架之后端(四) JWT TOKEN 整合

整合JWT TOKEN选择的jwt jar包为 jjwt, token采用RSA加密,来提升token的安全性.首先我们来看一下RSA加密类( RsaHelper), 基本思路就是公钥私钥放到resources目录下,初始化的时候加载秘钥. 其中有一个内部类 RsaConfig对外暴露配置参数,设置了默认值和必填值@Slf4j@Component@DependsOn("applicati...

2019-11-07 22:30:53 219

原创 从0到1搭建前后端分离的脚手架框架之后端(三) 参数校验

参数校验参数校验我们通过springboot中的Validation来完成.validation配置信息:@Configurationpublic class ValidatorConfig { @Bean public MethodValidationPostProcessor methodValidationPostProcessor() { Metho...

2019-11-06 12:50:57 212

原创 从0到1搭建前后端分离的脚手架框架之后端(二) 统一异常处理

统一异常处理全局异常处理封装,统一返回错误格式的异常. 这里通过 @ControllerAdvice 注解来处理异常@Slf4j@ControllerAdvicepublic class GlobalExceptionHandler { @ResponseBody @ExceptionHandler(value = Throwable.class) public R...

2019-11-05 21:30:42 189

原创 从0到1搭建前后端分离的脚手架框架之后端(一)统一返回信息封装

第一次写博客,希望通过博客来记录一下自己的学习过程,希望借此来巩固编程技能, 想了很久决定从0到1搭建一个前后端分离的管理后台脚手架,后端基于Sptringboot搭建, 前端基于 angular ng-alain搭建.作为前后端分离项目需要规范返回数据结构,通常情况下返回的数据结构包含状态码和描述信息和操作数据成功时返回信息:{ "code": 0, "message": "s...

2019-11-05 01:51:33 210

空空如也

空空如也

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

TA关注的人

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