自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 资源 (4)
  • 问答 (2)
  • 收藏
  • 关注

原创 Nginx代理HTTPS且非443端口,Tomcat为HTTP的配置

Nginx代理HTTPS且非443端口,Tomcat为HTTP的配置  开始觉得这个配置需求非常的简单,不就是配置一下Nginx配置就搞定了。试了之后发现,出乎意料,所以打算将自己的经验记录下来。  简单的描述一下场景,Nginx监听端口:8443,开启SSL;Tomcat启动的监听端口:8080,是HTTP。然后需要从Nginx的HTTPS代理到Tomcat的HTTP,基本的请求的流程图如下...

2019-12-07 21:30:38 11781 2

原创 Nginx的location的规则深入学习和记录

Nginx的location的规则深入学习和记录之所以写这篇博客,是因为之前配置Nginx的location遇到了各种问题,不甚其解,实在是感觉越配置越乱,开始以为自己会了,后来才发觉自己的认知其实是错误的。这篇并非什么解读源码之类的分析(还没到那水平),主要是对于我遇到的问题进行一些测试进行的总结,可能无法涵盖所有的情况,不恰当的地方还望指正。表达式类型**= **:进行普通字符精确匹...

2019-12-07 11:04:45 871

原创 keepalived安装和配置

keepalived安装和配置keepalived安装keepalived安装包下载地址: https://www.keepalived.org/download.html ,我用的是https://www.keepalived.org/software/keepalived-2.0.19.tar.gz版本,wget获取,在解压后,进入目录,然后执行下列命令。#配置检测./configur...

2019-11-23 13:34:05 473

原创 Hibernate使用原生SQL查询

Hibernate使用原生SQL查询  Hibernate提供了原生的SQL语句的查询,通过createSQLQuery(String)和createNativeQuery(String),createSQLQuery(String)是Hibernate5.x之前的版本的,在Hibernate5.x和之后,都采用的是createNativeQuery(String),使用原生SQL虽然麻烦,但是...

2019-10-27 20:58:49 4463

原创 使用http-server代理axios请求

使用http-server代理axios请求  开始想简单的学习一下axios相关的使用和API,写了一个简单的html通过引入CDN方式的axios的js,然后通过axios向后端发起请求,出现了跨域,所以想到使用http-server来处理这种前端和后端分离时跨域的问题。http-server简介  http-server是一个简单的零配置命令行http服务器。它足够强大,足以用于生产用...

2019-10-20 12:28:33 3552

原创 Tomcat的类加载顺序的实现

Tomcat的类加载顺序的实现  其实之所以为写这篇文章的原因,主要是前段时间,因为使用第三方的一些库,需要将这些库放到JDK的ext目录,由Java的ExtClassLoader进行加载,第三方库也是用了日志框架,而且使用的是slf4j,所以要使用这个第三方库,必须将slf4j-api.jar这个slf4j的接口包放到ext目录下。将这个日志放到slf4j-api.jar放到ext目录下,接着...

2019-09-15 11:40:05 2394

原创 Java的线程池是怎么实现复用的?

Java的线程池是怎么实现复用的?Java的线程池,维护了一个线程池,每一个新的任务都会提交到线程池,由线程池进行调度和资源释放,这样的好处:1.通过线程池,可以限制线程创建的数量,当创建许多的任务时,任务需要在线程池中进行排队。2.通过线程池,统一管理任务调度以及异常的策略处理。线程池简单例子import java.util.concurrent.ExecutorService;im...

2019-09-08 17:09:21 1153

原创 Log4j日志配置和使用

Log4j概述1 什么是Log4j  Log4j 是Apache为Java提供的日志管理工具。为了你快速理解Log4j的作用,我们用下面的代码说明Log4j的作用。 public void login(String userName,String pwd){ if (userName == null || pwd == null){ Sys...

2019-08-31 21:59:34 1190

原创 配置Nginx错误和经验总结

  Nginx的使用过程,出现了各种问题,在这里主要是记录下来,然后方便以后查看,在这里再总结在一起,稍微会条理清晰点,以后遇到什么与Nginx响应的问题都会在这里记录下来。问题1:Nginx监听的是8080端口,为什么会出现浏览器请求之后URL获取的端口一直都是80?  答:这是因为你的location配置中对请求头的设置是proxy_set_header Host $host,这种配置...

2019-08-30 22:31:51 1098

原创 NFS安装以及配置(目录共享实现)

  因为同一台机器,运行了两个Tomcat,分别有不同版本的一个应用在里面,上传的文件都放在了Tomcat的主目录下的某个文件夹。故需要将两个Tomcat中的上传的目录,映射到一个共享目录中,这样就可以上传在TomcatA中的文件,访问TomcatB的应用是仍然访问到,否则会出现文件找不到的问题。NFS就是这样的一个工具,下面是使用NFS的一些配置的心得。NFS服务端配置安装NFS服务nfs-...

2019-08-29 08:29:41 2223

原创 Nginx通过IP Hash方式转发请求到多个Tomcat实现解决session共享问题

Nginx转发请求到多个Tomcat实现session共享文章目录Nginx转发请求到多个Tomcat实现session共享Tomcat配置配置server.xmlTomcatA的配置Nginx的安装和配置方式一(yum源安装)方式二(源码安装)Nginx基本命令Nginx日志配置Nginxupstream.conf配置文件default.conf配置文件总结Tomcat配置  Tomcat...

2019-08-27 16:21:56 1517

原创 nginx配置文件中timeout超时时间设置(详细)

nginx配置文件中timeout超时时间设置(详细)nginx基本的超时配置  可以参考官网的ngx_http_core_module模块,文档地址:http://nginx.org/en/docs/http/ngx_http_core_module.htmlclient_header_timeoutSyntax(语法): client_body_timeout time;Defaul...

2019-08-26 21:56:01 21632 1

原创 Tomcat实现集群的Session会话共享(内存共享方式)

Tomcat实现集群的Session会话共享  Tomcat有提供自己实现会话共享的方式,这里也是主要介绍Tomcat提供了的实现。Tomcat官方提供的实现主要是中间件层的改动,不需要对项目已有的代码改动。对于实现Session共享官方文档的介绍已经很清晰了。一、配置server.xml文件   server.xml文件的修改主要是增加Cluster节点,基本按照官方的配置,在Host节点...

2019-08-25 00:44:28 2076

原创 HTTPS原理-以知乎首页HTTPS抓包分析

HTTPS原理-以知乎首页HTTPS抓包分析文章目录HTTPS原理-以知乎首页HTTPS抓包分析HTTP协议HTTP协议的问题HTTPS协议SSL/TLS*实现的主要环节1.协商算法2.验证证书3.构建密钥4.数据加密交互知乎首页HTTPS请求抓包分析1.准备阶段(抓包)2.分析SSL/TLS相关的数据包2.1 Client Hello和Server Hello2.2 认证阶段(Certifi...

2019-08-24 16:38:26 2515

原创 Java的类加载机制双亲委派模型

Java的类加载机制双亲委派模型文章目录Java的类加载机制双亲委派模型Java的类加载器启动类加载器(Bootstrap ClassLoader)拓展类加载器(Extension ClassLoader)应用程序加载器(Application ClassLoader)自定义加载器(User ClassLoader)Java类加载的机制类加载器的源码ClassLoader#loadClass的基...

2019-08-06 21:38:52 783

原创 Linux监控SpringBoot的Jar方式运行的进程并且重启

前言因为写了个SpringBoot的程序,以Jar方式运行,次用了内嵌Tomcat作为容器;在程序启动后,如果程序挂了,那服务就会出现问题,所以需要增加一个监控进程存活并且可以进行重新启动程序的脚本。程序启动脚本(start.sh)server.jar的启动脚本,可以用在其他也是jar启动的程序里,需要记得替换对应的jar名字和一些路径,下列是start.sh脚本的内容。#!/bin/bashsource /etc/profile#指定要运行的jar的home目录export JAR_HOM

2021-05-29 12:26:22 869

原创 Linux的SSH基于公私钥验证的方式登录

前言SSH是Linux下用于建立安全连接的一种技术,通过一对密钥对(包含公钥和私钥),通过签名验签方式校验,完成身份验证过程。详细原理请查看文章后面的参考文档,那位大佬写的很清晰,这篇文章主要是有一些基础,以及个人理解。基础相关文件介绍如下图所示用户的Home目录下会有一个名为.ssh的目录,这里存放了指定用户的SSH相关文件,例如用户为root,如下所示。authorized_keys:本机器的该用户例如root)授权允许连接的客户端机器(即要允许登录连接本机的机器),例如本机器为A,要连

2021-05-22 12:13:00 850 2

原创 Git客户端产生公私钥和配置多个服务器账号

Git客户端配置多个服务器账号产生私钥和配置公钥参考github的文档:https://docs.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent生成密钥对和公钥文件打开git客户端(git bash),执行下列命令,创建公私钥文件:ssh-keygen -t rsa -b 4096 -C "[email protected]"如

2020-09-14 23:05:30 471 1

原创 生成窗口最大值数组

  有一个整形数组arr和一个大小为w的窗口从数组的最左边滑到最右边,窗口每次向右边滑一个位置。  例如,数组为【3,4,1,3,5,3,6】,窗口大小为3时:[3,4,1[,3,5,3,6 窗口中最大值为43,[4,1,3[,5,3,6 窗口中最大值为43,4,[1,3,5],3,6 窗口中最大值为53,4,1,[3,5,3],6 窗口中最大值为53,4,1,3,[5...

2019-12-16 21:14:22 142

原创 用一个栈实现另外一个栈的排序

  一个栈中的元素都是整形,现在想要将该栈从顶到底按从大到小的顺序排序,只许申请一个栈。除此之外,可以申请新的变量,但是不能申请额外的数据结构。如何实现排序?import java.util.Stack;public class SortStackByStack { public static void main(String[] args) { Stack<In...

2019-12-16 20:16:35 163

原创 常用Linux命令和一些问题解决整理

vim打开文件总是高亮了某些文本,如何取消?  这个高亮一般是通过:/XXX查找导致的,取消高亮的方法输入:noh就可以了。

2019-11-23 12:00:00 252

原创 ./configure报错:OpenSSL is not properly installed on your system

./configure报错:OpenSSL is not properly installed on your system问题  源码编译安装Keepalive,在执行./configure时,报下列错误,其实不止是Keepalive,很多依赖OpenSSL的软件,也会遇到这个错误:解决方法:  其实提示已经很明显了,没有安装合适的OpenSSL,我使用的是CentOS系统,所以使用y...

2019-11-23 10:51:41 6913

原创 同一台服务器,多个Tomcat,部署同一个项目session覆盖的问题

同一台服务器,多个Tomcat,部署同一个项目session覆盖的问题  最近一段时间,在开发环境部署多套项目,其中一套用于对外调试,一套内部开发测试,限于资源有限,也使为了方便管理,就在同一台机器上创建了两个Tomcat。所以就有了如题目所描述的场景,一台服务器中多个Tomcat,而且Tomcat里部署的项目都是一样的。遇到的问题  简单描述一下,那台机器中服务器和项目的配置,Tomcat...

2019-11-21 21:52:39 1034

原创 常用的一些IDEA快捷键

  整理一下记录一下自己比较常用的一些Idea的快捷方式,以后方便查找。基本的一些快捷键Ctrl + E:打开最近使用的文件Ctrl+Shift+E:最近更改的文件Ctrl+[ OR ]:光标跳转到大括号的开头与结尾Ctrl+F12:显示当前文件的结构Ctrl+F7:查询当前元素在当前文件中的引用,然后按 F3 可以选Ctrl+N:快速打开类Ctrl+Shift+N:快速打开文件...

2019-10-27 09:31:12 350

原创 Get和Post各种编码方式和获取参数的问题

Get和Post各种编码方式和获取参数的问题【抓包分析】  做后端开发,会跟各种请求打交道,Get或者Post甚至其他,而就Get和Post不同的编码方式和content-type提交也有许多的不同,在开发过程中,经常遇到参数接收不到的问题,无论是原生servlet还是springboot框架,都有到过这种问题。这篇文中就这些问题,通过分析,希望能让自己能更进一步的了解HTTP请求和参数接收相关...

2019-10-23 22:13:53 2044

原创 Form表单的输入框按Enter后,页面被刷新了

Form表单的输入框按Enter后,页面被刷新了  今天下午在实现一个通过在输入框按回车触发发送查询请求的前端实现,遇到了一个问题。整个表单非常的简单,一个输入框和一个按钮,点击按钮会触发绑定的提交的处理逻辑。在输入框中,按了回车,页面会被刷新了,导致页面回到了首页。Debug了一下,绑定的回车时间的代码是进去了,以及提交的处理逻辑也走完,但是就是会被刷新。一直觉得是否有什么地方,绑了什么事件,...

2019-10-23 20:35:05 1293

原创 设计模式之职责链模式

设计模式之职责链模式  职责链模式主要是为了解除请求的发送者和接收者之间的耦合,而使多个对象都有机会处理这个请求,将能够处理同一类请求的对象连成一条链,所提交的请求沿着链传递,链上的对象逐个判断是否有能力处理该请求,如果能则处理,如果不能则传递给链上的下一个对象。职责链模式结构图  Handler(抽象处理者),ConcreteHandler(具体处理者)和Client(客户类)。Han...

2019-09-28 12:19:31 370

原创 设计模式之桥接模式

设计模式之桥接模式  桥接模式是一种实用的结构型设计模式,如果系统中某个类存在两个独立变化的维度,通过该模式可以将这两个维度分离出来,使两者可以独立扩展。桥接模式,将抽象部分与它的实现部分分离,使它们都可以独立地变化。桥接模式结构图  Abstraction(抽象类),RefinedAbstraction(扩充抽象类),Implementor(实现类接口)和ConcreteImplement...

2019-09-23 23:00:38 396

原创 JavaScript 匿名函数和闭包

JavaScript 匿名函数和闭包  匿名函数就是没有名字的函数,闭包是可访问一个函数作用域里变量的函数。声明:本节内容需要有面向对象和少量设计模式基础,否则无法听懂 .(所需基础 15 章的时候已经声明过了)。匿名函数//普通函数function test() { // 函数名是test return 'strive_or_die';}//匿名函数function ()...

2019-09-22 17:38:18 477

原创 Linux下shell脚本实现记录日志

Linux下shell脚本实现记录日志  最近写了shell脚本,有个基于jacoco调用的从指定Tomcat中自动生成覆盖报告文件到指定的Nginx目录中的脚本,Tomcat下有多个项目,这个脚本是后台跑的,而且是开了定时任务跑的。想着记录一些日志,方便知道脚本的运行状态,也方便排查。shell记录日志的代码#!/bin/bash#定义日志的根目录logDir=/var/log/ec...

2019-09-22 10:46:07 11153

原创 JavaScript 面向对象与原型

JavaScript 面向对象与原型  ECMAScript 有两种开发模式:1.函数式(过程化),2.面向对象(OOP)。面向对象的语言有一个标志,那就是类的概念,而通过类可以创建任意多个具有相同属性和方法的对象。但是,ECMAScript 没有类的概念,因此它的对象也与基于类的语言中的对象有所不同。创建对象创建一个对象,然后给这个对象新建属性和方法。var person = new O...

2019-09-21 23:04:48 403

原创 Oracle中Clob类型处理解析:ORA-01461:仅可以插入LONG列的LONG值赋值

Oracle中Clob类型处理解析:ORA-01461:仅可以插入LONG列的LONG值赋值  今天设计了一张表存储请求和响应报文的表,针对这两个内容有两个字段,指定的类型为CLOB数据类型。然后插入数据库时,报错:Oracle中Clob类型处理解析:ORA-01461:仅可以插入LONG列的LONG值赋值;原因分析  之所以会出现长度大于4000时报错,是因为Oracle中有SQL语句中两...

2019-09-20 22:28:10 1792

原创 sfl4j日志框架的加载导致冲突问题的原因和解决方式

日志框架的加载导致冲突问题的原因  经常使用slf4j-api接口包时引入log4j包,总是出现下列的错误,网上查找了一圈,都是说实现包冲突,几乎都是官网的答案。比较少有分析为什么会报这个错的原因。主要有两大类问题:1.引入了slf4j-api的包,但没有引入它的实现包,2.引入了slf4j-api的包,但是实现类引入了多个。未引入sfl4j-api包的实现包  报错Failed to lo...

2019-09-19 22:05:01 1136

原创 如何确定机器的公网IP地址或者出网IP

如何确定机器的公网IP地址或者出网IP  有很多时候我们工作的机器或者服务器其实使用的内网的地址,在需要查看本机的出口公网IP信息,这个时候怎么才能快速的获取自己的公网IP呢?Linux获取公网IP通过执行下面两条命令中的其中任意一条都可以。curl ifconfig.mecurl cip.cc原理:这个是通过curl访问指定的ip查询网址,由这个网站返回本机请求时的出网IP,即我...

2019-09-18 23:09:38 4832

原创 JavaScript 内置对象

JavaScript 内置对象  ECMA-262 对内置对象的定义是:“由 ECMAScript 实现提供的、不依赖宿主环境的对象,这些对象在 ECMAScript 程序执行之前就已经存在了。”意思就是说,开发人员不必显示地实例化内置对象;因为它们已经实例化了。ECMA-262 只定义了两个内置对象:Global和 Math。Global 对象  Global(全局)对象是 ECMAScr...

2019-09-18 22:53:01 375

原创 Oracle数据,Hibernate通过身份证号查询指定用户身份证信息找不到

Oracle数据,Hibernate通过身份证号查询指定用户身份证信息找不到问题  今天遇到一个问题,使用Oracle数据库,有一张数据表,该表存的是身份证信息,分别有名字,身份证号,有效开始时间和有效截止时间,表中有一条记录A,身份证号为"xxx",dao层有一个通过身份证号进行精确查询的方法。将sql语句拷贝到数据库中,通过数据库查找这个记录是存在的,但是代码里就是查找不出来。通过然后代码...

2019-09-17 21:37:16 579

原创 JavaScript变量、作用域及内存

JavaScript变量、作用域及内存  JavaScript 的变量与其他语言的变量有很大区别。JavaScript 变量是松散型的(不强制类型)本质,决定了它只是在特定时间用于保存特定值的一个名字而已。由于不存在定义某个变量必须要保存何种数据类型值的规则,变量的值及其数据类型可以在脚本的生命周期内改变。变量及作用域1.基本类型和引用类型的值  ECMAScript 变量可能包含两种不同...

2019-09-16 22:12:24 383

原创 JavaScript的Function 类型

JavaScript的Function 类型  在 ECMAScript 中,Function(函数)类型实际上是对象。每个函数都是 Function 类型的实例,而且都与其他引用类型一样具有属性和方法。由于函数是对象,因此函数名实际上也是一个指向函数对象的指针。函数的声明方式1.普通的函数声明function sum(num1, num2) { return num1+ num2...

2019-09-16 21:27:48 401

原创 Java设计模式之观察者模式

设计模式之观察者模式  观察者模式行为型设计模式,定义了对象间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并且自动更新。观察者模式也被称作发布-订阅模式。现实中,最简单的例子就是红绿灯,在十字路口的交通信号灯,红灯亮则汽车停,绿灯亮则汽车行。观察者模式结构图  观察这模式包含Subject(目标),ConcreteSubject(具体目标),Observer...

2019-09-15 09:39:33 538

原创 关闭shell后让程序继续运行的方式

关闭shell后让程序继续运行的方式  最近在Linux下执行了jmeter测试脚本,启动程序后,关闭shell后,然后再登录shell,发现启动的脚本停止了,莫名其妙。原来,如果直接执行脚本,当关闭shell时,启动的脚本进程也跟着结束了。  原因:当用户注销(logout)或者网络断开时,终端会收到 HUP(hangup)信号从而关闭其所有子进程。  解决办法:要么让进程忽略HUP信号,...

2019-09-12 21:12:17 3820

sakila.zip

MySQL数据库的测试数据库sakila的SQL脚本,内含sakila-schema.sql和sakila-data.sql以及一个导入的说明,主要是用来测试,这个数据库是MySQL提供的,其实安装了MySQL应该也会有这个的,可以全局搜索一下"sakila",应该能找到,上传主要是为了以后自己方便找到。

2019-10-27

JNI示例的源码

两个JNI的示例实现的代码,主要实现了一个没有参数没有返回值的native方法和有参数且有返回值的native方法

2018-01-23

easyBCD工具

EasyBCD是一款功能强大的Windows启动菜单修复工具,但它D除了修复启动菜单,还可以让电脑从可启动文件启动,也就是说,没有光驱也可以安装系统。

2015-09-24

vmware虚拟机MAC补丁包unlock-all-v120(vmWare10专用)

vmWare10无Mac OS选项,用这补丁就可解决。

2015-09-24

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

TA关注的人

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