自定义博客皮肤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)
  • 资源 (1)
  • 收藏
  • 关注

原创 Mybatis源码分析引入之SqlSessionFactory的创建

前言每一个 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心的。SqlSessionFactory 一旦被创建就应该在应用的运行期间一直存在,没有任何理由丢弃它或重新创建另一个实例。 可以说SqlSessionFactory贯彻整个MyBatis。String resource = "mybatis-config.xml";InputStream input...

2021-01-25 15:36:19 298

原创 Mybatis别名注册器逻辑分析

前言为了方便开发,mybatis内置了常用的Java类型的别名,这样,我们开发时写查询结果返回的参数的resultType时就可以使用内置的别名。例如:如果要返回Map类型的结果,就不需要写java.util.Map,而只需要写map即可类型别名(typeAliases)。本文重点研究他的使用与原理一、使用1、typeAlias类型<configuration> <...

2021-01-25 15:36:10 589 1

原创 Mybatis映射器原理分析

映射器(mappers)既然 MyBatis 的行为已经由上述元素配置完了,我们现在就要来定义 SQL 映射语句了。 但首先,我们需要告诉 MyBatis 到哪里去找到这些语句。 在自动查找资源方面,Java 并没有提供一个很好的解决方案,所以最好的办法是直接告诉 MyBatis 到哪里去找映射文件。 你可以使用相对于类路径的资源引用,或完全限定资源定位符(包括 file:/// 形式的 URL...

2021-01-25 15:35:59 1233

原创 Mybatis代理对象的获取与其方法的调用过程

DemoMapper mapper = sqlSession.getMapper(DemoMapper.class);public class MapperRegistry { @SuppressWarnings("unchecked") public <T> T getMapper(Class<T> type, SqlSession sqlSession) {...

2021-01-25 15:35:29 893

原创 Nginx静态资源获取的优化和文件压缩

一、优化静态文件获取此指令属于ngx_http_core_module模块指令:sendfile ;可存在位置:http, server, location, if in location;作用:启动高效传输文件的模式值:on 启动高效传输文件的模式值:off (默认要经过用户buffer)作用:Nginx在传输数据时会先在用户空间(Nginx进程空间)申请一个buffer,用read函数把数据从磁盘读到cache,再从cache读取到用户空间的buffer,再用write函数把数据从用

2021-01-24 22:12:37 377

原创 Nginx缓存配置和深入理解浏览器的缓存机制

原文出处:https://github.com/ljianshu/Blog/issues/23一 前言缓存可以说是性能优化中简单高效的一种优化方式了。一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并且由于缓存文件可以重复利用,还可以减少带宽,降低网络负荷。对于一个数据请求来说,可以分为发起网络请求、后端处理、浏览器响应三个步骤。浏览器缓存可以帮助我们在第一和第三步骤中优化性能。比如说直接使用缓存而不发起请求,或者发起了请求但后端存储的数据和前端一致,那么就没有必要再将数据回传回来,这样就.

2021-01-24 22:12:05 1222 1

原创 Nginx静态资源跨域访问

一、什么是跨域浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域二、Nginx静态资源跨域访问设置使用模块名称是ngx_http_headers_module指令: add_header name value [always]; 可存在位置:http, server, location, if in location作用:添加 http 响应头的。如果响应代码等于200、201(1.3.10),204、206、301、302、303、304、307 或30

2021-01-24 22:11:28 2880

原创 Nginx静态资源防盗链

11111

2021-01-24 22:10:31 673

原创 Nginx地址重写和重定向

一、rewrite配置语法指令:rewrite regex replacement [flag]; 可存在位置:server,location,if 说明:regex是匹配规则,replacement要跳转的路径,flag可以是以下值last:停止rewrite检测,继续匹配break:停止rewrite检测,停止匹配redirect:返回302临时重定向,地址栏会显示跳转后的地址permanent:返回301永久重定向,地址栏会显示跳转后的地址其实permanent和redirect区别

2021-01-24 22:10:03 1949

原创 Nginx Https配置学习

一、Https基本概述1.1 什么是HTTPSHTTPS是一种通过计算机网络进行安全通信的传输协议,经由HTTP进行通信,利用SSL/TLS建立全信道,加密数据包。HTTPS使用的主要目的是提供对网站服务器的身份认证,同时保护交换数据的隐私与完整性。简单的来说就是HTTPS是身披SSL外壳的HTTP。1.2 https与http的区别https协议需要到ca申请证书,一般免费证书很少,需要交费。http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议http和h

2021-01-24 22:09:26 104

原创 Nginx获取客户端真实ip

三、如何在使用代理后获取用户ip在《实战nginx》中,有这么一句话:经过反向代理后,由于在客户端和web服务器之间增加了中间层,因此web服务器无法直接拿到客户端的ip,通过$remote_addr变量拿到的将是反向代理服务器的ip地址。这句话的意思是说,当你使用了nginx反向服务器后,在web端使用request.getRemoteAddr()(本质上就是获取$remote_addr),取得的是nginx的地址,即$remote_addr变量中封装的是nginx的地址,当然是没法获得用户的真

2021-01-24 22:08:38 7606 1

原创 Nginx的事件模块性能优化

Nginx的事件模块是指events一、惊群问题在《UNIX网络编程》第1卷里提到过一个叫“惊群”的问题(Thundering herd problem),大致意思是,当某一时刻只有一个网络连接到来时,多个睡眠进程会被同时叫醒,但只有一个进程可获得连接。如果每次唤醒的进程数目太多,会影响一部分系统性能。在Nginx服务器的多进程下,就有可能出现这样的问题。为了解决这样的问题,Nginx配置中包含了这样一条指令accept_mutex,当其设置为开启的时候,将会对多个Nginx进程接收连接进行序列化.

2021-01-24 22:07:45 2411

原创 Location语法规则

一、 Location语法规则指令:location [ = | ~ | ~* | ^~ ] uri { ... } 或者 location @name { ... } ; 可存在位置: server, location1.1 先普通 location ,再正则 locationNginx 其实是“先匹配普通 location ,再匹配正则 location ”,但是普通 location 的匹配结果又分两种:一种是“严格精确匹配”,官方英文说法是“ exact match ”;另一种是“最大前

2021-01-22 21:13:40 10419

原创 Nginx简介与安装

常用网站服务软件处理静态资源apachenginx处理动态资源tomcat如果你听说或使用过Apache软件,那么很快就会熟悉Nginx软件,与Apache软件类似,Nginx(“enginex”)是一个开源的,支持高性能、高并发的WWW服务器和代理服务软件。它是由俄罗斯人lgor Sysoev开发的,最初被应用在俄罗斯的大型网站www.rambler.ru上。后来作者将源代码以类BSD许可证的形式开源出来供全球使用。。园nginx因具有高并发(特别是静态资源)、占用系统资源少等特性,且功能丰

2021-01-21 18:41:40 130

原创 Nginx学习

Nginx反向代理Nginx负载均衡Nginx监控模块Nginx站点下载和用户登陆认证模块IP的访问控制http请求限制和http连接限制

2021-01-21 18:38:08 132

原创 Nginx反向代理

一、概念1、正向代理简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器这个代理服务器呢,他能访问那个我不能访问的网站,于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容代理服务器去取回来,然后返回给我结论: 正向代理 是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。2、反

2021-01-21 18:33:13 143

原创 Nginx负载均衡

一、概念客户端发送多个请求到服务器,服务器处理请求,有一些可能要与数据库进行交互,服务器处理完毕后,再将结果返回给客户端。这种架构模式对于早期的系统相对单一,并发请求相对较少的情况下是比较适合的,成本也低。但是随着信息数量的不断增长,访问量和数据量的飞速增长,以及系统业务的复杂度增加,这种架构会造成服务器相应客户端的请求日益缓慢,并发量特别大的时候,还容易造成服务器直接崩溃。很明显这是由于服务器性能的瓶颈造成的问题,那么如何解决这种情况呢?。我们首先想到的可能是升级服务器的配置,比如提高CPU执行频率

2021-01-21 18:33:03 374

原创 Nginx监控模块

ngx_http_stub_status_module模块提供对基本状态信息的访问。默认情况下未构建此模块,应使用–with-http_stub_status_module 配置参数启用它语法: stub_status;默认: —内容: server, location //可存在位置案例location = /basic_status { stub_status;}在1.7.5之前的版本中,指令语法需要一个任意参数,例如“ stub_status on”。返回信息说.

2021-01-21 18:32:51 191

原创 Nginx站点下载和用户登陆认证模块

1、站点下载模块ngx_http_autoindex_module模块处理以斜杠字符(’ /’)结尾的请求,并生成目录列表。通常,ngx_http_autoindex_module 当ngx_http_index_module模块找不到索引文件时,会将请求传递给模块 。指令:autoindex ;可存在位置:http,server,location;作用:启用或禁用目录列表输出值:on 开启;值:off,禁用 (默认)指令:autoindex_exact_size ;可存在位置:http,s

2021-01-21 18:32:44 225

原创 IP的访问控制

ngx_http_access_module模块可以限制某些客户端的访问。指令:allow (address | CIDR | unix: | all);可存在位置:http,server,location,limit_except;作用:允许访问指定的网络或地址指令:deny (address | CIDR | unix: | all);可存在位置:http,server,location,limit_except;作用:拒绝访问指定的网络或地址案例//只允许ip192.168.93..

2021-01-21 18:32:36 851

原创 http请求限制和http连接限制

1、http连接限制ngx_http_limit_conn_module模块用于限制每个定义的键的连接数,特别是来自单个IP地址的连接数。并非所有连接都被计数。仅当连接具有服务器正在处理的请求并且已读取整个请求标头时,才对连接进行计数。http模块配置指令:limit_conn_zone key zone=name:size;可存在位置:http案例:limit_conn_zone $binary_remote_addr zone=conn_zone:10m;翻译:客户端IP地址用作键,

2021-01-21 18:32:06 3180

原创 Linux《远程联接服务SSH》学习总结

一、SSH服务连接工作原埋第一个步骤:客户端执行远程连接命令第二个步骤:客户端服务端建立三次握手过程第三个步骤:服务端让客户端进行确认是否接收服务端公钥信息第四个步骤:客户端进行公钥确认,接收到公钥信息第五个步骤:服务端让客户端确认登录用户密码信息第六个步骤:客户端进行密码信息确认第七个步骤:客户端服务端远程连接建立成功每一次启动 sshd 服务时,服务器会主动去找 /etc/ssh/ssh_host* 的档案,若系统刚刚安装完成时,由于没有这些公钥档案,因此 sshd 会主动去计算出这些

2021-01-18 09:26:47 277

原创 Linux《Rsync》学习总结

一、简介Rsync 是一个远程数据同步工具,可通过 LAN/WAN 快速同步多台主机间的文件。Rsync 本来是用以取代rcp 的一个工具,它当前由 Rsync.samba.org 维护。Rsync 使用所谓的“Rsync 演算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。运行 Rsync server 的机器也叫 backup server,一个 Rsync server 可同时备份多个 client 的数据;也可以多个Rsync

2021-01-18 09:24:08 550

原创 Linux《文件服务器之一:NFS 服务器》学习总结

111

2021-01-18 09:22:56 514

java System源码

java System源码 system类代表系统,系统级的很多属性和控制方法都放置在该类的内部。该类位于java.lang包。 由于该类的构造方法是private的,所以无法创建该类的对象,也就是无法实例化该类。其内部的成员变量和成员方法都是static的,所以也可以很方便的进行调用

2018-03-21

空空如也

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

TA关注的人

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