自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java学习 - Spring Boot整合 Thymeleaf 实例

Thymeleaf 是新一代的 Java 模板引擎,类似于 Velocity、FreeMarker 等传统引擎,其语言和 HTML 很接近,而且扩展性更高;Thymeleaf 的主要目的是将优雅的模板引入开发工作流程中,并将 HTML 在浏览器中正确显示。同时能够作为静态引擎,让开发成员之间更方便协作开发;Spring Boot 官方推荐使用模板,而且 Spring Boot 也为 Thymeleaf 提供了完整的自动化 配置解决方案;Thymeleaf 使用教程请戳。

2024-07-19 08:45:00 1239

原创 Java学习 - springboot 注解方式整合 Mybatis + PageHelper 分页实例

本篇博客主要利用 SpringBoot 通过注解的方式整合 Mybatis 同时利用 PageHelper 对结果分页。

2024-07-19 08:30:00 678

原创 Java学习 - Spring Boot XML 方式整合 MyBatis 实例

今天我们就来看看,如何利用 XML 文件的方式来将两者整合起来!下图是整个整合过程,接下来开始整合。以上就是通过 XMl 文件来整合 Spring Boot 和 MyBatis 的具体过程了,是不是很简单呢?对比 XML 文件和注解的方式,最大的不同就在于 DAO 层。前者是通过 XML 配置文件的方式,而后者则是使用 MyBatis 中所提供的注解来实现。两种方式各有优劣,而且大家也都有使用,不过貌似大家使用的更多的还是 XML 配置的方式。那么如果是你的话,你会使用哪种方式呢?

2024-07-18 08:45:00 786

原创 Java学习 - Spring Boot 讲解

Spring是重量级企业开发框架的替代品,是为了解决企业级应用开发的复杂性而创建的,简化开发。通过依赖注入(DI)和面向切面编程,用简单的 Java对象(POJO实现EJB的功能,其组件代码轻量,但是配置很繁琐(需要大量XML配置)。Spring 2.5引入基于注解的组件扫描,Spring 3.0引入基于Java的配置,可以代替XML,虽然引入的特性大大提高了配置的效率,但是也无法避免,针对这一问题,应运而生。

2024-07-18 08:30:00 642

原创 Java学习 - spring Bean 详解

以上就是今天关于 Bean 的内容了,主要从 Bean 的别名配置、作用范围、如何进行实例化以及声明周期 4 个方面着手,学习了 Bean 的相关操作。

2024-07-17 08:45:00 1060

原创 Java学习 - Spring IoC 简介及入门实例(XML 版)

本文主要讲了 IoC 和 DI 的定义,然后对比了传统方式、IoC 方式和 DI 方式用来管理对象,而且最终三者的结果都是一样的,但其中还是有一点的区别。通过引入 Spring 中的 IoC 和 DI 特性,我们只需要配置相关配置即可,而不用再去通过new手动创建对象以及管理 Bean 之间的依赖关系。

2024-07-17 08:30:00 1764

原创 Java学习 - Spring Bean 注解详解

本篇博客中,我们将会讨论用于声明不同类型 Beans 的几种最常用的 Spring Bean 注解。众所周知,Spring 容器中有许多配置 Bean 的方法,我们既可以通过 XML 配置,也可以在配置类中使用@Bean注解来声明 Beans。此外,我们还可以使用包中的一个注解来对类进行标记,然后把其余工作交给组件扫描即可。好了,以上就主要介绍了 Spring 中的原型注释,并了解了它们各自所代表的意义。此外,还学习了如何使用组件扫描功能,从而告知 Spring 容器在何处能找到带有注解的类。

2024-07-16 08:45:00 1841

原创 Java学习 - Spring 依赖注入知多少

Spring 中,用来组成应用程序的主体以及由 Spring IoC 容器所管理的对象叫做 Bean。简而言之,Bean 就是由 IoC 容器来进行初始化、装配和管理的对象。DI(Dependency Injection),即依赖注入。其中依赖指的是 Bean 对象的创建依赖于容器,是 Bean 对象的依赖资源;而注入则指的是 Bean 对象所以来的资源由容器来设置和装配。

2024-07-16 08:30:00 785

原创 Java学习 - Spring IoC大揭秘

Ioc(Inversion of Control),即控制反转,是 Spring 框架的核心内容,实际上指的是对一个对象的控制权的反转,和 OOP 一样,属于一种设计思想。Ioc 表示将我们设计好的对象交由容器控制,而不再使用在对象内部直接控制这种传统方式,而DI(依赖注入)则是实现 Ioc 的一种方法。

2024-07-15 08:45:00 659

原创 Java学习 - Spring 讲解

为了解决我们开发者在 J2EE 开发时所遇到的众多问题,Rob Johnson 等人发起了 Spring 框架项目。Spring 是一个开源的 J2EE 应用程序框架,是针对 Bean 的生命周期进行管理的轻量级容器。它既可以单独用于构建程序,也能和当前众多的 Web 框架进行组合使用,能够十分方便的降低当前企业应用开发的复杂性。既然 Spring 如此强大,那我们今天就来探究一下 Spring 的内容。

2024-07-15 08:30:00 852

原创 数据库学习 - Redis 持久化

所谓持久化,其实就是一种机制,它能够将内存中的数据库状态保存到磁盘中,从而防止服务器宕机导致内存数据丢失。Redis的数据都是存在内存中的,一旦出现宕机等情况,所有数据将会丢失,而持久化机制则是为了应对这一突发故障而提出的机制。以上就是Redis持久化的相关内容了,首先讲了什么是持久化,然后讲了持久化的过程,最后则是RedisRDBAOF。

2024-07-14 10:22:50 854

原创 数据库学习 - Redis讲解

说到 Redis,大家可能第一反应就是它是当前最受欢迎的 NoSQL 数据库之一。那么在正式介绍 Redis 之前,我们先来看看关于 NoSQL 的一些相关信息,比如它是什么,又比如它的一些特点以及它的一些分类。那么我们接下来就从以上三个方面来对 NoSQL 的相关历史做一个简单介绍,然后再去看看 Redis 的相关知识。泛指非关系型数据库,随 Web2.0 的诞生,传统关系型数据库难以应对 Web2.0,尤其是超大规模的高并发社区。NoSQL 在当今大数据程序下较为流行。

2024-07-14 10:21:54 711

原创 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

原创 MyBatis - 代码自动生成器

作为一个基于 MyBatis 的独立工具,MyBatis Generator 能够满足我们以上的要求,能够通过简单的配置去帮我们生成数据表所对应的 PO、DAO、XML 等文件,减去我们手动去生成这些文件的时间,有效提高开发效率。命令行AntMavenJavaEclipse而我平时主要在 Maven 中配置并使用,所以本文主要基于 Maven 环境来进行讲解。

2024-07-09 08:30:00 967

原创 Golang gorutine(协程)+channel

channel 是一个引用类型channel的本质是一个队列数据是先入先出的,即多个 goroutine 同时访问时,也不需要加锁channel是有类型的,一个string类型的channel只能存放string。

2024-07-08 09:00:00 511

原创 Golang 网络编程socket+tcp+udp

【代码】Golang 网络编程socket+tcp+udp。

2024-07-08 08:30:00 512 2

原创 Golang 类型断言+反射+序列化

由 reflect.ValueOf(v interface{}) (t reflect.Value) 获取某个变量的 Value。变量,interface{},reflect.Value 之间可以任意转换。reflect.Value.Kind:获取变量的类别,返回的是一个常量。结构体使用tag自定义序列化后 key 值的名称。将要进行序列化的结构体。将要进行序列化的map。将要进行序列化的切片。

2024-07-07 09:30:00 1003 1

原创 Golang 单元测试+包管理+命令行工具

Go中每一个文件都属于一个包,即Go是以包的形式来管理文件和项目目录结构的包的名字规范是全小写。

2024-07-07 08:45:00 1015

原创 Golang 输入与输出

文件在程序中是以流的形式进行操作的输入流:数据从文件到内存输出流:数据从内存到文件。

2024-07-06 09:00:00 753

原创 Golang 指针+运算符

获取变量的地址(指针),用 & 操作符,比如 &number指针类型,存储的是一个地址,比如 *int,*float64访问指针类型指向空间,用 *,比如 *ptr指针空值类型是nil ,而不是 null不支持 ->,一律用 .不支持指针运算。

2024-07-06 08:30:00 269

原创 Golang 封装+组合+多态+接口

var 数组名 [数组大小]数据类型切片是引用类型,指向一个结构体,结构体包括一个数组的指针,切片大小,切片容量切片的长度是可变的,因为切片底层是动态数组,所以切片的操作和数组很类似var 切片名 []类型设置切片长度和容量一样的好处让新切片的长度和容量一样,这样我们在追加操作的时候就会生成新的底层数组,和原有数组分离,就不会因为共用底层数组而引起奇怪问题,因为共用数组的时候修改内容,会影响多个切片。

2024-07-05 08:45:00 1026

原创 Golang 数组+切片+映射

var 数组名 [数组大小]数据类型切片是引用类型,指向一个结构体,结构体包括一个数组的指针,切片大小,切片容量切片的长度是可变的,因为切片底层是动态数组,所以切片的操作和数组很类似var 切片名 []类型设置切片长度和容量一样的好处让新切片的长度和容量一样,这样我们在追加操作的时候就会生成新的底层数组,和原有数组分离,就不会因为共用底层数组而引起奇怪问题,因为共用数组的时候修改内容,会影响多个切片。

2024-07-05 08:30:00 1095

原创 Golang 结构体+方法

方法类似于函数,只不过方法可以进行绑定,方法可以绑定到指定的数据类型上,使该数据类型的实例都可以使用这个方法方法不能独自调用,只能通过绑定的数据类型的实例进行调用自定义类型都可以有方法,不仅仅是structa.test()

2024-07-04 09:15:00 971 1

原创 Golang 流程控制+函数+错误处理机制

func 函数名 (形参列表) (返回值列表) { // 左大括号不能换行//执行语句return xxx使用errors.New和panic内置函数error.New(“错误说明”),返回一个 error 类型的值,表示一个错误panic(),内置函数,接收任意值作为参数,引发异常return nil} else {return errors.New("读取配置文件错误")if err!

2024-07-04 08:15:00 1039

原创 Golang 注释+标识符

程序声明:import、package程序实体声明和定义:chan、const、func、interface、map、struct、type、var程序流程控制:go、select、break、case、continue、default、defer、else、fallthrough、for、goto、if、range、return、switch。

2024-07-03 08:45:00 274

原创 Golang数据类型+变量+常量

数值型整数型byte:uint8的别名rune:int32的别名int:64位操作系统则int64,32位操作系统则int32uint:64位操作系统则uint64,32位操作系统则uint32浮点型复数型布尔型字符串。

2024-07-03 08:30:00 840

原创 Java学习 -Golang开发环境+目录结构+编译+部署

go build -o client.exe IM-CMD/client // 在 src 下执行 go build。

2024-07-02 12:56:19 415

原创 Java学习 - Raft协议

Raft协议规定分布式系统中的节点状态有三种,分别为:领导者,跟随者,被选举者新数据只能通过领导者写入,新数据会写入领导者的日志中,新数据会放入心跳包中发送给跟随者,跟随者收到最新数据后会写进跟随者的日志中,然后发送响应包给领导者当领导者知道大多数跟随者已经完成日志写入后,会将数据提交,然后通过心跳包告诉跟随者和用户新数据已经完成提交,跟随者也提交数据用户只能访问到已经提交的数据。

2024-07-02 12:53:39 457

原创 Java学习 - RabbitMQ 核心概念

消息一直在队列里面,等待消费者连接到这个队列将其取走,所以也是消息的终点。它是消息的容器,与交换器相连,用来保存消息直到发送给消费者。一个消息可投入一个或多个队列。

2024-07-01 09:00:00 892

原创 java学习 - 消息中间件简介 + RabbitMQ下载安装

下载地址:http://www.erlang.org/downloads。发布订阅模式 - Pub/Sub。点对点通讯 - P2P。选择合适的版本进行下载。

2024-07-01 08:45:00 500

原创 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

原创 Java学习 - Redis Redigo简单介绍

【代码】Java学习 - Redis Redigo简单介绍。

2024-06-30 08:45:00 226

原创 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

原创 Java学习 - Redis-Cluster

原理:先定义Hash的取值范围,令它组成一个环,集群中每个节点负责一区间的Hash值,当一个数据加入集群时,让它加入哈希值按顺时针最近的节点。概念:当一个节点A与节点B连接时,由于节点数据共享,所以节点B可以自动连接上与节点A进行连接的节点。因为数据需要分布存储在不同的节点上,所以数据在进行存储之前需要先分区。经验:redis-cluster使用的数据分区算法是虚拟槽分区法。经验:当集群中未分配完所有的槽(16383)时,节点是不可用的。原理:预设虚拟槽,每个槽映射一个数据子集,一般比节点数大。

2024-06-28 08:45:00 1201

django 返回 html 函数的区别

python安装 ## django开发中,有不同的返回给前端的函数,下面介绍几个,在开发中遇到的小情况: ``` python return render(request, "vpn_add.html") #最常用的 return HttpResponseRedirect(reverse('vpn_add')) #比较常用的(提交页面或跳转时常用) return render_to_response("vpn_add.html", {"meg": 1}) #一般用的 ```

2024-07-03

django使用定时更新任务

python

2024-07-03

Django使用redis做缓存层

redis

2024-07-02

django使用redis+celery异步执行任务

数据库课程设计

2024-07-02

django 返回 html 函数的区别

python

2024-07-02

multisim仿真电路实例 - 电流测量电路.rar

multisim仿真电路实例

2024-07-01

multisim仿真电路实例 - 双电池mos控制.rar

multisim仿真电路实例

2024-07-01

multisim仿真电路实例 - 电压基准芯片.rar

multisim仿真电路实例

2024-07-01

multisim仿真电路实例 - 启动电路.rar

multisim仿真电路实例

2024-07-01

multisim仿真电路实例 - 电压检测电路.rar

multisim仿真电路实例

2024-07-01

multisim仿真电路实例 - 比较电路.rar

multisim仿真电路图

2024-07-01

C - 连接城市的最小生成树.zip

最小生成树

2024-07-01

使用CNN实现对手写数字的识别(Pytorch).zip

手写数字识别

2024-07-01

java毕业设计,基于 Hadoop 的游戏数据分析系统.zip

使用hadoop进行数据分析

2024-06-30

设计模式:可复用面向对象软件的基础所有模式的实现,使用C++语言.zip

c语言基础

2024-06-30

Java学习资料整理.zip

java郑

2024-06-30

基于组件化 + MVP + Retrofit + RxKotlin + Dagger2一款用Kotlin语言编写的影视类应用

基于组件化 + MVP + Retrofit + RxKotlin + Dagger2一款用Kotlin语言编写的影视类应用 基于组件化 + MVP + Retrofit + RxKotlin + Dagger2一款用Kotlin语言编写的影视类应用 基于组件化 + MVP + Retrofit + RxKotlin + Dagger2一款用Kotlin语言编写的影视类应用

2024-06-29

JavaScript基于Autojs的淘宝、京东618以及淘宝双11活动自动刷任务项目.zip

JavaScript基于Autojs的淘宝、京东618以及淘宝双11活动自动刷任务项目.zip

2024-06-29

Dijkstra算法可视化模拟Qt.zip

dijkstra算法

2024-06-29

java一些关于二元一次方程求根的实验.zip

6-2 求解一元二次方程实根的函数

2024-06-29

python知乎问题回答.md

开源项目

2024-07-16

Python参考书籍.md

python安装

2024-07-16

PEP8风格指南.md

python

2024-07-16

网络安全 - TCP 安全介绍

tcp/ip协议

2024-07-14

信息安全-消息认证、数字签名及PGP 学习资料

自动化测试 消息认证 (Message Authentication):是一个证实收到的消息来自可信的源点且未被篡改的过程。 ## 鉴别的目的 鉴别的主要目的有二: 第一,验证信息的发送者是真正的,而不是冒充的,此为信源识别; 第二,验证信息的完整性,在传送或存储过程中未被篡改,重放或延迟等。 ## 鉴别模型 一个单纯鉴别系统的模型 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190426200107925.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0Nhb3lhbmdfSGU=,size_16,color_FFFFFF,t_70) ## 鉴别系统的组成 鉴别编码器和鉴别译码器可抽象为鉴别函数。一个安全的鉴别系统,需满足 1. 接收者能够检验和证实消息的合法性、真实性和完整性 2. 消息的发送者和接收者不能抵赖 3. 除了合法的消息发送者,其它人不能伪造合法的消息

2024-07-14

信息安全-公私钥密码体制

测试 公钥算法和对称钥算法区别 ## 对称加密的优点 速度快,处理量大,适用于对应用数据的直接加密。 加密密钥长度相对较短,如 40 比特~ 256 比特。 可构造各种加密体制,如产生伪随机数,HASH 函数等。 ## 对称加密的缺点 密钥在双方都要一致、保密,传递较难。 大型网络中密钥量大,难以管理,一般需要 TTP(KDC)。 密钥需要经常更换 数字签名的问题:传统加密算法无法实现抗抵赖的需求。 ## 公钥加密的优点 只有秘密钥保密,公开钥公开。 密钥生命周期相对较长。 许多公钥方案可以产生数字签名机制。 在大型网络上,所需的密钥相对较少。 ## 公钥加密的缺点 速度慢,处理量少,适用于密钥交换。 密钥长度相对较长。 安全性没有得到理论证明。

2024-07-14

某咖啡 app 加密参数分析进阶版.md

数据挖掘

2024-07-13

Python 爬虫进阶必备 - Js 逆向之补环境到底是在补什么?.md

python爬虫案例

2024-07-13

网络安全学习路线和参考资料

c

2024-07-13

自动化测试 - 渗透测试讲解

自动化测试

2024-07-13

Web 应用安全基础 学习资料Web 安全.rar

网络安全 现代的软件开发者已经有点像瑞士军刀了,首先,你需要来保证完成用户的功能或者业务需求,并且要保证又快又好地完成。其次,你希望你的代码能够拥有充分的可理解性或者可扩展性:能够随着 IT 需求的快速变迁而有着充分的扩展空间,与此同时还需要稳定与可用。开发者必须列举出有用的接口,优化数据库,以及频繁地建立或者维护一个交付渠道。不过,当我们审视这长长的需求列表的时候,在快速、低成本以及灵活可扩展之下的,即是安全性。或许直到一些东西出了问题,或者你构建的系统被攻击了之后才能深刻感受到安全才是最重要的。安全这个概念有点像性能,是个泛化的跨越了多个领域的概念。所以一个开发者怎么才能在模糊的安全需求与未知的风险面前选择合适的开发规划呢?当然如果能够明确这些安全需求与定位到威胁的话毫无疑问非常值得推荐,但是这个准备本身就需要耗费大量的时间与金钱。

2024-07-07

数学建模 - 小波分析MATLAB代码

数学建模

2024-07-07

java基于volley的http连接库,封装了各种异步同步请求方法.zip

http请求方法

2024-07-07

项目实践:记账本 tally-book

2024java面试题

2024-07-05

项目实践:点菜系统 -order-system.rar

springboot系统

2024-07-05

项目实践:MySQL + MyBatis 版学生管理系统

java面试

2024-07-05

python实现requests使用介绍.docx

requests使用

2024-07-04

python实现快速排序.docx

算法

2024-07-04

C语言使用分治法策略实现快速排序.docx

快速排序

2024-07-04

python 和 django 学习资料,书籍,文章,以及实战项目等等.md

pycharm

2024-07-03

空空如也

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

TA关注的人

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