自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

青学博客

写写记记,记记写写,做乜都唔重要,做人最紧要系开心

  • 博客(24)
  • 资源 (8)
  • 收藏
  • 关注

原创 Spring使用设计模式优化你的代码-策略设计模式

使用设计模式优化你的代码

2021-12-17 09:48:42 346

原创 Typora集成PicGo-Core,实现自动上传图片配置,文件以时间戳命名,都能看懂的操作操作流程

Typora是一个非常优秀的markdown文本编辑器,但是因为markdown上传图片默认都是在本地的,如果想把文件拷贝到其他地方或者分享给别人的时候会显示不出图片,这一点是真的非常不友好。如果想在其他地方也能够打开,那么图片只能使用URL连接的方式分享了,但是在写文章的时候,每张图片要去去制作一个URL连接也是非常不友好,所以这时候我们就需要使用PicGo或者是用PicGo-Core帮助我们去生成图片连接了

2021-12-16 14:57:38 11765

原创 Junit5+extentreports生成测试报告

1、依赖导入网上大部分文章是讲Testng+extentreports生成测试报告的,extentreports官网给出的案例也是使用Testng的案例,所以整理下来自己的使用心得,同时s使用的是最新的Junit5。本来主要是讲Junit5+extentreports的整合,不会讲解太多的Junit5标签,如果要学习Junit5的新特性,可以参考这位博主的入门文章在 Maven 工程里引入 JUnit 5 的依赖包,需注意的是当前JDK 环境要在 Java 8 以上。<dependency&g

2020-11-18 00:21:05 1592

原创 基于Servlet 3实现请求隔离

基于Servlet 3实现请求隔离1、理解为什么实现请求异步化?在使用一种技术的时候,我们一定要会评估过为什么要这样使用它。首先我们先来了解下Tomcat的请求流程,Tomcat在收到HTTP请求后会按照如下流程出来请求。1、容器负责接收并解析请求为HttpServletRequest。2、然后交给Servlet进行业务处理。3、最后通过HttpServletResponse写出响应。在Servlet2.x规范中,所有的请求都是同步处理的,也就是说必须在同一个线程中完成从接收请求、业务处理和生

2020-09-23 11:46:00 571

原创 OpenResty-Lua基础

1、Lua简介因为项目使用开发使用接触到了lua进行开发。所以在学习中进行了整理记录。参考手册:https://www.runoob.com/manual/lua53doc/contents.html#contentsLua是一种很轻量级的的脚本语言,用标准C语言编写的并以源代码形式开放,其设计的目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。为什么使用Lua?Lua很重要的一个功能就是很方便的集成到应用程序内,lua可以直接在运行程序内运行,可以理解为不需要编译过程。比如使用

2020-09-18 15:59:50 821

原创 数字证书相关的知识点

最近公司的项目需要使用到设备证书,之前也没有接触过。最近学习了一把,然后把一些学习内容总结下来。一、定义和缩写1、CA(Certificate Authority)电子认证服务机构的简称。CA是网络身份认证的管理机构,是网上安全电子交易中具有权威和公证性的可信懒的第三方机构。CA为电子事务的各参与方签发标识其身份的数字证书,并对数字证书进行更新、撤销等一系列管理。CA分为公有的CA和私有的CA公有CA:公开的CA,一个知名的,可达的,全局(互联网),受信任的证书服务器,由一些专业的公司进行操作与维

2020-05-30 21:44:41 13775 1

原创 OpenSsl客户端生成证书请求,秘钥对的方法

OpenSsl客户端生成证书请求,秘钥对的方法1、创建私钥openssl genrsa -out private.pem 2048密钥长度,20482、创建公钥openssl rsa -in private.pem -pubout -out public.pem3、创建证书请求openssl req -new -key private.pem -config myServer.cnf -out certReq.csr 使用私钥生成一个证书请求certReq.csr,证书请求是用来

2020-05-30 18:41:05 1747

原创 gitlab+maven+spingboot+jenkin实现自动化部署

文章目录1 安装Gitlab-CE1.1 安装并配置必要的依赖关系1.2 安装邮件服务1.3 添加GitLab包存储库2 基础配置2.1 打开配置文件2.2 配置访问地址和端口2.3 编译gitlab的配置2.4 Gitlab的管理命令3 浏览主机名并登录4 web端口配置4.1 设置NGINX侦听端口5 配置smtp邮件发送5.1 配置参数5.2 配置示列QQ exmail(腾讯企业邮箱)5....

2019-08-05 01:27:47 4281

原创 基于docker实现mysq主从同步热备份和读写分离(下)

目录1. 读写分离的实现形式2. 项目源码1、读写分离的实现形式1.1、mysql-proxy方式实现优点:实现简单,在独立的机器安装mysql-proxy,直接实现读写分离和负载均衡,不用项目修改代码,支持多语言。通过mysql-proxy去访问master和slave。缺点:字符集问题,lua语言编程,还只是alpha版本, 由中间件做了中转代理, 切换数据库变得困难,性能有所下...

2019-02-18 15:54:42 479 1

原创 基于docker实现mysq主从同步热备份和读写分离(上)

#目录1. 什么是主从同步热备2. 主从同步机制3. 配置主服务器(master)4. 配置从服务器(slave)5. 排错6. 其他注意事宜1、什么是主从同步热备主从同步热备就是实时从一个数据库将表结构和表数据复制到其他数据库的过程。一般主服务器,我们称作master,其余的从服务器,我们称作save。复制是异步进行的,所以从服务需要一直连接着主服务器。 通过配置文件,可以指定...

2018-12-28 11:02:39 807 1

原创 谈谈Oauth2授权框架,token派发流程以及源码解析

一、本文解决的问题在使用Oauth2,登陆授权框架使用的是Oauth2+Sping Security+jwt遇到了很多莫名奇妙的问题。因为套框架底层封装了很多东西,所以在操作的时候很多操作框架帮我们做了。我也莫名奇妙的根着框架做,最后连个认证流程都没搞清楚。所以在这里主要为了总结下之前的疑惑做个小笔记。下面先把我遇到的问题列出来,然后再慢慢说解决,所有东西都是自己在项目打断点和自己的理解总结出...

2018-12-08 23:09:25 6979 3

原创 9、并发编程基础-高性能的生产者-消费者框架(Disruptor)

目录1. 为什么要不选择BlockigQueue做生产者消费者缓存队列。 2. Disruptor的优势 3. 认识RingBuffer 4. 术语说明 5. 开发示例 6. 提高消费者的响应时间1、为什么要不选择BlockigQueue做生产者消费者缓存队列。BlockigQueue用于实现生产者和消费者是一个很不错的选择。它可以很方便的实现生产者和消费者之间...

2018-07-12 00:25:04 2095 3

原创 8、并发基础-concurrent.locks锁机制

目录:1. ReentrantLock(重入锁) 2. 重入锁,使用Condition类,实现锁于等待/通知 3. ReentrantReadWriteLock(读写锁)在java多线程种,我们知道可以使用synchronized关键字来实现线程间的同步互斥工作,那么其实还有一个更优秀的机制完成这个“同步互斥”工作,他就是Lock对象,它主要有两种锁,重入锁和读写锁。她们具有比sy...

2018-07-08 16:15:16 402

原创 7、并发编程基础-Concurrent.util常用类

目录CyclicBarrier的使用1、CyclicBarrier的使用场景还原:每个线程线程代表一个跑步运动员,当运动员都准备好后,才一起除非,只要有一个人没有准备好,大家都等待。这个种情况如何使代码实现呢?这种情况就需要用到CyclicBarrier了,它可以把程序阻塞在一个地方进行等待,指定需要执行的任务达到CyclicBarrier设置的值,此时CyclicBarrie...

2018-07-07 22:19:01 706

原创 6、并发编程基础-深入理解Excecutors执行器和线程池

1、认识Excecutors执行器Executor框架是指java 1.5中引入的一系列并发核心包,在在java.util.concurrent包中。其中并发包,Executor,Executors,ExecutorService,CompletionService,Future,Callable等,他们的关系为其中在并发包中有一个比较重要的类:Executors,他扮演线程工厂的角色...

2018-07-07 18:59:33 599

原创 5、并发编程基础-多线程设计模式

并行设计模式属于设计优化的一部分,它是对一些常用的多线程结果的总结和抽象。与串行程序相比,并行程序的结构通常更为复杂。因此合理的使用并行模式在多线程开发中更具有意义,在这里主要介绍Future、Master-Worker和生产者-消费者模型。1、Future设计模式(异步操作原理)Future模式有点类似于商品订单。比如在网够时,当我们看到某一件商品时,就可以提交订单,当订单处理完成后,在...

2018-07-07 15:48:10 383

原创 4、并发编程基础-同步类容器和并发类容器

1、同步类容器同步类容器都是线程安全的,但是在某些场景下可能需要加锁来保护复合操作。复合操作如:迭代(反复访问元素,变量容器中所有的元素)、跳转(根据指定的顺序找到当前元素的下一个元素)、以及条件运算。这些复合操作在多线程并发地修改容器时,可能会表现出意外的行为,最经典的便是ConcurrentModificationException,原因就是当容器迭代的过程中,被并发的修改了内容,这是由于...

2018-07-07 01:38:45 311

原创 3、并发编程基础-ThreadLocal 和 单例多线程

1、TheadLocalThreadLocal概念:线程局部变量,是一种多线程间并发访问变量的解决方案。与其synchronized等加锁的方法不同,ThreadLocal完全不提供加锁,而使用空间换时间的手段,为每个线程提供变量的独立副本,以保证线程安全。 从性能上说,ThreadLocal不惧有绝对的优势,在并发很高的时候,加锁的性能会更好,但作为一套与锁完成无关的线程安全解决方案...

2018-07-07 00:58:26 229

原创 2、并发编程基础-线程之间通信和实现简单Queue

1、线程之间的通信线程通信概念:线程是操作系统中独立的个体,但这些个体如果不是经过特殊的处理就不能成功一个整体,线程间的通信就是成为整体的必用方式之一。当线程存在通信指挥,系统间的交互就会更强大,在提高cpu利用率的同时还会使开发人员对线程任务在处理的过程中进行有效的把控与监督。使用 wait / notify 方法实现线程间的通信。(注意这两个方法都是object的类的方法,所以java...

2018-07-07 00:29:42 209

原创 1、并发编程基础-基础知识点

1、线程安全线程安全概念:当多个线程访问某一个类(对象或者方法)时,这个类始终都能够表现出正确的行为,那么这个类(对象或者方法)就是线程安全。synchronized:可以在任意对象及方法上加锁,而加锁的这段代码称为“互斥区”或者“临界区”当多个线程访问myThread的run方法时,以排队的方式进行处理(这里排队是按照cpu分配的先后顺序而定),一个线程想 要执行syncheoni...

2018-06-22 22:23:35 193

原创 4、为什么使用docker?之Docker建立远程连接

在开发的时候,我们进程需要用到docker。但很多时候我们用的是window作为开发平台,虽然Docker也有window版本的。但window的DockerToolbox是一款不是很成熟的产品,有很多小伙伴想安装docker都会安装失败,但开发中我们又想用那docker。那么怎么办呢? 其实我们可以使用远程连接来解决。首先我们要明白DockerToolbox的原理其实也是安装在Oracle...

2018-06-16 02:19:39 1249

原创 3、为什么使用docker?之docker常用命令

Title: Here is a titleA-&amp;amp;amp;amp;amp;amp;amp;amp;gt;B: Normal lineB--&amp;amp;amp;amp;amp;amp;amp;amp;gt;C: Dashed lineC-&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;gt;D: Open arrowD--&amp;amp;amp;am

2018-06-04 22:23:20 348

原创 2、为什么使用docker?之docker安装和使用

首先,要使用docker嘛,docker是人家的东西,所以我们肯定要对他进行下载安装啦。 在liunx上安装Docker,要求操作系统是64位操作系统。并且内核版本需要3.10以上,如果是CentOS,则使用CentOS 7.0可符合要求。我使用的是ubuntu系统,所以这里也使用ubuntu来讲解。一、Docker 安装1、查看系统内核1)、查看系统内核sudo cat...

2018-06-03 02:28:24 5673 1

原创 1、为什么使用docker?之docker简介

使用Docker可以很方便的创建和管理镜像,以及管理已经生成的和正在运行的容器。那么为什么使用镜像和容器呢?镜像是一种文件存储方式,可以把许多文件(如:一个jar包或多个jar)做成一个镜像文件。例如可以把一个操作系统做成一个GHOST镜像,我们在其他地方用到的时候,只需要把这个镜像拷贝过去,然后就可以用来重装操作系统了。是不是很方便呢?我只需要制作一个镜像,就可以在多个地方去使用啦。好了回到我们...

2018-06-02 01:49:11 5540 4

findsecbugs-cli-1.11.0.zip

Find-Sec-Bugs 静态代码安全审计神器,用于检测java代码安全漏洞。允许开发人员在项目开发上线前进行自检并及时更正,避免上线后的修复流程。可以手动更新规则,提高准确率

2020-11-12

vsftpd.docx

vsftpd的搭建和使用。使用了虚拟账号和同时给每个用户分配自己的工作目录。方便大家快速搭建自己的ftp。

2020-05-30

jdk-8u91-linux-x64.tar.gz

jdk-8u91-linux-x64.tar.gz。这是liunx版本的,欢迎下载。

2019-08-01

StarUML3.rar完美破解版

StarUML3是完美破解版本,软件解压即可使用,不需要再进行任何代码修改操作。

2019-07-09

SecureCRT_8.3.2_x64_EN.rar

SecureCRT和SecureFX_8.3.0安装包,包含注册机,超级方便好用。

2019-07-09

Sping Boot实践

最全的Sprong boot开发文档。特别合适新手参考和学习。

2018-06-22

实践java高并发编程

系统的讲解了java高并发的实现,建立高可用的应用程序。

2018-06-22

docker入门到精通

docker从入门到精通,从0到1的讲解到docker的应用,docker各个指令的用法,docker-compose,Kubernetes等。适用于具备基础 Linux 知识的 Docker 初学者,也希望可供理解原理和实现的高级用户参考。物有所值,值得你拥有来学习,做参考手册。

2018-06-06

空空如也

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

TA关注的人

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