自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(84)
  • 收藏
  • 关注

原创 【Redis】Jedis介绍

文章目录Jedis介绍Jedis的基本使用Jedis介绍在Java体系中,有三种常见的Redis客户端:Jedis、Redission和lettuceJedis:其提供API是和Redis命令相比是比较全面,Jedis中java方法基本和Redis提供的命令保持一致,调用的是比较底层的Redis的命令Redisson:实现分布式和可扩展性的java的数据结构,分布式锁、分布式集合、和jedis相比,功能比较简单,不支持字符串、不支持排序、事务等Redis特征Lettuce:用于线程安全的同步,

2021-08-07 22:47:32 221

原创 【Redis】Redis主从复制

文章目录1、简介2、配置环境3、一主两从两种模式配置从机查看主机信息4、哨兵模式优缺点1、简介主从复制:指的是一个Redis服务器的数据,复制到其他的Redis服务器,前者称之为主节点(mater/leader),后者称之为从节点(slave/follower),数据的复制是单向,只能是从主节点到从节点,master以写为主,Slave节点以读为主。默认情况,每台Redis服务器都是主节点,且一个主节点可以有多个从节点(或者没有从节点),但是一个从节点只能有一个主节点主从复制作用:数据冗

2021-08-07 22:37:10 189

原创 【Redis】Redis缓存穿透、击穿和雪崩

文章目录缓存穿透——查不到1、概念2、解决方案1——布隆过滤器3、解决方案2——缓存空对象缓存击穿——瞬间某个Key缓存过期1、概念2、解决方案1——热点数据永不过期3、解决方案2——加互斥锁缓存雪崩——某一个时间段缓存集中过期失效1、概念2、解决方案1——Redis高可用3、解决方案2——限流降级4、解决方案3——数据预热缓存穿透——查不到1、概念用户需要查询一个数据时,发现Redis中没有,也就是缓存没有命中,于是就向持久层数据库发起查询,发现也没有这个数据,于是本次查询失败。当用户很多的情况

2021-08-07 13:07:05 184

原创 【Redis】Redis事务

文章目录Redis事务事务命令正常的执行事务放弃事务编译时异常执行时异常watch正常执行使用watch当做乐观锁使用Redis事务Redis中事务可以一次执行多个命令,是一组命令的集合,一个事务中所有的命令都会被序列化,在事务的执行过程中,会按照顺序串行化执行队列中的命令Redis是一次性,顺序性,排他性的执行一个队列中的一系列命令Redis不保证原子性Redis中,单条命令的执行是原子性,但事务是不保证原子性,而且没有回滚的换概念,事务中任意的命令执行失败,其他的命令是可以执

2021-08-07 00:19:35 121

原创 【Redis】Redis持久化

文章目录Redis持久化RDB(Redis DataBase)内存快照触发时机优缺点AOF(Apended Only File)日志文件AOF回写机制优缺点Redis持久化Redis是内存数据库,如果不将内存中的数据库状态保存到磁盘中,那么一旦服务器进程退出,服务器中的数据库状态也就会小时,所以Redis提供了持久化的功能。RDB(Redis DataBase)内存快照RDB是Redis默认的持久化方式,内存快照指内存中的数据在某一时刻的状态记录,类似于拍照,将瞬间的形象记录下来。Redis将

2021-08-06 23:17:39 97

原创 【Redis】Redis配置文件详解

文章目录redis.conf(redis.windows.conf)网络 NETWORK通用 GENERAL快照 SNAPSHOTTING安全 SECURITY内存管理 MEMORY MANAGEMENTAOF持久化 APPEND ONLY MODEredis.conf(redis.windows.conf)启动redis,通过读取配置文件启动配置文件中unit单位对大小写不敏感网络 NETWORKbind 127.0.0.1 -::1 #绑定的ip,绑定的主机的地址protected-m

2021-08-06 22:27:55 203

原创 【Redis】Redis的数据类型

文章目录一:Redis的五种基本类型1、字符串stringset / getexistsappendstrlenincr / decrincrby / decrbygetrangesetrangesetex / ttlsetnxmset / mgetgetset2、列表listlpush / rpush / lrangelpop / rpoplindexllenlremrpoplpushlset3、集合setsaddsmemberssismemberscardsremsrandmemberspop4、哈

2021-08-06 22:22:47 169

原创 【Redis】Redis基础

文章目录一:Redis前言二:NoSQL1、NoSQL的特点2、NoSQL的四大分类三:Redis基础1、Redis基本概念2、Redis的基本操作切换数据库查看数据库大小查看所有的keys清除数据库3、Redis是单线程的4、Redis的五种基本类型(1)字符串stringset / getexistsappendstrlenincr / decrincrby / decrbygetrangesetrangesetex / ttlsetnxmset / mgetgetset(2)列表listlpush

2021-08-06 19:47:57 119

原创 【Linux】网络相关命令

文章目录网络相关命令pingifconfignetstat(重要)网络相关命令pingping 命令是用来测试TCP/IP 网络是否畅通或者测试网络连接速度的命令,对确定网络是否正确连接,以及网络连接的状况十分有用。简单的说,ping就是一个测试程序,如果ping运行正确,大体上就可以排除网络访问层、网卡、Modem的输入输出线路、电缆和路由器等存在的故障,从而缩小问题的范围。ping命令的原理是根据计算机唯一标示的IP 地址,当用户给目的地址发送一个数据包时,对方就会返回一个同样大小的数据包,根据

2021-02-10 14:33:00 328

原创 【Linux】安装Java开发环境

文章目录安装JDK下载安装包解压安装包配置JDK安装JDK下载安装包下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html1.直接在Linux环境中在浏览器访问上面的地址进行下载。2.在windows环境下载之后导入Linux。将下载好的安装包拷贝至windows与Linux的共享文档中,然后在linux上将该安装包再移动至一个指定文件夹下。解压安装包tar -xzvf [安装包名称]

2021-02-10 14:13:07 223

原创 【Linux】内存与磁盘

文章目录内存与磁盘1、内存2、 磁盘3、内存管理相关命令(1)free(2)vmstat(3)查看磁盘信息(4)查看硬盘磁盘IO内存与磁盘内存和磁盘都是计算机中的存储器,都具有存储功能,属于存储设备。在计算机中,磁盘和内存是相互配合共同作业的。   区别:1、内存是一种高速,造价昂贵的存储设备;而磁盘速度较慢、造价低廉。2、内存属于内部存储设备,磁盘属于外部存储设备。3、内存是通过电流来实现存储;磁盘是通过磁记录来实现存储。所以电脑断电后,内存中的数据会丢失,而磁盘中的数据可以长久保

2021-02-10 13:56:24 305

原创 【Linux】计算机组成与进程

文章目录计算机的基本组成1、计算机组成五大部件2、系统总线3、指令进程1、PID2、PCB3、进程状态4、进程管理命令(1)ps(2)pstree(3)jobs(4)&(5)fg bg(6)kill(7)pkill(8)killAll(9)top(10)pidstat5、生产环境服务器变慢,诊断思路和性能评估计算机的基本组成1、计算机组成五大部件运算器 :也叫算数逻辑单元,完成对数据的各种常规运算,如加减乘除,也包括逻辑运 算,移位,比较等。控制器 :它是整个计算机系统的控制中心,它指挥

2021-02-10 09:28:05 235

原创 【Linux】Linux的文件操作命令(文本文件)

文章目录文件查看命令1、文本查看(1)cat(2)more(3)less(4)head(5)tail2、数据统计文件操作命令Vim1、三种模式介绍2、vim常用命令3、末行模式下的操作4、vim小技巧文件查看命令1、文本查看(1)cat查看文件内容cat [文件名]例如:查看test.txt文件内容cat test.txt合并文件cat [文件1名] [文件2名] > [合并后文件名]例如:将a.txt和b.txt合并,合并后的文件名为c.txtcat a.txt

2021-02-10 08:08:02 486

原创 【Linux】Linux系统的文件

文章目录1、文件类型2、文件权限修改文件权限(1)文字设定法(2)数字设定法修改文件的属组修改文件属主3、文件操作(1)查看文件(2)创建文件(3)删除文件删除普通文件删除目录文件(4)文件复制与重命名4、打包、压缩与解压(1)打包(2)压缩1、文件类型Linux上一切皆文件表示符号文件类型说明d目录文件p管道文件进程间通讯l连接文件Windows上的快捷方式 设备文件块设备( b )、字符设备( c )、套接字( s )-普

2021-02-09 06:02:15 373

原创 【Linux】Linux的目录结构

文章目录Linux目录结构1、常见目录说明2、路径3、查看目录下的文件4、家目录的概念(1)用户管理添加新用户切换用户修改用户密码删除用户(2)用户信息(3)修改用户信息Linux目录结构我们都知道Windows操作系统下的目录结构是使用统一的磁盘管理(盘符),例如C盘、D盘、E盘等。而Linux操作系统下的目录结构并没有盘符,所有的文件都是从根目录开始存储(/),也是我们常说的树状目录结构。如图所示:1、常见目录说明/bin 存放常用命令/boot 系统内核及启动有关的文件/dev 存放设

2021-02-09 05:19:47 411

原创 【Linux】Linux介绍

文章目录一:Linux简介1、Linux 和 Windows 的区别2、Linux 内核版本和发行版本(1)Linux 内核版本(2)Linux 发行版本二:终端介绍1、终端基本操作2、命令手册3、开机与重启4、runlevel一:Linux简介Linux 就是一组软件,而软件分为操作系统软件和应用软件,Linux 属于操作系统软件。计算机是由一堆硬件组成的,为了有效的控制这些硬件资源,于是乎就有了操作系统的 产生,操作系统除了有效的控制这些硬件资源的分配,并提供计算机运作所需要的功能(如网络功能)

2021-02-09 04:27:02 397

原创 【SSM】SSM框架整合

文章目录SSM框架整合整合思路整合步骤1、引入依赖2、dao层处理3、Spring配置4、Spring MVC的处理5、引入jetty服务器插件6、执行结果SSM框架整合SSM框架整合是指整合Spring框架、SpringMVC框架和MyBatis框架。Spring 是一个开源框架, Spring 是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作 Expert One-On-One J2EE Development and Design 中阐述的部分理

2021-02-09 02:16:50 409

原创 【MyBatis】动态SQL的基本用法

文章目录动态SQL1、if标签2、where标签3、foreach标签动态SQLmybatis动态SQL,采用的基于OGNL表达式来操作的。根据表达式的不同进行动态的SQL的拼接、组装。动态SQL标签:if标签 、where标签、trim标签(where、set)、foreach标签1、if标签if标签通常用于where语句中,通过判断参数值来决定是否使用某个查询条件条件,它也经常用于update语句中判断是否更新某一个字段,还可以在insert语句中用来判断是否插入某个字段的值接口文

2021-02-08 11:24:27 342 1

原创 【MyBatis】MyBatis动态代理

文章目录MyBatis动态代理1、代理模式(1)JDK自带的动态代理(2)CGLib动态代理2、MyBatis中动态代理MyBatis动态代理在MyBatis的使用过程中,我们经常使用的是通过getMapper方法获取代理对象,形如:StudentMapper mapper = sqlSession.getMapper(StudentMapper.class);方式,从而进行对接口的动态代理。1、代理模式动态代理其实是代理模式的一种,而代理模式其实是Java当中的一种设计模式。其结构如图所示:

2021-02-08 10:38:09 589 3

原创 【MyBatis】Spring和Mybatis的整合

文章目录Spring和Mybatis的整合1、整合思想2、整合步骤(1)引入依赖(2)创建bean类(User.java)(3)Mapper接口文件(UserMapper.java)(4)Mapper.xml文件(UserMapper.xml)(5)整合sqlSessionFactory创建(spring-mybatis.xml)(6)通过代理对象操作(spring-mybatis.xml)(7)测试类(8)执行结果Spring和Mybatis的整合1、整合思想将mybatis中的实例交给Spri

2021-02-08 09:10:33 280

原创 Junit测试介绍

文章目录Junit测试介绍Junit的测试步骤1、引入依赖2、生成测试类Junit 介绍Junit测试介绍测试是在开发过程中保证代码质量的必不可少的环境,开发人员常用的一键构建测试结构的功能,通过Junit做单元测试Junit的测试步骤1、引入依赖 <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId

2021-02-08 08:44:36 319 3

原创 【MyBatis】MyBatis框架配置详解

文章目录配置详解1、全局配置文件的介绍(mybatis-config.xml)(1)properties:读取外部资源的(2)setting:全局的参数配置(3)typeAliases:类型别名(4)environments:环境配置(5)mappers:映射器2、配置XML文件的基本用法(1)select(2)insert(3)update(4)delete3、注解基本用法4、编码详解配置详解1、全局配置文件的介绍(mybatis-config.xml)参考文档:MyBatis配置(1)pro

2021-02-08 08:34:54 413 2

原创 【MyBatis】MyBatis框架介绍

文章目录1、JDBC编程和存在问题2、MyBatis介绍3、MyBatis原理4、MyBatis使用(1)引入依赖(2)全局配置文件(mybatis-config.xml)(3)PoJo类(Student23.java)(4)Mapper接口文件(Student23Mapper.java)(5)Mapper.xml文件(Student23Mapper.xml)(6)添加日志(7)查询操作(8)执行结果1、JDBC编程和存在问题JDBC编程详解前面已经写过了这里就不细说了,详情请点击:JDBC编程

2021-02-08 07:16:36 661 4

原创 【Spring MVC】Spring MVC的参数绑定和返回值

文章目录一:参数绑定1、默认支持的类型2、基本数据类型3、自定义类型4、集合类型二:返回值1、返回ModelAndView类型2、返回String类型(1)返回逻辑视图名(2)redirect重定向(3)forward页面转发2、返回void类型(1)使用request页面转向(2)通过response页面重定向(3)通过response指定响应结果一:参数绑定参数绑定过程在springMVC中,从前端(页面:jsp…)发送请求到后端(controller…),会包含一些数据,数据是如何到达Cont

2021-02-07 02:41:04 666 1

原创 【Spring MVC】Spring MVC的使用

文章目录SpringMVC的基本使用1、创建SpringMVC项目2、引入SpringMVC的依赖jar包3、在web.xml配置文件中配置前端控制器4、创建spring-mvc.xml配置文件5、编写Handler(Controller层)6、编写View(JSP页面)7、部署服务器8、启动服务器SpringMVC的基本使用这里是通过maven来管理SpringMVC框架1、创建SpringMVC项目2、引入SpringMVC的依赖jar包<!--Spring相关依赖-->&l

2021-02-07 00:22:55 458 1

原创 【Spring MVC】Spring MVC框架介绍

文章目录Spring MVC框架介绍MVC模式的演进Spring架构SpringMVC的运行原理Spring MVC 中各组件的介绍1、前端控制器(DispatchServlet)2、处理器映射器(HandlerMapping)3、处理器适配器(HandlerAdapter)4、处理器(Handler)5、视图解析器(View Resolver)6、视图(View)Spring MVC框架介绍SpringMVC是一种基于Java,实现了Web MVC设计模式,请求驱动类型的轻量级Web框架,即使用了M

2021-02-06 22:22:59 1335 2

原创 【Java多线程】ReentrantLock

文章目录ReentrantLockReentrantLock(类)与synchronized(关键字)的区别ReentrantLock的使用重入锁与不可重入锁公平锁非公平锁生产者消费者模型ReentrantLock在实现线程同步时,大多情况下使用的是Synchronized关键字实现,但是Synchronized的锁太过封闭,获得锁和释放锁都是系统自动的。所以为了更灵活的操作,在JDK1.5版本之后,就诞生了Lock接口以及其实现类ReentrantLock。lock接口也是对资源上锁的一种工具,它

2021-02-05 00:46:31 491 1

原创 【JVM】GC垃圾回收

文章目录一:GC原理二:对象被标记为垃圾的方法1、引用计数法2、可达性分析三:垃圾回收算法1、标记-清除算法2、复制算法3、标记-整理算法4、分代回收算法一:GC原理GC(Garbage Collection:垃圾回收)基本原理:将内存中不在使用的对象进行回收,GC中用户回收的方法称之为回收器,由于GC需要消耗一定的资源和时间的,GC主要作用于堆空间,根据对象的生命周期的特征进行分析按照新生代,老年代的方式来对对象进行收集,尽可能少的缩短GC操作对应用程序的暂停。对新生代的对象进行收集称之为Min

2021-02-02 11:13:39 581 1

原创 【JVM】Java命令

文章目录一:Java命令1、jps:显示所有java进程pid2、jinfo:实时查看和调整虚拟机参数3、jstat:监控虚拟机各种运行状态信息4、jmap:生成堆转储快照5、jhat:Java堆分析工具6、jstack:堆栈跟踪工具二:通过Java命令排查问题试题1:某服务器CPU使用率达到99%,排查是哪个程序的哪个线程导致的高CPU试题2:某java应用大量消耗内存,导致OutOfMemoryError一:Java命令作为一个合格的开发人员,不仅要能写好代码,还有一项很重要的技能就是排查问题。这

2021-02-02 09:34:32 488 1

原创 【JVM】JVM参数配置

文章目录JVM参数配置1、标准参数2、非标准参数3、非Stable参数(非静态参数)(1)性能参数(2)行为参数(3)调试参数JVM参数配置我们学习JavaGC机制的目的是为了实用,也就是为了在JVM出现问题的时候分析原因并解决之,JVM监控与调优主要的着眼点在于如何配置、如何监控、如何优化3点上。在Java虚拟机的参数中,有三种表示方法1、标准参数(-),所有的 JVM 实现都必须实现这些参数的功能,而且向后兼容;2、非标准参数(-X),默认 JVM 实现这些参数的功能,但是并不保证所有

2021-02-02 07:59:57 276 1

原创 【JVM】JVM基础

文章目录一:Java的跨平台性二:JVM概念三:JDK/JVM/JRE的关系四:JVM生命周期五:JVM工作过程1、类加载子系统2、运行时数据区域3、执行引擎六:类加载器1、类加载时机2、类加载的过程3、双亲委派模型七:Java内存模型1、程序计数器2、虚拟机栈3、本地方法栈4、堆5、方法区一:Java的跨平台性Java程序是跨平台性的,它是通过JVM来实现的JVM是Java Virtual Machine(Java虚拟机)的缩写,是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计

2021-02-02 07:20:07 408 1

原创 【Java多线程】并发编程

文章目录1、什么是并发编程2、并发编程的特性(1)原子性(2)可见性(3)有序性3、线程同步问题(1)为什么需要同步(2)临界资源和临界区(3)银行叫号4、Synchronized关键字(1)Synchronized的使用Synchronized同步代码块Synchronized同步普通方法Synchronized同步静态方法1、什么是并发编程并发编程是为了提高程序的执行速度,在宏观上市的多个任务同时执行,则需要启动多个线程,但事实启动多个线程之后,不管针对单核cpu还是多核cpu线程进行上下文切换,

2021-02-01 02:00:02 410

原创 【Java多线程】线程的生命周期和常用方法

文章目录1、线程的状态2、线程间的状态转化3、线程常用方法(1)start()(2)sleep()(3)yield()(4)join()(5)interrupt()(6)Priority(7)wait()/notify()/notifyAll()4、线程调度1、线程的状态Java中线程的状态由6种,Thread类中的内部类State来体现public enum State { NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAI

2021-02-01 00:47:27 429

原创 【Java多线程】线程的基本认识与创建

文章目录1、进程和线程的认识2、多线程和多进程的区别和联系3、并发和并行的区别4、线程的创建(1)继承Thread类(2)实现Runnable接口(3)实现Callable接口实现Runable接口和继承Thread类的区别Callable和Runable接口区别5、start()方法和run()方法的区别6、守护线程1、进程和线程的认识进程:进程就是计算机正在进行的一个独立的应用程序,进程是一个动态的概念,必须是进行状态,如果一个应用程序没有启动,那就不是一个进程。进程是程序执行过程中资源分配

2021-01-29 02:29:26 377

原创 【Spring框架】AOP

文章目录AOP简介AOP相关术语AOP的设计原理和思想1、AOP横向抽象技术的介绍2、使用代理模式的Java程序执行流3、Spring AOP的工作原理AOP的使用1、引入AOP需要的相关jar包2、配置XML文件3、写出相关实例(实现类和增强类)(1)基于XML配置型的实现4、配置切入点5、使用AOP(2)基于注解的方式实现4、配置XML文件5、在增强类上添加注解6、使用AOPAOP简介AOP(全称Aspect Oriented Programming) 即:面向切面编程。通过预编译方式和运行期间

2021-01-28 03:08:14 454

原创 【Spring框架】Spring DI介绍

文章目录DI简介DI的注入方式1、基于XML配置文件的注入(1)基于有参构造函数注入依赖(2)基于set方法注入依赖2、基于注解的注入依赖的解析过程DI简介DI-Dependency Injection 即“依赖注入”,组件之间的依赖关系由容器在运行时决定,即由容器动态的为某个依赖冠以注入到组件中关键点:谁依赖谁?为什么需要依赖?谁注入谁?注入了什么?容器:IOC 组件(某一个特定的类:例如:UserService)资源(组件依赖的内容:例如:mailService)——————

2021-01-26 01:14:00 473

原创 【Spring框架】Bean的实例化方式

文章目录Bean的实例化方式1、基于XML配置方式装配Bean(1)基于无参构造函数实例化Bean(2)静态工厂方式实例化Bean(3)基于普通工厂方法实例化Bean2、基于注解的方式装配Bean(1)Spring配置文件引入context约束(2)在交给IOC容器管理的类上添加注解(3)通过IOC容器获取Person对象Bean的实例化方式Spring容器装配Bean的方式主要是两种:基于XML配置方式基于注解的形式1、基于XML配置方式装配BeanBean基于配置方式实例化有三种形式:

2021-01-26 00:17:57 395

原创 【Spring框架】IOC容器

文章目录Spring IOC讲解IOC思想Spring容器管理对象1、导入依赖2、Spring的配置文件3、创建实例类(Person.java)4、IOC容器管理对象5、通过容器来获取对象6、执行结果IOC容器介绍1、BeanFactory2、AplicationContext(1)ClassPathXmlApplicationContext(2)FileSystemXmlAplicationContext(3)XmlWebAplicationContext3、BeanFactory和Application

2021-01-25 23:43:54 342

原创 【Spring框架】Spring框架介绍

文章目录Spring框架介绍Spring两大核心技术Spring的优点Spring体系介绍核心容器数据访问/集成Web页面其他模块Spring框架介绍Spring框架是分层的 Java SE/EE 应用 full-stack 全栈式轻量级开源框架,以 IOC(Inverse Of Control:控制反转)和 AOP(Aspect Oriented Programming:面向切面编程)为内核,提供了展现层 SpringMVC 和持久层 Spring JDBC 以及业务层事务管理等众多的企业级应用技术

2021-01-25 23:04:49 1168

原创 数据库连接池

文章目录1、为什么要用连接池2、连接池的工作原理3、连接池的使用(1)导入依赖(2)参数配置(3)加载驱动(4)获取连接(5)设计单例模式(6)进行数据库操作并关闭连接1、为什么要用连接池普通的JDBC请求MySQL链接当完成所有SQL请求任务之后,MySQL连接就会关闭。这样一来MySQL的连接就变成了单次使用,每次使用前都需要重新创建,使用之后都需要将链接关闭。如果此时有多个用户使用JDBC的话,就会出现连接频繁的创建和关闭的过程。而链接池的出现就是为了让链接能够重复使用。数据库连接池负责分配、

2021-01-24 20:11:35 413

空空如也

空空如也

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

TA关注的人

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