自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 微信网页授权登录

如果网页授权的作用域为snsapi_base,则本步骤中获取到网页授权access_token的同时,也获取到了openid,snsapi_base式的网页授权流程即到此为止。后续刷新access_token、通过access_token获取用户信息等步骤,也必须从服务器发起。由于access_token拥有较短的有效期,当access_token超时后,可以使用refresh_token进行刷新,refresh_token有效期为30天,当refresh_token失效之后,需要用户重新授权。

2024-03-28 10:53:12 256

原创 《Java 并发编程实战》学习笔记一

多核时代每颗 CPU 都有自己的缓存,这时 CPU 缓存(三级缓存)与内存的数据一致性就容易出现问题了,当多个线程在不同的 CPU 上执行时,这些线程操作的是不同的 CPU 缓存。比如,线程 A 操作的是 CPU-1 上的缓存,而线程 B 操作的是 CPU-2 上的缓存,很明显,这个时候线程 A 对变量 V 的操作对于线程 B 而言就不具备可见性了。:高级语言里一条语句往往需要多条 CPU 指令完成,例如count += 1这句代码,至少需要三条 CPU 指令。

2024-01-25 17:04:14 991

原创 JVM优化

JVM优化

2022-04-03 14:39:47 401

原创 EasyExcel教程

Alibaba Easy Excel最正规的教程最正规的教程当然是官方文档了!官方文档挺全的,里面的Demo包含了大部分常用的场景我就不在这里献丑了,也不搬运了,我就在这里记个地址而已。https://alibaba-easyexcel.github.io/quickstart/write.html......

2021-07-31 15:32:44 203

原创 常用git命令详解

(转)常用git命令一、原文地址:生哥哥牛逼(破音)二、补充:1.基本概念工作区:就是你在电脑里能看到的目录。暂存区:英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。版本库:工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库。下面这个图展示了工作区、版本库中的暂存区和版本库之间的关系: 图中左侧为工作区,右侧为版本库。在版本库中标记为 “index”

2021-05-29 09:20:20 687

转载 建造者模式

建造者模式介绍意图:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。主要解决:主要解决在软件系统中,有时候面临着"一个复杂对象"的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法却相对稳定。何时使用:一些基本部件不会变,而其组合经常变化的时候。如何解决:将变与不变分离开。优点: 1、建造者独立,易扩展。 2、便于控制细节风险。缺点: 1、产品必须有共同点,范围有限制。 2、如内部变化

2021-05-10 21:00:59 89

原创 SpringSecurity从关门放狗到关门打狗(三)

SpringSecurity从关门放狗到关门打狗(三)———————SpringSecurity登录认证授权原理上一期我们写了个基本的授权认证功能,结尾的时候说这期来点骚的,恐怕让各位失望了,这期咱们来搞点基础的东西–SpringSecurity登录认证授权原理,虽然这个其他人很多博客里也都写过,但是我还是要搬运一下,因为后面我们可能会用到,而且可以让我们对这个安全框架有更加深层次(♂)的了解,本篇内容参考了...

2021-03-31 15:08:03 195

原创 SpringSecurity从入门到关门放狗(二)

SpringSecurity从入门到关门放狗(二)———————集中式整合SpringBoot上一期我们只是写了一个简单的入门demo(简单到有手就会),这一期我们将在之前的基础上加入自定义的登录和授权逻辑。接下来同学们不要低头或者弯腰捡笔,开冲!一、资源准备(页面,数据库)1.首先我们需要准备一个登录页面,放在static/views的包下,我这里写了一个简单的丑陋的登录页面供大家学习使用,注意其中的登录请求路径框架默认为"/login",请求参数username和password的也是框架默认

2021-03-18 18:28:03 196 1

原创 SpringSecurity从入门到关门放狗(一)

SpringSecurity从入门到关门放狗(一)你能看到这篇文章,说明你已经对spring security有了一定的了解。如果不了解也咩关系,知道这是个安全框架,它可以帮助你做登录校验(认证),角色权限控制(授权)就可以了。它和shiro的功能很像,但是它比shiro功能更加全面,相对的,它的使用也比shiro更复杂一些,使用哪种要看你们项目的复杂程度(公司大佬们的技术选型)等要素来决定。本文使用了SpringBoot整合的安全框架,搭建更加方便,废话不多说了,直接开淦。一、入门Demo1.先创建

2021-03-17 15:18:36 402 4

转载 观察者模式

观察者模式介绍意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。主要解决:一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作。何时使用:一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知,进行广播通知。如何解决:使用面向对象技术,可以将这种依赖关系弱化。优点: 1、观察者和被观察者是抽象耦合的。 2、建立一套触发机制。缺点: 1、如果一个被观察者对象有很多的直接和间接的观察者的话,

2021-02-25 11:23:00 68

原创 设计模式

23种设计模式单例(Singleton)模式:某个类只能生成一个实例,该类提供了一个全局访问点供外部获取该实例,其拓展是有限多例模式。原型(Prototype)模式:将一个对象作为原型,通过对其进行复制而克隆出多个和原型类似的新实例。工厂方法(Factory Method)模式:定义一个用于创建产品的接口,由子类决定生产什么产品。抽象工厂(AbstractFactory)模式:提供一个创建产品族的接口,其每个子类可以生产一系列相关的产品。建造者(Builder)模式:将一个复杂对象分解成多个相对

2021-02-25 09:21:27 181

转载 装饰者模式

装饰者模式介绍意图:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰器模式相比生成子类更为灵活。主要解决:一般的,我们为了扩展一个类经常使用继承方式实现,由于继承为类引入静态特征,并且随着扩展功能的增多,子类会很膨胀。何时使用:在不想增加很多子类的情况下扩展类。如何解决:将具体功能职责划分,同时继承装饰者模式。优点:装饰类和被装饰类可以独立发展,不会相互耦合,装饰模式是继承的一个替代模式,装饰模式可以动态扩展一个实现类的功能。缺点:多层装饰比较复杂。使用场景: 1、扩展一个类的功能。

2021-02-23 17:02:13 82

转载 适配器模式

适配器模式介绍意图:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。主要解决:主要解决在软件系统中,常常要将一些"现存的对象"放到新的环境中,而新环境要求的接口是现对象不能满足的。何时使用: 1、系统需要使用现有的类,而此类的接口不符合系统的需要。 2、想要建立一个可以重复使用的类,用于与一些彼此之间没有太大关联的一些类,包括一些可能在将来引进的类一起工作,这些源类不一定有一致的接口。 3、通过接口转换,将一个类插入另一个类系中。(比如

2021-02-22 16:09:13 108

转载 代理模式

代理模式介绍意图:为其他对象提供一种代理以控制对这个对象的访问。主要解决:在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用者或者系统结构带来很多麻烦,我们可以在访问此对象时加上一个对此对象的访问层。何时使用:想在访问一个类时做一些控制。如何解决:增加中间层。优点: 1、职责清晰。 2、高扩展性。 3、智能化。缺点: 1、由于在客户端和真实主题之间增加了

2021-02-22 11:56:09 74

转载 单例模式

单例模式介绍意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。主要解决:一个全局使用的类频繁地创建与销毁。何时使用:当您想控制实例数目,节省系统资源的时候。如何解决:判断系统是否已经有这个单例,如果有则返回,如果没有则创建。优点:1、在内存里只有一个实例,减少了内存的开销,尤其是频繁的创建和销毁实例(比如管理学院首页页面缓存)。2、避免对资源的多重占用(比如写文件操作)。缺点:没有接口,不能继承,与单一职责原则冲突,一个类应该只关心内部逻辑,而不关心外面怎么样来实例化。使用场景

2021-02-19 16:21:34 84

原创 MAVEN的安装,配置与IDEA整合

MAVEN的安装,配置与IDEA整合去http://maven.apache.org/download.cgi下载你需要的Maven版本.下载好以后,解压安装到一个目录,我的目录为 D:\Develop\apache-maven-3.5.2.接着配置Maven环境:右键单击"此电脑"-属性-高级系统设置-高级-环境变量…-新建…新建系统变量MAVEN_HOME为你解压的目录 D:\Develop\apache-maven-3.5.2 ,如下图新建MAVEN_HOME变量:找到变量名为Path

2021-02-04 10:20:08 149 4

原创 idea更改git地址

idea项目更改git地址第一步:idea打开项目,菜单栏找VCS - Git - Remotes第二步:点进去,弹出对话框,选中你要更改的模块,点击编辑第三步:弹出编辑框,更改地址,点击ok第四步:弹出输入账号密码编辑框,输入自己的账号密码,点击确认第五步:更新代码问题解决如果第三步之后出现以下情况:这里可能是access key出了问题,我也没去深究,希望知道的大佬在评论去详解以下,感谢解决方法:把ssh的URL换成HTTP的URL...

2021-01-11 11:57:25 15230 2

转载 springboot项目javax.validation使用

springboot项目javax.validation使用本文转载自Terry的《springboot项目javax.validation使用》javax.validation 是基于JSR-303标准开发出来的,使用注解方式实现,及其方便,但是这只是一个接口,没有具体实现。Hibernate-Validator是一个hibernate独立的包,可以直接引用,他实现了javax.validation同时有做了扩展,比较强大。SpringBoot在内部集成了hibernate-validation,可以

2020-12-22 15:55:01 1197

原创 Java面试题(二)

Java面试题(集合专题)一、 Java集合体系有什么?集合类存放于 Java.util 包中,主要有 3 种:set(集)、list(列表包含 Queue)和 map(映射)。Collection:Collection 是集合 List、Set、Queue 的最基本的接口。Iterator:迭代器,可以通过迭代器遍历集合中的数据。Map:是映射表的基础接口。1. Iterator接口Iterator接口是一个用于遍历集合中元素的接口,主要包含hashNext(),next(),rem

2020-12-22 15:40:53 92

转载 LINUX 查看日志

LINUX 查看日志转载于bigdashan《LINUX 查看日志》1. 查看日志常用命令tail: -n 是显示行号;相当于nl命令;例子如下: tail -100f test.log 实时监控100行日志 tail -n 10 test.log 查询日志尾部最后10行的日志; tail -n +10 test.log 查询10行之后的所有日志;head: 跟tail是相反的,tail是看后多少行日志;例子如下: head

2020-12-22 10:00:11 186

转载 Swagger 学习资料

转载自guanjunhere《Swagger Annotations》并稍作修改以下是swagger-anntations-1.5.20.jar中的所有类(注解)@Api 标记一个类为Swagger资源(开放的API)通过description来描述其功能。如:@Api(value = “restful”, description = “关于Restful接口文档注释”)@ApiOperation 描述HTTP 方法类型对应的一个操作 CRUD,value和notes来描述其功能 如:@ApiOpe

2020-12-21 20:24:03 287

原创 Java面试题(一)

Java面试题(Java基础)一、重载和重写的区别重载: 发生在同一个类中,方法名必须相同,参数类型不同,个数不同,顺序不同,方法返回值和访问修饰符可以不同,发生在编译时。重写: 发生在父子类中,方法名,参数列表必须相同,返回值范围小于等于父类,抛出的异常范围小于等于父类,访问修饰符范围大于等于父类;如果父类方法访问修饰符为 private 则子类就不能重写该方法。二、String和StringBuffer,StringBuilder 的区别是什么?String 为什么是不可变的?可变性简单的

2020-12-18 16:50:40 98 1

转载 RESTful 学习笔记

转载自:阮一峰博客《RESTful API 最佳实践》并稍作修改RESTful 是一种 API 设计规范,用于 Web 数据接口的设计。一、URL 设计1.1 动词 + 宾语RESTful 的核心思想就是,客户端发出的数据操作指令都是"动词 + 宾语"的结构。比如,GET /articles这个命令,GET是动词,/articles是宾语。动词通常就是五种 HTTP 方法,对应 CRUD 操作。(本人在实际代码中只看到过GET读取,POST新建,PUT更新,DELETE删除)GET:读取(Re

2020-12-18 11:09:15 123

空空如也

空空如也

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

TA关注的人

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