自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 没有网络编程就拿不下小美

你送给小美的礼物,她在收到之后会跟你说收到了,如果你在一段时间内没有收到确认,是不是就觉得小美是不是没收到,地址是不是写错啦,就要重新再送了。小美答应你了,你是不是也要再次确认,万一你不是认真的呢。最后你说,好吧,分手就分手;就像你总是追求别人,有一天你受到别人的欣赏和喜欢,这也是正常的。不事先建立连接,数据按照包发,一包数据包含:自己的IP、程序端口,目的地IP、程序端口和数据(限制在64KB内)等。发送方不管对方是否在线,数据在中间丢失也不管,如果接收方收到数据也不返回确认,故是不可靠的。

2024-09-23 18:54:59 3278

原创 SpringBootWeb配置文件

不同点:@Value注解只能一个一个的进行外部属性的注入。@ConfigurationProperties可以批量的将外部的属性配置注入到bean对象的属性中。@Value 注解通常用于外部配置的属性注入,具体用法为: @Value("${配置文件中的key}")使用缩进表示层级关系,缩进时,不允许使用Tab键,只能用空格(idea中会自动将Tab转换为空格)缩进的空格数目不重要,只要相同层级的元素左侧对齐即可。相同点:都是用来注入外部配置的属性的。数组/List/Set集合。

2024-10-20 11:49:36 262

原创 SpringBootWeb开发规范

注意事项:REST是风格,是约定方式,约定不是规定,可以打破。描述模块的功能通常使用复数,也就是加s的格式来描述,表示此类资源,而非单个资源。如:users、emps、books…注意事项:一个完整的请求路径,应该是类上的 @RequestMapping 的value属性 + 方法上的 @RequestMapping的value属性。REST风格:URL定位资源,HTTP动词描述操作(简洁、规范、优雅),表述性状态转换,它是一种软件架构风格。前后端交互统一响应结果 Result。

2024-10-20 11:49:07 333

原创 Mybatis操作

属性:collection:集合名称 item:集合遍历出来的元素/项 separator:每一次遍历使用的分隔符 open:遍历开始前拼接的片段 close:遍历结束后拼接的片段。} 里面的属性名可以随便写,如:#{id}、#{value}。SQL注入是通过操作输入的数据来修改事先定义好的SQL语句,以达到执行代码对服务器进行攻击的方法。XML映射文件中sql语句的id与Mapper 接口中的方法名一致,并保持返回类型一致。起别名:在SQL语句中,对不一样的列名起别名,别名和实体类属性名一样。

2024-10-19 13:25:51 1112

原创 Mybatis

Lombok是一个实用的Java类库,能通过注解的形式自动生成构造器、getter/setter、equals、hashcode、toString等方法,并可以自动化生成日志变量,简化java开发、提高效率。官方地址:https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter。释放空闲时间超过最大空闲时间的连接,来避免因为没有释放连接而引起的数据库连接遗漏。官方(sun)提供的数据库连接池接口,由第三方组织实现此接口。

2024-10-19 13:24:47 875 1

原创 SpringBootWeb请求响应

注意事项:@RequestParam中的required属性默认为true,代表该请求参数必须传递,如果不传递将报错。JSON参数:JSON数据键名与形参对象属性名相同,定义POJO类型形参即可接收参数,需要使用 @RequestBody 标识。集合参数:请求参数名与形参集合名称相同且请求参数为多个,@RequestParam 绑定参数关系。数组参数:请求参数名与形参数组名称相同且请求参数为多个,定义数组类型形参即可接收参数。controller:控制层,接收前端发送的请求,对请求进行处理,并响应数据。

2024-10-18 13:09:55 1130

原创 SpringBootWeb入门

包含13项技术规范:JDBC、JNDI、EJB、RMI、JSP、Servlet、XML、JMS、Java IDL、JTS、JTA、JavaMail、JAF。官方提供的starter:https://docs.spring.io/spring-boot/docs/2.7.4/reference/htmlsingle/#using.build-systems.starters。请求方式-GET: 请求参数在请求行中,没有请求体,如:/brand/findAll?请求体:POST请求,存放请求参数。

2024-10-18 13:09:14 303

原创 翻转单词序列

后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a nowcoder.”。元素入栈指的是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;元素出栈指的是从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。我们都知道栈是先进后出的,于是我们可以用方法一中分割单词的方式,在大的句子字符串中分割出一个一个地单词。然后从头到尾遍历单词,将分割出来的单词送入栈中,然后按照栈中弹出的字符串顺序拼接单词即可使单词之间逆序。数据范围:1≤n≤100。

2024-10-16 16:23:56 293

原创 栈的压入、弹出序列

剑指offer的一道经典题目,难度中等。

2024-10-16 16:20:57 1076

原创 Maven高级

是一种特殊的远程仓库,它是架设在局域网内的仓库服务,用来代理位于外部的中央仓库,为什么要分模块设计:方便项目的管理维护、扩展,也方便模块间的相互调用,资源共享。聚合是在聚合工程中配置关系,聚合可以感知到参与聚合的模块有哪些。继承是在子模块中配置关系,父模块无法感知哪些子模块继承了自己。是直接依赖,在父工程配置了依赖,子工程会直接继承下来。是统一管理依赖版本,不会直接依赖,还需要在子工程中引入。:父工程或聚合工程,该模块不写代码,仅进行依赖管理。中的继承相似,子工程可以继承父工程中的配置。

2024-10-15 13:35:47 796

原创 Maven

1.在 pom.xml 中编写 标签 2.在 标签中 使用 引入坐标 3.定义坐标的 groupId,artifactId,version 4.点击刷新按钮,引入最新加入的坐标。注意事项:如果引入的依赖,在本地仓库不存在,将会连接远程仓库/中央仓库,然后下载依赖。可以通过 …排除依赖:排除依赖指主动断开依赖的资源,被排除的资源无需指定版本。间接依赖:被依赖的资源如果依赖其他资源,当前项目间接依赖其他资源。

2024-10-15 13:35:10 333

原创 包含min函数的栈

剑指offer的一道经典题目,难度简单。

2024-10-14 00:28:20 321

原创 SpingBoot原理

入程序开发时所需要的起步依赖,项目开发时所用到常见的配置都已经有了,我们直接使用就可以。大家可以想象一下,如果采用以上这种方式来完成自动配置,那我们进行项目开发时,当需要引入。个方法的去研究,一定要找到关键流程,抓住关键点,先在宏观上对整个流程或者整个原理有一个。,就不需要像上面这么繁琐的引入依赖了。对象了,我们直接使用就可以从而大大的简化程序的开发,省去了繁琐的配置操作。中,不需要我们手动去声明,从而简化了开发,省去了繁琐的配置操作。程序启动时,就会加载配置文件当中所定义的配置类,并将这些配置类信息。

2024-10-14 00:27:35 3653

原创 Nginx

启动:双击 nginx.exe 文件即可,Nginx服务器默认占用 80 端口号,如果80端口号被占用,可以在nginx.conf中修改端口号。(netstat –ano | findStr 80)介绍:Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强,在各大型互联网公司都有非常广泛的使用。部署:将打包好的 dist 目录下的文件,复制到nginx安装目录的html目录下。官网:https://nginx.org/

2024-10-13 12:31:32 472

原创 Vue路由

router-view>:动态视图组件,用来渲染展示与路由路径对应的组件。VueRouter:路由器类,根据路由请求在路由视图中动态渲染选中的组件。:请求链接组件,浏览器会解析成安装:npm install [email protected]。介绍: Vue Router 是 Vue 的官方路由。

2024-10-13 12:30:35 274

原创 Vue组件库Element

如果需要使用Axios: 在项目目录下安装axios:npm install axios;需要使用axios时,导入axios:import axios from 'axios';Element:是饿了么团队研发的,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库。官网:https://element.eleme.cn/#/zh-CNListener。组件:组成网页的部件,例如 超链接、按钮、图片、表格、表单、分页条等等。3.访问官网,复制组件代码,调整。

2024-10-12 12:22:38 228

原创 vue项目

Vue的组件文件以 .vue结尾,每个组件由三个部分组成: 、、。介绍: Vue-cli 是Vue官方提供的一个脚手架,用于快速生成一个 Vue 的项目模板。Vue-cli提供了如下功能: 统一的目录结构 本地调试 热部署 单元测试 集成打包上线。安装 vue-cli:npm install -g @vue/cli。命令行:vue create vue-project01。图形化界面:vue ui。依赖环境:NodeJS。

2024-10-12 12:22:04 217

原创 Ajax介绍

异步交互:可以在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术,如:搜索联想、用户名是否可用的校验等等。概念:Asynchronous JavaScript And XML,异步的JavaScript和XML。由于ajax用起来会比较繁琐,Axios 对原生的Ajax进行了封装,简化书写,快速开发。数据交换:通过Ajax可以给服务器发送请求,并获取服务器响应的数据。官网: https://www.axios-http.cn/2.使用Axios发送请求,并获取响应结果。

2024-10-11 12:07:50 279

原创 Vue入门

指令:HTML 标签上带有 v- 前缀 的特殊属性,不同指令具有不同含义。例如:v-if,v-for…基于MVVM(Model-View-ViewModel)思想,实现数据的双向绑定,将编程的关注点放在数据上。框架:是一个半成品软件,是一套可重用的、通用的、软件基础代码模型。mounted:挂载完成,Vue初始化成功,HTML页面渲染成功。生命周期的八个阶段:每触发一个生命周期事件,会自动执行一个生命周期方法(钩子)。Vue 是一套前端框架,免除原生JavaScript中的DOM操作,简化书写。

2024-10-11 12:06:52 243

原创 JavaScript

定义:JavaScript 函数通过 function 关键字进行定义,语法为:function functionName(参数1,参数2..){ //要执行的代码 }概念:Browser Object Model 浏览器对象模型,允许JavaScript与浏览器对话, JavaScript 将浏览器的各个组成部分封装为对象。是用来简化函数定义语法的。JavaScript 中的数组相当于 Java 中集合,数组的长度是可变的,而 JavaScript 是弱类型,所以可以存储任意的类型的数据。

2024-10-10 15:40:57 1253

原创 HTML-CSS

CSS:负责网页的表现(页面元素的外观、位置等页面样式,如:颜色、大小等)。注意:如果只需要设置某一个方位的边框、内边距、外边距,可以在属性名后加上 –位置,如:padding-top、padding-left、padding-right …盒子:页面中所有的元素(标签),都可以看做是一个 盒子,由盒子将页面中的元素包含在一个矩形区域内,通过盒子的视角更方便的进行页面布局。盒子模型组成:内容区域(content)、内边距区域(padding)、边框区域(border)、外边距区域(margin)

2024-10-10 13:34:52 2907

原创 用两个栈实现队列

剑指offer的一道经典题目,难度简单。

2024-10-07 23:44:14 349

原创 Java基础语法

判断数据是否满足条件,最终会返回一个判断的结果,这个结果是布尔类型的值:true或者false。在表达式中,哪个运算符先执行后执行是要看优先级的,例如 “*、/” 的优先级高于”+、-”。执行流程:首先计算关系表达式的值,如果值为true,返回值1,如果为false,返回值2。基本的赋值运算符:= (从右边往左看) 扩展的赋值运算符:+=、-=、*=、/=、%=在表达式中,小范围类型的变量,会自动转换成表达式中较大范围的类型,再参与运算。强制类型转换:强行将类型范围大的变量、数据赋值给类型范围小的变量。

2024-10-07 22:28:07 2034

原创 在Java中操作Redis

Spring Data Redis 是 Spring 的一部分,对 Redis 底层开发包进行了高度封装。在 Spring 项目中,可以使用Spring Data Redis来简化操作。导入Spring Data Redis 的maven坐标。ValueOperations:string数据操作。HashOperations:hash类型的数据操作。ListOperations:list类型的数据操作。ZSetOperations:zset类型数据操作。SetOperations:set类型数据操作。

2024-10-06 23:58:06 422

原创 Redis常用命令

ZRANGE key start stop [WITHSCORES] 通过索引区间返回有序集合中指定区间内的成员。SETEX key seconds value 设置指定key的值,并将 key 的过期时间设为 seconds 秒。ZREM key member [member ...] 移除有序集合中的一个或多个成员。HSET key field value 将哈希表 key 中的字段 field 的值设为 value。

2024-10-06 23:42:29 398

原创 Redis数据类型

有序集合(sorted set / zset):集合中每个元素关联一个分数(score),根据分数升序排序,没有重复元素。列表(list):按照插入顺序排序,可以有重复元素,类似于Java中的LinkedList。集合(set):无序集合,没有重复元素,类似于Java中的HashSet。字符串(string):普通字符串,Redis中最简单的数据类型。哈希(hash):也叫散列,类似于Java中的HashMap结构。有序集合 sorted set / zset。字符串 string。

2024-10-05 23:26:51 487

原创 把数字翻译成字符串

剑指offer的一道经典题目,难度中等。

2024-10-05 23:19:20 453

原创 Redis入门

通过redis-cli.exe命令默认连接的是本地的redis服务,并且使用默认6379端口。设置Redis服务密码,修改redis.windows.conf:requirepass 123456。修改密码后需要重启Redis服务才能生效;Redis配置文件中 # 表示注释。适合存储热点数据(热点商品、资讯、新闻)的 key-value 结构数据库。Redis服务默认端口号为。基于内存存储,读写性能高。即可停止Redis服务。Redis是一个基于。

2024-10-04 23:42:19 231

原创 最长不含重复字符的子字符串

剑指offer的一道经典题目,难度中等。

2024-10-04 23:13:00 381

原创 礼物的最大价值

如果我们现在已经身处最右下角的一个格子,获取了这个礼物,那我们肯定是加上来自左边累计的最大礼物价值与来自上边累计的最大礼物价值的较大值,这样我们能获取的礼物价值才会更大,因此我们用dp[i][j]dp[i][j]表示从左上角到第i行第j列的格子总共能获取的最大价值,因此转移方程为dp[i][j]=grid[i][j]+max(dp[i−1][j],dp[i][j−1])动态规划算法的基本思想是:将待求解的问题分解成若干个相互联系的子问题,先求解子问题,然后从这些子问题的解得到原问题的解;

2024-10-03 23:55:28 1288

原创 Java基础语法

Java语言自己用到的一些词,有特殊作用的,我们称之为关键字, 如:public、class、int、double…注意:关键字是java用了的,我们就不能用来为做为:类名、变量名,否则会报错!变量是内存的一块区域用来记住程序要处理的数据的。使用变量记要处理的数据,编写的代码更灵活,管理代码更方便。类名称: 满足标识符规则,建议全英文、有意义、首字母大写,满足“驼峰模式”,例如: HelloWorld, Student。注释是写在程序中对代码进行解释说明的文字,方便自己和其他人查看,以便理解程序的。

2024-10-03 22:42:57 372

原创 Java基础知识

我们写好的Java程序都是高级语言,计算机底层是硬件不能识别这些语言。Java语言的产品是 JDK(Java Development Kit :Java开发者工具包) ,必须安装JDK才能使用Java语言。,桌面应用开发,移动应用开发,服务器系统,大数据开发,游戏开发。开发 Java 程序,需要三个步骤:编写代码,编译代码,运行代码。JVM(Java Virtual Machine):Java虚拟机, 真正运行Java程序的地方。核心类库:Java自己写好的程序,给程序员自己的程序调用的。

2024-10-02 23:13:43 703

原创 矩形覆盖问题

剑指offer的一道经典题目,难度中等。

2024-10-02 22:43:33 609

原创 跳台阶问题

剑指offer的一道简单题目。

2024-10-01 23:53:10 215

原创 斐波那契数列

剑指offer的一道经典入门级别题目。

2024-10-01 23:47:50 435

原创 跳台阶扩展问题

剑指offer的一道经典题目,难度简单。

2024-09-30 19:28:35 932

原创 连续子数组的最大和(二)

剑指offer的一道经典题目,难度中等。

2024-09-30 15:10:51 1974

原创 机器人的运动范围

剑指offer的一道经典题目。

2024-09-29 22:50:34 703 1

原创 矩阵中的路径

剑指offer的一道经典题目,

2024-09-29 22:04:49 340

原创 搜索算法部分知识

如果是线型递归,子问题直接回到父问题不需要回溯,但是如果是树型递归,父问题有很多分支,我需要从子问题回到父问题,进入另一个子问题。因此回溯是指在递归过程中,从某一分支的子问题回到父问题进入父问题的另一子问题分支,因为有时候进入第一个子问题的时候修改过一些变量,因此回溯的时候会要求改回父问题时的样子才能进入第二子问题分支。分治即“分而治之”,“分”指的是将一个大而复杂的问题划分成多个性质相同但是规模更小的子问题,子问题继续按照这样划分,直到问题可以被轻易解决;“治”指的是将子问题单独进行处理。

2024-09-28 16:27:15 335

空空如也

空空如也

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

TA关注的人

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