自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 解决Apache Log4j2漏洞通用方案(最新&亲测有效)

通用的Apache Log4j2漏洞最佳方案,赶紧冲冲冲!

2021-12-13 21:47:32 12996

原创 红黑树详解

一、在理解红黑树之前,先看一些二叉查找树二叉查找树特性:左字数上所有的节点的值都小于或等于他的根节点上的右子树上所有节点的值均大于或等于他的根节点的值左、右子树也跟别为平衡二叉树举个二叉树的例子:可以看到如果要查询10的话,10>9因此到他的右子树,右子树根节点为13,10<13因此到其左子树,左子树根节点为11>10到其左子树,为10,找到相应的节点不过二叉查找树有一些问题,可能会出现不平横的情况,即如下图所示的情况从这种情况可以看出,明显存在左子树

2021-03-19 02:20:02 293

原创 Spring Boot整合Redis以及Redis的原理

Redis的原理及知识Redis简介redis是一个key-value。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redi

2021-03-19 01:57:30 792

原创 JVM内存模型详解

JVM内存结构图(JDK1.6)多线程共享内存区域:方法区、堆每一个线程独享内存:java栈、本地方法栈、程序计数器程序计数器:较小的内存空间,当前线程执行的字节码的行号指示器;各线程之间独立存储,互不影响;java 栈:线程私有,生命周期和线程,每个方法在执行的同时都会创建一个 栈帧用于存储局部变量表,操作数栈,动态链接,方法出口等信息。方法的执行就对应着栈帧在虚拟机栈中入栈和出栈的过程;栈里面存放着各种基本数据类型和对象的引用;本地方法栈:本地方法栈保存的是nativ

2021-03-19 01:15:37 118

原创 Spring Boot集成RabbitMQ以及RabbitMQ的工作原理

RabbitMQ的工作原理RabbitMQ介绍 :MQ全称为Message Queue,即消息队列;RabbitMQ由erlang语言开发,基于AMQP协议实现的消息队列; :RabbitMQ的官网常见的其它消息队列 : ActiveMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ、Redis(也可做消息队列)RabbitMQ优点介绍 :使用简单,功能强大(SpringBoot默认集成)基于AMQP协议社区活跃,文档完善基于erlang语言,高并发性能好RabbitMQ工

2021-03-18 21:58:39 392

原创 高并发商品秒杀系统的设计过程

Seckill本项目是一个模拟高并发环境下基于 SpringBoot 的秒杀购物平台。为了减少对数据库的直接访问,通过 Redis 实现了缓存优化;并通过 RabbitMQ 消息中间件来接收大量的并发请求,实现异步和削峰,然后再慢慢地更新数据库。最后通过 Jmeter 压测工具,可以很好地对比优化前后的 QPS…项目的源代码:https://github.com/KTLeYing/seckill项目的基本配置及背景项目用的是 SpringBoot 2.1.5、thymeleaf 2.0.4、MyBa

2021-03-18 19:46:28 447

原创 Spring Boot框架相关技术的案例项目

Spring Boot框架相关技术的案例项目

2021-03-18 19:11:38 170

原创 Github的README.md文件上传图片链接访问专用

教务系统学生选课系统

2021-03-16 14:49:48 117

原创 判断合法标识符(c语言或c++)

判断合法标识符(10 分)编写一个判断合法标识符的程序。要求输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算:输入一个以回车结束的字符串(少于80个字符),判断其是否符合c++规定的标识符(以字母或下划线开头的由字母、数字、下划线组成的字符串)。输入输出示例:括号内为说明输入样例:4 (repeat=4)1num_abcInt_2Abc def输出样例:NoYesYesNo代码实现:#include<stdio.h&

2020-11-22 11:57:13 5267

原创 [HDOJ 1020] Encoding 字符串编码 (杭电OJ第1020题)

EncodingTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Problem Description Given a string containing only ‘A’ - ‘Z’, we could encode it using the following method:Each sub-string containing k same characters should

2020-11-22 11:51:22 288

原创 C#练习—输入一个字符串,判断其是否是C#的合法标识符

C# 标识符命名规则https://blog.csdn.net/qq_40985921/article/details/82975635直接上代码 string str = Console.ReadLine(); bool isRight = true; if ((str[0] >= 'a' && str[0] <= 'z') || (str[0] >= 'A' && str[0] <= 'Z'

2020-11-22 11:40:30 939

原创 Windows10安装JDK和配置环境变量详细教程(亲测有效)

一. 软件下载官网下载地址 https://www.oracle.com/java/technologies/javase-downloads.html(1)点击下载点击Download下载(2)选择Accept License Agreement选择Accept License Agreement(3)选择版本这里我们选择windows64位.exe可执行文件版本即可二. 软件安装下载完成后,双击安装包即可安装。(1)单击下一步单击下一步(2)选择安装路径选择安装路径

2020-11-22 11:29:44 891 5

原创 在Mind+中实现掌控板抢答器

一、准备工作

2020-11-22 01:59:15 1152

原创 Eclipse中常用快捷键(方便高效)

自动补全代码输入Alt + / 即可。例如你想写打印语句。打出syso,然后Alt + / ,即可自动补全为System.out.println();自动补全包使用scanner类需要导入scanner包。有了快捷键,你只需要打出sc 然后Alt + /就可以自动补全类名,并且生成引用包代码跳转到下一行的行首就拿上面的System.out.println();来举例,无论我们的光标在这一行代码的什么位置,按住shift+回车,自动就会跳转到下一行的行首代码格式化Ctrl+Shi..

2020-11-21 20:49:03 389

原创 Java中Arrays工具类常用方法

java.util.Arrays类>>Arrays.sort()对数组的排序(从小到大)Arrays.binarySerch()二分查找,找到则定位元素下标Arrays.toString()数组的打印Arrays.fill()数组的填充Arrays.equals()判断两个数组大小是否相等Arrays.asList()查看数组中的特定值Arrays.copyOf数组的拷贝 public static void main(String[] args) { retu

2020-11-21 20:33:30 200

原创 基于二哈实现多人人脸学习和识别+TinywebDB实现云数据库应用+EasyIoT实现mqtt数据上传

一、实验目的及要求【一】实现人脸识别【二】实现云数据库应用【三】实现测温数据mqtt上传至物联网云平台二、实验原理与内容基于二哈实现多人人脸学习和识别基于TinywebDB实现云数据库应用基于EasyIoT实现mqtt数据上传。三、实验软硬件环境硬件:掌控板软件:Mind+四、主要硬件及平台使用1、二哈识图二哈是DFRobot的一款简单易学的人工智能视觉传感器,内置了人脸识别、物体追踪、物体识别、巡线追踪、颜色识别、标签识别功能。我们此实验中只需要用到 “人脸识别” 这一功能。

2020-11-07 03:04:41 1335

原创 Spring Boot 启动类真的是XXApplication吗?下面是XXApplication启动类的底层原理

1. 引言SpringBoot项目中的启动类,一般都是XXApplication,例如StatsApplication,UnionApplication。每个项目的启动类名称都不一样。但是它的启动类真的是XXApplication吗?2. META-INF/Manifest.mf文件jar文件实际上是class文件的zip压缩存档。jar并不能表达应用程序的便签信息.META-INF/Manifest.mf文件提供存档的便签信息,Manifest.mf有 Main-Class,用来标明jar文

2020-10-14 10:03:22 365

原创 在Mind+下使用sIoT及安卓app实现mqtt实验

一、实验目的及要求【实验一】实现sIoT配置并实现sIoT上mqtt消息的通讯。【实验二】通过AppInventor结合sIoT实现手机app控制掌控板的灯和显示内容。二、实验原理与内容sIoT可以在局域网上实现mqtt消息的通讯。借助sIoT可以通过手机app实现局域网内的设备操控。三、实验软硬件环境硬件:掌控板软件:Mind+四、SIoT平台的启动与使用(1)下载和解压包点击 https://mindplus.dfrobot.com.cn/siot 或 https://siot.re

2020-10-11 10:14:43 1010

原创 实现Springboot的打包并部署项目(亲测有效)

前言这里打包的是jar项目,也就是没有webapp目录,通过maven打包插件打包发布到服务器1. pom文件引入插件<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactI.

2020-10-09 11:58:52 313

原创 / 和/* 和/**的区别(特别是对于请求路径和文件路径的问题)

1. /和/*区别在springboot中建了一个过滤器,测试当请求为/user/login的时候可以被拦截,当为/page/login.html页面的时候不拦截当请求为/user/login的时候可以被拦截,当为/page/login.html页面的时候也会被拦截所以综上,/ 不会拦截页面,只会拦截路径;而 / 会路径和页面。*2. /* 和 /**/* 是拦截所有的文件夹,不包含子文件夹。/** 是拦截所有的文件夹及里面的子文件夹。也就是说,/* 只有后面一级,而 /** 可以包

2020-09-30 01:19:03 1586

原创 Linux环境(CentOS 7)安装、卸载Docker

安装:1、Docker要求CentOS系统的内核版本高于 3.10 ,通过 uname -r 命令查看你当前的内核版本是否支持安账docker2、更新yum包: sudo yum update3、安装需要的软件包,yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的sudo yum install -y yum-utils device-mapper-persistent-data lvm24、设置yum源: sudo yum-config-

2020-09-29 12:10:58 168

原创 Spring Data JPA的简单入门(新手入门篇)

Spring Data JPA实现简单的增删改查**1. 构建项目IDEA里创建springboot项目:定义包名后->Next->勾选基本依赖点击Finish完成了配置数据库参数:application.properties或application.yml的配置信息如下:spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:33

2020-09-29 12:01:52 310

原创 Java中基本数据类型转换为String类型的方法及其效率的比较

标题基本数据类型转为字符串类型的三种方法。方法表示:假设a是integer类型的数据方法1:a.toString();方法2:String.valueOf(a);方法3:a+"";效率比较:方法1效率最快、其次到方法2、最后才是方法3;原因:1.a.toString()方法可以直接调用进行转换2.String.valueOf(a)方法底层调用了Integer.toString()方法,但是会在调用前做空判断3.a+""底层使用了StringBuilder实现,先用a.

2020-09-27 09:35:51 506

原创 关于@ResponseBody注解的后台几种传递参数的方式

@ResponseBody注解的作用是将controller的方法返回的对象通过转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或XML数据,在使用此注解之后不会再走试图处理器,而是直接将数据写入到输入流中,等同于通过response对象输出指定格式的数据。Map放置对象或者参数:@ResponseBody @RequestMapping(value="findOrder",produces = "application/json;char..

2020-09-27 09:18:19 1953

原创 SpringBoot 服务上实现了接口限流

Sentinel是阿里巴巴开源的限流器熔断器,并且带有可视化操作界面。在日常开发中,限流功能时常被使用,用于对某些接口进行限流熔断,譬如限制单位时间内接口访问次数;或者按照某种规则进行限流,如限制ip的单位时间访问次数等。虽然接口限流的工具类ratelimter可以实现令牌桶的限流,很明显sentinel的功能更为全面和完善。来看一下sentinel的简介:https://github.com/spring-cloud-incubator/spring-cloud-alibaba/wiki/Senti

2020-09-26 22:06:44 199

原创 在Mind+下使用Easy loT实现mqtt消息消息的通讯

在Mind+下使用Easy loT实现mqtt消息消息的通讯一、实验目的及要求二、实验原理与内容三、实验软硬件环境四、Easy IoT平台上的注册与使用(1)平台的注册网址(2)平台的配置使用(3)查看设备的所有通讯消息五、Mind+上的配置与操作步骤步骤1:连接设备与模式切换步骤2:选择主控板步骤3:添加网络服务!步骤4:开始图形化编程步骤5:MQTT参数初始化步骤6:完成编程六、代码展示(1)核心代码(2)完整代码七、实验效果图八、实验体验与体会一、实验目的及要求【实验一】实现Easy IoT配置。

2020-09-26 14:57:14 1261

原创 int 强制类型转换错误提示Cannot cast from Object to int

int 强制类型转换错误提示Cannot cast from Object to int解决:把int 改为 Integer 来转换eg: int stuId=(int) request.getSession().getAttribute(“stuid”); 改为 int stuId=(Integer) request.getSession().getAttribute(“stuid”);

2020-05-26 01:35:37 2326

空空如也

空空如也

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

TA关注的人

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