自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Hive 的 classpath 简介

Hive的classpath是Hive运行时用于查找所需类和资源文件的路径集合。它包含了Hive运行所需的所有JAR文件和配置文件的位置。理解和管理Hive的classpath对于确保Hive正常运行、添加自定义库或解决类加载问题非常重要。了解和正确配置Hive的classpath对于解决依赖问题、添加自定义功能和优化性能都很重要。在进行任何修改时,建议先在测试环境中验证,以确保不会影响生产环境的。

2024-07-19 15:31:28 571

原创 blender和3dmax和maya和c4d比较

Blender、3ds Max、Maya和Cinema 4D (C4D)都是强大的3D建模和动画软件,但它们各有特点和适用领域。每个软件都有其优势和特点,选择最适合你需求的工具是关键。选择哪个软件取决于你的具体需求、预算和个人偏好。

2024-07-17 09:39:28 480

原创 分布式存储概述

大规模分布式存储系统的定义如下:“分布式存储系统是大量普通PC服务器通过Internet互联,对外作为一个整体提供存储服务。可以实现自动运维易用的对外接口分布式存储系统的挑战主要在于数据、状态信息的持久化,要求在自动迁移、自动容错、并发读写的过程中保证数据的一致性。分布均匀跨服务器读写操作多个副本复制到多台服务器数据和服务自动负载均衡分布式事务多版本并发控制压缩/解压缩压缩/解压缩算法分布式存储系统挑战大,研发周期长,涉及的知识面广。

2024-07-16 10:29:36 784

原创 RPC 的原理和示例

/ 定义服务// 定义一个RPC方法// 请求消息// 响应消息。

2024-07-15 16:44:18 1077

原创 Atomic 原子类介绍及其原理

简单介绍一下CAS(compareAndSwap),是一种无锁原子算法,映射到操作系统就是一条CPU的原子指令,其作用是让CPU先进行比较两个值是否相等,然后原子地更新某个位置的值,其实现方式是基于硬件平台的汇编指令,在intel的CPU中,使用的是cmpxchg指令,就是说CAS是靠硬件实现的,从而在硬件层面提升效率。仅当 V值等于E值时,才会将V的值设为N,如果V值和E值不同,则说明已经有其他线程完成更新,则当前线程则什么都不做,最后CAS 返回当前V的真实值。

2024-07-15 16:28:20 528

原创 线程池及其底层工作原理

1.

2024-07-15 14:08:28 590

原创 JVM 内存介绍

养老区中也会进行GC,一旦养老代gc速度赶不上对象的产生速度了,就会OOM,出现jvm挂机。java 堆是所有线程所共享的一块内存,在虚拟机启动时创建,几乎所有的对象实。5. 每个栈帧都包含一个指向运行时常量池中该栈帧所属方法的引用,持有这个引。该常量池具有动态性,也就是说常量并不一定是编译时确定,运行时生成的常量也。的时候都会创建一个栈帧,用于存储局部变量表、操作数栈、动态链接和方法出口。指令的地址)和对象引用,这个对象引用有可能是指向对象起始地址的一个指针,局部变量所需的内存空间在。

2024-07-15 12:23:31 922

原创 DNS:因特网的目录服务——DNS 记录和报文

攻击者的确成功地将大量的分组指向了根服务器,但许多DNS根服务器受到了分组过滤器的保护,配置的分组过滤器阻挡了所有指向根服务器的ICMP ping报文。,该记录对应于包含主机名的域:它还将包括一条类型A记录,该记录提供了在NS记录的Vaue字段中的DNS服务器的IP地址。举例来说,假设一台edu TLD服务器不是主机 gaiaes.umass.edu的权威DNS服务器,则该服务器将包含一条包括主机 cs.umass.edu的域记录,如(umass.edu,dns.umass.edu,NS);

2024-07-12 12:28:50 614

原创 DNS:因特网的目录服务—— DNS 工作机理概述

在这种情况下,当中间DNS服务器dns.umass.edu收到了对某主机的请求时,该主机名是以cs.umass.edu结尾,它向 dns. poly.edu返回dns.cs.umass.edu的IP地址,后者是所有以cs.umass.edu结尾的主机的权威服务器。本地DNS服务器dns.poly.edu则向权威DNS 服务器发送查询,该权威DNS服务器将请求的映射发送给本地DNS服务器,该本地服务器依次向请求主机返回该映射。从请求主机到本地 DNS服务器的查询是递归的,其余的查询是迭代的。

2024-07-12 11:53:51 859

原创 DNS:因特网的目录服务——DNS 提供的服务

DNS通常是由其他应用层协议所使用的,包括HTTP、SMTP和FTP,将用户提供的主机名解析为IP地址。为了使用户的主机能够将一个HTTP请求报文发送到Web服务器www.someschool.edu,该用户主机必须获得www.someschool.edu的IP地址。DNS通过采用了位于网络边缘的客户和服务器,实现了关键的名字到地址转换功能,它还是这种设计原理的另一个范例。,是因为当我们从左至右扫描它时,我们会得到越来越具体的关于主机位于因特网何处的信息(即在众多网络的哪个网络里)。

2024-07-12 11:03:17 623

原创 DNS负载均衡的底层实现原理

DNS(域名系统)实现负载均衡是通过分散到不同服务器的请求来管理网络流量和优化资源使用的一种策略。下面详细介绍这种技术的实现原理、原因、以及其优缺点。

2024-07-11 09:35:51 1251 1

原创 HTTP 概况

HTTP定义了Web客户向Web服务器请求Web页面的方式,以及服务器向客户传送Web页面的方式。当用户请求一个Web页面(如点击一个超链接)时,浏览器向服务器发出对该页面中所包含对象的HTTP请求报文,服务器接收到请求并用包含这些对象的HTTP响应报文进行响应。假如某个特定的客户在短短的几秒钟内两次请求同一个对象,服务器并不会因为刚刚为该客户提供了该对象就不再做出反应,而是重新发送该对象,就像服务器已经完全忘记不久之前所做过的事一样。HTTP定义了这些报文的结构以及客户和服务器进行报文交换的方式。

2024-07-09 17:16:07 820

原创 文件传输协议:FTP

当用户主机与远程主机开始一个FTP会话时,FTP的客户(用户)端首先在服务器21号端口与服务器(远程主机)端发起一个用于控制的TCP连接。当FTP的服务器端从该连接上收到一个文件传输的命令后(无论是向还是来自远程主机),就发起一个到客户端的TCP数据连接。该用户首先提供远程主机的主机名,使本地主机的FTP客户进程建立一个到远程主机FTP服务器进程的TCP连接。回答是一个3位的数字,后跟一个可选信息。在一个典型的FTP会话中,用户坐在一台主机(本地主机)前面,向一台远程主机传输(或接收来自远程主机的)文件。

2024-07-09 17:11:06 876

原创 Cron表达式

Cron表达式用于在特定时间自动执行任务,非常适合于计划备份、发送通知、自动更新等操作。了解过 crontab 的应该都知道 crontab 怎么配置定时任务,其实cron 与 crontab 差不多,但需要注意的是:cron 表达式从左往右,从秒开始;而 crontab 则是从分钟开始的。Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式:秒 分 时 月中的几号 月 一周中的周几。

2024-07-08 16:48:45 563

原创 应用层协议和涉及的网络应用

该Web应用有很多组成部分包括文档格式的标准(即HTML)、Web浏览器(如Firefox和 Google)Web服务器(如Apache、Microsoft 服务器程序),以及一个应用层协议。举另外一个例子,因特网电子邮件应用也有很多组成部分,包括能容纳用户邮箱的邮件服务器、允许用户读取和生成邮件的邮件客户程序(如Microsoft Outlook)、定义电子邮件报文结构的标准、定义报文如何在服务器之间以及如何在服务器与邮件客户程序之间传递的应用层协议、定义如何对报文首部的内容进行解释的应用层协议。

2024-07-08 12:16:35 350

原创 应用层协议原理——因特网提供的运输服务

总之,今天的因特网通常能够为时间敏感应用提供满意的服务,但它不能提供任何定时或带宽保证。因为因特网电话应用(如Skype)通常能够容忍某些丢失但要求达到一定的最小速率才能有效工作,所以因特网电话应用的开发者通常愿意将该应用运行在UDP上,从而设法避开TCP的拥塞控制机制和分组开销但因为许多防火墙被配置成阻挡(大多数类型的)UDP流量,所以因特网电话应用通常设计成如果UDP通信失败就使用TCP作为备份。用SSL加强后的TCP不仅能够做传统的TCP所能做的一切,而且提供了关键的进程到进程的安全性服务,包括。

2024-07-08 12:05:58 491

原创 应用层协议原理——可供应用程序使用的运输服务

这些观察导致另一种自然的服务,即运输层协议能够以某种特定的速率提供确保的可用吞吐量。如果运输协议不能提供这种吞吐量,该应用程序或以较低速率进行编码(并且接收足够的吞吐量以维持这种较低的编码速率),或它可能必须放弃发送,这是因为对于这种因特网电话应用而言,接收所需吞吐量的一半是几乎没有或根本没有用处的。最可能的方式是,通过研究这些可用的运输层协议所提供的服务、选择一个最能为你的应用需求提供恰当服务的协议。由发送进程传输的所有数据,在接收主机中,运输层协议能够在将数据交付给接收进程之前解密这些数据。

2024-07-08 11:32:35 376

原创 应用层协议原理——进程通信

无论如何,在任何给定的一对进程之间的通信会话场景中,我们仍能将一个进程标识为客户,另一个进程标识为服务器。类似地,在一台主机上运行的进程为了向在另一台主机上运行的进程发送分组,接收进程需要有一个地址。② 定义在目的主机中的接收进程的标识符。在Web中,一个浏览器进程向一台Web服务器进程发起联系,因此该浏览器进程是客户,而该Web服务器进程是服务器。进程间通信的规则由端系统上的操作系统确定,我们不怎么关注同一台主机上的进程间的通信,而关注运行在不同端系统(可能具有不同的操作系统)上的进程间的通信。

2024-07-08 11:16:13 487

原创 应用层协议原理——网络应用程序体系结构

因为该服务器具有固定的、周知的地址,并且因为该服务器总是打开的,客户总是能够通过向该服务器的IP地址发送分组来与其联系。最为流行的因特网服务--如搜索引擎(如谷歌和Bing)、因特网商务(如亚马逊和e-Bay)、基于Web的电子邮件(如Gmail和雅虎邮件)、社交网络(如脸谱和推特),就应用了一个或多个数据中心。例如,在Web应用程序中,有两个互相通信的不同的程序 :一个是运行在用户主机(桌面机、膝上机、平板电脑、智能电话等)上的。在这种情况下,在各台主机中的这些程序可能都是类似的或相同的。

2024-07-08 10:52:59 665

原创 带流水线的持续连接详解

持续连接(Persistent Connection)持续连接,也称为保持连接(Keep-Alive),允许客户端和服务器之间的连接在多次请求/响应对话中保持开放,而不是每次请求都建立一个新的连接。HTTP/1.1默认使用持续连接。流水线(Pipelining)流水线技术允许在一个持续连接上连续发送多个请求,而不需要等待每个请求的响应。这意味着客户端可以在收到第一个请求的响应之前发送第二个请求,从而减少延迟和提高效率。

2024-07-05 10:40:19 793

原创 套接字的原理和作用机制

套接字(Socket)是实现网络通信的基础,它提供了在网络中进行数据传输的接口和机制。

2024-07-04 15:09:14 312

原创 Redis数据结构——跳跃表 skiplist

跳跃表(Skip List)是一种数据结构,常被用作一种有序的数据结构,提供快速的插入、删除和查找操作,其效率接近于平衡树(如红黑树),但实现起来更简单。

2024-07-03 14:36:40 341

原创 Memcached介绍和详解

开源:Memcached是一个开源项目,由Danga Interactive为LiveJournal开发。高性能:以高效的内存存储和检索为目标,能处理大规模数据请求。分布式:支持多台服务器的分布式缓存系统,便于水平扩展。键值存储:采用简单的键值对存储方式,支持字符串、对象等多种数据类型。

2024-07-03 14:28:31 834

原创 SQL Server中设置端口号

在SQL Server中设置端口号可以通过SQL Server配置管理器进行。

2024-07-03 14:20:16 563 1

原创 Eureka介绍与使用

Eureka是Netflix开源的服务发现工具,基于RESTful API,用于帮助构建和管理动态的基于微服务架构的云端架构。它允许服务在注册中心注册自己,同时也能从注册中心获取其他服务的信息,从而实现服务之间的通信和协作。

2024-07-03 14:14:10 478

原创 链路层 常见的协议和标准

计算机网络中的链路层负责在相邻节点之间传输数据,确保数据帧的正确传输和接收。

2024-07-03 13:54:59 777

原创 物理层常见的协议和标准

物理层并不直接处理数据包或帧,而是负责传输位和符号,并定义了数据传输的物理接口。:蓝牙是用于近距离无线通信的协议,包括多种物理层规范,例如蓝牙经典(Bluetooth Classic)和蓝牙低功耗(Bluetooth Low Energy,BLE)。这些物理层协议和标准涵盖了有线和无线传输、长距离和短距离通信等多种应用场景,每种协议都有其特定的传输介质、频率范围、传输速率和安全性要求。:以太网是局域网(LAN)中最常见的有线物理层协议,定义了数据在双绞线、光纤或其他传输媒介上传输的方式和格式。

2024-07-03 12:25:50 266

原创 物理媒介传输方式和格式

在计算机网络中,数据可以通过不同的物理媒介传输,每种媒介都有特定的传输方式和格式。

2024-07-03 11:46:38 236

原创 RIA便签读书法

RIA(Reading、Interpretation、Appropriation)便签读书法,来源于赵周的书籍:《这样读书就够了》。R,阅读片段。I,复述。A,拆为己用。赵周原来在阿里巴巴。

2024-06-21 09:34:49 573

原创 Kubernetes (K8s) 实现按需扩容

通过 Kubernetes 和 Helm,可以轻松部署和扩展 HDFS 和 OLAP 系统。使用 HPA 可以根据负载自动扩展系统的各个组件。监控工具(如 Prometheus 和 Grafana)可以帮助您实时监控系统的性能和扩展情况。

2024-06-21 08:36:30 973

原创 maven报错:The desired archetype does not exist (org.apache.maven.archetypes:maven-archetype-plugin:1.2

这条错误信息表明你尝试使用的 Maven 架构(archetype)不存在,或者版本号有误。这种情况通常发生在项目配置文件(如 pom.xml)中指定了一个不存在的架构版本或名称。有时候,版本号可能会打错,或者使用了不再存在的旧版本。或者使用 Maven 命令行工具查询架构的可用版本。这条命令会列出所有可用的 Maven 架构信息,你可以从中找到正确的。文件或在命令行中使用的架构(archetype)的。文件或者命令行参数,使用正确的架构信息。:一旦找到正确的架构信息,更新你的。,以及当前可用的版本。

2024-06-17 15:08:31 507

原创 Hive的存储格式和压缩算法的特点和选择

HIVE 中默认的存储格式;一般使用在数据贴源层(ODS 或 STG) ,针对需要使用脚本 LOAD 加载数据到 HIVE 数仓表中的情况;需要把表里数据导出或直接可以查看等场景,作为BI供数易读性要比 ORC 高很多;数据存储时不压缩,因此磁盘的开销和数据解析开销比较大;TEXTFILE 可以结合 Gzip、Bzip2 等压缩算法使用(系统自动检查,执行查询时自动解压),但使用这种方式,HIVE 不会对数据进行切分,从而无法对数据进行并行操作;

2024-06-11 10:03:11 1111

原创 Linux中交换区Swap详解

Linux 的交换区(Swap)是一种虚拟内存空间,用于暂存未被使用的数据或将不活跃的进程移到磁盘上,以释放物理内存空间供其他进程使用。当系统物理内存不足时,Linux 会将部分内存数据交换到交换区中,以提供额外的内存空间,从而防止系统因内存不足而崩溃或变得极度缓慢。

2024-05-27 09:42:18 599

原创 Java详解之I/O[BIO、NIO、AIO使用方法和示范代码]

小弟能力不足,认知有限,难免考虑不全面,希望大佬能给出更好的建议,指出存在的问题和不足,在此跪谢。在Java中,BIO(Blocking I/O)指的是阻塞式I/O,是一种基本的I/O模型。它的实现原理相对简单,但在高并发场景下性能较差。下面我将详细介绍BIO的实现原理。阻塞式I/O在BIO中,当一个线程在进行I/O操作时,如果数据没有准备好,该线程会被阻塞,直到数据准备好并被读取或写入。这意味着一个线程只能处理一个连接,如果有大量连接同时到来,就需要大量线程来处理,这会导致资源消耗过大。实现原理。

2023-11-21 10:17:59 405

原创 Maven pom.xml文件中build,plugin标签的具体使用

例如,`maven-compiler-plugin` 插件的 `compile` 目标与 Maven 构建的 `compile` 阶段绑定,因此在执行 `mvn compile` 命令时,编译代码的目标会自动执行。在 `` 标签内还可以使用其他构建相关的配置,例如使用 `` 标签声明项目构建时要使用的 Maven 扩展,或使用 `` 标签指定默认的构建目标等。目标是插件的执行单元,通过在插件配置中指定目标,可以按需执行插件的不同功能。

2023-07-31 16:05:35 8589

原创 HttpServletResponse类全解析

HttpServletResponse` 是 Java Servlet API 中的接口,它是 `ServletResponse` 接口的子接口,专门用于处理 HTTP 响应。`HttpServletResponse` 定义了用于设置 HTTP 响应信息的方法。

2023-07-28 10:48:02 596

原创 ServletResponse类全解析

ServletResponse` 是 Java Servlet API 中的接口,用于代表对客户端的响应。它定义了用于构建和发送响应给客户端的方法。

2023-07-28 10:38:34 310

原创 HttpServletRequest类全解析

HttpServletRequest` 是 Java Servlet API 中的接口,它是 `ServletRequest` 接口的子接口,提供了更多用于访问 HTTP 请求信息的方法。7. `Enumeration getHeaders(String name)`: 返回指定请求头的所有值的 `Enumeration` 对象。15. `String getRemoteUser()`: 返回发出请求的用户的登录名(如果用户已通过身份验证),否则返回 `null`。

2023-07-28 10:29:49 326

原创 Java ServletRequest 类源码解析

它表示请求是通过 `REQUEST`、`INCLUDE`、`FORWARD`、`ASYNC` 或 `ERROR` 调度的。16. `Enumeration getParameterNames()`: 返回包含所有请求参数名称的 `Enumeration` 对象,以便遍历和访问请求参数。5. `long getContentLengthLong()`: 类似于 `getContentLength()` 方法,但返回类型为 `long`,用于获取请求体的长度。

2023-07-28 10:19:33 157

原创 CopyOnWriteArrayList

CopyOnWriteArrayList` 是一个线程安全的列表,它继承自 `AbstractList` 类,实现了 `List` 接口,并且还实现了 `RandomAccess`、`Cloneable` 和 `Serializable` 接口。它的主要特点是在进行写操作时,会创建一个新的数组副本,以保证读操作的线程安全性,从而避免了读写冲突。

2023-07-28 08:47:24 91

空空如也

空空如也

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

TA关注的人

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