自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JWT(auth0):RS256非对称加密算法实现Token的签发、验证

前言 日常开发中,客户端与服务器通常采用HTTP协议进行通信,但HTTP是没有状态的,无法记录用户的身份信息和行为。 会话跟踪技术是一种在客户端与服务器间保持HTTP状态的解决方案,我们所熟知的有Cookie + Session、URL重写、Token等。 Cookie在浏览器保存SessionID、Session实际内容保存在服务端,目前的项目都是前后端分离 + 微服务,所以会面临Session共享问题,随着用户量的增多,开销就会越大。URL重写又是通过明文传输,不安全容易被劫持。 Toke.

2021-05-31 11:47:03 6365 3

翻译 【SpringMVC官方文档—翻译】Web on Servlet Stack——1. Spring Web MVC

一位英语渣渣的随手翻译,若翻译不对的地方,请对照 官网 查看。Version 5.3.7该文档部分涵盖了基于Servlet API构建,并部署到Servlet容器中的Servlet-stack web应用的支持。单体章节包括Spring MVC,View Technologies,CORS Support和WebSocket Support。对于reactive-stack web应用,请看 Web on Reactive Stack。1、 Spring Web MVCSpring Web MV

2021-05-14 16:41:30 361

原创 Junit测试多线程与Shutting down ExecutorService ‘applicationTaskExecutor‘

 先上图:想测个多线程任务,于是在ApplicationTests里写了个测试方法,但是只看到任务刚跑起来的日志,之后就啥动静也没了,最后只能看到这条信息。查了半天全是复制粘贴的帖子,叫我在pom.xml里添加resource配置:可能有些问题能通过该种方法解决最后询问大佬了解发现是Junit的问题,它会在主线程结束后调用相关的System.exit()方法,将JVM关闭,所以,子线程被动挂了。目前已知的解决方案:1、不要再Junit下测试多线程问题2、听说可以运行Callab

2021-05-08 11:56:43 2560

原创 Maven父子模块,POM继承问题:Could not find artifact xxxxxx

今天重构之前的一个单体项目,想鸟枪换大炮,直接上SpringCloud。刚改完一些依赖冲突,想mvn clean一下。[ERROR] [ERROR] Some problems were encountered while processing the POMs:[FATAL] Non-resolvable parent POM for com.beetle:huanghua-mail:0.0.1-SNAPSHOT: Could not find artifact com.beetle:hangh

2021-04-22 19:20:36 3803

原创 装饰者模式、代理模式与AOP

前言Spring全家桶是当下Java开发中最锋利的一柄剑,IOC思想的产生大大降低了代码内的耦合。IOC被称为控制反转,最具有代表性的实现方式是DI(依赖注入),但我们今天不讲IOC(︿( ̄︶ ̄)︿我海王阿浪就是要闪断在座各位的腰),想了解IOC原理的可以翻翻我其它文章。AOP(面向切面编程)是Spring核心思想之一,常用于日志管理、事务控制(取代Filter)、权限验证等。我们知道传统OOP面向对象编程,方法的调用方式都是垂直调用,会产生大量的冗余。而AOP主要为了将通用功能分离,使多个类共享。由此

2020-08-26 09:26:40 517

原创 InnoDB下SQL执行底层原理和redolog、binlog

前言日常开发过程中,总是免不了要与数据库打交道。MySQL 在使用率和性价比上都是值得称道的,尤其默认引擎更新为InnoDB后,MySQL 迎来了一次质的飞跃。虽然阿浪天天 CURD,但其实也有一颗想拳打 DBA 的心,教教他们为啥花儿那样红!(DBA:索引建的那么烂,还想拳打我)1、InnoDB 简介1.1、Who is MyISAM?MyISAM 是 InnoDB 的前任,在 MySQL 5.1 版本以前存储引擎默认都是使用 MyISAM。其提供高速存储和检索、以及全文搜索能力。简单了解即可

2020-08-15 12:52:42 305

原创 阿浪与佩奇在Java遇到的muddy puddles

  由于阿浪技术太菜,Java基础不牢,总是写出Bug被人嘲笑。于是下定决心奋发图强,在犄角旮旯里翻出大学时压箱底的神书《Thinking in Java》一番恶补!!!父子关系下的This和Super,及对象加载时的动态绑定...

2020-08-11 12:52:54 388

原创 【无法科学上网前提下】chrome无法拖拽安装插件

1、消失的一键拖拽时代自从chrome更新升级之后,google对于插件的管理更加严格,对于有梯子的用户可直接通过Chrome应用商店下载安装插件,然而对于只能肉身翻墙的用户,离线插件的安装则需要些小技巧。2、crx转zip的解压安装从网上下载crx格式的插件文件,对其修改后缀为zip并进行解压。以SwitchyOmega为例:进入chrome的扩展程序管理页面,加载已解...

2020-07-06 08:30:12 2828 2

原创 走进Docker————这容器,真香~

  听说Docker已久,可一直没有了解过,但最近看各家的招聘JD,大部分都需要项目部署到Docker的经验。我就在想这到底是个什么牛X哄哄的技术“一处部署,四处移植“,难道有我宇宙无敌HotSpot VM强吗?(哎,错误的以为它俩是一个物种的)JVM:我走到哪,哪就有Java!!!Docker:我有Java、Python、PHP、Redis…哦,还有Linux各种发行版JVM:wow~ ⊙...

2020-04-21 12:15:46 269

原创 GitHub小技巧

一、搜索篇  当我们日常使用搜索引擎的时候,多根据关键词搜索。但GitHub只使用关键词效率又太低,所以一些搜索小技巧就诞生了。可以结合网站内特定的量化字段加以搜索:1、仓库名称//仓库名称中包含你搜索的文本in:name 关键词2、仓库描述仓库描述中包含你搜索的文本in:description 关键词3、Readme文件//readme文件中包含你搜索...

2020-04-11 16:59:22 247

原创 走进Java————无处不在的反射机制(Java金手指)

  反射机制听上去就很高大上的样子,而且日常开发过程中,也没有遇到直接使用得地方,所以感觉反射机制离我们好远,有种无从下手的感觉。  其实不然,反射机制一直在我们身边,如JDBC、Spring、Mybatis等都用到了反射机制。反射机制是什么?  可以在运行时检查类、接口、方法和变量等信息,无需知道类的名字,方法名等。还可以在运行时实例化新对象,调用方法以及设置和获取变量值。  代码示例...

2020-03-15 23:09:08 153

原创 探索HTTP————Java Web的会话跟踪

Cookie向客户端发送Cookie:Cookie c =new Cookie("name","value"); //创建Cookie c.setMaxAge(60*60*24); //设置最大时效,此处设置的最大时效为一天response.addCookie(c); //把Cookie放入到HTTP响应中从客户端读取Cookie:String name ="name"; Cook...

2020-03-15 10:05:24 223

转载 微服务————RPC远程调用

【转载】:https://blog.youkuaiyun.com/haponchang/article/details/93468031RPC 调用框架的三个部分一个完整的 RPC 调用框架包含三个部分:通信框架。它主要解决客户端和服务端如何建立连接、管理连接以及服务端如何处理请求的问题。通信协议。它主要解决客户端和服务端采用哪种数据传输协议的问题。序列化和反序列化。它主要解决客户端和服务端采用哪...

2020-03-12 22:13:13 991

转载 Pool技术————线程池、连接池、内存池的基础原理

【转载】:https://blog.youkuaiyun.com/Fly_as_tadpole/article/details/81053630一、池化技术 - 简单点来说,就是提前保存大量的资源,以备不时之需。对于线程,内存,oracle的连接对象等等,这些都是资源,程序中当你创建一个线程或者在堆上申请一块内存时,都涉及到很多系统调用,也是非常消耗CPU的,如果你的程序需要很多类似的...

2020-03-12 16:14:51 651

原创 数据库连接池————Druid的快速开发

1、什么是数据库连接池?  传统的数据库使用是打开一个连接,进行一次库内操作,然后关闭连接释放资源。而连接池可以看成是一个保存连接的容器,为数据库连接建立了一个“缓冲池”。预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出,使用完毕之后再放回去。2、为什么使用数据库连接池?  由于传统数据库连接的频繁打开连接和关闭连接对数据库有一定的资源负荷,建立数据库连接耗时...

2020-03-12 15:40:41 651

原创 揭秘Spring————思想与本质

Spring的本质是一个bean工厂(beanFactory)或者说bean容器;依赖注入是beanFactory生产bean时为了解决bean之间的依赖的一种技术;在没有beanFactory之前,都是直接通过new来实例化各种对象,现在各种对象bean的生产都是通过beanFactory来实例化的,Spring就可以在实例化bean时在进行额外的操作。beanFactory...

2020-03-11 14:28:24 457

转载 探索HTTP————request和response对象

转载自:https://blog.youkuaiyun.com/xf616510229/article/details/53483472 什么是request和responserequest对象是服务器对浏览器请求的封装,而response是服务器对服务器响应的封装。 request用来取出请求信息,而response则用来添加要返回给浏览器的信息。使用response对象设置http响应协议中的...

2020-03-10 22:39:49 373

原创 探索HTTP————Get和Post请求方法的差异

  Get和Post都属于HTTP的基本请求方法。从常规的组成结构分析:方式参数特点Get放置在URL中的querystring里可对其数据进行缓存Post放置在 request body中数据更隐秘安全  网上对于Get和Post的区别可以归为下列几点:1、Get在浏览器回退时是无害的,Post会再次提交请求。2、Get产生的URL地址可以被Bo...

2020-03-10 21:46:40 225

原创 走进Java————学习随笔

IllegalArgumentException详解:  表示不合法的参数异常,多用于对参数的判断。 public static String setInfo(String name,String describe){ if (name == null) //不允许参数为空,否则就抛出异常 throw new IllegalArgumentExc...

2020-03-07 23:05:46 248

原创 Spring生态————SpringBoot的搭建、整合、探索

一、SpringBoot是什么  由于Spring Fragment的配置越来越复杂,为减轻开发和维护成本,Spring Boot这种轻量级框架越来越成为主流。SpringBoot摆脱了繁杂的XML配置,通过注解的形式构建项目,且拥有内置的tomcat。  Maven配置SpringBoot依赖,通过继承spring-boot-starter-parent项目来获得一些默认配置,并定义了对其他...

2020-03-06 22:18:43 418

原创 Spring生态————学习SpringMVC随笔

一、@MapperScan 和 @ComponentScan 区别1、@ComponentScan是组件扫描注解,用来扫描@Controller @Service @Repository这类,主要就是定义扫描的路径从中找出标志了需要装配的类到Spring容器中2、@MapperScan 是扫描mapper类的注解,就不用在每个mapper类上加@MapperScan了3、两者可以同时使...

2020-03-06 10:58:25 204

原创 走进MySQL————mysql从入门到入土

一、DOS下的MySQL常见命令1、进入mysql管理系统mysql 【-hIP地址 -P端口号】 -u用户名 -p密码 2、查看当前所有数据库show databases; 3、进入指定库use 库名; 4、查看当前所属库select database(); 5、查看当前库所有表show tables; 6、查看表结构desc 表明;...

2020-02-29 10:40:03 214

原创 详解XML————数据传输的秘密

XML: 可扩展标记语言;    作用:传输和存储数据。HTML: 超文本标记语言;   作用:显示数据结构XML和HTML语言结构很像,但二者并无太多联系。...

2020-02-04 22:18:16 193

原创 走进JVM————初识内存管理

待续

2020-01-30 12:29:50 254

原创 走进Java————override和overload傻傻分不清

一、override(重写)二、overload(重载)

2020-01-06 22:42:31 234

原创 图论————最小生成树(prim、kruskal)

  生成树属于无向图问题,其结构特点为由 n 个顶点和 n-1 条边组成的无回路的图。最小生成树的特性1、最小生成树不一定唯一,权值之和总唯一2、最小生成树的边数比顶点数少最小生成树的特例1、G中各边权值互不相等2、G本身就是一棵树Prim算法[ O(n2) ]  prim算法的操作核心是根据顶点进行构造生成树,为了便于记忆我自己称它为点权法。算法思想:1、从图中...

2020-01-03 22:50:37 986

原创 走进Java————static全家桶(静态变量、静态方法、代码块)

  初次接触Java的时候,对于各种修饰符总是分不清,static怎么记怎么忘,今天就好好探讨探讨static的秘密。一、静态变量  static所修饰的变量属于类变量,它不属于任何一个类的具体对象。静态变量对每个类来说都只有一份存储空间,普通变量则对每个对象都有一个存储空间。其实质可以理解为对于类的任何对象来说,静态变量只有一个公共的存储单元。任何一个类的对象访问它时,取到的都是相同的数值...

2020-01-01 22:36:37 275

原创 版本控制之————玩转Git

创建仓库

2019-12-30 10:32:18 321

原创 《Java史》————家有Java初长成

性能       面向对象:易维护、易复用、易扩展;       面向过程:资源开销小,性能比面向对象强;宏观:面向对象对类的调用需要实例化,开销比较大;微观:面向对象(Java)---->编译----->字节码----...

2019-12-02 17:13:22 156

原创 较实用却不常用的DOS命令

1、笔记本电池耗损详情以管理员身份运行命令提示框,键入powercfg /batteryreport /output "C:\battery_report.html" 系统就会在C盘生成一个battery_report的html文件。2、电脑基础硬件信息打开命令提示框,键入 dxdiag。系统会自动进行硬件信息的扫描和故障检测。...

2019-07-26 11:22:39 198

原创 【leetcode】 反转链表

反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?递归:/** * Definition for singly-linked list. * struct ListNode {...

2018-10-03 23:28:48 124

转载 java九大内置对象

JSP中一共预先定义了9个这样的对象,分别为:request、response、session、application、out、pagecontext、config、page、exception1、request对象request 对象是 javax.servlet.httpServletRequest类型的对象。 该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服

2016-08-02 20:43:27 310

空空如也

空空如也

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

TA关注的人

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