自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(164)
  • 资源 (2)
  • 收藏
  • 关注

原创 博客搬家

博客搬家至https://blog.activepirate.com/

2021-05-06 17:14:09 366

原创 计算机原码、反码 、补码

一、概述真值:十进制、二进制、八进制、十六进制等用来表示实际数值的数 机器数:数在计算机中的表示形式 原码:正数是其二进制本身;负数是符号位为1,数值部分取X绝对值的二进制 反码:正数的反码和原码相同;负数是符号位为1,其它位是原码取反 补码:正数的补码和原码,反码相同;负数是符号位为1,其它位是原码取反,未位加1。(或者说负数的补码是其绝对值反码未位加1)现代计算机中普遍使用补码表示法,而不是原码编码 108(十进制) -108(十进制) 原码 01101100

2021-04-13 14:40:23 2068

原创 ubuntu搭建nginx+php+mysql

一、安装nginx、php-fpm、mysqlapt install php7.2-fpmapt install nginxapt install mysql-server-5.7apt install php-mysql安装php7.2-fpm时,会安装其依赖php7.2-cli、php7.2-common、php7.2-json、php7.2-opcache、php7.2-readline如果要安装php7.4add-apt-repository ppa:ondrej/php

2021-04-13 14:34:09 865

原创 sonar的安装及使用

一、概述Sonar 是一个用于代码质量管理的开放平台。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具。二、安装1.docker安装postgres拉取postgres镜像docker pull postgres:9.6创建postgres实例docker run \--name postgres_5432 \-p 5432:5432 \-e POSTGRES_USER=sonar \-e POSTGRES_PASSWORD=12345

2020-12-23 20:20:38 527

原创 Linux查找命令

一、find1.命令find path_name option file_name [-exec | -ok command {} \;]在path_name下查找file_name文件和目录参数- name name :文件名称符合 name 的文件 - iname name : 文件名称符合 name 的文件,忽略大小写 - type c : 文件类型是 c 的文件(文件类型有:普通文件f,目录d,符号链接 l,字符设备c,块设备b,套接字s,FIFO-p) - perm .

2020-12-17 12:36:13 353

原创 Java设计模式-访问者模式

一、概述访问者模式(Visitor)是一种操作一组对象的操作,它的目的是不改变对象的定义,但允许新增不同的访问者,来定义新的操作。其主要目的是将数据结构与数据操作分离。二、角色抽象访问者(Visitor):为每种具体的被访问者(ConcreteElement)声明一个访问操作具体访问者(ConcreteVisitor):实现对被访问者(ConcreteElement)的具体访问操作抽象被访问者(Element):通常有一个Accept方法,用来接收/引用一个抽象访问者对象具体被访问者对象(Con

2020-12-12 14:54:03 154 1

原创 java实现kmp算法

1.kmp private int indexOf(char[] source, char[] pattern) { int[] next = getNext(pattern); int i = 0; int j = 0; while (i < source.length && j < pattern.length) { if (j == -1 || source[i] == pa

2020-11-30 17:38:55 238

原创 ubuntu配置防火墙

ufw命令1.命令ufw enable/disable 打开/关闭ufw ufw default allow/deny 外来访问默认允许/拒绝 ufw allow|deny [service] 打开或关闭某个服务 ufw allow|deny [port] 打开或关闭某个端口 ufw delete allow/deny [port] 删除以前定义的"允许/拒绝访问port端口"的规则 ufw status 查看已经定义的ufw规则 ufw allow ...

2020-11-30 17:37:56 1428

原创 chattr的使用

一、语法Linux chattr命令用于改变文件属性chattr [-RV][-v<版本编号>][+/-/=<属性>][文件或目录...]二、属性a:让文件或目录仅供附加用途。 b:不更新文件或目录的最后存取时间。 c:将文件或目录压缩后存放。 d:将文件或目录排除在倾倒操作之外。 i:不得任意更动文件或目录。 s:保密性删除文件或目录。 S:即时更新文件或目录。 u:预防意外删除。三、参数  -R 递归处理,将指定目录下的所有文件及子目录一并处理

2020-11-19 12:33:34 462

原创 Gradle中的task

一、创建任务在groovy语法里,如果最后一个参数是闭包的时候,可以放到括号外面,然后方法的括号可以省略每个新创建的任务都是 org.gradle.api.DefaultTask 类型编写build.gradle/** * 第一种创建任务 * task是Project的一个方法 * Task task(String name) throws InvalidUserDataException; */def taskA = task taskAtaskA.doLast {

2020-10-31 19:42:51 397

原创 Gradle中的project

一、ProjectGradle的执行流程Initialization初始化阶段 (解析整个工程中的所有Project,构建所有的Project对应的project对象) Configuration配置阶段 (解析所有projects对象中的task,构建好所有task的拓扑图(有向无环图)) Execution执行阶段(执行具体的task及其依赖的task)settings.gradle用于解析生成Projectbuild.gradle用于判断是不是一个Project每个Project

2020-10-31 19:41:20 843

原创 Java日志(slf4j+logback)及打印彩色日志

一、maven依赖在pom文件增加slf4j+logback依赖<!-- 版本配置 --><properties> <slf4j.version>1.7.21</slf4j.version> <logback.version>1.1.7</logback.version></properties><dependencies> <!-- slf4j依赖包 -->

2020-10-15 19:42:21 6547 1

原创 ubuntu搭建主备DNS服务器

一、环境主机 角色 私人FQDN 私有IP地址 NS1 主DNS服务器 ns1.example.com 192.168.87.141 NS2 备DSN服务器 ns2.example.com 192.168.87.142 主机1 客户机器1 host1.example.com 192.168.87.151 主机2 客户机器2 host2.example.com 192.168.87..

2020-10-11 20:46:53 1972 1

原创 maven配置仓库及部署jar包

搭建nexus3创建仓库test-releae仓库:hosted类型,Release库test-snapshot仓库: hosted类,Snapshot库test-public仓库:group类型,仓库组,配置test-releae仓库和test-snapshot仓库一、mirror镜像${user.home}/.m2/settings.xml文件中配置mirror相当于一个拦截器,它会拦截maven对remote repository的相关请求。mirror 定义了..

2020-09-25 20:31:58 985

原创 使用maven-assembly-plugin打包

一、简介maven-assembly-plugin是用来帮助打包使用的插件maven-assembly-plugin有:内置的Assembly DescriptorRefs 自定义Assembly Descriptors支持的打包类型:zip tar tar.gz (or tgz) tar.bz2 (or tbz2) jar dir war二、内置的Assembly DescriptorRefsmaven-assembly-plugin有内置的DescriptorRef

2020-09-18 21:03:55 1260

原创 maven打war包和jar包及排除文件

一、目录结构二、pom文件pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 ht

2020-09-17 20:07:14 1390

原创 maven打jar包并引入依赖包(使用assembly和dependency插件)

一、把依赖打进jar包1.pom修改使用maven-assembly-plugin插件,指定在package阶段(运行mvn package),会执行maven-assembly-plugin:single<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLS

2020-09-17 19:58:59 11735

原创 SpringBoot的RestTemplate发送GET、POST、PUT、DELETE请求

一、maven依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.4.RELEASE</version></parent><dependencies> <!-- we

2020-08-31 22:04:42 1326

原创 使用HttpClient进行GET、POST、PUT、DELETE操作

一、maven依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.4.RELEASE</version></parent><properties> <thymelea

2020-08-31 22:03:36 736

原创 请求的媒体类型

form-datax-www-form-urlencoded(待更新)

2020-08-31 22:02:40 194

原创 ubuntu使用dpkg-scanpackages和nginx搭建本地源

一、服务端安装dpkg-dev和nginx服务端主机名nodesudo apt-get install dpkg-dev nginx -y二、创建目录software目录存放deb包focal表示ubuntu的版本binary-amd64是64位操作系统mkdir -p /var/debs/ubuntu/software/mkdir -p /var/debs/ubuntu/dists/focal/main/binary-i386/mkdir -p /var/debs/ub

2020-08-24 08:14:28 3169

原创 netcat的使用

一、nc参数-v 显示详细的输出信息 -n 对命令行中的主机,不进行域名解析 -p 指定端口号 -l 开启监听模式,nc作为服务端,默认作为客户端 -u 使用udp协议,默认是tcp协议 -w 设置连接的超时间间隔(N秒) -q 让nc延时(N秒)再退出 -z 开启"zero-I/O模式",该选项仅仅用于端口扫描 -k 配合-l选项使用,可以重复接受客户端连接 -X 指定代理的类型 -x 以ip:port的格式指定代理的位置 -e 启动某个进程,把该进程的"标准输入输出"与网络通讯

2020-06-30 21:35:52 321

原创 ssh端口转发

一、命令参数ssh -L/R <起点 port>:<终点 ip>:<终点 port> <SSH hostname>SSH连接都是由自己发起,去连接别人,建立一条通道-L/R参数约定的是这条通道的端口转发的方向二、本地端口转发host1是本地主机,host2是远程主机,这两台主机之间无法连通,host1可以连通host3,host3可以连通host2在host1执行ssh -L 8080:host2:80 host3这条命令的

2020-06-30 21:25:48 258

原创 Java与MySQL时区

中国其实也实行过夏令时,(1992年之后中国已经没有再实行过夏令时了),当实行夏令时,中国标准时间的时区偏移量就是+09:00,当非夏令时,中国标准时间的时区偏移量就是+08:00。在Java中,CST表示的是:中央标准时间(美国标准时间)(注:Java 的 Date 中的CST是表示的中国标准时间。Java 系统时区:Asia/Shanghai(东8区)MySQL 全局时区:time_zone=+08:00。早期基准是:GMT(格林尼治标准时间)后来基准是:UTC(协调世界时)

2020-06-30 21:23:31 2869

原创 docker-compose的使用

一、docker-compose命令docker-compose的使用非常类似于docker命令的使用,但是需要注意的是大部分的compose命令都需要到docker-compose.yml文件所在的目录下才能执行docker-compose up -d [service_name] 在后台启动容器并使它们保持运行。 docker-compose exec service_name bash 登录到service_name容器中 docker-compose ps [service_nam.

2020-06-29 22:57:50 248

原创 gcc的编译及动态静态库的使用

一、gcc的编译过程预处理(pre-processing) E:插入头文件,替换宏,将stdio.h文件中的内容插入到hello.c中编译(compliling) S:编译成汇编代码汇编(Assembling) c:编译成目标文件链接(Linking):链接到库中,变成可执行文件二、gcc常用选项o 生成目标E 只运行C预编译器(头文件,宏等展开)S 表示程序编译期间,生成汇编语言文件后停止编译(.s文件)c 取消链接步骤,编译源码并最后生成目标文件Wall 打开编译

2020-05-19 08:37:26 660

原创 netstat的使用

netstatlinux netstat 用于显示网络状态常用参数:-a all 显示所有连接的socket,默认不显示LISTEN -t tcp 显示TCP传输协议的连接状况 -u udp 显示UDP传输协议的连接状况 -n numeric 直接使用IP地址,而不是通过域名解析器 -l listen 仅列出正在监听的服务状态 -p programs 显示进程名和进程号常用命令:netstat -antp | grep 3306netstat -atp | grep mysq

2020-05-10 18:49:25 281

原创 maven-dependency-plugin插件的使用

一、goalmaven-dependency-plugin插件最常用的goal有:copy、copy-dependencies、unpack、unpack-dependenciescopy:拷贝指定jar包到指定目录,与当前工程的依赖没有关系copy-dependencies:拷贝依赖jar包到指定目录unpack:解压制定jar包到指定目录,与当前工程的依赖没有关系unpac...

2020-04-18 19:11:34 2746

原创 maven插件编写之mojo

一、MojoMojo: Maven plain Old Java Object,实际上是一个Maven的目标,插件包含任意数量的目标(Mojos)。Mojos可以定义为带注释的java类或Beanshell脚本。Mojo指定有关目标的元数据:目标名称,它适合生命周期的哪个阶段,以及它期望的参数...

2020-04-12 09:02:56 1622

原创 Linux打包和压缩(tar、zip)

一、tar命令1.打包与压缩-c 将多个文件或目录进行打包 -v 显示打包文件的过程 -f 文件名,指定打包的文件名 -z 压缩和解压.tar.gz格式 -j 压缩和解压缩.tar.bz2格式2.解打包和解压缩-x 对tar包做解打包操作 -v 显示解打包的过程 -f 文件名,指定要解压的文件名 -z 压缩和解压缩.tar.gz格式 -j 压缩和解压缩.tar.b...

2020-03-31 09:10:03 3847

原创 使用Docker部署SpringBoot项目

一、编写SpringBoot项目1.pom文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schema...

2020-03-22 09:28:49 329

原创 JavaCC的使用

一、JavaCCJavaCC(Java Compiler Compiler)是一个词法分析生成器和语法分析生成器词法分析器可以把文本按照事先规定好的格式分割成一个个单词符号(Token)。这些Token序列将会传送给语法分析器以供其决定程序的结构。二、栗子1.语法描述文件adder.jj/* options部分*/options { STATIC = false...

2020-03-18 09:14:22 1144

原创 Java消息摘要、对称加密、非对称加密和数字签名

一、消息摘要消息摘要是一种与消息认证结合使用以确保消息完整性的技术,消息摘要采用单向Hash函数将加密的明文“摘要”成一串密文,则这串密文亦称为数字指纹(Finger Print),则接受者通过对接受到信息的新产生的摘要与原摘要比较,就知道消息是否被修改了特点:唯一性 不可逆 不需要秘钥 长度固定,无论输入的明文有多长,计算出的消息摘要的长度总数固定的原理:消息摘要就是将需要摘...

2020-03-13 09:29:17 688

原创 Java使用DES加密解密

一、DES算法DES(Data Encryption Standard):数据加密标准,它是由IBM公司研制的一种对称密码算法。DES是一个分组加密算法,典型的DES以64位分组对数据加密,加密和解密用的是用一个算法。总长度64位,8字节,其中8位作为校验码,不参与加密算法。二、秘钥与加密算法秘钥是一种参数(它是在明文转换为密文或将密文转换为明文的算法中输入的数据)加密算法...

2020-03-12 09:17:09 15622 7

原创 Java的SPI机制及AutoService

一、SPI机制SPI:Service Provider Interface,是一种服务发现机制它通过在ClassPath路径下的META-INF/services文件夹查找文件,自动加载文件里所定义的类,模块之间基于接口编程,实现可拔插二、栗子1.定义接口package com.zz.spi;public interface SPIService { void execute();}2.实现类SPIImpl1.javapackage com.zz.spi;

2020-03-06 09:06:52 1106

原创 hsqldb的存储方式

Maven依赖<dependency> <groupId>org.hsqldb</groupId> <artifactId>hsqldb</artifactId> <version>2.5.0</version></dependency>一、内存(mem)存储方式...

2020-03-02 09:35:59 900

原创 maven的依赖、继承和聚合

一、maven的依赖1.依赖的传递性A依赖B,B依赖C,那么A依赖C好处:可以传递,不必在每个模块工程中都重复声明,在"最下面"的工程中依赖一次即可注意:非compile范围的依赖不能传递,所以在各个工程模块中,如果有需要就得重复声明依赖2.依赖的排除<dependency> <groupId>junit</groupId> ...

2020-02-23 10:24:48 496

原创 Java内置HttpServer的使用

一、相关类1.HttpServer表示一个服务器实例,需要绑定一个IP地址和端口号2.HttpContext服务器监听器的上下文3.HttpHandler上下文对应的http请求处理器4.HttpExchange监听器回调时传入的参数,封装了http请求和响应的所有数据操作二、使用public class MyServer { public st...

2020-02-09 18:14:42 894

原创 Java设计模式-代理模式

一、概述代理模式(Proxy):为一个对象提供一个替身,以控制对这个对象的访问,即通过代理对象访问目标对象,这样做的好处是,可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能代理模式有不同的形式,主要有三种:静态代理、动态代理(JDK代理、接口代理)、Cglib代理二、角色抽象角色:为真实对象和代理对象提供一个共同的接口,一般是抽象类或者接口代理角色:代理角色...

2020-02-09 17:51:19 163

原创 Java设计模式-享元模式

一、概述享元模式(Flyweigh),也叫蝇量模式:运行共享技术有效地支持大量细粒度的对象。针对系统中存在的大量重复对象,享元模式通过减少重复对象创建的数量,来减少内存占用和提高性能。享元模式的核心是:共享与分离,共享对象中不变的部分,分离对象中可变的部分。享元对象能做到共享的关键是区分内蕴状态和外蕴状态。所谓共享,即多个对象内部的状态应当是一样的,否则就谈不上共享。内蕴状态是存储在享...

2020-02-09 15:53:03 166

hibernate-annotations库

Hibernate的Annotation库,包含ejb3-persistence.jar、hibernate-annotations.jar、hibernate-commons-annotation.jar、log4j-1.2.11.jar

2018-02-02

AngularJS库1.4.6和1.6.3

AngularJS 是一个 JavaScript 框架。它是一个以 JavaScript 编写的库。

2018-01-31

空空如也

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

TA关注的人

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