- 博客(62)
- 资源 (11)
- 收藏
- 关注
原创 Centos7安装MySQL5.7版本
1.下载mysql源安装包wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm;2.添加源yum localinstall mysql57-community-release-el7-8.noarch.rpm;3.检查mysql源 是否添加成功yum repolist enabled | grep "mysql.*-community.*";4.安装mysqlyum install
2021-04-28 16:38:33
373
原创 Redis搭建主从复制环境一主二从三哨兵
1、redis版本为6.2.1,redis安装步骤此处省略,可自行百度。这次搭建使用的是同一台虚拟机,启用多个redis实例。多虚拟机环境配置方法类似,修改端口和防火墙即可。2、本机redis安装路径为/home/hl/redis,将目录下redis.conf文件复制三份到src目录,分别命名为redis-6379.conf,redis-6380.conf,redis-6381.conf。需要修改的内容如下,三个文件基本相同,主要是端口的区别。# redis实例端口port 6379# 守护
2021-04-26 16:26:29
309
原创 非root用户启动Redis主从复制失败
搭建redis主从复制环境,非root用户启动redis,结果总是同步失败,日志报错如下:42580:M 25 Apr 2021 20:50:16.183 # Background saving error42580:M 25 Apr 2021 20:50:16.183 # Connection with replica 127.0.0.1:6380 lost.42580:M 25 Apr 2021 20:50:16.183 # SYNC failed. BGSAVE child returned
2021-04-25 21:26:46
1275
原创 Redis常见面试题
介绍:Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API的非关系型数据库。传统数据库遵循 ACID 规则。而 Nosql(Not Only SQL 的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称) 一般为分布式而分布式一般遵循 CAP 定理。Github 源码:https://github.com/antirez/redisRedis 官网:https://redis.
2021-04-21 23:15:01
197
原创 Java使用RedisTemplate操作Redis常用API
redisTemplate常用api:package com.hl.chapter29.web;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.redis.core.*;import org.springfra
2021-04-21 16:43:33
1415
原创 spring-boot-starter-data-redis常用注解
1、@Cacheable @Cacheable 注解在方法上,表示该方法的返回结果是可以缓存的。也就是说,该方法的返回结果会放在缓存中,以便于以后使用相同的参数调用该方法时,会返回缓存中的值,而不会实际执行该方法。 注意,这里强调了一点:参数相同。这一点应该是很容易理解的,因为缓存不关心方法的执行逻辑,它能确定的是:对于同一个方法,如果参数相同,那么返回结果也是相同的。但是如果参数不同,缓存只能假设结果是不同的,所以对于同一个方法,你的程序运行过程中,使用了多少种参数组合调用过该方法,...
2021-04-19 22:36:36
398
原创 Redis三种启动方式
1、直接启动 进入redis根目录,执行命令:./redis-server 2、通过指定配置文件启动 可以为redis服务启动指定配置文件,例如配置为/etc/redis/6379.conf 进入redis根目录,输入命令:./redis-server /etc/redis/6379.conf 如果更改了端口,使用`redis-cli`客户端连接时,也需要指定端口,例如:./redis-cli -p 63803、使用redis启动脚本设置开机自启动 启动脚本 ...
2021-04-16 21:40:30
29937
原创 过滤器filter、拦截器intercepter、监听器listener、servlet区别
一、概念 1、servlet:servlet是一种运行服务器端的java应用程序,具有独立于平台和协议的特性,可以动态生成web页面它工作在客户端请求与服务器响应的中间层; 2、filter:filter是一个可以复用的代码片段,可以用来转换HTTP请求,响应和头信息。它不能产生一个请求或者响应,它只是修改对某一资源的请求或者响应; 3、listener:监听器,通过listener可以坚挺web服务器中某一执行动作,并根据其要求作出相应的响应。就是在a...
2021-04-16 13:59:59
428
原创 SpringBoot整合FreeMarker
闲言少叙,直接上代码1、添加pom:<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency> <dependency> <groupId>
2021-04-15 22:53:14
259
原创 Springboot项目整合Thymeleaf和SpringSecurity
1、首先需要说明下版本,springboot版本为2.3.0,这个版本使用的Thymeleaf版本为thymeleaf-spring5:3.0.11,这个关系到页面中命名空间,如果页面中命名空间使用了旧版spring4会导致security无效。2、整体目录结构如下:3、添加pom依赖:<dependencies> <dependency> <groupId>org.springframework.boot</groupId>
2021-04-15 19:56:11
1009
原创 CGLIB动态代理原理及实现
JDK实现动态代理需要实现类通过接口定义业务方法,对于没有接口的类,如何实现动态代理呢,这就需要CGLib了。CGLib采用了非常底层的字节码技术,其原理是通过字节码技术为一个类创建子类,并在子类中采用方法拦截的技术拦截所有父类方法的调用,顺势织入横切逻辑。JDK动态代理与CGLib动态代理均是实现Spring AOP的基础。示例代码如下:1、创建被代理的类:package com.hl.chapter13.demo;/** * 被代理的真实类 */public class Admi
2021-04-14 14:46:03
271
原创 JDK动态代理的实现原理
1、在JDK的java.lang.reflect包下有个Proxy类,他正是构造代理类的入口。2、该类有一个方法newProxyInstance就是创建代理对象的方法。3、这个方法需要3个参数:ClassLoader,用来加载代理类的Loader类,通常这个Loader和被代理的类是同一个Loader类; Interfaces,是要被代理的那些接口; InvocationHandler,用于执行除了被代理接口中方法之外的用户自定义的操作,他也是用户需要代理的最终目的。用户调用目标方法都...
2021-04-14 10:31:01
196
原创 Redis 持久化机制
Redis是一个支持持久化的内存数据库,通过持久化机制把内存中的数据同步到硬盘文件来保证数据持久化。当Redis重启后通过把硬盘文件重新加载到内存,就能达到恢复数据的目的。实现:单独创建fork()一个子进程,将当前父进程的数据库数据复制到子进程的内存中,然后由子进程写入到临时文件中,持久化的过程结束了,再用这个临时文件替换上次的快照文件,然后子进程退出,内存释放。RDB是Redis默认的持久化方式。按照一定的时间周期策略把内存的数据以快照的形式保存到硬盘的二进制文件。即Snapshot快照存储,对应
2021-04-13 11:24:00
127
原创 VUE生命周期中created和mounted
一、什么是生命周期?用通俗的语言来说,就是Vue中实例或者组件从创建到消灭中间经过的一系列过程。虽然不太严谨,但是也基本上可以理解。通过一系列实践,现在把所有遇到的问题整理一遍,今天记录一下created和mounted的区别:二、created和mounted区别?官方图解如下:...
2021-04-12 22:49:17
544
原创 SpringMVC注解@GetMapping
Spring4.3中引进了{@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping},来帮助简化常用的HTTP方法的映射,并更好地表达被注解方法的语义。
2021-04-12 10:50:20
480
原创 SpringBoot使用DevTools实现热部署
一、添加devtools依赖<!-- devtools工具 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional></dependency>二、修改插件
2021-04-09 23:27:51
159
原创 Java反射技术--获取私有属性和方法
1、首先,创建一个类,部分属性和方法设置为private。package com.example.demo.utils;/** * @Author HL * @Date 2021年3月20日 */public class Person { private String id = "10"; private String name = "张三"; private String getId() { return id; } priva
2021-03-20 14:57:51
5189
原创 Java创建对象时静态代码、非静态代码、构造函数执行顺序
Java中,子类继承父类,子类创建对象时,执行顺序如下:①父类静态代码块>>②子类静态代码块>>③父类非静态代码块>>④父类构造函数>>⑤子类非静态代码块>>⑥子类构造函数总结:父类早于子类,静态早于非静态,非静态早于构造函数,父类非静态和构造函数早于子类的非静态和构造函数。1、验证代码package com.example.demo.utils;/** * Java创建对象时执行顺序 * * @Author H.
2021-03-20 11:07:34
203
转载 使用jdbc来处理MySQL的utf8mb4字符集(转)
原文链接地址:http://blog.51cto.com/11931236/2057929服务端解决方案查阅MySQL官方文档时,给出如下支持utf8转utf8mb4的官方处理办法https://dev.mysql.com/doc/refman/5.7/en/charset-unicode-conversion.html上述的步骤只是针对server端的配置.对于客户端...
2019-07-01 16:24:50
1808
转载 百度地图实现鼠标绘制多边形并获取所有点坐标
百度地图开放平台http://lbsyun.baidu.com/这里使用的是Javascript APIhttp://lbsyun.baidu.com/index.php?title=jspopular实现鼠标绘制多边形主要用到百度地图JavaScript开源库鼠标绘制工具条库(http://lbsyun.baidu.com/index.php?title=open/library),提...
2019-04-18 11:12:30
2994
转载 CentOS7 安装tomcat为系统服务器 Systemctl管理Tomcat,设置开机启动
CentOS7 安装tomcat为系统服务器 Systemctl管理Tomcat,并设置开机启动 CentOS7开始,从/etc/init.d脚本改为了systemctl管理服务。亲自测试成功。 1.首先,需要为tomcat配置pid。bin/catalina.sh # Copy CATALINA_BASE from CATALINA_HOME if not ...
2018-11-28 13:49:04
468
转载 jquery validation addMethod 自定义校验方法
// 手机号码验证jQuery.validator.addMethod("mobile", function(value, element) { var length = value.length; var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$/ return this.optional(element) || ...
2018-09-22 10:33:53
441
转载 select2初始化默认选中值(多选)
之前用select2初始化默认值使用了select2('val','1'),这样做没问题,但只能用在单选上,多选的话,即使将val后面的值改成数组['0', '2']这种形式也没用。<script type="text/javascript"> $(document).ready(function() { var data = [{ id: 0, text...
2018-08-13 15:53:37
8579
1
转载 MySQL的BTree索引和Hash索引的异同
1.Hash索引Hash索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像BTree索引需要从根节点到枝节点,最后才能访问到叶节点这样多次的I/O访问,所以Hash索引的查询效率要远高于BTree索引。可能很多人又有疑问了,既然Hash索引的效率要比BTree高很多,为什么大家不都用Hash索引而还要使用BTree索引呢?任何事物都是有两面性的,Hash索引也一样,虽然Has...
2018-08-03 16:56:15
193
转载 mybatis三种批量插入方式性能对比
准备: 1.表结构 CREATE TABLE `t_user` ( `id` varchar(32) CHARACTER SET utf8 NOT NULL COMMENT '主键', `name` varchar(50) CHARACTER SET utf8 DEFAULT NULL COMMENT '用户名', `del_flag` char(1) C...
2018-08-03 13:58:05
11427
5
转载 mysql调优——数据包packet大小限制max_allowed_packet
mysql根据配置文件会限制server接受的数据包大小。有时候大的插入和更新会受max_allowed_packet 参数限制,导致写入或者更新失败。查看目前配置show VARIABLES like '%max_allowed_packet%';显示的结果为:+--------------------+---------+| Variable_name | Value ...
2018-08-03 13:55:47
6508
原创 HTTP状态码详解(200,404,500等)
HTTP状态码,它是用以表示网页服务器HTTP响应状态的3位数字代码。状态码的第一个数字代表了响应的五种状态之一。 1XX系列:指定客户端应相应的某些动作,代表请求已被接受,需要继续处理。由于 HTTP/1.0 协议中没有定义任何 1xx 状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送 1xx 响应。 2XX系列:代表请求已成功被服务器接收、理解、并接受。...
2018-07-26 10:43:02
9849
转载 Apache Shiro的登录过程分析
来源:https://blog.youkuaiyun.com/jin5203344/article/details/53174341关于shiro就不用做过多介绍了,今天主要分析下登录过程首先我大致画了个流程图(可能不够详细):第一步:用户登录,根据用户登录名密码生产Token UsernamePasswordToken token = new UsernamePasswordToken(username, ...
2018-07-11 17:29:47
1055
1
转载 window服务器wamp解决forbidden错误
来源:https://blog.youkuaiyun.com/talen123/article/details/53193296在window服务器上用wamp搭建完环境后,输入IP地址,出现ForbiddenYou don't have permission to access / onthis server.Apache/2.4.23 (Win64) PHP/5.6.25 Server at123.207...
2018-07-06 14:43:54
2115
转载 https协议经springMVC重定向后变成http协议之解决方案
进入系统的请求为:https://xxx/login/index经过springmvc的重定向后,return new ModelAndView("redirect:/login/index"); 请求由https协议变成http协议,http://xxx/login/index解决办法:[html]...
2018-06-25 17:02:52
8095
原创 Tomcat内存溢,出设置JAVA_OPTS
设置Tomcat启动的初始内存其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置三、实例,以下给出1G内存环境下java jvm 的参数设置参考:JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -X...
2018-06-25 15:07:47
1465
转载 Tomcat server.xml配置实例
来源:https://www.cnblogs.com/kismetv/p/7228274.html目录一、一个server.xml配置实例二、server.xml文档的元素分类和整体结构 1、整体结构 2、元素分类三、核心组件 1、Server 2、Service 3、Connector 4、Engine 5、Host 6、Context四、核心组件的关联 1、整体关系 2、如...
2018-06-22 17:29:39
313
转载 Spring的JdbcTemplate自动关闭连接
来源:https://blog.youkuaiyun.com/partner4java/article/details/7012196JdbcTemplate类使用DataSource得到一个数据库连接。然后,他调用StatementCreator实例创建要执行的语句。下一步,他调用StatementCallBack完成。一旦StatementCallBack返回结果,JdbcTemplate类完成所有必要清...
2018-06-22 15:56:10
23736
1
转载 MySQL运行状态show status详解
要查看MySQL运行状态,要优化MySQL运行效率都少不了要运行show status查看各种状态,下面是参考官方文档及网上资料整理出来的中文详细解释:如有问题,欢迎指正状态名作用域详细解释Aborted_clientsGlobal由于客户端没有正确关闭连接导致客户端终止而中断的连接数Aborted_connectsGlobal试图连接到MySQL服务器而失败的连接数Binlog_cache_di...
2018-06-22 10:58:49
642
转载 curl命令详解
在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。语法:# curl [option] [url]常见参数:-A/--user-agent <string>...
2018-06-21 09:00:07
51536
转载 杜绝假死,Tomcat容器设置最大连接数
前提说明为了确保服务不会被过多的http长连接压垮,我们需要对tomcat设定个最大连接数,超过这个连接数的请求会拒绝,让其负载到其它机器。达到保护自己的同时起到连接数负载均衡的作用。动手去做一开始根据故障todoList提供的参数MaxKeepAliveRequests,进行验证,我们将tomcat配置server.xml修改为:同时,启动客户端模拟30个长连接。预期应该只有10个连接能保持住。...
2018-06-20 16:58:21
6009
转载 Tomcat中acceptCount,maxConnections、maxThreads的含义及关系
个人对tomcat连接器3个属性maxConnections、maxThreads、acceptCount的理解:先摘取官网对这3个属性的描述:acceptCountThe maximum queue length for incoming connection requests when all possible request processing threads are in use. An...
2018-06-20 16:37:08
2327
2
转载 关于TCP的CLOSE_WAIT
对于TCP的挥手过程的认识,我认为可以分为三个等级:如果你能把TCP的三次握手和四次挥手的流程说出来,至少说明你上课听讲了。如果你能完整的描述TIME_WAIT 和 CLOSE_WAIT 状态,那至少说明你对挥手过程深入了解了。如果你在项目开发过程中遇到过TIME_WAIT 和 CLOSE_WAIT的问题并能够解决这类问题,那说明你是高手了。今天我们来说下TCP的CLOSE_WAIT状态,搞不明白...
2018-06-20 10:22:06
6658
Jingle.js单页客户端框架
2019-04-24
Java3d-lib开发工具包
2019-04-24
mysql5.5.37 win64免安装程序包
2019-04-24
mysql5.5.37 win32免安装程序包
2019-04-24
TeamViewer安装包
2019-04-24
JNA(JavaNativeAccess)框架jar包4.5.0版本
2019-04-24
H2数据库包
2019-04-24
OpenGL编程指南第八版《红宝书》
2019-04-24
javaweb进销存管理系统
2015-09-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人