自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 javaEE1

选择器与操作:介绍了JavaScript中的选择器,如类选择器( class 前加 . )、标签选择器(如 p 、 div )、id选择器( id 前加 # ) 、通配符选择器和复合选择器。- 框架与学习方法:提到 SSH 、 SSM 等框架是实现了某些功能的半成品 ,强调通过练习实现记忆,学习中面试(包括笔试如算法、面试交流 )的重要性 ,还提及解决问题能力、分布式、集群等概念,以及涉及的部门如人力、财务、行政、法务等 ,提到开发中理解为主,以及 Ubuntu 系统。

2025-05-27 19:04:54 394

原创 java虚拟机2

模型过程:类加载时,先由子类加载器将请求委派给父类加载器,父类加载器依次向上查找,直至Bootstrap ClassLoader。新生代对象生命周期短,多采用复制算法,新创建对象放伊甸区,经过GC存活的对象进入幸存区,多次GC后仍存活的对象进入老年代。从GC roots(如栈上的局部变量、常量池里指向的对象、元数据区的静态成员等)开始扫描,能被访问到的对象标记为可达,不可达的对象则可被回收。- 标记 - 整理:先标记可回收对象,然后将存活对象向一端移动,再释放边界外的内存。

2025-05-26 18:59:00 1069

原创 java虚拟机

跨平台实现:Java通过JVM解决跨平台问题,官方提供适用于不同操作系统(如windows x86、windows arm等)的JVM版本。对上层Java程序代码写法统一要求,程序员只需编写一套代码就能兼容多种环境 ,JVM如同翻译官,虽降低运行效率但提高开发效率。- 语言生态与借鉴:Java之后很多语言引入虚拟机或运行时(如Python、JS等)。Kotlin、Scala、Groove等语言可编译成与JVM兼容字节码,借助Java生态。

2025-05-26 18:53:34 286

原创 HTTP3

定义:Referer请求头用于表示页面是从哪里来的,不是所有请求都有该字段。例如在页面跳转时,会带上Referer ,如 GET https://www.sogou.com/web?- 作用:主要给服务器看,用于广告平台统计流量来源等。比如广告主可通过Referer判断访问来源是搜狗还是百度等。

2025-05-12 18:58:00 842

原创 HTTP2

x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36 ,可以从中解析出操作系统版本(Windows NT 10.0,64位系统 )、浏览器内核版本(AppleWebKit/537.36 )、浏览器版本(Chrome/135.0.0.0 )等信息。例如: POST https://gitee.com/login HTTP/1.1 ,body提交用户名和密码。幂等意味着同样的请求多次执行,结果是一样的。

2025-05-12 18:51:06 957

原创 HTTP协议

一个URL包含协议(如https、http )、登录信息(认证部分,现在较少使用,如 http://user:pass@ )、服务器地址(域名或IP地址)、服务器端口号(http默认80 ,https默认443 ,可省略时浏览器会给默认值 )、带层次的文件路径(访问服务器资源的路径,如 /dir/index.htm , / 表示根目录 )、查询字符串(query string ,用于客户端给服务器传递参数,格式为 key=value ,多个参数用 & 分割,如?

2025-05-07 14:23:28 912

原创 测试 用例篇

测试用例(Test Case)是为实施测试向被测系统提供的集合,涵盖测试环境、操作步骤、测试数据、预期结果等要素。像新买电视后进行的开机、切换频道、调分辨率等操作,以文字表述就是简单测试用例示例。由于软件特性繁多,需编写测试用例来系统规划测试内容,并不断优化。

2025-04-30 14:20:44 316

原创 java网络原理6

ext=%7B%22s%24wiki_link%22%3A%22https%3A%2F%2Fm.baike.com%2Fwikiid%2F7240009821926637572%22%7D&msg=sogou).com )时,电脑向DNS服务器询问域名对应的IP地址,DNS服务器返回(如1.2.3.4 ),电脑再通过该IP访问服务器。- 定义与特性:也叫物理地址,是数据链路层的地址体系,6字节长,由网卡出厂时设定,理论上每个设备唯一 ,但实际也可能出现相同情况。

2025-04-30 07:59:44 649

原创 java网络原理5

运营商路由器记录 IP 和端口的映射关系,如 NAPT(网络地址端口转换) ,当内网设备 A(192.168.0.10)访问外网服务器,源 IP 在内网是 192.168.0.10 ,经运营商路由器转换为外网 IP(如 5.6.7.8 ),同时记录端口映射(如源端口 1000 映射为新端口 1000 ),外网服务器响应时,路由器依据记录还原转发给 A。- 增强网络安全性,内网设备对外相对隐藏,外部设备无法主动访问内网设备(除非内网设备先发起访问建立连接 ),类似设备在有门禁的小区,黑客难以直接攻击。

2025-04-30 07:55:28 795

原创 java网络原理4

TCP协议包括确认应答、超时重传、连接管理(三次握手、四次挥手 ) 、滑动窗口、流量控制、拥塞控制、延时应答、捎带应答、面向字节流(粘包问题 ) 、异常情况(心跳包 )等核心机制。

2025-04-25 14:30:09 375

原创 java网络原理3

如果发送方发送速度过快,接收方处理不过来,数据就会在接收缓冲区堆积,甚至导致数据被丢弃,所以需要流量控制来协调双方的传输速率。发送方发送数据后,接收方会对收到的数据进行确认,并返回确认应答(ACK)给发送方。例如,主机A向主机B发送数据段1 - 1000,主机B接收成功后,会向主机A发送确认应答,告知下一个期望接收的数据序号(如1001) ,以此确保数据按序到达且不丢失。接收方根据自身处理能力,通过调整窗口大小来控制发送方的发送速度,比如接收方处理能力有限时,会减小窗口大小,让发送方放慢发送速度。

2025-04-25 14:20:34 1118

原创 java网络原理2

UDP报头格式简单,包含源端口、目的端口、长度、校验和。TIME_WAIT是主动发起断开连接一方进入的状态,等待连接彻底释放,时长为2倍MSL(网络上任意两点间传输消耗的最大时间 ,如Linux默认60s ),是为应对最后一个ACK丢包情况。- 确认应答:实现可靠传输的核心机制,发送方发送数据后,接收方返回“应答报文”(ack ),发送方据此感知接收方是否收到数据,未收到则采取措施。不同时间招聘收到简历数量不同,如9、10月可能收到几份,5、6月可能收到几百份,12、1月可能收到20份。

2025-04-23 15:58:32 1151

原创 java网络原理1

内容:接亲的车队,刚出发的时候是保持队形的,很快,队形就散了~~ 网络中,路口红绿灯 => 路由器交换机,一系列的数据包传输过程中,不一定是按照相同的路线转发的不同的路线,有的可能堵,有的可能通畅。为了解决上述问题,引入“序号和确认序号”对于传输的数据进行标识- 解释:通过接亲车队队形易散,类比网络数据包在传输中路径不同易出现混乱的情况。引入序号和确认序号来标识传输数据,便于有序处理和确认接收情况。

2025-04-23 14:26:28 537

原创 java网络编程2

约定内容:自定义协议主要约定通信的信息内容(如外卖程序中请求的用户信息、位置信息,响应的商家列表等)和通信数据的格式。- 数据格式类型:- 行文本方式:如“1234,5678,2025 - 04 - 17 21:25:00,hello;” ,可读性差,使用渐少。

2025-04-22 18:57:05 891

原创 java网络编程1

角色与交互模式:客户端(client)主动发起通信请求,服务器(server)被动接收通信并给予响应。如同生活中顾客向商家咨询商品信息,顾客主动询问,商家被动应答。常见交互为一问一答模式,不过也存在其他模式。- 多客户端服务:服务器通常要为多个客户端提供服务,类似一个大型超市要服务众多顾客。

2025-04-22 11:08:24 916

原创 Map&Set1

是特殊二叉树,对任意节点,若左子树不为空,左子树所有 key 小于根节点 key;若右子树不为空,右子树所有 key 大于等于根节点 key。- 查找类似二分方式,若根节点 key 等于查找 key ,返回 true;若根节点 key 大于查找 key ,在左子树查找;若根节点 key 小于查找 key ,在右子树查找。

2025-04-21 14:32:47 448

原创 java排序2

原理:顺序表插入,将一个数据插入到已经排好序的数组中的适当位置。- 时间复杂度:O(N^2)- 空间复杂度:O(1)- 稳定性:稳定排序。

2025-04-21 14:25:55 596

原创 java排序

时间复杂度:O(NlogN),建堆O(N) ,调整堆O(logN) ,共N - 1 次调整。- 时间复杂度:O(N^2),其中N 是数组长度,最坏和平均情况都是比较和交换接近N^2 次。- 时间复杂度:O(N^2),需进行N - 1 趟,每趟找最小值最多比较N - i 次。- 把堆顶元素(最大值)与待排序区间最后一个元素交换,将最大值移到已排序区间。- 把数组分为有序区间和无序区间,初始时有序区间为空,无序区间为整个数组。- 每次从无序区间找最小值,与无序区间第一个元素交换,使有序区间扩大。

2025-04-20 19:16:04 788 1

原创 java堆

Comparable:若队列中插入的是自定义类的对象,可让该类实现 Comparable 接口来定义比较规则。实现该接口需重写 compareTo 方法 ,此方法只有一个参数,是将 this (当前对象)与传入对象进行比较。- Comparator:当队列中插入的是 int 、 String 等基本类型包装类,或不想修改原类时,可实现 Comparator 接口。实现该接口需重写 compare 方法 ,该方法有两个参数,用于比较这两个传入的对象。

2025-04-20 19:07:20 607

原创 java二叉树&堆

非递归实现思路:起手式和中序一样往左找入栈,遇到 null 出栈,出栈时判断栈顶元素能否访问(无右子树或右子树已访问过才可访问根节点,否则从右子树继续重复过程)。5. 给定一个二叉树,找到该树中两个指定节点的最近公共祖先 :递归查询根节点、左子树、右子树,若 p 和 q 处于其中两个位置,此时根节点就是最近公共祖先。- 非递归实现思路:从根节点出发一路往左找,节点入栈,直到左子树为空,此时出栈访问节点,然后对该节点右子树重复此过程。3. 翻转二叉树:递归交换每个节点的左右子树。

2025-04-20 18:58:22 687

原创 java二叉树4

主要围绕二叉树相关操作展开,涵盖二叉树的构建(根据先序和中序遍历序列构建二叉树 )、查找二叉树中两个节点的最近公共祖先,以及二叉树的层序遍历等功能。

2025-04-18 16:03:59 765

原创 java二叉树3

功能:定义二叉树节点的结构,包含节点值、左子节点和右子节点。- 代码(Java)int val;

2025-04-18 14:37:41 846

原创 java二叉树2

3. 对于任意一棵二叉树,若叶子节点数为n_0 ,度为2的节点数为n_2 ,则n_0 = n_2 + 1。2. 在中序遍历中找到根节点,其左侧为左子树中序结果,右侧为右子树中序结果。- 功能:计算二叉树的高度(从根节点到最远叶子节点的最长路径上的节点数)。- 顺序:从根节点开始,逐层从左到右访问节点,借助队列实现。- 顺序:访问根节点,递归遍历左子树,递归遍历右子树。- 顺序:递归遍历左子树,访问根节点,递归遍历右子树。- 顺序:递归遍历左子树,递归遍历右子树,访问根节点。

2025-04-18 14:22:29 633

原创 java二叉树1

树是一种非线性结构 ,每个节点能延伸出多个子节点,每个子节点只有一个父节点。如文件目录结构,“此电脑”是根节点,磁盘分区、文件夹是子节点。- 介绍了节点的度(一个节点含子树的个数 )、树的度(树中节点度的最大值 )、叶子节点(度为0的节点 )、双亲节点、孩子节点等概念。

2025-04-18 08:02:59 1003

原创 java栈&队列2

队列:也是线性表,特点是先进先出(FIFO),数据从一端(队尾)进入(入队列,offer/add ),从另一端(队头)出去(出队列,poll/remove )。- 节点类型:包括根节点(如“此电脑”“学校” )、叶子节点(没有子节点的节点 )、非叶子节点(有子节点的节点 )。还有双亲节点(父节点 ),如A是D的父亲,D是H的父亲,A是H的爷爷节点。- 栈:是一种特殊的线性表,操作受限,只能在一端(栈顶)进行插入(入栈,push )和删除(出栈,pop )操作,遵循后进先出(LIFO)原则。

2025-04-18 07:57:20 510

原创 java栈&队列1

原理:通过两个栈实现, stack1 保存正常进出栈元素,提供 push 、 pop 、 top 方法功能;stack2 保存当前 stack1 中的最小值,确保其栈顶元素始终是最小值。- 代码示例。

2025-04-16 17:42:21 667

原创 java链表&栈

简单方法:遍历链表,用 List 存储已访问节点,若当前节点已在 List 中,则链表有环,时间复杂度为 O(N²),空间复杂度为 O(N)。- 双指针法:定义快慢指针,快指针每次走两步,慢指针每次走一步。若链表无环,快指针会先到达链表末尾;若有环,快指针会追上慢指针,二者相遇,时间复杂度为 O(N),空间复杂度为 O(1)。

2025-04-16 10:48:23 612

原创 java链表2

通过跟踪 next 指针能再次到达某个节点时,链表存在环,评测系统用整数 pos 表示链尾连接到链表中的位置(索引从 0 开始 ), pos 不作为参数传递,仅用于标识实际情况,且不允许修改链表。若链表无环,两指针不会重合;先分别求出两个链表的长度,创建两个引用指向头结点,让较长链表的引用先走,走的步数为两链表长度差值,然后两个引用同时走,每次走一步,若相遇则链表相交。找到链表中间节点,将后半部分链表反转,比较前半部分和反转后的后半部分是否相同,忽略长度比较,只要其中一个子链表结束,比较就结束。

2025-04-16 10:40:53 549

原创 java链表1

/ 节点存储的值// 节点的下一个元素// 头节点。

2025-04-16 10:35:01 889

原创 java网络编程

DatagramPacket(byte[] buf, int offset, int length, InetAddress address, int port) :构造一个用于发送数据报的对象,数据从 buf 数组的 offset 位置开始,长度为 length ,发送到指定 address (IP地址)和 port (端口号)。- 客户端:构造方法需填写服务器的IP和端口,创建 socket 对象时通常无需指定端口号,操作系统会自动分配空闲端口,指定固定端口可能与其他程序冲突。

2025-04-16 08:06:27 1045

原创 CRUD3

语法: SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT num OFFSET start;- 语法: UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET assignment [, assignment ...] [WHERE where_condition] [ORDER BY ...] [LIMIT row_count]

2025-04-15 19:02:33 1285

原创 CRUD2

值的顺序与列的顺序要保持一致。- MySQL服务启动时会读取配置文件(如 my.ini )中的配置 ,可以在配置文件中设置字符集等参数,如 default - character - set=utf8mb4。- <=> :等于,对NULL比较安全( NULL <=> NULL 结果为TRUE )。- = :等于,对NULL比较不安全( NULL = NULL 结果为NULL )。- OR :任意一个条件为TRUE,结果就为TRUE,类似于Java中的 ||。

2025-04-15 18:54:56 737

原创 数据库 表操作

1. 创建数据库-- 创建数据库,如果不存在则创建,可指定字符编码和排序规则create database [if not exists] 数据库名 [字符编码集] [排序规则];1. 修改数据库-- 修改数据库的字符编码集和排序规则alter database 数据库名 [字符编码集] [排序规则];1. 删除数据库-- 删除数据库,如果存在则删除drop database if exists 数据库名;

2025-04-14 14:28:51 729

原创 数据库基础

1. SQL 定义:SQL(Structured Query Language )即结构化查询语言,用于存取数据,查询、更新和管理关系数据库。2. SQL 分类- DDL(数据定义语言):维护存储数据结构,如 create (创建)、 drop (删除)、 alter (修改)。- DML(数据操纵语言):对数据进行操作,像 insert (插入)、 delete (删除)、 update (更新)、 select (查询)。

2025-04-14 10:19:04 742

原创 测试 认识bug

1. 软件(开发)生命周期:包括需求分析、计划、设计、编码、测试、运行维护阶段。需求分析是起始点,明确用户需求,后续阶段依此展开。例如开发电商软件,需求分析阶段确定商品展示、购物车、支付等功能需求,后续阶段围绕实现这些需求推进。2. 测试模型- V模型:以用户需求为起点,需求分析与系统、概要设计、详细设计、编码逐步推进,对应验收测试、系统测试、集成测试、单元测试。明确标注测试过程,但缺点是将测试置于编码之后,发现问题修改成本高。

2025-04-14 09:52:38 306

原创 认识测试1

测开重心在可测试性和通用测试基础框架,编写单元及自动化测试框架,关注质量提升和测试覆盖率;测试工程师把用户放首位,组织测试实践、分析总结、构建自动化测试,二者都统称测试人员,工作重点是业务测试。巨厂依面试结果定薪。- 工作环境:多数公司中,测试和开发人员办公环境、设备基本相同,如笔记本和显示器,不同区域企业配备有差异,像海淀区企业多用ThinkPad,朝阳区企业及巨厂常用Mac。- 探索性思维:测试工程师在测试中结合经验、知识、直觉,对被测系统进行错误猜测和逻辑推理,探索性思维质量取决于经验。

2025-04-14 09:46:56 635

原创 计算机是如何工作的

指令系统:机器语言是CPU能直接识别的二进制指令,汇编语言用简单单词表示机器指令,高级语言(如C、Java )更具描述性,经编译或解释转化为机器语言。- 指令表操作:指令表中像 LOAD_A (从RAM指定地址将数据读到寄存器 ) 、 ADD (计算两个寄存器数值和并存入第二个寄存器 )等操作,是汇编语言或机器语言层面操作示意,不是高级编程语言代码。- 机器语言指令示例:如二进制指令 00011110 等,是CPU可直接执行的机器语言形式,操作码和操作数组成指令,不同二进制组合对应不同操作。

2025-04-14 09:37:45 626

原创 测试概念篇

什么是需求:需求分为用户需求和软件需求。用户需求是用户表达的原始诉求,如“我想谈恋爱”,但未经合理评估,不能直接作为开发和测试依据。软件需求是经过评估后,可实现的具体功能要求,像社交软件中认识朋友、找喜欢的人等功能。还以注册功能为例,介绍了软件需求规格说明书包含的用户需求(平台支持邮箱注册 )、软件需求(注册账号的功能概述、用户角色、前置条件、输入项、处理流程、输出、后置条件等 )。

2025-04-13 17:02:11 481

原创 java初识网络

分层后每个协议只负责单一功能,比如应用层负责处理应用相关逻辑,传输层负责端到端的数据传输(如TCP保证可靠传输、UDP面向无连接快速传输 ),网络层负责路径规划(IP协议 ),数据链路层负责相邻节点通信,物理层负责信号传输。- 五元组:进行一次通信需要源IP、源端口、目的IP、目的端口、协议类型这五个关键信息,类似于现实中寄快递需要发件人地址(源IP)、发件人电话(源端口)、收件人地址(目的IP)、收件人电话(目的端口)以及选择的快递公司(协议类型)。- 帧(frame) :数据链路层的协议数据单元。

2025-04-13 15:40:15 555

原创 java文件

通过 File 类的方法可以获取文件或目录的相关信息,如 list() 方法返回目录下所有文件名, listFiles() 返回目录下所有文件的 File 对象。若要返回多个值,可将多个值封装到一个类中(创建一个包含多个成员变量的类,将需要返回的值作为成员变量 ),或者使用输出型参数(如方法参数为数组,在方法内部修改数组内容 )。- 解释:在Java中交换两个变量的值,通常借助一个临时变量。先将一个变量的值赋给临时变量,再将另一个变量的值赋给第一个变量,最后将临时变量的值赋给第二个变量。

2025-04-13 09:01:09 440

空空如也

空空如也

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

TA关注的人

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