![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 76
泡芙萝莉酱
这个作者很懒,什么都没留下…
展开
-
Java学习 - Spring Boot整合 Thymeleaf 实例
Thymeleaf 是新一代的 Java 模板引擎,类似于 Velocity、FreeMarker 等传统引擎,其语言和 HTML 很接近,而且扩展性更高;Thymeleaf 的主要目的是将优雅的模板引入开发工作流程中,并将 HTML 在浏览器中正确显示。同时能够作为静态引擎,让开发成员之间更方便协作开发;Spring Boot 官方推荐使用模板,而且 Spring Boot 也为 Thymeleaf 提供了完整的自动化 配置解决方案;Thymeleaf 使用教程请戳。原创 2024-07-19 08:45:00 · 1239 阅读 · 0 评论 -
Java学习 - springboot 注解方式整合 Mybatis + PageHelper 分页实例
本篇博客主要利用 SpringBoot 通过注解的方式整合 Mybatis 同时利用 PageHelper 对结果分页。原创 2024-07-19 08:30:00 · 678 阅读 · 0 评论 -
Java学习 - Spring Boot XML 方式整合 MyBatis 实例
今天我们就来看看,如何利用 XML 文件的方式来将两者整合起来!下图是整个整合过程,接下来开始整合。以上就是通过 XMl 文件来整合 Spring Boot 和 MyBatis 的具体过程了,是不是很简单呢?对比 XML 文件和注解的方式,最大的不同就在于 DAO 层。前者是通过 XML 配置文件的方式,而后者则是使用 MyBatis 中所提供的注解来实现。两种方式各有优劣,而且大家也都有使用,不过貌似大家使用的更多的还是 XML 配置的方式。那么如果是你的话,你会使用哪种方式呢?原创 2024-07-18 08:45:00 · 786 阅读 · 0 评论 -
Java学习 - Spring Boot 讲解
Spring是重量级企业开发框架的替代品,是为了解决企业级应用开发的复杂性而创建的,简化开发。通过依赖注入(DI)和面向切面编程,用简单的 Java对象(POJO实现EJB的功能,其组件代码轻量,但是配置很繁琐(需要大量XML配置)。Spring 2.5引入基于注解的组件扫描,Spring 3.0引入基于Java的配置,可以代替XML,虽然引入的特性大大提高了配置的效率,但是也无法避免,针对这一问题,应运而生。原创 2024-07-18 08:30:00 · 642 阅读 · 0 评论 -
Java学习 - spring Bean 详解
以上就是今天关于 Bean 的内容了,主要从 Bean 的别名配置、作用范围、如何进行实例化以及声明周期 4 个方面着手,学习了 Bean 的相关操作。原创 2024-07-17 08:45:00 · 1061 阅读 · 0 评论 -
Java学习 - Spring IoC 简介及入门实例(XML 版)
本文主要讲了 IoC 和 DI 的定义,然后对比了传统方式、IoC 方式和 DI 方式用来管理对象,而且最终三者的结果都是一样的,但其中还是有一点的区别。通过引入 Spring 中的 IoC 和 DI 特性,我们只需要配置相关配置即可,而不用再去通过new手动创建对象以及管理 Bean 之间的依赖关系。原创 2024-07-17 08:30:00 · 1764 阅读 · 0 评论 -
Java学习 - Spring Bean 注解详解
本篇博客中,我们将会讨论用于声明不同类型 Beans 的几种最常用的 Spring Bean 注解。众所周知,Spring 容器中有许多配置 Bean 的方法,我们既可以通过 XML 配置,也可以在配置类中使用@Bean注解来声明 Beans。此外,我们还可以使用包中的一个注解来对类进行标记,然后把其余工作交给组件扫描即可。好了,以上就主要介绍了 Spring 中的原型注释,并了解了它们各自所代表的意义。此外,还学习了如何使用组件扫描功能,从而告知 Spring 容器在何处能找到带有注解的类。原创 2024-07-16 08:45:00 · 1841 阅读 · 0 评论 -
Java学习 - Spring 依赖注入知多少
Spring 中,用来组成应用程序的主体以及由 Spring IoC 容器所管理的对象叫做 Bean。简而言之,Bean 就是由 IoC 容器来进行初始化、装配和管理的对象。DI(Dependency Injection),即依赖注入。其中依赖指的是 Bean 对象的创建依赖于容器,是 Bean 对象的依赖资源;而注入则指的是 Bean 对象所以来的资源由容器来设置和装配。原创 2024-07-16 08:30:00 · 785 阅读 · 0 评论 -
Java学习 - Spring IoC大揭秘
Ioc(Inversion of Control),即控制反转,是 Spring 框架的核心内容,实际上指的是对一个对象的控制权的反转,和 OOP 一样,属于一种设计思想。Ioc 表示将我们设计好的对象交由容器控制,而不再使用在对象内部直接控制这种传统方式,而DI(依赖注入)则是实现 Ioc 的一种方法。原创 2024-07-15 08:45:00 · 659 阅读 · 0 评论 -
Java学习 - Spring 讲解
为了解决我们开发者在 J2EE 开发时所遇到的众多问题,Rob Johnson 等人发起了 Spring 框架项目。Spring 是一个开源的 J2EE 应用程序框架,是针对 Bean 的生命周期进行管理的轻量级容器。它既可以单独用于构建程序,也能和当前众多的 Web 框架进行组合使用,能够十分方便的降低当前企业应用开发的复杂性。既然 Spring 如此强大,那我们今天就来探究一下 Spring 的内容。原创 2024-07-15 08:30:00 · 852 阅读 · 0 评论 -
数据库学习 - Redis 持久化
所谓持久化,其实就是一种机制,它能够将内存中的数据库状态保存到磁盘中,从而防止服务器宕机导致内存数据丢失。Redis的数据都是存在内存中的,一旦出现宕机等情况,所有数据将会丢失,而持久化机制则是为了应对这一突发故障而提出的机制。以上就是Redis持久化的相关内容了,首先讲了什么是持久化,然后讲了持久化的过程,最后则是RedisRDBAOF。原创 2024-07-14 10:22:50 · 854 阅读 · 0 评论 -
数据库学习 - Redis讲解
说到 Redis,大家可能第一反应就是它是当前最受欢迎的 NoSQL 数据库之一。那么在正式介绍 Redis 之前,我们先来看看关于 NoSQL 的一些相关信息,比如它是什么,又比如它的一些特点以及它的一些分类。那么我们接下来就从以上三个方面来对 NoSQL 的相关历史做一个简单介绍,然后再去看看 Redis 的相关知识。泛指非关系型数据库,随 Web2.0 的诞生,传统关系型数据库难以应对 Web2.0,尤其是超大规模的高并发社区。NoSQL 在当今大数据程序下较为流行。原创 2024-07-14 10:21:54 · 711 阅读 · 0 评论 -
Nginx - 简介与环境搭建
以上就是Nginx的简介和如何在 Linux 中安装Nginx的相关内容了,如果您觉得本文对您有所帮助,还请来个。原创 2024-07-11 08:45:00 · 929 阅读 · 3 评论 -
MyBatis Plus - 日志配置及常用 CRUD
好了,以上就是关于 Mybatis-Plus 的日志配置以及如何进行 CRUD 的相关内容了,这里 CRUD 主要又分为 Mapper 层和 Service 层,我们可以根据自己的需要进行选择。原创 2024-07-11 08:30:00 · 881 阅读 · 2 评论 -
MyBatis Plus - 简介及入门实例
Mybatis-Plus:为简化开发而生MyBatis-Plus(简称 MP)是一个基于 MyBatis 的增强工具,它对 Mybatis 的基础功能进行了增强,但未做任何改变。使得我们可以可以在 Mybatis 开发的项目上直接进行升级为 Mybatis-plus,正如它对自己的定位,它能够帮助我们进一步简化开发过程,提高开发效率。原创 2024-07-10 08:45:00 · 912 阅读 · 3 评论 -
MyBatis - 注解开发
之前的实例中,利用 MyBatis 进行开发时,一旦添加新的方法,则每次都需要在 XML 配置文件中进行映射。而现在随着注解开发的大肆流行,MyBatis 3 也提供了基于注解的配置。但是通过注解的方式表达力和灵活性有限,必要时要是需要通过mapper@Select()@Update()@Insert()@Delete()原创 2024-07-10 08:30:00 · 1025 阅读 · 1 评论 -
MyBatis - 一二级缓存
缓存是存在内存中的临时数据,通过将我们放在内存中,当我们查询数据时就不在需要从磁盘读取,而只需要从缓存中查询即可,大大提升了查询的效率,解决了高并发系统的性能问题。原创 2024-07-09 08:45:00 · 901 阅读 · 0 评论 -
MyBatis - 代码自动生成器
作为一个基于 MyBatis 的独立工具,MyBatis Generator 能够满足我们以上的要求,能够通过简单的配置去帮我们生成数据表所对应的 PO、DAO、XML 等文件,减去我们手动去生成这些文件的时间,有效提高开发效率。命令行AntMavenJavaEclipse而我平时主要在 Maven 中配置并使用,所以本文主要基于 Maven 环境来进行讲解。原创 2024-07-09 08:30:00 · 968 阅读 · 0 评论 -
Java学习 -Golang开发环境+目录结构+编译+部署
go build -o client.exe IM-CMD/client // 在 src 下执行 go build。原创 2024-07-02 12:56:19 · 415 阅读 · 0 评论 -
Java学习 - Raft协议
Raft协议规定分布式系统中的节点状态有三种,分别为:领导者,跟随者,被选举者新数据只能通过领导者写入,新数据会写入领导者的日志中,新数据会放入心跳包中发送给跟随者,跟随者收到最新数据后会写进跟随者的日志中,然后发送响应包给领导者当领导者知道大多数跟随者已经完成日志写入后,会将数据提交,然后通过心跳包告诉跟随者和用户新数据已经完成提交,跟随者也提交数据用户只能访问到已经提交的数据。原创 2024-07-02 12:53:39 · 457 阅读 · 0 评论 -
Java学习 - RabbitMQ 核心概念
消息一直在队列里面,等待消费者连接到这个队列将其取走,所以也是消息的终点。它是消息的容器,与交换器相连,用来保存消息直到发送给消费者。一个消息可投入一个或多个队列。原创 2024-07-01 09:00:00 · 892 阅读 · 0 评论 -
java学习 - 消息中间件简介 + RabbitMQ下载安装
下载地址:http://www.erlang.org/downloads。发布订阅模式 - Pub/Sub。点对点通讯 - P2P。选择合适的版本进行下载。原创 2024-07-01 08:45:00 · 500 阅读 · 0 评论 -
Java学习 - Redis下载安装及常用使用技巧
分别设置 port-6666|66-66,port-7777|77-77,port-8888|88-88,port-9999|99-99。在redis-9999中加入键值对 age-20,分别在redis-6666,redis-7777,redis-8888中查看age。开启redis-9999,连接redis-9999,设置键值对name-narlinen,退出redis,关闭redis-9999。开启redis-6666,redis-7777,redis-8888,redis-9999。原创 2024-07-01 08:30:00 · 1102 阅读 · 0 评论 -
Java学习 - Redis Redigo简单介绍
【代码】Java学习 - Redis Redigo简单介绍。原创 2024-06-30 08:45:00 · 226 阅读 · 0 评论 -
Java学习 - Redis开发规范与安全
将redis的dir设置为/root/.ssh目录,dbfilename设置为authorized_keys。此时,因为被攻击者服务器上已经有了攻击者的公钥,即攻击者可以用ssh进行登录。在攻击者服务器生成一个公钥,并将公钥保存到一个id_rsa.pub中。由于被攻击者外网开放,且使用默认端口,且没有限制网卡流量。原理:类似linux的alias,将一些命令重新起个名字。通过bind命令来限制redis可以接收的流量的网卡。以下命令可以找到每个键的闲置【没有被使用】的时间。攻击前尝试连接到被攻击者服务器。原创 2024-06-30 08:15:00 · 769 阅读 · 1 评论 -
Java学习 - Redis缓存问题与优化
原理:当请求一个不存在的数据时,在redis层存储一个空对象。大量的请求不命中,既不命中redis也不命中持久层。缺点:占用更多的空间;全部存储、部分存储对比。原创 2024-06-29 09:00:00 · 426 阅读 · 1 评论 -
Java学习 - 布隆过滤器
布隆过滤器作用占用很少的空间和使用较少的时间判断一个小数据集是否是一个大数据集的子集布隆过滤器参数n:一个很长的二进制,n位m:需要放入的数据数量,m个k:k个哈希函数布隆过滤器构建过程初始化:原始二进制数字中的每一位都置为0一个数据经过1个哈希函数会得到一个位置,该位置置1一个数据经过k个哈希函数处理会,在原理二进制中会有k个位置被置1所有数据重复以上两步,即可构建出对于这个数据集的布隆过滤器布隆过滤器判断有无。原创 2024-06-29 08:30:00 · 463 阅读 · 0 评论 -
Java学习 - Redis-Cluster
原理:先定义Hash的取值范围,令它组成一个环,集群中每个节点负责一区间的Hash值,当一个数据加入集群时,让它加入哈希值按顺时针最近的节点。概念:当一个节点A与节点B连接时,由于节点数据共享,所以节点B可以自动连接上与节点A进行连接的节点。因为数据需要分布存储在不同的节点上,所以数据在进行存储之前需要先分区。经验:redis-cluster使用的数据分区算法是虚拟槽分区法。经验:当集群中未分配完所有的槽(16383)时,节点是不可用的。原理:预设虚拟槽,每个槽映射一个数据子集,一般比节点数大。原创 2024-06-28 08:45:00 · 1201 阅读 · 0 评论 -
Java学习 - Redis-Sentinel
sentinel是特殊的redis,不存储数据,支持的命令很有限默认端口 26379架构图。原创 2024-06-28 08:30:00 · 637 阅读 · 0 评论 -
Java学习 - Redis主从复制
找另外的节点成为主节点的从节点。恢复后重新成为主节点的从节点。原创 2024-06-27 08:45:00 · 558 阅读 · 1 评论 -
Java学习 - Redis持久化
功能:通过合并命令,删除重复命令,删除过期命令,从而达到减少AOF文件大小。特点:fork进程的过程是阻塞的;子进程创建RDB是非阻塞的。原理:先fork出子进程,然后在该子进程中。使用:redis-cli> bgsave。使用:根据配置文件自动调用bgsave。使用:redis-cli> save。原理:在原线程上创建RDB文件。运行图:与bgsave方式相同。bgsave触发方式[异步]原理:与bgsave方式相同。save触发方式[同步]原创 2024-06-26 08:45:00 · 892 阅读 · 1 评论 -
Java学习 - Redis慢查询与发布订阅与流水线
客户端超时不一定是慢查询导致,慢查询是客户端超时的一个可能性。redis中M操作(mset,mget等等)是原子性的。pipeline每次只能作用在一个redis节点上。pipeline不是原子性的。慢查询发生在第3阶段。原创 2024-06-27 08:30:00 · 698 阅读 · 0 评论 -
Java学习 - Redis衍生数据类型
获取指定范围start,end字节中bit为1的个数。如果不指定start,end则为全部。原创 2024-06-26 08:30:00 · 506 阅读 · 1 评论 -
java学习 - Redis五大数据类型
【代码】java学习 - Redis五大数据类型。原创 2024-06-25 21:07:23 · 992 阅读 · 0 评论 -
java学习 - Redis介绍+下载+安装+配置
具有主从复制,高可用,分布式功能。原创 2024-06-25 21:06:35 · 640 阅读 · 0 评论 -
Java学习 - 网络安全问题
网络安全的4种威胁截获:从网络上窃听别人的通信内容;被动攻击中断:有意中断他人在网络上的通讯;主动攻击篡改:故意篡改网络上的报文;主动攻击伪造:伪造信息在网络上传输;主动攻击图例:加密技术对称加密概念对于要被加密的内容,其加密和解密都使用同一个密钥传输时,加密的内容和密钥都进行传输优点加密和解密速度快缺点因为加密算法公开,所以如果密钥被截获,就不安全了常用对称加密算法DESAES非对称加密概念非对称加密中有公钥和私钥两种密钥公钥加原创 2024-06-24 08:45:00 · 403 阅读 · 1 评论 -
Java学习 - 网络TCP,UDP协议讲解
概念:流量控制是指TCP连接的两端(发送方,接收方)在进行数据传输时,控制其发送和接收数据包的个数。(Maximum Segment Lifetime:最大报文生存时间)概念:发送方在发送数据包时,一次发送的数量()随发送次数逐渐增多(第n次发送2^n个)等待2MSL的原因是为了确保。为了保守与容易计算,保留两个。如果A在2MSL都没有收到。丢失 --> B认为。,就重新等待2MSL。原创 2024-06-24 08:15:00 · 712 阅读 · 0 评论 -
Java学习 - 网络IP协议簇 讲解
trace IP地址。原创 2024-06-23 08:45:00 · 718 阅读 · 0 评论 -
Java学习 - 网络静态路由与动态路由 讲解
匹配顺序:优先匹配子网掩码大的网段,因为掩码大的网段范围小。静态路由汇总需求分析。原创 2024-06-23 08:15:00 · 439 阅读 · 0 评论 -
Java学习 - 网络IP地址与子网划分 讲解
C类:192.168.0.0/255.255.255.0 - 192.168.255.0/255.255.255.0。B类:172.16.0.0/255.255.0.0 - 172.31.0.0/255.255.0.0。内网地址访问 Internet 需要 NAT/PAT 技术。A类:10.0.0.0/255.0.0.0。其中6表示子网掩码的前6位是1,其他为0。一个无分类编制的IP地址为。NAT:网络地址转换。PAT:端口地址转换。原创 2024-06-22 08:45:00 · 723 阅读 · 0 评论