自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 资源 (2)
  • 收藏
  • 关注

转载 Netty03-进阶

服务端代码客户端代码希望发送 10 个消息,每个消息是 16 字节服务器端的某次输出,可以看到一次就接收了 160 个字节,而非分 10 次接收1.2 半包现象客户端代码希望发送 1 个消息,这个消息是 160 字节,代码改为为现象明显,服务端修改一下接收缓冲区,其它代码不变服务器端的某次输出,可以看到接收的消息被分为两节,第一次 20 字节,第二次 140 字节1.3 现象分析粘包现象,发送 abc def,接收 abcdef原因应用层:接收方 ByteBuf 设置太大(Netty 默认

2023-02-19 11:07:19 273 1

转载 Netty笔记2-Netty学习之NIO基础

Channel与BufferJava NIO系统的核心通道(Channel)和缓冲区(Buffer)。通道表示打开到 IO 设备(例如:文件、套接字)的连接。若需要使用 NIO 系统,需要获取用于连接 IO 设备的通道以及用于容纳数据的缓冲区。然后操作缓冲区,对数据进行处理简而言之,通道负责传输,缓冲区负责存储常见的Channel有以下四种,其中FileChannel主要用于文件传输,其余三种用于网络通信Buffer有以下几种,其中使用较多的是ByteBufferByteBuffer。

2023-02-19 11:05:09 537

转载 Netty笔记1-Java NIO

Channel由java.nio.channels 包定义的。Channel 表示IO 源与目标打开的连接。Channel 类似于传统的“流”。只不过Channel 本身不能直接访问数据,Channel 只能与Buffer 进行交互。

2023-02-19 10:57:59 227

转载 IDEA菜单栏不见了怎么办

Idea主菜单栏不见了

2022-07-20 16:29:48 16300 6

原创 Qt配置OpenCV【视频+编译好的OpenCV文件百度网盘】

这是我们一个项目中用到l Qt和OpenCV,但是我配置OpenCV总是搞不好他的编译。后面才发现,原来可以直接用别人编译好的就行了。参考链接:下载好OpenCV之后,就可以在Qr Creator里面直接添加:【右键项目-添加库】然后选择【外部库】再找到.a文件最好附上我的pro文件这里的配置:接下来点击构建运行就可以了。可以用main.cpp来测试:他就会正常显示图片如果出现 下面的问题那就是还没有配置好。...

2022-07-08 11:09:03 1400 2

原创 Linux学习-Linux系统及编程基础笔记

Linux系统及编程基础 对应的笔记

2022-07-01 16:00:17 1758 1

转载 并发编程笔记

面试题【四万字】Java并发六十问,图文详解,快来看看你会多少道!不可不说的Java“锁”事 - 美团技术团队 (meituan.com)缺异步编程+并发之非共享模型一、基本概念1、进程与线程进程程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至 CPU,数据加载至内存。在指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管理 IO 的。当一个程序被运行,从磁盘加载这个程序的代码至内存,这时就开启了一个进程。进程就可以视为程序的一个实例。

2022-02-22 20:21:28 311

转载 JVM笔记

一、什么是JVM定义Java Virtual Machine,JAVA程序的运行环境(JAVA二进制字节码的运行环境)好处一次编写,到处运行自动内存管理,垃圾回收机制数组下标越界检查比较JVM JRE JDK的区别二、内存结构整体架构1、程序计数器作用Program Counter Register程序计数器用于保存JVM中下一条所要执行的指令的地址特点线程私有:随着线程的创建而创建,随着线程的销毁而销毁CPU会为每个线程分配时间片,当当前线程的时间片使用完以后

2022-02-04 11:31:15 212

原创 第六章-输入输出系统

第六章 输入输出系统6.1 I/O系统的功能、模型和接口I/O系统管理的主要对象: I/O设备,设备控制器。I/O系统的主要任务: 完成用户提出的I/O请求; 提高I/O速率; 提高设备的利用率;为更高层的进程方便地使用这些设备提供手段;6.1.1 I/O系统的基本功能隐藏物理设备的细节:隐藏盘面号,扇区号,提供抽象write\read设备无关型:抽象设备逻辑名,IO命令提高处理机和I/O设备的利用率确保对设备的正确共享6.1.2 I/O系统的层次结构和模型用户层软件与用户交

2021-12-30 16:35:22 373

原创 第五章-虚拟存储器

文章中的GoodNotes笔记截图来与我的一位学姐????第五章-虚拟存储器5.1 虚拟存储器概述一、虚拟存储器的引入常规存储器管理方式的特征和局部性原理一次性:要求所有作业全部装入内存才能运行驻留性:时间局限性 & 空间局限性二、虚拟存储器的定义和特征定义:具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。其逻辑容量由内存和外存容量决定,运行速度接近内存速度,成本接近外存。特征:多次性:一个作业中的程序和数据运行被分成多次调入内

2021-12-30 16:28:47 341

原创 第四章-存储器管理

第四章-存储器管理4.1 存储器的层次结构对于通用计算机而言,存储层次至少分为三级:最高层为CPU寄存器,中间为主存,最低层是辅存,速度逐级变慢,容量逐级增大。4.2 程序的装入和链接4.2.1 程序的装入装入:由装入程序将装入模块装入内存运行。链接:由链接程序将编译后形成的一组目标模块,以及所需库函数链接在一起,形成一个完整的装入模块。重定位(修改程序中的相对地址)编译时重定位的程序只能放在内存固定位置载入时重定位(静态重定位装入)的程序一旦载入内存就不能动了重定位最合适的

2021-12-30 16:24:23 579

原创 第三章-处理机调度与死锁

第三章 处理机调度与死锁3.1 处理机调度的层次和调度算法的目标作业概念:作业是用户向计算机提交任务的任务实体。 进程是完成用户任务的执行实体,是资源分配的基本单位。 没有作业任务,进程无事可干; 没有进程,作业任务没法完成。作业建立完毕后,是放在外存等待运行。 进程一经创建,总由相应的部分存于内存。3.1.1 处理机调度的层次高级调度 = 作业调度 / 长调度【用于多批道】作用:外存后备队列 —> 内存 ----> (创建进程,分配资源)就绪队列低级调度 =

2021-12-30 16:19:43 516

原创 第二章-进程

文章中的GoodNotes截图来源于我的学姐????第二章 进程的描述与控制2.1 前趋图和程序执行前驱图3定义:前趋图是一个有向无环图(DAG),用于描述进程之间执行的前后关系,其实就是一个拓扑排序。(前驱图中禁止循环)不存在前驱关系的程序之间才能并发执行程序的顺序执行及其特性程序是指令(或语句)的集合,指令之间是顺序关系三个特点:顺序性封闭性(程序一旦开始执行,其计算结果不受外界因素的影响)可在现性(程序执行的结果与它的执行速度无关(即与时间无关),而只与初始条件有关)

2021-12-29 11:46:24 331

原创 第一章-操作系统概论

第一章 操作系统引论操作系统(Operating System, OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调 度计算机的工作和资源的分配;以提供给用户和其他软件方便的接口和环境;它是计算机系统中最基本 的系统软件。1.1 操作系统的目标和作用补充:进程是一个程序的执行过程,执行前需要将该程序放到内存中,才能被CPU处理功能:目标:①方便性 ②有效性 ③可拓展性 ④开放性1.2 操作系统的发展与分类1.2.1 无操作系统的计算机系统人工操作方式;(人机矛

2021-12-29 10:54:50 403

转载 MySQL把字符串转化为数字的三种方式

问题出现当我用navicat查询时,在varchar字段上where查询使用的是int类型的0【忘记打引号了…】,结果查出一堆其他的字符串,很奇怪。首先,我想到的是类似于between and,我以为也是比较的首字母,不过后面我发现并不是的。百度搜素之后发现是在这查询的时候MySQL把字符串转化为数字,并且有几种方式:1. 方法一: 字段值 + 0MySql 会根据上下文自动转换类型,这里会将被本来是字符类型的字段值以数值型返回,如果字段存放的值为数值字符,则会转换为数值型返回,如果字段存

2021-08-11 16:19:20 46009 2

原创 使用docker安装ElasticSearch和kibana

使用 Docker安装安装ES【先读官方文档!!!】拉取镜像docker pull elasticsearch:7.6.1创建网络docker network create elastic加上内存限制启动 ESdocker run -d --name es01-test --net elastic -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" ela

2021-08-03 19:51:58 828 2

转载 docker入门详细笔记

这个笔记是狂神说的docker基础篇视频的对应的笔记:https://www.bilibili.com/video/BV1og4y1q7M4转载链接:Oddfar Note ;有一说一,他们的博客是真滴好看Docker安装我们使用的是 CentOS 7 (64-bit)Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。查看自己的内核:用于打印当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型 等)。uname -r查看版本信息:.

2021-07-31 22:21:37 418

转载 RabbitMQ笔记

RabbitMQ1 MQ引言1.1 什么是MQMQ(Message Quene) : 翻译为消息队列,通过典型的生产者和消费者模型,生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入,轻松的实现系统间解耦。别名为 消息中间件通过利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。1.2 MQ有哪些当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、 RabbitM

2021-07-26 20:02:39 407

原创 使用AOP以及自定义注解实现业务日志的收集

直接上代码自定义注解:MyLog@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface MyLog { String value() default ""; //value值是说明,会被记录到数据库里面}自定义日志的实体类SysLog@Data@TableName("sys_log")public class SysLog { @TableId(value = "

2021-07-01 11:02:29 229

原创 Java基于Socket实现聊天、群聊、敏感词汇过滤功能

首先的话,这个代码主要是我很久以前写的,然后当时还有很多地方没有理解,现在再来看看这份代码,实在是觉得丑陋不堪,想改,但是是真的改都不好改了…所以,写代码,规范真的很重要。实现的功能:用户私聊群聊功能:进群退群,群发消息,查看群聊查看自己的消息记录通过文件流,设置敏感词汇过滤(这里还用到了字典树…)不过我还有点不熟练…离线,退出登录不足:emmm,其实说到不足的地方实在是太多了。首先功能并没有完全完善,尤其是群聊的功能(但是我觉得后面的功能实现了也意义不大了)然后,写代码.

2021-06-06 11:58:57 1538 4

转载 springboot进行单元测试

我在参加学校的小项目时候,比赛要求的是要进行单元测试,而我只用了打印…原来还要进行断言的…而我以前,由于感觉测试麻烦,还想办法把跳过工程的Maven测试test方法????单元测试为什么要单元测试单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。如果单元测试通过,说明我们测试的这个函数能够正常工作。如果单元测试不通过,要么函数有bug,要么测试条件输入不正确,总之,需要修复使单元测试能够通过。单元测试通过后有什么意义呢?如果我们对abs()函数代码做了修改,只需要再

2021-06-05 16:58:13 551

原创 Java实验 10  面向对象的几个基本原则

实验10面向对象的几个基本原则楼房的窗户相关知识点所谓面向抽象类编程,是指设计一个类时,不让该类面向具体的类,而是面向抽象类或者接口。“开-闭”原则就是让设计的系统应该对外扩展开放,对修改关闭。其本质是指当系统中增加新的模块时,不需要修改现有的模块。在设计系统时,应当首先考虑到用户需求的变化,将应对用户变化的部分设计为扩展开放,而设计的核心部分是经过精心考虑之后确定下来的基本结构,这部分应当对修改关闭的,即不能因为用户的需求变化而再发生变化,因为这部分不是用来应对需求变化的。设计某些系统...

2021-06-05 11:13:16 1391 1

原创 Nginx部署前端项目

首先当然是检查Nginx:查看nginx的安装路径:whereis nginxnginx: /usr/local/nginxnginx常用命令:cd /usr/local/nginx/sbin./nginx./nginx -s stop./nginx -s quit 安全退出./nginx -s reload 重新加载配置文件ps aux | grep nginxnginx展示图片: location /images { root /us

2021-05-21 10:02:54 8615 8

原创 springboot访问出现404

方法一:看别人博客说的,SpringBoot 注解 @SpringBootApplication 默认扫描当前类的同包以及子包下的类;因此要注意@SpringBootApplication标注的启动类放置的路径。方法二:看了别人说的,但是我感觉对我而言不起作用,主要是我的Controller层昨天还可以用,今天就突然不行了。后面我仔细一想,昨天我是在Controller的方法上面加了事务@Transactional注解,我尝试把@Transactional注解去掉,结果就可以了!类似于这样当我

2021-05-17 19:06:50 302

原创 ‘order‘ is a reserved keyword and should be quoted

记一次数据库的插入数据异常:我设置了订单表的名称为order,没想到他是一个关键字;然后我就测试了很久;解决方法:使用mybatis 的时候加上``order`不过也说明我建表的格式不对,建表的名称可以在前面加个t_, 比如说t_order表,这样就不会出现这个关键字冲突的问题(我开始用的是 mybatis_plus,更是难以发觉问题)所以还是要建表规范!...

2021-05-06 21:27:04 1630

转载 UML类图(class diagram)

UML从考虑系统的不同角度出发,定义了用况图、类图、对象图、包图、状态图、活动图、序列图、通信图、构件图、部署图等10种图。在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)泛化(Generalization)【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。例如:老虎.

2021-05-06 17:20:52 4892 1

原创 使用eolinker(postman)传递map等复杂类型的数据

首先复习一下JSON在标准的 json 格式中,json 对象由在括号括起来,对象中的属性也就是 json 的 key 是一个字符串,所以一定要使用 双引号引起来。每组 key 之间使用逗号进行分隔。Json 定义格式:var 变量名 = { “key” : value , // Number 类型 “key2” : “value” , // 字符串类型 “key3” : [] , // 数组类型 “key4” : {}, // json 对象类型 “key5” : [{}

2021-05-05 20:37:34 1370

原创 spring-boot-starter-validation进行参数校验

引入依赖pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency>常用注解注意不用错了类型!注解限制@Null限制只能为

2021-04-28 21:30:30 6809 2

原创 springboot上传图片到阿里云OSS同时进行压缩(使用thumbnailator)

首先导入thumbnailator包,关于这个的使用可以看别的博文。pom文件引入: <dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>3.10.2</version> </

2021-04-09 21:39:53 911

原创 springboot上传图片到阿里云OSS并实现浏览器预览

如下:

2021-04-08 21:10:27 3530

原创 实体类转化为VO返回给前端的方法

返回给前端的时候,我以前一直都是直接用实体类entity直接返回的。但是到后面我越来越发现这样子很不方便:比如这个实体类中有许多属性我不想返回给前端,那我只好写个null;我要一次查询多张表,返回许多数据的话,就肯定只能多去封装一个大类,也就是VO类其实这里的方法有几种,最普通的及时一个个set了:以遍历集合为例:①遍历出来后取出每个元素,一个个set后再添加到新的集合里//类型 List<PhoneCategory> phoneCategoryList = ph

2021-04-07 09:16:10 5019

原创 使用mybatis-plus自动生成代码以及MybatisX插件

首先,关于这部分的知识,可以先参考官方文档。MybatisX 快速开发插件代码生成器配置Mybatis-Plus生成代码首先是使用Mybatis-plus根据数据库的连接生成代码:先导入maven依赖:<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version&

2021-04-05 21:29:03 3818 3

原创 springboot配置一个简单的登录拦截器

使用springboot时配置过滤器,拦截未登录的请求的处理方法:方法一 传统过滤器就是从session里面找用户的信息@Component@WebFilter(urlPatterns = {"/index.html","/account/redirect/index","/order.html","/account/redirect/order"},filterName = "userFilter")//由于没有了web.xml,用注解的方式public class UserFilter

2021-04-05 15:57:43 492

原创 Maven打包package跳过测试test

当我想把代码传到你服务器上面的时候,每次我直接打包他都会执行test,我感觉有点耽误时间,而且test会执行我单元测试的方法(我又不想让他执行)比如我在测试方法里面写了个测试邮件的发送,结果我一打包他就给我发了邮件了????终于我发现了办法:原来在idea Maven的窗口直接有这个跳过打包的,看来还是我对工具的不熟悉;第二种方法可以在pom.xml中添加如下配置来跳过测试:<plugins> <build> <plugin> <

2021-03-28 22:41:26 2515

原创 Java爬取豆瓣Top250简单实现

首先引入依赖: <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.12.1</version> </dependency>import org.jsoup.Jsoup;import org.jsoup.nodes.Document;import

2021-03-26 09:47:02 2225

原创 读取 jar时出错; error in opening zip file

问题:我使用idea时有几次莫名的报出这个错误,有次 说kotlin的jar包打不开了,而这次是spring-boot-starter-data-redis打不开了。就很纳闷啊,这次我终于收到问题的原因了:其实就是jar包没有下载好,我想起来我是因为当我构建一个新的项目时,用spring Initializr后创建的一般都是比较新的springboot版本。而我每次又不想电脑去下载(比如我一直用 的2.3.4版本的,但是现在创建不了了,只可以用2.4.0版本的),然后在它创建的过程中,我强行把它给关闭

2020-11-23 20:03:35 15196

原创 阿里云centos7安装redis4.0.9

步骤:首先要安装gcc:yum install gcc-c++ yum安装gcc下载安装包wget http://download.redis.io/releases/redis-4.0.9.tar.gz解压tar –xvf 文件名.tar.gz编译make安装make install [destdir=/目录]如果一开始没有安装gcc,会爆错:/bin/sh: cc: command not foundmake[1]: *** [adlist.o] Error 1

2020-11-13 11:10:43 140

原创 阿里云centos7安装mysql8.0.22

参考博客:阿里云 centos7 安装MySQL8.0.13阿里云 centos7 安装MySQL8.0.22下载MySQL安装包 首先点击https://dev.mysql.com/downloads/repo/yum/找到Linux7的版本;这里会自动下载最新的版本的mysql,我这里是mysql8.0.22然后去拼接网址:http://dev.mysql.com/get/ + xxx.rpm比如说我的是http://dev.mysql.com/get/mysql80-commun

2020-11-13 09:36:48 375

原创 Consider defining a bean named ‘shiroFilterFactoryBean‘ in your configuration.

springboot整合shiro时报错: ERROR 21620 --- [ restartedMain] o.s.b.web.embedded.tomcat.TomcatStarter : Error starting Tomcat context. Exception: org.springframework.beans.factory.BeanCreationException. Message: Error creating bean with name 'filterShiroFilt

2020-09-30 17:18:55 6500 3

原创 1758:二叉树[3.6数据结构之二叉树]

原题链接:http://noi.openjudge.cn/ch0306/1758/1758:二叉树总时间限制: 1000ms 内存限制: 65536kB描述如上图所示,由正整数1, 2, 3, …组成了一棵无限大的二叉树。从某一个结点到根结点(编号是1的结点)都有一条唯一的路径,比如从10到根结点的路径是(10, 5, 2, 1),从4到根结点的路径是(4, 2, 1),从根结点1到根结点的路径上只包含一个结点1,因此路径就是(1)。对于两个结点x和y,假设他们到根结点的路径分别是(x1, x2,

2020-08-24 10:19:22 282

计算机网络谢希仁第七版课后答案完整版.docx

计算机网络谢希仁第七版课后答案完整版文档,复习时也可以使用

2021-06-17

Spring Boot 学习笔记完整教程.pdf

关于springboot的电子文档PDF

2021-04-05

空空如也

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

TA关注的人

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