首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java基础八股文第一弹

Java 支持自动垃圾回收,而 C++ 需要手动回收。 Java 不支持多重继承,只能通过实现多个接口来达到相同目的,而 C++ 支持多重继承。 面向对象和面向过程的区别?...Java的基本数据类型有哪些?...自动装箱和拆箱 Java中基础数据类型与它们对应的包装类见下表: 原始类型 包装类型 boolean Boolean byte Byte char Character float Float int...ArrayList、HashMap等集合类添加基础类型数据时(装箱) 示例代码: Integer x = 1; // 装箱 调⽤ Integer.valueOf(1) int y = x; // 拆箱...为什么是final的? 线程安全。同一个字符串实例可以被多个线程共享,因为字符串不可变,本身就是线程安全的。 支持hash映射和缓存。

98710
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【Java 】包装类详解:从基本概念到实战技巧

    类型转换成包装类,如何将包装类转换成int类型。...包装类与基本类型的转换 我们一般将“基本数据类型转换成包装类”的过程叫做装箱,将“包装类转换成基本数据类型”的过程叫做拆箱 当包装类与基本数据类型比较,会自动将包装类拆箱为基本数据类型 java1.5...(i); //手动装箱 Integer y = i; // 自动装箱 3.2 拆箱 把包装类对象拆为基本数据类型 可以分为手动拆箱和自动拆箱 一般是因为需要运算,Java中的大多数运算符是为基本数据类型设计的...,然后可以自动拆箱为基本数据类型 public static Integer valueOf(String s):将字符串参数转换为对应的Integer包装类,然后可以自动拆箱为int基本类型 public...s):将字符串参数转换为对应的Double包装类,然后可以自动拆箱为double基本类型 注意:如果字符串参数的内容无法正确转换为对应的基本类型,则会抛出java.lang.NumberFormatException

    12510

    Netty 粘包拆包应用案例及解决方案分析

    主要内容: TCP粘包/拆包的基础知识 没考虑TCP粘包/拆包的问题案例 使用Netty解决读半包问题 1、TCP粘包/拆包 TCP是个“流“协议,所谓流,就是没有界限的一串数据。...TCP底层并不知道上层业务逻辑,它会根据TCP缓冲区的实际情况进行包的拆分,所以在业务上认为,一个完整的包可能会被拆分成多个包进行发送,也有可能把多个小的包封装成一个大的数据包发送,这就是所谓的TCP粘包...,例如每个报文的大小长度200字节,如果不够,不空格; 在包尾增加回车换行符,例如FTP协议; 将消息分为消息头和消息体,消息头包含表示消息总长度的字段,通常设计思路为消息头的第一个字段使用int32来表示消息的总长度...它是以换行符为结束标记的解码器, StringDecoder非常简单,就是将接收到的对象转换成字符串,然后继续调用后面的Handler, 总结:LineBasedFrameDecoder + StringDecoder...这样的话是否需要自己写半包解码器,答案是否定的,Netty 提供了多种支持 TCP粘包、拆包的解码器,用来满足需求,下面的文章中会详细介绍《分隔符解码器》《定长解码器》,因为它在项目中使用非常广泛,所以单独去分享这一知识点

    1.3K40

    C#编程-003.数据类型

    (Value types) 2.常用的变量类型 3.引用类型(Reference types) 引用类型不包含存储在变量中的实际数据,但它们包含对变量的引用。...使用多个变量时,引用类型可以指向一个内存位置。如果内存位置的数据是由一个变量改变的,其他变量会自动反映这种值的变化。 内置的 引用类型有:object、dynamic 和 string。...3.3字符串(String)类型 字符串(String)类型 允许您给变量分配任何字符串值。字符串(String)类型是 System.String 类的别名。它是从对象(Object)类型派生的。...,则被称为拆箱。...C# 中的指针与 C 或 C++ 中的指针有相同的功能。 声明指针类型的语法: type* identifier; 例如: char* cptr; int* iptr;

    12510

    C#核心概念--装箱和拆箱(什么是装箱和拆箱)

    装箱(boxing)和拆箱(unboxing)是C#类型系统的核心概念.是不同于C与C++的新概念!...如果申明这些类型得时候都在堆(HEAP)中分配内存,会造成极低的效率!(个中原因以及关于堆和栈得区别会在另一篇里单独得说说!) .NET如何解决这个问题得了?...、Float、Double、Bool、Decimal)、枚举(enum)、结构(struct),引用类型包括:类、数组、接口、委托、字符串等。...值类型的变量包含自身的数据,而引用类型的变量是指向数据的内存块的,并不是直接存放数据。对于值类型,每个变量都有一份自己的数据复制,对另一个值类型变量的操作并不影响这一个变量的值。...,当一个变量对内存区数据改变之后,另一个变量指向的数据当然也会改变。

    4.1K21

    2022年Unity 面试题 |五萬字 二佰道| Unity面试题大全,面试题总结【全网最全,收藏一篇足够面试】

    带泛型 数据类型不丢失 ArrayList 需要装箱拆箱 List不需要 ArrayList存在不安全类型(ArrayList会把所有插 ⼊其中的数据都当做Object来处理)装箱拆箱的 操作(费时)...在 C# 中以不同的方式执行重载运算符。 字符串:C# 字符串不同于 C++ 字符串。 foreach:C#從VB中引入了foreach关键字使得以循环访问数组和集合。...简述 SkinnedMesh 的实现原理 SkinnedMesh蒙皮网格动画 分为骨骼和蒙皮两部分 骨骼是一个层次结构,存储了骨骼的Transform数据 蒙皮是mesh顶点附着在骨骼之上,顶点可以被多个骨骼影响...Socket的封包、拆包 为什么基于TCP的通信程序需要封包、拆包? 答:TCP是流协议,所谓流,就是没有界限的一串数据。...但是程序中却有多种不同的数据包,那就很可能会出现如上所说的粘包问题,所以就需要在发送端封包,在接收端拆包。 那么如何封包、拆包? 答:封包就是给一段数据加上包头或者包尾。

    23.8K1731

    大语言模型(LLM)的子模块拆拆分进行联邦学习;大语言模型按照多头(Multi-Head)拆分进行联邦学习

    以下是一种可能的方式及简单示例:方式概述模型拆分:将大语言模型拆分为多个子模块,如编码器、解码器、注意力机制等,或者根据功能拆分为不同的任务处理模块。...我们可以将该模型拆分为以下几个子模块:法律术语编码器:负责将法律文本中的术语编码为向量表示。法律逻辑解码器:根据编码后的向量表示,生成符合法律逻辑的输出文本。...以下是一个简单的例子来说明这一过程:场景设定假设有一个大型的语言模型,它采用Transformer架构,并包含多个注意力头(Attention Heads)。...每个设备将负责训练模型的一个或多个注意力头。假设模型原本有8个注意力头,我们可以将它们拆分为4组,每组包含2个注意力头,并分别部署在4个不同的设备上。联邦学习设置:在每个设备上,设置联邦学习环境。...示例说明假设我们有一个包含100万个参数的Transformer模型,其中8个注意力头各占一部分参数。我们将这些注意力头拆分为4组,并部署在4个不同的服务器上。

    21120

    【 文智背后的奥秘 】系列篇 : 自动文本分类

    目前常用的文本表达方式有向量空间模型(VSM),即把文档映射为一个特征向量 其中ti为文档分词后的词条项,w(ti)为相应词条项的权重。...财经、教育、广告推广、犯罪类别、自然灾害、政治等40多个类别。...若为旧体系类别中的子类别时,只需分拆原有体系中对应的大类类别,即对该大类类别词特征文件分拆即可,别的类别词特征文件不变。图2.0为系统类别体系的一个缩略的层级结构。...比如url包含“video”字符串,那么该url对应的文档分为影视类的概率就很大。同理,文档的标题所属的类别往往决定文档的最终类别。下图2.1为分类器分类的主要流程。...系统最终输出的是文档分为系统所支持的各个类别的得分。 上述分类算法对文档进行分类后,得到带有类别标签的文档数据,这部分数据可作为类特征词更新补充离线挖掘流程的输入集。

    4.5K32

    机器人CPP编程基础-04输入Input

    机器人CPP编程基础-03变量类型Variables Types  ……AI…… C++ #include // 引入iostream库,这个库包含了对输入/输出进行操作所需的函数和对象..."包含用户的名字和姓氏 } C++中,输入是通过标准输入流(stdin)进行的,通常使用cin对象来实现。...总之,C++的输入操作可以通过使用cin对象和其提供的方法来实现,适用于不同的数据类型和场景。...包含必要的头文件:在C++源文件中,需要包含ROS1相关的头文件,以便使用ROS1的功能和数据类型。...通过使用结构化绑定,可以方便地同时访问结构体或联合体的多个成员,而无需逐个单独访问它们。这使得代码更加简洁和易于阅读。 这些是C++20引入的一些重要功能。

    27720

    PG 向量化引擎--2

    PG 向量化引擎--2 向量化引擎是OLAP数据库提升性能的有效技术。翻到PostgreSQL邮件列表有对向量化引擎的讨论。这里继续进行整理,以作分析。...所以使用原生数据可以只做一个memcpy来填充vtype的batch。 2、为什么VectorTupleSlot中包含元组的数据(batch)而不是向量(vtype的数组)?...当然,我们也可以使用单独的字段来存储vtypes 其次,VectorTupleSlot还包含堆元组数据。这属于堆元组的变形。事实上,一个batch中包含的元组可能跨多个页。...--hackers中对catching和忽略exception进行了多次讨论,不幸的是PG的PG_TRY/PG_CATCH机制不是高级语言C++、java等机制的变种。它不会执行堆栈unwind。...好的,将对此进行一些实验 7、如何将向量化扫描和并行结合起来(9.6已支持) 目前还没实现。但这个想法与非并行的想法相同。

    89920

    Rust常见集合

    简介 Rust 标准库中包含一系列被称为「集合」(collections)的非常有用的数据结构。...向量(vector) vector 的数据类型为Vec,它允许我们在一个单独的数据结构中储存多于一个的值,它在内存中彼此相邻地排列所有的值。 vector 只能储存相同类型的值。...initial contents".to_string(); let s = String::from("initial contents"); 【注】字符串是 UTF-8 编码的,所以可以包含任何可以正确编码的数据...虽然 Rust 不支持索引单个字符串,但可以使用 range 来创建包含特定字节的字符串 slice。...它通过一个哈希函数(hashing function)来实现映射,决定如何将键和值放入内存中。 哈希表可以用于需要任何类型作为键来寻找数据的情况,而不是像数组那样通过索引。

    81810

    2W五千字的C++基础知识整理汇总

    数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。 数组的声明并不是声明一个个单独的变量,比如 number0、number1、......字符串实际上是使用 null 字符 '\0' 终止的一维字符数组。因此,一个以 null 结尾的字符串,包含了组成字符串的字符。 下面的声明和初始化创建了一个 "Hello" 字符串。...类用于指定对象的形式,它包含了数据表示法和用于处理数据的方法。类中的数据和方法称为类的成员。函数在一个类中被称为类的成员。 C++ 类定义 定义一个类,本质上是定义一个数据类型的蓝图。...一个类可以包含零个或多个访问标签: 使用公共标签定义的成员都可以访问该程序的所有部分。一个类型的数据抽象视图是由它的公共成员来定义的。 使用私有标签定义的成员无法访问到使用类的代码。...C++ STL(标准模板库)是一套功能强大的 C++ 模板类,提供了通用的模板类和函数,这些模板类和函数可以实现多种流行和常用的算法和数据结构,如向量、链表、队列、栈。

    2.6K10

    一文让你学完C++,干货收藏!!!

    数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。 数组的声明并不是声明一个个单独的变量,比如 number0、number1、......字符串实际上是使用 null 字符 '\0' 终止的一维字符数组。因此,一个以 null 结尾的字符串,包含了组成字符串的字符。 下面的声明和初始化创建了一个 "Hello" 字符串。...类用于指定对象的形式,它包含了数据表示法和用于处理数据的方法。类中的数据和方法称为类的成员。函数在一个类中被称为类的成员。 C++ 类定义 定义一个类,本质上是定义一个数据类型的蓝图。...一个类可以包含零个或多个访问标签: 使用公共标签定义的成员都可以访问该程序的所有部分。一个类型的数据抽象视图是由它的公共成员来定义的。 使用私有标签定义的成员无法访问到使用类的代码。...C++ STL(标准模板库)是一套功能强大的 C++ 模板类,提供了通用的模板类和函数,这些模板类和函数可以实现多种流行和常用的算法和数据结构,如向量、链表、队列、栈。

    2.3K20

    一文让你学完C++,干货收藏!!!

    数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。 数组的声明并不是声明一个个单独的变量,比如 number0、number1、......字符串实际上是使用 null 字符 '\0' 终止的一维字符数组。因此,一个以 null 结尾的字符串,包含了组成字符串的字符。 下面的声明和初始化创建了一个 "Hello" 字符串。...类用于指定对象的形式,它包含了数据表示法和用于处理数据的方法。类中的数据和方法称为类的成员。函数在一个类中被称为类的成员。 C++ 类定义 定义一个类,本质上是定义一个数据类型的蓝图。...一个类可以包含零个或多个访问标签: 使用公共标签定义的成员都可以访问该程序的所有部分。一个类型的数据抽象视图是由它的公共成员来定义的。 使用私有标签定义的成员无法访问到使用类的代码。...C++ STL(标准模板库)是一套功能强大的 C++ 模板类,提供了通用的模板类和函数,这些模板类和函数可以实现多种流行和常用的算法和数据结构,如向量、链表、队列、栈。

    3K3029

    本地部署开源大模型的完整教程:LangChain + Streamlit+ Llama

    为了提供与llm的无缝交互,LangChain提供了几个类和函数,可以使用提示模板轻松构建和使用提示。它包含一个文本字符串模板,可以接受来自最终用户的一组参数并生成提示符。让我们先看几个例子。...没有输入参数的模板 多个参数的模板 下面我们可以使用LangChain进行集成了 目前我们使用了单独的组件,通过提示模板对其进行格式化,然后使用llm,在llm中传递这些参数以生成答案。...我们可以将Chain定义为对组件的调用序列,其中可以包含其他Chain。Chain允许我们将多个组件组合在一起,以创建一个单一的、一致的应用程序。...b.Embeddings 词嵌入只是一个词的向量表示,向量包含实数。词嵌入通过在低维向量空间中提供词的密集表示来解决简单的二进制单词向量由于维数高的问题。...我们将使用Chroma,一个专门用于简化包含嵌入的人工智能应用程序的开发的矢量数据库。

    6.1K50

    一文让你学完C++,干货收藏!!!

    数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。 数组的声明并不是声明一个个单独的变量,比如 number0、number1、......字符串实际上是使用 null 字符 '\0' 终止的一维字符数组。因此,一个以 null 结尾的字符串,包含了组成字符串的字符。 下面的声明和初始化创建了一个 "Hello" 字符串。...类用于指定对象的形式,它包含了数据表示法和用于处理数据的方法。类中的数据和方法称为类的成员。函数在一个类中被称为类的成员。 C++ 类定义 定义一个类,本质上是定义一个数据类型的蓝图。...一个类可以包含零个或多个访问标签: 使用公共标签定义的成员都可以访问该程序的所有部分。一个类型的数据抽象视图是由它的公共成员来定义的。 使用私有标签定义的成员无法访问到使用类的代码。...C++ STL(标准模板库)是一套功能强大的 C++ 模板类,提供了通用的模板类和函数,这些模板类和函数可以实现多种流行和常用的算法和数据结构,如向量、链表、队列、栈。

    3.4K20

    服务拆分与架构演进|洞见

    主要架构变迁(点击可查看大图) 在这7年架构演进路上,我们遇到的主要挑战如下: 如何拆?即如何正确理解业务,将单体结构拆分为服务化架构? 拆完后业务变了增加了怎么办?...问题1:如何将单体结构拆分为服务化架构? 就如庖丁解牛一样,拆分需要摸清内部的构造脉络,在筋骨缝隙处下刀。那么微服务架构中,我们认为服务是业务能力的代表,需要围绕业务进行组织。...一个业务领域和子域可以包括多个业务能力,一个业务能力对应一个服务。领域的边界即限界上下文,也是服务的边界,它封装了一系列的领域模型。 ?...第三,划分的子域和服务需满足正交原则。领域名字代表的自然语言上下文保持互相独立。 第四,读写分离的原则。例如报表需有单独报表子域。...然而软件开发是一个复杂的事情,拆分可以引起多个维度的变化,度量的难度在于如何准确定位由拆分这一单一因素引起的价值的变化(增加或降低)。 其实要回答这个问题,还是要回到拆分之初:为什么而拆?

    1.4K41

    Spring AI 核心概念

    对于熟悉 ChatGPT 的人来说,提示词可能看起来只是在发送到 API 的对话框中输入的文本。然而,它包含的远不止于此。在许多 AI 模型中,提示的文本不仅仅是一个简单的字符串。...提示最初从简单字符串开始,现在已经发展到包含多条消息,其中每条消息中的每个字符串代表模型的不同角色。Embeddings 嵌入模型嵌入模型是文本、图像或视频的数字表示形式,用于捕获输入之间的关系。...向量数据库用于 RAG 技术的检索部分。作为将非结构化数据加载到向量数据库的一部分,最重要的转换之一是将原始文档拆分为更小的部分。...将原始文档拆分为较小部分的过程有两个重要步骤:将文档拆分为多个部分,同时保留内容的语义边界。例如,对于包含段落和表格的文档,应避免在段落或表格的中间拆分文档。对于代码,请避免在方法实现的中间拆分代码。...有关如何将此功能与不同 AI 模型一起使用的更多信息,请遵循函数调用文档。

    16550

    C# 数据类型

    C# 数据类型 在 C# 中,变量分为以下几种类型: 值类型(Value types) 引用类型(Reference types) 指针类型(Pointer types) 值类型(Value types...它们是从类 System.ValueType 中派生的。 值类型直接包含数据。比如 int、char、float ,它们分别存储数字、字符、浮点数。...,但它们包含对变量的引用。...使用多个变量时,引用类型可以指向一个内存位置。如果内存位置的数据是由一个变量改变的,其他变量会自动反映这种值的变化。内置的 引用类型有:object 、dynamic 和 string。...我们将在以后的章节中讨论这些类型。 指针类型(Pointer types) 指针类型变量存储另一种类型的内存地址。C# 中的指针与 C 或 C++ 中的指针有相同的功能。

    38130
    领券