自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(811)
  • 问答 (2)
  • 收藏
  • 关注

原创 JavaFX基础之环境配置,架构,FXML

JavaFX中文官方网站JavaFX是一个开源的下一代客户端应用平台,适用于基于Java构建的桌面、移动端和嵌入式系统。目的是为开发丰富的客户端应用提供一个现代、高效、功能齐全的工具包。DBeaver、finalshell、Behinder(冰蝎)、BurpSuite、Jmeter、IDEA等等这类比较知名软件,那么java是否有更好的桌面应用开发的框架呢?准备环境:IDEA,JDK17,Windows,Scene BuilderFXML是一种可编写的、基于XML的用于构造JavaFX。

2025-01-08 17:50:20 814

转载 JavaFX基础之组件讲解

以下是父节点坐标系的示例,其中子节点位于父节点坐标系中的(25,25)处。子节点也有它自己的坐标系,它有它的 (0,0),其中子节点位于父坐标系中-意思是在父节点坐标系中的(25,25)。这意味着,作为另一个节点的子节点的节点都有自己的坐标系,以及在其父节点坐标系中的位置 (X,Y)。在JavaFX中,窗口Stage可以插入一个场景Scene,它表示在窗口内显示的内容。随着Y值的增加,该点从坐标系的顶部向下移动。类是所有控件的父类,下面通过其控件子类示例演示Node节点的UI控件的通用属性。

2025-01-08 17:49:42 75

原创 Go IO之文件处理,TCP&UDP讲解

UDP是用户数据报协议,是一种无连接传输协议,不需要建立连接就可以直接发送和接收数据,属于不可靠的,没有时序的通信,UDP 实时性好,适合直播环境。一个服务端连接多个客户端,例如:世界各地的用户使用自己电脑的浏览器访问淘宝网。的作用是将 v 的值写入 f 中,并且在写入的值后面会自动添加换行符。” 输出到标准输出(即控制台)函数能够以指定模式打开文件,从而实现文件写入相关功能。函数能够打开一个文件,返回一个。,读到文件末尾时会返回。如果想把某个值写到控制台。如果有乱码,可以使用。v 的内容写入到 f。

2024-12-29 08:31:43 767 1

原创 Go 并发之WaitGroup,并发锁,Context

context是一个用于跨 API 边界传递元数据、取消信号、超时控制以及其他请求范围内的信息的包。它常用于处理并发编程中的超时、取消、以及请求范围内的数据传递。那么为什么需要 context?请求取消:在某些情况下,可能需要在某个请求被取消时终止正在进行的操作。超时控制:有时需要设置操作的超时时间,超过时间就终止操作。跨 API 边界传递元数据:需要在不同的函数、服务或系统之间传递共享的状态信息。为了处理这些问题,context 被引入 Go 语言。

2024-12-29 08:30:42 980

原创 Go基础之指针和反射讲解

Go 语言的取地址符是,放到一个变量前使用就会返回相应变量的内存地址。一个指针变量指向了一个值的内存地址。类似于变量和常量,在使用指针前需要声明指针。var-type为指针类型,var_name为指针变量名,号用于指定变量是作为一个指针。当一个指针被定义后没有分配到任何变量时,它的值为nil,也称为空指针。nil在概念上和其它语言的null、None、nil、NULL一样,都指代零值或空值。一个指针变量通常缩写为 ptr。示例:Go 中函数可以赋值给变量。// 函数可以赋值给变量。

2024-12-29 08:29:51 874

原创 Go 并发之goroutine和Channel讲解

Go 语言支持并发,通过goroutines和channels提供了一种简洁且高效的方式来实现并发。goroutine协程,是轻量级线程,goroutine的调度是由Golang运行时进行管理的,Go 中的并发执行单位,类似于轻量级线程。Goroutine的调度由Go 运行时管理,用户无需手动分配线程,使用go关键字启动Goroutine,以一个不同的、新创建的goroutine来执行一个函数。同一个程序中的所有goroutine共享同一个地址空间。Goroutine是非阻塞的,可以高效地运行成千上万个。

2024-12-29 08:28:50 591

原创 Go基础之结构体,接口

Go 语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数据类型。结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。结构体定义需要使用type和struct语句。struct语句定义一个新的数据类型,结构体中有一个或多个成员。type 语句设定了结构体的名称。或// 创建一个新的结构体fmt.Println(Books{"Go 语言", "www.test.com", "Go 语言教程", 6495407})// 也可以使用 key => value 格式。

2024-12-29 08:27:58 607

原创 Go基础之条件语句,For循环,错误处理

Go 语言的 For 循环有 3 种形式,只有其中的一种使用分号。和 C 语言的 for 一样:for init;condition;post { }init: 一般为赋值表达式,给控制变量赋初值;condition: 关系表达式或逻辑表达式,循环控制条件;post: 一般为赋值表达式,给控制变量增量或减量。和 C 的 while 一样:和 C 的 for(;;) 一样:for { }for i := 1;i <= 10;i++ {for {也可以在for循环中声明和操作多个变量。

2024-12-29 08:26:55 882

原创 Go基础之函数和方法讲解

函数体func:函数由 func 开始声明:函数名称,参数列表和返回值类型构成了函数签名。:参数列表,参数就像一个占位符,当函数被调用时,可以将值传递给参数,这个值被称为实际参数。参数列表指定的是参数类型、顺序、及参数个数。参数是可选的,也就是说函数也可以不包含参数。:返回类型,函数返回一列值。是该列值的数据类型。有些功能不需要返回值,这种情况下 return_types 不是必须的。函数体:函数定义的代码集合。defer是 Go 中的一个关键字,用于延迟函数调用。

2024-12-29 08:25:56 822

原创 Go基础之数组,切片,Map

数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整型、字符串或者自定义类型。相对于去声明 number0, number1, …, number99 的变量,使用数组形式更加方便且易于扩展。数组元素可以通过索引(位置)来读取(或者修改),索引从0开始,第一个元素索引为 0,第二个索引为 1,以此类推。切片是对数组的抽象,数组的长度不可改变,在特定场景中这样的集合就不太适用,Go 中提供了一种灵活,功能强悍的内置类型切片(动态数组。

2024-12-29 08:24:53 1039

原创 Go基础之包&文件夹,数据类型,变量

在Go中,访问权限的控制非常简洁且独特,没有像其他语言(如 Java 或 C++)那样使用显式的 public、private 修饰符。Go通过标识符首字母大小写来决定访问权限。首字母大写:公共(Public)访问如果一个标识符(变量、函数、类型等)的首字母是大写的,则它是导出(exported) 的,包外可以访问。首字母小写:私有(Private)访问如果一个标识符的首字母是小写的,则它是未导出unexported) 的,包外无法访问。在上面的代码中,我们首先创建了一个变量并且赋值为常量。

2024-12-29 01:10:59 807

原创 Go基础之环境搭建

Go语言,也被称为Golang,是一种由Google开发的静态类型、编译型编程语言,是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。Go是从2007年末由主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。go.mod是Go Modules的核心文件,用来定义模块及其依赖项。

2024-12-29 01:09:33 1411

原创 MySQL日志之误删恢复数据

比如说,数据是在9月12日12:00插入的,那么我们看上方的所有binlog文件,可以看出插入语句应该保存在mysql-bin.000213文件中。比如说,数据是在9月12日12:00删除的,那么我们看上方的所有binlog文件,可以看出插入语句应该保存在mysql-bin.000213文件中。因为这些参数是用于解码binlog的,是让开发人员更方便看到binlog被解析之后的格式。目前有一些开源的工具,可以帮助我们解析binlog,并且自动生成binlog记录的操作的逆向操作。被误删的数据,如何恢复呢。

2024-12-27 10:38:43 1236

原创 C#面向对象之抽象,接口,运算符重载,属性,索引器

接口定义了属性、方法和事件,这些都是接口的成员。接口只包含了成员的声明。成员的定义是派生类的责任。接口提供了派生类应遵循的标准结构。接口使得实现接口的类或结构在形式上保持一致。抽象类在某种程度上与接口类似,但是,它们大多只是用在当只有少数方法由基类声明由派生类实现时。接口本身并不实现任何功能,它只是和声明实现该接口的对象订立一个必须实现哪些行为的契约。接口使用interface关键字声明,它与类的声明类似。接口声明默认是public的,通常接口命名以I字母开头,重定义或重载C#

2024-12-01 17:26:13 1243

原创 C#面向对象之访问限制,类基础,继承

C#封装根据具体的需要,设置使用者的访问权限,并通过访问修饰符来实现。一个访问修饰符定义了一个类成员的范围和可见性。public:所有对象都可以访问;允许一个类将其成员变量和成员函数暴露给其他的函数和对象private:对象本身在对象内部可以访问;允许一个类将其成员变量和成员函数对其他的函数和对象进行隐藏。只有同一个类中的函数可以访问它的私有成员。即使是类的实例也不能访问它的私有成员protected:只有该类对象及其子类对象可以访问允许子类访问它的基类的成员变量和成员函数。

2024-12-01 17:24:52 1245

原创 C#基础之集合讲解

数组是一个存储相同类型元素的固定大小的顺序集合。数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合。声明数组变量并不是声明 number0、number1、…、number99 一个个单独的变量,而是声明一个就像 numbers 这样的变量,然后使用 numbers[0]、numbers[1]、…、numbers[99] 来表示一个个单独的变量。数组中某个指定的元素是通过索引来访问的。所有的数组都是由连续的内存位置组成的。最低的地址对应第一个元素,最高的地址对应最后一个元素。Array。

2024-12-01 17:23:28 960

原创 C#基础之方法

当定义一个方法时,从根本上说是在声明它的结构的元素。:访问修饰符,这个决定了变量或方法对于另一个类的可见性。:返回类型,一个方法可以返回一个值。返回类型是方法返回的值的数据类型。如果方法不返回任何值,则返回类型为 void。:方法名称,是一个唯一的标识符,且是大小写敏感的。它不能与类中声明的其他标识符相同。:参数列表,使用圆括号括起来,该参数是用来传递和接收方法的数据。参数列表是指方法的参数类型、顺序和数量。参数是可选的,也就是说,一个方法可能不包含参数。:方法主体,包含了完成任务所需的指令集。

2024-12-01 17:21:51 923

原创 C#基础之反射,依赖注入

反射指程序可以访问、检测和修改它本身状态或行为的一种能力。程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性。C#中的 依赖注入()是一种设计模式,用于实现控制反转(它通过将依赖对象的创建和管理交给框架,而不是由代码直接负责,这样可以提高代码的可维护性和测试性。依赖依赖是一个类在运行时所需要的其他类。

2024-12-01 17:20:26 1286

原创 C#基础之特性讲解

特性(Attribute)是用于在运行时传递程序中各种元素(比如类、方法、结构、枚举、组件等)的行为信息的声明性标签。通过使用特性向程序添加声明性信息。一个声明性标签是通过放置在它所应用的元素前面的方括号([ ])来描述的。特性(Attribute)用于添加元数据,如编译器指令和注释、描述、方法、类等其他信息。.Net框架提供了两种类型的特性:预定义特性和自定义特性。特性(Attribute) 是一种元数据机制,允许开发者将额外的信息嵌入到代码中,如类、方法、属性等。

2024-12-01 17:19:24 698

原创 C#基础之委托,事件

C# 中的委托(Delegate)类似于 C 或 C++ 中函数的指针。委托(Delegate) 是存有对某个方法的引用的一种引用类型变量。引用可在运行时被改变。委托(Delegate)特别用于实现事件和回调方法。所有的委托(Delegate)都派生自类。C# 事件(Event)是一种成员,用于将特定的事件通知发送给订阅者。事件通常用于实现观察者模式,它允许一个对象将状态的变化通知其他对象,而不需要知道这些对象的细节。事件(Event。

2024-12-01 17:18:29 1272

原创 C#基础之多线程讲解

进程(Process)是Windows系统中的一个基本概念,它包含着一个运行程序所需要的资源。一个正在运行的应用程序在操作系统中被视为一个进程,进程可以包括一个或多个线程。线程是操作系统分配处理器时间的基本单元,在进程中可以有多个线程同时执行代码。进程之间是相对独立的,一个进程无法访问另一个进程的数据(除非利用分布式计算方式),一个进程运行的失败也不会影响其他进程的运行,Windows系统就是利用进程把工作划分为多个独立的区域的。进程可以理解为一个程序的基本边界。

2024-12-01 17:17:36 913

原创 C#基础之预处理器,异常处理

预处理器指令()指导编译器在实际编译开始之前对信息进行预处理。通过这些指令,可以控制编译器如何编译文件或编译哪些部分。常见的预处理器指令包括条件编译、宏定义等。所有的预处理器指令都是以开始,且在一行上,只有空白字符可以出现在预处理器指令之前。预处理器指令不是语句,所以它们不以分号;结束。C# 编译器没有一个单独的预处理器,但指令被处理时就像是有一个单独的预处理器一样。在 C# 中,预处理器指令用于在条件编译中起作用。与 C 和 C++ 不同的是,它们不是用来创建宏。

2024-12-01 17:16:31 1101

原创 C#基础之结构体讲解

在 C# 中,结构体(struct)是一种值类型(value type),用于组织和存储相关数据。在 C# 中,结构体是值类型数据结构,这样使得一个单一变量可以存储各种数据类型的相关数据。使用struct关键字用于创建结构体。为了定义一个结构体,必须使用struct语句。struct语句为程序定义了一个带有多个成员的新的数据类型。

2024-12-01 17:14:46 788

原创 C#基础之不安全代码讲解

当一个代码块使用unsafe修饰符标记时,C#允许在函数中使用指针变量。不安全代码或非托管代码是指使用了指针变量的代码块。

2024-12-01 17:13:42 1034

原创 Java代理之Java Agent分析

Java Agent是一种用于在Java应用启动或运行过程中对其进行监控、修改或增强的机制。它利用,可以在应用启动时或运行中动态加载代码,对目标应用的字节码进行操作。这种机制非常适合应用监控、性能分析、调试、代码注入和安全性增强等任务。简单来说,Java Agent就是运行在 Java 虚拟机(JVM)上的一种工具,能在程序运行时对其进行监控、修改甚至重定义。它的作用和AOP(面向切面编程)有点类似,但更加底层,直接作用在JVM层面。可以理解为它是全局的 AOP。

2024-11-08 18:30:53 851

原创 C#基础之基础语法,类型转换,运算符

C#是一个简单的、现代的、通用的、面向对象的编程语言,它是由微软(Microsoft)开发的。C#是专为公共语言基础结构(CLI)设计的。CLI由可执行代码和运行时环境组成,允许在不同的计算机平台和体系结构上使用各种高级语言。C#是.Net框架的一部分,且用于编写.Net应用程序。.NET平台由于其强大的功能和丰富的开发工具,成为了开发Windows应用程序的热门选择。无论是桌面应用、Web应用还是服务应用,.NET提供了一系列强大的框架和工具来帮助开发者高效地构建应用.Net。

2024-10-29 09:08:41 893

原创 visual studio之安装详解

开发者常用的一个包管理器,为了提高下载速度和稳定性,许多开发者会选择使用国内的NuGet镜像源。开发设置选择 常规 ,颜色选择 浅色 ,可根据自己的喜好选择,点击 启动 Visual Studio。,这个软件是专门用来更改visual stduio组件的,方便随时随地修改组件或者卸载。如果之前安装过想要修改,下载缓存 与 组件工具和SDK 路径,则需要清理注册表。项目配置,配置【项目名称】及【位置】,点击【创建】。勾选上,然后点左下角的修改,等待下载安装就好。选择组件,并在下面的位置那里选择位置。

2024-10-24 09:12:05 5674

原创 HTTP客户端框架之UniHttp讲解

从企业级项目来说,如果项目里还在用传统的编程式Http客户端比如HttpClientOkhttp去直接对接第三方Http接口, 那么项目一定充斥着大量的对接逻辑和代码,并且针对不同的对接渠道方需要每次封装一次调用的简化,一旦封装不好系统将会变得难以维护,难以阅读,甚至不同的开发会用自己的方式用不同的Http客户端用不同的封装逻辑去对接接口,这种情况一般发生于项目换了维护者,技术负责人也没把控代码质量和规范所导致如果项目里也存在这样的问题或者需要解决这样的问题, 那么UniHttp就是这个版本答案。

2024-10-24 09:11:24 1360 1

原创 MySQL查询之distinct 和 group by效率比较

group by和distinct都能使用索引,效率相同。因为group by和distinct近乎等价,distinct可以被看做是特殊的group by。distinct效率高于group by。原因是distinct和group by都会进行分组操作,但group by在Mysql8.0之前会进行隐式排序,导致触发filesort,sql执行效率低下。但从Mysql8.0开始,Mysql就删除了隐式排序,所以,此时在语义相同,无索引的情况下,group by和distinct。

2024-10-24 09:10:52 918

原创 Oracle架构之用户,权限,角色讲解

Oracle用户(user)就是访问oracle数据库的人。通过对用户的各种安全参数进行控制,以维护数据库的安全性,这些概念包括模式(schema)、权限、角色、存储设置、空间限额、存取资源限制、数据库审计等。当用户登录Oracle时需要进行身份认证,以便确认该用户能够进行的操作。认证是指对需要使用数据、资源或应用程序的用户进行身份确认。通过认证后,可以为用户后面的数据库操作提供一种可靠的连接关系。Oracle提供了多种身份认证方式:操作系统身份认证,Oracle 数据库身份认证,管理员身份认证。

2024-10-07 18:26:27 1254

原创 Oracle架构之段管理和区管理

段是由一个或多个数据区构成的,它不是存储空间的分配单位,而是一个独立的逻辑存储结构,用于存储表、索引或簇等占用空间的数据对象, Oracle 也把这种占用空间的数据对象统一称为段。当一个段被创建时,区间(Extent)就被分配,随着后续的不断使用,一个段的空间可以以区为单位不断扩展。一个段只属于一个特定的数据对象,每当创建一个具有独立段的数据对象时,Oracle将为它创建一个段。段是为特定的数据对象(如表、索引、回滚等)分配的一系列数据区。段是逻辑结构中更高层次的组织单位,用于存储和管理数据。

2024-10-06 19:21:40 1266

原创 Oracle架构之表空间详解

Oracle数据库开创性地提出了表空间(tablespaces)的设计理念,Oracle中很多优化都是基于表空间实现的。表空间是ORACLE数据库恢复的最小单位,容纳着许多数据库对象,如表、视图、索引、聚簇、回退段和临时段等。Oarcle 数据库真正存放数据的是数据文件,表空间()实际上是一个逻辑的概念,在物理上并不存在。Oracle 使用表空间将相关的逻辑结构(如段、数据区等)组合在一起,表空间是数据库的最大逻辑划分区域。

2024-10-04 16:47:55 1282

原创 Oracle架构之物理存储之日志文件

联机日志文件又叫重做日志文件,记录了对数据库修改的信息,一个 Oracle 实例有一组或多组联机日志文件,每组包含一个或多个日志成员,同一组的日志成员内容相同,存放位置不同,防止日志文件组内某个日志文件损坏导致数据丢失。重做日志(联机日志)文件用来记录数据库所有发生过的更改信息(修改、添加、删除等信息)及由Oracle内部行为(创建数据表、索引等)而引起的数据库变化信息,主要作用是支持数据库的恢复和故障恢复。通常存储在操作系统的文件系统中,如目录下的redo01.log文件。

2024-10-03 19:32:25 1662

原创 Oracle架构之物理存储之审计文件

审计(Audit)用于监视用户对数据库的操作,审计记录保存在数据字典表中,存储在system表空间中的SYS.AUD$表中(可通过视图查看)或审计文件中(默认位置为 ORACLEBASE/admin/ORACLE_BASE/admin/ORACLEBASE/admin/ORACLE_SID/adump/)。审查可疑的活动监视和收集关于指定数据库活动的数据不管是否打开数据库的审计功能,以下这些操作会强制被记录:用管理员权限连接Instance、启动数据库、关闭数据库。审计文件的位置由参数决定。

2024-10-03 17:24:41 1128

原创 Oracle架构之物理存储中各种文件详解

逻辑存储结构是为了便于管理Oracle数据而定义的具有逻辑层次关系的抽象概念,不容易理解;但物理存储结构比较具体和直观,它用来描述Oracle数据在磁盘上的物理组成情况。从大的角度来讲,Oracle 的数据在逻辑上存储在表空间中,而在物理上存储在表空间所包含的物理文件(即数据文件)中。Oracle数据库的物理存储结构由多种物理文件组成,主要有数据文件、控制文件、重做日志文件、归档日志文件、参数文件、口令文件和警告日志文件等参数文件:用于配置数据库的初始化参数控制文件:记录数据库的结构和状态信息。

2024-10-02 18:11:51 1664

原创 Oracle架构之数据库备份和RAC介绍

Oracle Database 10g引入了最新的数据泵(Data Dump)技术,使DBA或开发人员可以将数据库元数据(对象定义)和数据快速移动到另一个oracle数据库中,与相比,它提供更好的性能、安全性和灵活性。并行处理: Oracle 数据泵支持并行处理(通过指定PARALLEL参数启用),这使得导入和导出任务更加快速和高效。可定制: 数据泵允许用户选择要包含或排除的对象类型(如表、视图、约束等),以及要包含或排除的特定对象。

2024-10-01 22:53:33 1351 5

原创 xxl-job之框架讲解和使用

XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。设计思想:将调度行为抽象形成调度中心平台,平台本身不承担业务逻辑,而是负责发起调度请求后,由执行器接收调度请求并执行任务,这里的任务抽象为分散的 JobHandler。通过这种方式即可实现 调度 与 任务 相互解耦,从而提高系统整体的稳定性和拓展性。配置自定义任务有许多种模式,如 Bean模式(基于方法)、Bean模式(基于类)、GLUE模式等等。这里介绍通过 Bean模式(基于方法) 是如何自定义任务的。

2024-09-27 09:19:36 1059

原创 Redis运维之监控指标,性能监控,监控方式,响应慢分析

root@CombCloud-2020110836 src]# ./redis-cli info | grep rdb_changes_since_last_saverdb_changes_since_last_save:0 # 自最后一次持久化以来数据库的更改数。当出现百 MB,甚至 GB 级别的 swap 大小时,就表明,此时,Redis 实例的内存压力很大,很有可能会变慢。由于超出最大连接数限制而被拒绝的客户端连接次数,如果这个数字很大,则意味着服务器的最大连接数设置得过低,需要调整。

2024-09-14 18:05:59 1573

原创 MySQL原理之UUID主键分析,插入或更新语法分析

在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花idlong形且唯一,单机递增),而是推荐连续自增的主键id,官方的推荐是,那么为什么不建议采用uuid,使用uuid究竟有什么坏处?如果在INSERT语句末尾指定了,并且插入行后会导致在一个UNIQUE索引或中出现重复值,则在出现重复值的行执行UPDATE;如果不会导致唯一值列重复的问题,则插入新行。咱们在运用数据库时能够会常常遇到这种状况。

2024-09-11 21:17:51 1387

原创 Nginx之日志切割,正反代理,HTTPS配置

一般情况下,如果没有特别说明,代理技术默认说的是正向代理技术。关于正向代理的概念如下:正向代理(forward)是一个位于客户端【用户A】和原始服务器()【服务器B】之间的服务器【代理服务器Z】,为了从原始服务器取得内容,用户A向代理服务器Z发送一个请求并指定目标(服务器B),然后代理服务器Z向服务器B转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。如下图。

2024-09-09 09:23:08 2043

空空如也

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

TA关注的人

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