自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 OGNL表达式

OGNL生来就是为了简化Java属性的取值,比如想根据名称name引用当前上下文环境中的对象,则直接键入即可,如果想要引用当前上下文环境中对象text的属性title,则键入text.title即可。属性类型举例属性名称比如上文中的name属性方法hashcode()返回当前对象的哈希值数组索引arrays\[0\]返回返回arrays数组的第一个元素OGNL表达式用于用于访问对象的字段、方法。所以我们在使用OGNL表达式的时候需要一个对象,这在OGNL表达式中被称为root对象。

2024-11-10 19:43:21 251

原创 HTTP/HTTPS

HTTP 协议,全称超文本传输协议顾名思义,HTTP 协议就是用来规范超文本的传输,超文本,也就是网络上的包括文本在内的各式各样的消息,具体来说,主要是来规范浏览器和服务器端的行为的。HTTPS协议是HTTP的加强安全版本,是基于HTTP为基础,并额外使用了SSL和TLS协议作为加密和安全认证。HTTPS 之所以能达到较高的安全性要求,就是结合了 SSL/TLS 和 TCP 协议,对通信数据进行加密,解决了 HTTP 数据透明的问题。接下来重点介绍一下 SSL/TLS 的工作原理。

2024-09-05 14:37:54 1058

原创 UDP协议

发送方,首先是把全零放入校验和字段并且添加伪首部,然后把UDP数据报看成是由许多16位的子串连接起来,若UDP数据报的数据部分不是偶数个字节,则要在数据部分末尾增加一个全零字节(此字节不发送),接下来就按照二进制反码计算出这些16位字的和。在接收方,把收到得UDP数据报加上伪首部(如果不为偶数个字节,还需要补上全零字节)后,按二进制反码计算出这些16位字的和。所有在整个过程中,报文是不可分割的最小单位,故UDP面向数据报。: 占16位、UDP用户数据报的长度,其最小值是8字节(仅有首部,没有数据)。

2024-05-27 15:56:23 343

原创 初始计算机网络

,IP 协议会将传输层的报文作为数据部分,再加上 IP 包头组装成 IP 报文,如果 IP 报文大小超过 MTU(以太网中一般为 1500 字节)就会。TCP/IP网络模型:对于不同设备之间的通信,就需要网络通信,而设备是多样性的,所以要兼容多种多样的设备,就协商出了一套。在 TCP/IP 网络通信时,为了保证能正常通信,每个设备都需要配置正确的 IP 地址,否则无法实现正常的通信。实际场景中的网络环节是错综复杂的,中间有各种各样的线路和分叉路口,如果一个设备的数据要传输给另一个设备。

2024-04-28 14:59:59 677

原创 KMP算法难点解析

当我们实现在文本中寻找是否有特定的文本出现,我们需要实现文本匹配算法。比如在文本:aabaabaaf 中,我们要查询是否有文本:aabaaf出现。关于暴力求解,我就不再过多赘述,直接进入正题。关于前后缀不了解的同学,我会简略说明。前缀:是指不包含最后一个字符的所有以第一个字符开头的连续子串。后缀:是指不包含第一个字符的所有以最后一个字符结尾的连续子串。如aabaa:前缀:a,aa,aab,aaba(从前向后)后缀:a, aa , baa , abaa(从后向前)我们使用上文的列子 eg:对于a

2024-04-21 20:01:17 295

原创 线程的状态

Java 线程在运行的生命周期中的指定时刻只可能处于下面 6 种不同状态的其中一个状态:各个状态的转换条件:

2024-04-21 19:38:49 249

原创 java中的线程使用

线程是我们在日常工作中经常使用的类,接下来将介绍线程的基本使用方法。

2024-04-21 17:56:37 568

原创 线程和进程的区别

进程是对运行时程序的封装,是。每个线程都独自占用一个。线程是进程的子任务,

2024-04-16 14:13:17 320

原创 java线程池

池,从字面意思来说,就是将一定的数量放到一起,进行统一的管理和限制,从而达到统一使用线程的方式。

2024-04-16 13:22:57 1831

原创 死锁以及如何避免死锁

在多线程编程中,我们为了防止多线程竞争共享资源而导致数据错乱,都会在操作共享资源之前加上互斥锁,只有成功获得到锁的线程,才能操作共享资源,获取不到锁的线程就只能等待,直到锁被释放。有一个笑话,在疫情期间,某地的健康码突然崩溃,无法打开,于是维护健康码的程序员火速赶去公司想维护健康码,但是到了公司楼下,被保安大爷拦下。那么,当两个线程为了保护两个不同的共享资源而使用了两个互斥锁,那么这两个互斥锁应用不当的时候,可能会造成。,在没有外力的作用下,这些线程会一直相互等待,就没办法继续运行,这种情况就是发生了。

2024-04-11 13:28:26 412

原创 简单了解进程调度

文章从为何需要进程调度入手,到有什么进程调度,再到并发与并行,为何能够并发,最后到并发的关键——pcb。

2024-03-31 20:27:45 379 3

原创 Mysql——索引

当你去图书馆借书时,你是选择一个书架一个书架的寻找,还是根据图书馆提供的书籍目录来找呢?那肯定是选择目录来寻找,目录查找的时间比粗暴的寻找不知快多少。而目录就是充当索引的角色。那换到数据库中,索引的定义就是帮助存储引擎快速获取数据的一种数据结构,形象的说就是索引是数据的目录。在本章中,我们了解了mysql中最常用的索引——B+Tree,认识了它的逻辑结构,和它的有缺。

2024-03-26 21:54:56 1469 6

原创 # 贪心:分发糖果

当一拿到此题,我们第一个想法就是,一次遍历,并且同时兼顾两边来作出此题,当时当我们尝试过后,就会发现并不可行。这是因为我们的两个结果都是只对比了一边的结果,同一下标的最大糖果数,代表着是最合理的数量。大的结果,明显符合结果:[87 ,72 ,12 ],72要小与87,同时要大于12;第一个,小于第三个,此时第三的孩子的糖果数量都是未知的,我们很难去判断。第二次比较:87>51,所以87的糖果比51的多一个;第一次比较:72>12,72的糖果比12的多一个;第三次比较:87=87,最左边的87的糖果为1;

2024-03-19 12:53:09 365

原创 Mysql语法基础(CRUD)

以上就是mysql中简单的crud,希望我的文章能够给你带来帮助。

2024-03-17 15:59:32 630

原创 Map与Set

map与set的使用

2024-03-13 17:26:13 306 1

原创 优先级队列(堆)

2.如果有左孩子,即child小于size(设定的数组最大数量,比如你堆中有10个数,你想让10个都参与调整(0-9下标),那么size就是10,而想让5个进行调整,size就设为5(0-4下标),进行以下操作,直到parent没有孩子。由于向下调整使用的条件是要parent节点的左右子树都是堆,那么我们要对一个完全没有调整的树调整时,我们只能从最小的父亲节点开始调整,一直调整到根节点。当我们已经有一个未创建的序列时(如:,6,8,9,7,5,98,84,78),我们就可以利用向下建堆来完成堆的创建。

2024-02-20 19:19:19 574

原创 二叉树oj题

思路:题目给出判断subroot树是否为root树的子树,也就是说root中的可能存在一个和subroot一样的子树结构一样的子树。那么我们是否也可以参照题目:相同的树,其中的思路,当我们每遍历一个root的节点,我们就去判断是否与subroot相同。二叉树如果是平衡二叉树的话,那么它必须要满足:最小的子树是平衡的,而每往上的节点的也需要是平衡的。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。的,因此当我们同时进行遍历的时候,两棵树都节点应该是。的某个节点和这个节点的所有后代节点。

2024-02-15 20:10:26 322 1

原创 栈与队列算法专题

输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。遇到运算符时,取出栈顶元素p2,然后再取出栈顶元素p1,p2为运算符的右值,p1为左值,得出的结果入栈,重复此操作,直至将表达式遍历完成,最后的结果就是栈留下的最后一个元素。我们由题目得知,有两个数组,一个为入栈数组,一个为出栈数组,判断出栈数组,是否符合入栈数组。

2023-12-08 14:52:38 797 1

原创 java小项目——图书管理系统

在这个小项目中,我们运用了包对类进行管理,运用接口来实现调用的简化——调用接口就可以调用使用了接口的类,运用了继承来实现了多态,减少了代码量,提高了代码可读性。

2023-12-06 17:06:55 1238 1

原创 javaSE重要语法思维导图

博主对自己认为重要的java语法构思成思维导图,希望能够给你提供帮助。

2023-11-25 01:01:59 373 1

原创 java封装与继承

什么是封装?就好比将我们的手机,对于我们用户来说,我们只需要开机就能够使用,但对于工程师来说,电路设计,cpu设计,软件设计等等,都是实现实现手机的一环,但是对于我们用户来说,这都是无关紧要的,我们不关心它们如何实现,只关心功能如何,将实现手机功能细节包装起来,不被外界所看见,这种对细节的隐藏就是封装。

2023-11-13 20:48:31 47

原创 java中类与对象

类的定义通常包括类名、成员变量、方法等。类的定义可以包括构造方法,用于创建类的实例。// 成员变量// 构造方法// 构造方法初始化对象// 方法// 方法的行为成员变量对应的就是抽象出来的类(对某一类事务的高度概括,如人,狗)的属性,比如对于一只狗的,比如:名字,性别,年龄,毛色…这些都是狗的固有属性构造方法就是实例化对象是,赋于对象具体的属性,比如:名字是:小王,年龄:18,性别:男方法对应的是对应的动作,比如:吃饭,睡觉等。

2023-11-08 20:02:16 49 2

原创 java数据类型和变量

此外,Java还提供了自动装箱(autoboxing)和自动拆箱(unboxing)机制,使得原始数据类型和对应的包装类之间的转换更加方便。总之,变量和数据类型是Java中的基本概念,它们用于管理数据的存储和处理。变量是数据存储的容器,而数据类型规定了变量可以存储的数据的种类和范围。自动装箱(autoboxing)和自动拆箱(unboxing)是Java中的两种特性,用于方便地在原始数据类型和对应的包装类之间进行转换。当你使用包装类对象的值在需要原始数据类型的上下文中时,编译器会自动插入拆箱代码。

2023-10-26 18:14:32 31

原创 c语言——#define与条件编译

条件编译可以提高代码的灵活性,但过度使用可能会导致代码的可读性下降。因此,建议在需要时谨慎使用条件编译,以确保代码清晰、易维护和可移植。用于创建类型别名,主要用于提高代码的可读性和可维护性,以及创建新的类型别名。条件编译是一种在C和C++中用于根据条件选择性包含或排除代码的技术。条件编译的主要目的是根据不同的编译时条件来配置程序,以在不同的情况下执行不同的代码。用于创建宏定义,可以用来定义符号常量、函数宏和其他代码片段的替代。创建一个符号常量时,编译器会在编译时将该符号替换为相应的值。

2023-10-19 20:34:12 199 1

原创 一级指针与二级指针不得不说的秘密

今天我将给大家用几个列子来解决我们在使用一级指针和二级指针时的困扰,让指针不在成为困扰我们写代码的绊脚石。以上代码是否是正确的呢?可能你不禁泛起嘀咕:感觉没什么问题啊!但事实是这个程序是错误的接下来我们就解释为什么:那么我们如何改正此代码呢?我们只需要对Init_sum,和传参进行改造即可:参数由一级指针改为二级指针,传参是传地址。图解:

2023-10-06 14:17:44 46 1

原创 联合体与位段(位域)

在C语言中,变量的定义是分配存储空间的过程。一般的,每个变量都具有其独有的存储空间,那么可不可以在同一个内存空间中存储不同的数据类型(不是同时存储)呢?答案是可以的,使用联合体就可以达到这样的目的。联合体也叫共用体,在C语言中定义联合体的关键字是union。

2023-09-24 15:36:42 714 1

原创 memcpy和memmove库函数详解

我们所预计的:3 4 5 4 5 6 7 8 9 10 但事实是:1 2 1 2 1 6 7 8 9 10.这是由于函数在拷贝的时候将1 2拷贝过去时,将3,4覆盖住了,所以无法实现该操作。,能够实现以上的操作。接下来我们就介绍memmove函数。但是我们用memcpy函数想要实现下面代码时,

2023-09-21 21:17:03 43

原创 关于指针的一些细节内容

而对地址来说,有四个字节,因此ptr2此时指向的内存地址不再是10(下面表格内容),而是跳过了01,指向01后面的00,而在对ptr2解引用,需要四个字节的地址,就读取到00 00 00 02,然后高地址放在高位,低地址放在地位,就是:02 00 00 00 因此打印出来就是:2000000。对于第一个:我们可以简单看出,是将 一个结构体指针——p + 0x1,其中加上0x1,我们可以直接看作+1;由指向a的第一个字符串,指向了第二个字符串地址,所以,解引用pa就是第二行元素,答案就是:at。

2023-09-19 16:58:42 30

原创 HTML基础知识(二)

*元素(或者说 HTML 段落元素)表示文本的一个段落。该元素通常表现为一整块与相邻文本分离的文本,或以垂直的空白隔离或以首行缩进。规则:块元素可以写行元素,块元素,几乎都能写(除个别,eg:h1-h6不能嵌套,p标签不能写块元素)规则:能写行元素,不能写块元素。HTML 文档分区元素。(短语内容的内容器)

2023-09-18 19:09:34 48

原创 HTML基础知识(一)

标记语言。

2023-09-16 12:21:48 104 2

原创 结构体你不得不知道的知识!

结构体的你不得不知道的知识

2023-09-13 22:07:17 94 2

原创 关于qsort的介绍,与简单使用方法

qsort函数快速上手指南

2023-09-13 16:00:36 67 1

原创 用C写一个简单的扫雷游戏(与原版几乎无异)(简单易懂)

当我们初学了c语言,已经学会了一些基础的语法。面对一些简单的算法已经可以轻松拿下。除了算法题,我还能拿它做些什么呢?而今天,就给大家推荐一用c做个简单的小游戏:扫雷来用上我们所学的知识,融汇贯通,充分吸收知识,也能提高我们对编程的兴趣。目录前言游戏逻辑实现代码实现最后。

2023-09-07 21:28:44 189 5

原创 一位初出茅庐编程小白的梦想

接下来我将为我的梦想而奋斗,在努力学习编程基础的情况下(每周学个20小时),也会多多看大佬们的博客文章;向大佬学习,习的不错的能力,进入喜欢的公司米忽悠(主要是它家的游戏好玩加待遇不错,哈哈)但是心中还是有着自己的梦想的——那当然是在海里有自己的一亩三分地。看着各位巨佬们在大海里遨游,虽然在大佬的威武下我瑟瑟发抖,各位好,作为一名初出茅庐的小萌新,初入编程的大海里。不过路途漫漫,我需要学习的东西还很多。

2023-07-09 16:04:08 69 2

javaSE重要语法思维导图

javaSE重要语法思维导图

2023-11-25

Form_add.cs

Form_add.cs

2023-01-07

空空如也

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

TA关注的人

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