- 博客(20)
- 收藏
- 关注
原创 jenkins结合maven及GIT自动部署
jenkins是一款非常流行的自动部署工具,它能够帮助程序员消灭重复繁琐的上线准备工作,可以达到一键上线的目的。一.安装jenkins前往官网下载jenkins的安装包,根据你的实际需求选择安装包的类型,本文就直接下载war包运行。下载地址:https://www.jenkins.io/download/jenkins的war包不需要容器即可直接运行,执行以下命令后台运行jenkins,httpPort参数用于指定端口,如不使用该参数运行,则jenkins默认监听8080端口nohup
2020-09-27 16:59:30
697
1
原创 Netty4使用指南(三) 流量控制
Netty4使用指南(三) 流量控制概述在实际生活中我们可能会因为某些原因需要控制服务端的读写速率,根据业务需求对不同的用户提供不同的下载速度,Netty本身也提供了高低水位和流量整形,两种方式来控制流量。高低水位netty中的高低水位机制会在发送缓冲区的数据超过高水位时触发channelWritabilityChanged事件同时将channel的写状态设置为false,但是这个写状态只是程序层面的状态,程序还是可以继续写入数据。所以使用这个机制时需要自行判断是否可写,并做相应的处理。流
2020-06-07 11:17:50
5593
原创 定时任务----时间轮算法
定时任务----时间轮算法背景在实际的业务场景中,我们常常需要周期性执行一些任务,比如巡查系统资源,处理过期数据等等。这些事情如果人工去执行的话,无疑是对人力资源的浪费。因此我们就开发出了定时任务。目前业界已有许多出色的定时任务框架,如quartz,elastic-job,包括SpringBoot也提供了定时任务,当然JDK本身也提供了定时任务功能。那么我们在用这些框架的时候,有没有想过它们...
2020-04-15 18:41:24
968
原创 SpringSecurity使用指南(一)自定义JWT认证流程
SpringSecurity是一个非常强大的安全验证框架,它通过一个过滤器链完成了对资源的访问控制。security框架本身提供了多种验证方式,如OA,Session等,但是有些情况下还是无法满足用户的需求,故此security框架也有非常大的扩展性,它允许用户自定义认证流程,下面我们就结合security实现一个jwt认证流程。拦截登录请求security框架中通过UsernamePassw...
2020-03-19 18:01:02
1064
原创 利用JMX技术监控tomcat
JMX(Java Management Extensions)是一个为应用程序植入管理功能的框架。JMX是一套标准的代理和服务, 实际上,用户可以在任何Java应用程序中使用这些代理和服务实现管理。主要用于对JAVA应用程序和JVM进行监控和管理。JMX架构JMX可分为监控层,代理层,管理层三层结构。监控层监控层主要通过MBean来收集管理我们所需要的监控数据。一个MBean对应一类数据。...
2019-12-19 18:38:20
484
原创 Netty4使用指南(二) 粘包拆包
简介TCP编程都会出现粘包和拆包的问题,粘包就是多个小的数据包被整合到一个数据包中进行发送,接收方只接受了一次消息,但实际上得到的是多个消息数据。拆包则是一个大的数据包被拆分成多个小的数据包发送,接收方接收了多次,但实际上是一个消息数据。之所以出现这样的情况,是因为TCP是一个底层协议,以流的形式发送数据,根据底层缓冲区的大小进行包的划分,不会考虑上层应用的业务数据的实际含义。解决策略由于粘...
2019-12-16 15:03:24
183
原创 Netty4使用指南(一) 基本篇
Netty是基于NIO的一种高性能通信框架,它支持多种协议如http、https、websocket,预置了多种编解码协议,避免了java原生NIO的一些bug如空轮询问题等。并且由于它的API使用简单,开发门槛低,所以netty是目前主流的NIO框架。Reactor模型要了解Netty的线程模型,我们首先要对Reactor线程模型有所了解,因为netty模型正是基于它的一个实现,所谓Reac...
2019-12-06 14:11:07
548
原创 Java Nio基础
NIo(Non-Block IO)是java1.4以后提供的API,它是一个异步,面向缓冲区的IO,遵循React线程模型。NIO与BIO的区别NIO是异步的,非阻塞的。NIO在进行读操作时,如果当前没有可读数据,则不会堵塞在这里,而是继续向下执行,进行写操作时也不会等待数据全部写入,而是可以继续执行。BIO即我们以前使用的IO流,它是一个同步阻塞的IO流。它在进行读操作时,必须读取到有效...
2019-12-02 10:59:22
98
原创 WebService的基本概念及使用
WebService是一种遵循soap协议进行通信的远程调用技术。它具有跨平台,低耦合的特点。概念SOAP协议即(Simple Object Access Protocol)简单对象访问协议,它是一种基于xml的通信协议,用于描述信息的格式。WSDL即(Web Services Description Language)web服务描述语言,它用于描述webservice的具体形式,如通信协...
2019-11-19 19:16:58
230
原创 linux环境搭建和项目部署
简介:Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。linux的优点linux是多用户,多进程操作系统,而windows是单用户伪多用户系统。linux是免费开源系统,开发者可以根据自身需求定制系统,剪裁不必要的系统模块。linux可以不需要图形化界面,大大节省了内存资源。li...
2019-11-09 18:00:38
149
原创 HTTPS
https是一种安全为目的的http通道,在http的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS 主要由两部分组成:HTTP + SSL / TLS,也就是在 HTTP 上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过 TLS 进行加密,所以传输的数据都是加密后的数据。HTTP与HTTPS的区别1.http的传输方式是明文传输,https则是加密传输。2....
2019-10-28 17:56:59
1069
原创 Mybatis框架搭建指南
Mybatis框架搭建指南一.导入框架依赖包使用maven管理依赖包,在maven仓库中找到Mybatis的依赖包,加入到pom文件的依赖中。二.配置Mybatis框架Mybatis有两种配置方式,第一种是xml方式,第二种是java方式。下面我们先来讲一下第一种xml该如何配置。.xml配置Mybatis框架创建配置文件,名称随意,但尽量规范起名,如Mybatis-config....
2019-10-22 11:55:36
134
原创 Spring框架的使用指南(二)声明式事务篇
Spring框架的使用指南(二)声明式事务篇前言:Spring除了提供IOC和AOP两大功能外,还提供了事务管理的功能。所谓事务就是保证一个操作只有两种状态,完成状态或者初始状态,不会出现完成了99%的情况。我们为什么需要事务呢?用个最经典例子说明一下,甲在银行转账,账户有1000元,转给乙500元,如果转账成功,那么甲账户只有500元,乙账户增加500元。但是如果甲转账时,银行停电了呢,甲账...
2019-10-22 11:55:13
119
原创 SpringMVC框架基本使用指南
SpringMVC框架基本使用指南一 MVC的基本概念SpringMVC是基于MVC模式设计的。MVC模式将应用的输入,处理,输出分离开来,形成模型层,控制层,视图层。M:代表数据模型,即根据业务逻辑处理的数据以及一些安全,日志模块。V:代表视图,即jsp页面,html页面等表现数据结果的界面。C:代表控制器,接受视图的请求,根据请求选择对应的数据模型进行处理。并将结果返...
2019-10-22 11:55:00
160
原创 JSP基本使用
JSP基本使用什么是JSPJSP是Java Server Page的简称,是一种动态网页开发技术。它通过<% %>,<%= %>标签在网页中嵌入java代码。JSP是基于java Servlet Api,因此有许多强大的企业级Api,也因为是这一点,它相比其他同类型的技术,更易于移植到非MS平台。JSP的处理流程第一步 用户发送请求到服务器。第二步 服务器识别出这...
2019-10-22 11:54:48
125
原创 SSM框架整合
SSM框架整合第一步:引入maven依赖 <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <dependency> <groupId>org.mybatis</groupId> ...
2019-10-22 11:54:38
64
原创 Spring框架使用指南(一)基本篇
Spring框架搭建指南前言:为了准备面试,整理一下Spring框架的基本使用1.Spring框架有两大最核心的功能:IOC(控制反转/依赖注入),AOP(面向切面)。1.1 控制反转所谓控制反转,就是将创建对象的权利交给Spring容器管理,也就是说你不需要再去new一个对象,这个事情Spring会帮你做好,你只需要告诉容器你需要什么对象就OK 了。那么,为什么只是这样的一项功能会被...
2019-10-22 11:54:24
155
原创 基于Mybatis拦截器实现分页插件
基于Mybatis拦截器实现分页插件一·、简介无意间了解到Mybatis也有拦截器,所以利用空闲时间了解了一下Mybatis拦截器的使用及一些应用场景。二、拦截器介绍Mybatis的拦截器是通过动态代理来实现的,Mybatis提供了Interceptor接口让用户自定义插件。但是Mybatis只提供了以下四个核心对象的拦截。Executor这是Mybatis的执行器,用于执行增删改查...
2019-10-22 11:53:21
429
原创 Swagger框架的基本使用
Swagger是一款非常优秀的一款RESTFUL接口的文档在线自动生成+功能测试功能软件。它可以帮助我们快速生成一套优雅的API文档。一、集成Swagger框架SSM框架集成Swagger。 <dependency> <groupId>io.springfox</groupId> <art...
2019-10-22 11:46:49
435
原创 日常踩坑系列(一)
日常踩坑系列(一)记录生活中碰到的大大小小的坑,避免下次犯同样的错误。AOP实现自定义注解使用过滤器的时候想排除某些路径,但是网上搜了一下,好像没有这个功能,只能手动判断路径。我想更方便的使用,所有就准备自定义一个注解,实现排除路径的功能。@Target(ElementType.METHOD)@Retention(value = RetentionPolicy.RUNTIME)@Inh...
2019-09-19 23:15:56
237
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人