net+面试考试题及答案net基础试题
.NET面试试题

.NET面试试题第一篇:.NET面试试题1、“请做一下自我介绍。
”回答思路:①介绍内容要与个人简历相一致;②表情自然、面带微笑,表述方式上尽量口语化、但是讲到技术时尽量用专业化语言;③要切中要害(如:基本信息介绍、项目经验介绍/工作经验介绍),不谈无关、无用的内容;④时间要合理、条理要清晰、层次要分明;⑤事先最好以文字的形式写好背熟。
)2、“谈谈你做过的项目情况。
”回答思路:①考察学员所做项目是否真实、思路是否清晰;②列举做过的项目数量,以2—3个为宜,其中主要讲解一个项目。
③最好所做的项目和应聘企业主要产品是相同或类似的,技术方向一致。
比如应聘企业主要是做金融系统,项目中就可以说××企业的开放基金项目。
④必须介绍项目几大要素(名称、客户、时间、技术、业务)3、“你对加班的看法。
”回答思路:①如果是工作需要,特别是项目进度的要求,是非常乐意加班的;4、“你对工资的要求是多少?你是否接受××元的工资?”回答思路:①我遵守公司的人力资源薪酬体系②如果非得要求开工资,1000元左右③我也相信当我为公司做的贡献足够大时,公司也会考虑我的薪水问题。
我相信薪水是做出来的,不是谈出来的。
5、“你的优点和缺点是什么?”谈缺点的回答思路:①不宜说自己没缺点;②不宜把那些明显的优点说成缺点;③不宜说出严重影响所应聘职位的缺点;④不宜说出令人不放心、不舒服的缺点;⑤可以说出一些对于所应聘职位“无关紧要”的缺点,甚至是一些表面上看似“缺点”,从工作的角度看却是优点的“缺点”。
谈优点的常规思路:①优点一定要对公司有帮助的;②优点一定要简明扼要;③对优点要准备好一些案例6、“谈谈你对公司的了解”回答思路:考察求职者对招聘公司的重视程度、行业、主要业务、主要领导人、企业规模、企业文化7、“你的朋友对你是如何评价的?”回答思路:①回答要是正面的积极的;②回答要符合该公司的企业文化;③举例说明8、“你为什么选择我们公司?”回答思路:①建议从行业、企业和岗位这三个角度来回答;9、“你如何评价过去的公司?”(针对去外地工作的学员)回答思路:①将公司简单介绍一下②不能上讲以前公司的不好,要比较公平的负责的评价以前的公司10、“你有什么业余爱好和特长?”回答思路:①业余爱好能在一定程度上反映应聘者的性格、观念、心态,而特长则更进一步体现了我们的个性特征,这是招聘单位提问的主要原因;②最好不要说自己没有业余爱好,企业并不需要读死书的“书呆子”;③不要说自己有那些庸俗的、令人感觉不好的爱好;④回答的爱好和特长尽量能符合该公司的企业文化跟岗位需求)11、“谈谈你的家庭情况”回答思路:①简单地罗列家庭人口;②强调温馨和睦的家庭氛围;③强调家庭成员对自己工作的支持;④强调自己对家庭的责任感。
net面试题及答案

net面试题及答案【net面试题及答案】一、.NET基础知识1. 什么是.NET框架?.NET框架是由微软公司开发和维护的一套软件开发平台,提供了一个运行环境,使开发人员可以在不同的操作系统上构建和运行应用程序。
2. 请简要解释一下.NET的CLR是什么?CLR(Common Language Runtime)是.NET框架的核心组件,它负责将源代码编译为中间语言(IL,Intermediate Language),并在运行时负责执行IL代码。
CLR还提供了自动垃圾回收、内存管理、安全性等功能。
3. 哪些语言可以在.NET中运行?在.NET框架中,可以使用多种语言进行开发,包括C#、、F#、C++/CLI等。
这些语言都可以编译成中间语言IL,然后通过CLR执行。
4. 什么是托管代码和非托管代码?托管代码是指运行在CLR中的代码,由CLR负责管理内存、资源等,并提供自动垃圾回收等功能。
非托管代码是指直接运行在操作系统上的代码,不受CLR的管理。
5. 解释一下.NET的命名空间是什么?命名空间是一种组织和管理代码的机制,用于将相关的类、接口、结构体等分组,并避免命名冲突。
在.NET中,命名空间使用关键字"namespace"定义。
二、面向对象编程1. 什么是面向对象编程(OOP)?面向对象编程是一种程序设计范式,通过将数据和操作数据的方法封装在一起,以对象的方式进行编程。
面向对象编程的核心概念包括封装、继承和多态。
2. 解释一下封装的概念。
封装是一种将数据和操作数据的方法包装在一起的机制。
通过封装,对象对外部提供了一个接口来访问其数据和方法,隐藏了内部的实现细节。
封装可以提高代码的可维护性和复用性。
3. 什么是继承?它的作用是什么?继承是一种面向对象编程的机制,允许一个类继承另一个类的属性和方法。
子类从父类继承了其公共成员,并可以增加新的成员或覆盖父类的成员。
继承可以实现代码的重用和扩展。
net面试题及答案

net面试题及答案由于没有给出具体的标题或要求,我将根据题目"Net面试题及答案"来为您撰写一篇文章。
根据您的要求,我将使用适当的格式,并保持整洁美观、通顺流畅的语句。
Net面试题及答案在寻求网络工程职位的过程中,面试是评估候选人技能和能力的重要环节。
针对.NET开发领域的职位,面试官可能会提出一些相关问题,以评估您的技术水平和经验。
以下是一些常见的.NET面试题及其答案:1. 什么是.NET框架?答:.NET框架是由微软公司开发的一个开发平台,用于构建和运行各种类型的应用程序。
它提供了包括编译器、运行时环境、类库和工具在内的一系列组件,使开发人员能够创建高效、可靠且安全的应用程序。
2. 请解释一下.NET的CLR是什么?答:CLR全称为公共语言运行时(Common Language Runtime),它是.NET框架的核心组件之一。
CLR负责将编译后的代码转换为机器语言,并提供内存管理、垃圾回收、安全性和异常处理等运行时环境。
它还支持多语言互操作性,使开发人员能够在不同的.NET编程语言之间共享代码和组件。
3. 请解释一下.NET中的面向对象编程(OOP)是什么?答:面向对象编程是一种编程范式,它将数据和操作数据的方法组织在一起,形成相互关联的对象。
在.NET中,面向对象编程强调封装、继承和多态性。
封装用于隐藏对象的内部实现细节,继承允许创建新类从现有类派生,多态性则允许使用相同的代码来处理不同类型的对象。
4. 请解释一下.NET中的垃圾回收是如何工作的?答:垃圾回收是CLR的核心功能之一,用于自动管理内存。
它监视并确定不再使用的对象,并释放它们所占用的内存资源。
垃圾回收器会在适当的时候自动回收垃圾,并重新分配内存给新的对象。
这减轻了开发人员的负担,使他们不必手动分配和释放内存。
5. 请解释一下.NET中的程序集是什么?答:程序集是.NET中的基本部署单元,它包含了执行代码所需的所有信息。
.NET开发人员面试题(含答案)

.NET开发人员试题(综合)每题5分1、用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层?2、软件开发过程一般有几个阶段?每个阶段的作用?3、请列举一些您用到过的设计模式以及在什么情况下使用该模式?4、您对编程的兴趣如何?工作中遇到不懂的问题是怎样去解决的?您一般怎样去提高自己的编程水平?5、您离职的原因是什么?.NET开发人员试题(基础)一、填空:每题2分1.面向对象的语言具有继承性、封装性、多态性。
2. 能用foreach遍历访问的对象需要实现 IEnumerable _接口或声明3.委托声明的关键字是delegate ?4.在.Net托管代码中我们不用担心内存漏洞,这是因为有了gc __?5.当类T只声明了私有实例构造函数时,则在T的程序文本外部,不可以(可以or 不可以)从T派生出新的类,不可以(可以or 不可以)直接创建T的任何实例。
二、单选:每题2分6.在对SQL Server 数据库操作时应选用(A)。
a)SQL Server .NET Framework 数据提供程序;b)OLE DB .NET Framework 数据提供程序;c)ODBC .NET Framework 数据提供程序;d)Oracle .NET Framework数据提供程序;7.以下描述错误的是(A)a)在C++中支持抽象类而在C#中不支持抽象类。
b)C++中可在头文件中声明类的成员而在CPP文件中定义类的成员,在C#中没有头文件并且在同一处声明和定义类的成员。
c)在C#中可使用new 修饰符显式隐藏从基类继承的成员。
d)在C#中要在派生类中重新定义基类的虚函数必须在前面加Override。
8.C#的数据类型有(A)a)值类型和调用类型;b)值类型和引用类型;c)引用类型和关系类型;d)关系类型和调用类型;9.下列描述错误的是(D)a)类不可以多重继承而接口可以;b)抽象类自身可以定义成员而接口不可以;c)抽象类和接口都不能被实例化;d)一个类可以有多个基类和多个基接口;10.在DOM中,装载一个XML文档的方法(D)a)save方法b)load方法c)loadXML方法d)send方法三、不定项选择:每题3分11. 以下叙述正确的是:B CA. 接口中可以有虚方法。
net面试题(程序员必看 附答案)

NET面试题一想看答案往下翻.NET技术题1.类成员有几种可访问性?2.用sealed修饰的类有什么特点3.执行下面代码后:String strTemp ="abcdefg 某某某";Int i System.Text.Encoding.Default.GetBytes(strTemp).Length;Int j = strTemp.Length;1.问:i,j分别为多少并说明理由4.概述三层结构体系?中读写XML的类都归属于哪些命名空间?6.a=10,b=15,在不用第三方变量的前提下,把a,b的值互换?7.对数据的并发采用什么办法进行处理较好。
8.override与重载的区别?9.如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Application,您有几种方法进行处理?10.什么叫应用程序域11.CTS、CLS、CLR分别作何解释12.什么是装箱和拆箱13.什么是Code-Behind技术14.GC是什么? 为什么要有GC15.接口是否可继承接口? 抽像类是否可实现(implements)接口? 抽像类是否可继承实体类(concreteclass)?16.数组有没有length()这个方法? String有没有length()这个方法?17.堆和栈的区别?18.请指出GAC的含义19.DataReader与Dataset有什么区别20.在c#中using和new这两个关键字有什么意义,请写出你所知道的意义?21.C/S结构模式与B/S结构模式的主要区别是什么22.C#中的数组类型有何特点?23.ASP。
NET与ASP相比,主要有哪些进步?24.结构和类的区别是什么?25.&和&&的区别26.<%#%>和<%%>有什么区别?27.在中,下列代码运行后的输出结果是?DataTable dt = new DataTable();dt.Columns.Add(“编号“,typeof(System.Int16));dt.Columns.Add(“成绩“,typeof(System.Int16));for(int i=1; i<=3;i++){dataRow dr = dt.NewRow();dr[0]=i;dr.rows.Add(dr);}Console.WriteLine(dt.Columns.Count);28.下面的代码中有什么错误吗?_______ing System;class A{public virtual void F(){Console.WriteLine("A.F");}}abstract class B:A{public abstract override void F();2.}29.下面这段代码输出什么?为什么?int i=5;int j=5;if (Object.ReferenceEquals(i,j))Console.WriteLine("Equal");elseConsole.WriteLine("Not Equal");30.请编程实现一个冒泡排序算法?SqlServer 技术题31.触发器的作用?32.什么是存储过程?用什么来调用?33.什么是内存泄漏?34.动态查询如何实现?表的结构变化后,如果不需要修改程序,如何设计和实现查询35.触发器分为事前触发和事后触发,这两种触发有和区别。
.NET面试题完整版(含前、后端及数据库等多个个方面带参考答案)

.NET⾯试题完整版(含前、后端及数据库等多个个⽅⾯带参考答案)⼀。
基础篇1.简述 private、 protected、 public、 internal 修饰符的权限。
private : 私有成员, 在类的内部才可以访问。
protected : 保护成员,该类内部和继承类中可以访问。
public : 公共成员,完全公开,没有访问限制。
internal: 在同⼀命名空间内可以访问。
2 .列举 页⾯之间传递值的⼏种⽅式。
QueryString,Session,Cookies,Application,Server.Transfer。
2.C#中的委托是什么?事件是不是⼀种委托?委托是将⽅法作为参数带⼊另⼀个⽅法,委托可以理解为指向⼀个函数的引⽤,事件是⼀种特殊的委托。
3.堆和栈的区别? 1、栈(操作系统):由操作系统⾃动分配释放 ,存放函数的参数值,局部变量的值等。
其操作⽅式类似于数据结构中的栈; 2、堆(操作系统): ⼀般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,分配⽅式倒是类似于链表。
5.abstract class和interface有什么区别?1.抽象类可以有构造⽅法,接⼝中不能有构造⽅法。
2.抽象类中可以有普通成员变量,接⼝中没有普通成员变量3.抽象类中可以包含⾮抽象的普通⽅法,接⼝中的所有⽅法必须都是抽象的,不能有⾮抽象的普通⽅法。
4. 抽象类中的抽象⽅法的访问类型可以是public,protected和(默认类型,虽然eclipse下不报错,但应该也不⾏),但接⼝中的抽象⽅法只能是public类型的,并且默认即为public abstract类型。
5. 抽象类中可以包含静态⽅法,接⼝中不能包含静态⽅法6. 抽象类和接⼝中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接⼝中定义的变量只能是public static final类型,并且默认即为public static final类型。
net面试题与答案(选择、填空、简答)(免费下载)

.net面试题选择题1.以下叙述正确的是:(BC)A. 接口中可以有虚方法B. 一个类可以实现多个接口C. 接口不能被实例化D. 接口中可以包含已实现的方法2.从数据库读取记录,你可能用到的方法有:(BCD)A. ExecuteNonQueryB. ExecuteScalarC. FillD. ExecuteReader3.以下关于ref和out的描述哪些项是正确的?(多选) (ACD)A. 使用ref参数,传递到ref参数的参数必须最先初始化B. 使用out参数,传递到out参数的参数必须最先初始化C. 使用ref参数,必须将参数作为ref参数显式传递到方法D. 使用out参数,必须将参数作为out参数显式传递到方法4.在对SQL Server 数据库操作时应选用 (A)A. SQL Server .NET Framework 数据提供程序B. OLE DB .NET Framework 数据提供程序C. ODBC .NET Framework 数据提供程序D. Oracle .NET Framework数据提供程序5.下列选项中,(C) 是引用类型A. enum类型B. struct类型C. string类型D. int类型6.关于中的代码隐藏文件的描述正确的是 (C)A. Web窗体页的程序的逻辑由代码组成,这些代码的创建用于与窗体交互。
编程逻辑唯一与用户界面不同的文件中。
该文件称作为"代码隐藏"文件,如果用C#创建,该文件将具有".ascx.cs"扩展名B. 项目中所有Web窗体页的代码隐藏文件都被编译成.EXE文件C. 项目中所有的Web窗体页的代码隐藏文件都被编译成项目动态链接库 (.dll)文件D. 以上都不正确7.以下描述错误的是 (A)A. 在C++中支持抽象类而在C#中不支持抽象类B. C++中可在头文件中声明类的成员而在CPP文件中定义类的成员,在C#中没有头文件并且在同一处声明和定义类的成员C. 在C#中可使用 new 修饰符显式隐藏从基类继承的成员D. 在C#中要在派生类中重新定义基类的虚函数必须在前面加Override8.C#的数据类型有 (A)A.值类型和调用类型;B.值类型和引用类型;C.引用类型和关系类型;D.关系类型和调用类型;9.下列描述错误的是 (D)A. 类不可以多重继承而接口可以B. 抽象类自身可以定义成员而接口不可以C. 抽象类和接口都不能被实例化D. 一个类可以有多个基类和多个基接口10.下列关于构造函数的描述正确的是 (C)A. 构造函数可以声明返回类型。
2023年必备.net面试题及答案

必备.net面试题及答案1、ORM中的延迟加载与直接加载有什么异同?延迟加载(Lazy Loading)只在真正需要进行数据操作的时候再进行加载数据,可以减少不必要的开销。
2、简述Func与Action的区别?Func是有返回值的委托,Action是没有返回值的委托。
3、编写javascript代码实现把两个数组合并,并删除第二个元素。
合并js数组用concat方法,array1.concat(array2)。
删除元素用splice方法,splice(1,1),函数原型splice(inde_,count),指从数组索引1处开始删除1个元素,即删除第二个元素。
4、的Application、Session、Cookie、ViewState和Cache 等变量的区别是什么?Application 应用程序级别Session 会话级别用户跟踪Cookie 客户端存储少量信息ViewState 保持控件状态的机制Cache 缓存5、列举 MVC ActionResult的返回值有几种类型?主要有View(视图)、PartialView(部分视图)、Content(内容)、Json(Json字符串)、Javascript(js脚本)、File(文件)等几种类型。
6、简述javascript的作用域和闭包js变量的作用域是指:函数内定义的局部变量只在此函数内有效,而全局变量可以全局有效。
闭包的作用就在于能够改变局部变量的作用域,将值保存下来,但是如果使用不当会造成无法回收变量,引起性能问题,甚至崩溃。
7、列举你用过的javascript框架,并简述它们的优缺点js框架:jQuery EasyUI、E_tJS、Bootstrap、AngularJS等等。
jQuery EasyUI:轻量级web前端ui开发框架,尤其适合MIS系统的界面开发,能够重用jquery插件。
E_tJS:统一的前端UI开发框架,学习难度中等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
}
} }
四、问答题(20 分)(2 小题,每小题 10 分)
1、现有数据库表 Student,字段 No,Name,Age … 请用代码实现以下操作
3、在 DOM 中,装载一个 XML 文档的方法(B) A save 方法 B load 方法 C loadXML 方法 D send 方法
4、下列关于构造函数的描述正确的是(C) A 构造函数可以声明返回类型。 B 构造函数不可以用 private 修饰 C 构造函数必须与类名相同 D 构造函数不能带参数
9.B/S 通常使用的结构设计模型分为__网页_____,___服务器____,___网页____。
10. System.IO 命名空中读文件的方法主要有:___READ()____,___READLINE()____,_______。 写文件的方法主要有:
___WRITE()____,___WRTIELINE()____,_______。
8、 框架中,服务器控件是为配合 Web 表单工作而专门设计的。服务器控件有两种 类型,它们是( A) A HTML 控件和 Web 控件 B HTML 控件和 XML 控件 C XML 控件和 Web 控件 D HTML 控件和 IIS 控件
9、 中,在 Web 窗体页上注册一个用户控件,指定该控件的名称为”Mike”,正确的 注册指令为(A) A <%@Register TagPrefix = “Mike” TagName = “Space2” Src = “myX.ascx”%> B <%@Register TagPrefix = “Space2” TagName = “Mike” Src = “myX.ascx”%> C <%@Register TagPrefix = “SpaceX” TagName = “Space2” Src = “Mike”%> D 以上皆非
6 、 int[][] myArray3=new int[3][]{new int[3]{5,6,2},new int[5]{6,9,7,8,3},new int[2]{3,2}}; myArray3[2][2]的值是(D)。 A9 B2 C6 D 越界
7、接口是一种引用类型,在接口中可以声明(A),但不可以声明公有的域或私有的成员变 量。 A 方法、属性、索引器和事件; B 方法、属性信息、属性; C 索引器和字段; D 事件和字段;
}
Console.WriteLine("\n 您要进行排序的{0}个数字分别为:", a); for (int i = 0; i < a; i++) { Console.Write(array[i].ToString() + "\t"); }
Console.WriteLine(); int temp; for (int i = 1; i < array.Length; i++) { for (பைடு நூலகம்nt j = 0; j < array.Length - i; j++) { if (array[j] > array[j + 1]) { temp = array[j]; array[j] = array[j + 1]; array[j + 1] = temp; } } } Console.WriteLine("排序后:"); for (int i = 0; i < array.Length; i++) {
10、在 中,对于 Command 对象的 ExecuteNonQuery()方法和 ExecuteReader()方法,
下面叙述错误的是(C)。 A insert、update、delete 等操作的 Sql 语句主要用 ExecuteNonQuery()方法来执行; B ExecuteNonQuery()方法返回执行 Sql 语句所影响的行数。 C Select 操作的 Sql 语句只能由 ExecuteReader()方法来执行; D ExecuteReader()方法返回一个 DataReder 对象;
因为你没有足够多内存,并且,你挺懒,不去自己清理内存,所以就有了 GC
什么是 GC GC 的全称是 garbage collection,中文名称垃圾回收,是.net 中对内存管理的一种功能。垃圾 回收器跟踪并回收托管内存中分配的对象,定期执行垃圾回收以回收分配给没有有效引用的 对象的内存。当使用可用内存不能满足内存请求时,GC 会自动进行。
6、C#中的委托是什么?事件是不是一种委托?
委托是对函数的封装,可以当作给方法的特征制定一个名称。 事件是委托的一种特殊形式,当发生有意义的事情时,事件对象处理通知过程[C#高级 编程] 委托是一种引用方法的类型。一旦为委托分配了方法,委托将与该方法具有完全相同 的行为。 委托对象用 delegate 来声明。事件是说在发生其他类或对象关注的事情时,类或对象 可通过事件通知他们。 声明委托:public delegate TypeEventHandler(); 声明事件:public event TypeEventHandler Method1(); 7、请编程实现一个冒泡排序算法? Static viod Main(string [] args) { Int[] arr = new int[] {3,9,27,6,18,12,21,15}; Foreach(int m in arr) Console.write(m + “”); Console.writeline(); Int j,temp; For (int i= 0;i<arr.lenth-1;i++) { J=i+1; Id: If(arr(i)>arr(j)) { Temp = arr[i]; Arr[i] = arr[j]; Arr[j] = temp; Goto id; } Else If (j<arr.length-1)
5、以下是一些 C#中的枚举型的定义,其中错误的用法有(C) A public enum var1{ Mike = 100, Nike = 102, Jike } B public enum var1{ Mike = 100, Nike, Jike } C public enum var1{ Mike=-1 , Nike, Jike } D public enum var1{ Mike , Nike , Jike }
在比较时先调用 hashCode 方法,如果不相同,证明不相等。 如果相同,再调用 equals 方法,如果 equals 方法相同,证明相等,不相同,证 明不相等。 ==:主要用在基本数据类型及引用 Equals:主要是对象或对象引用的比较。
5、列举 页面之间传递值的几种方式。
URL、Session、Cookies、Server.Transfer、Application 和跨页面传送。
.net 基础试题
一、选择题(20 分)(10 小题,每小题 2 分)
1、C#的数据类型有(B ) A 值类型和调用类型; B 值类型和引用类型; C 引用类型和关系类型; D 关系类型和调用类型;
2、下列描述错误的是(D ) A 类不可以多重继承而接口可以; B 抽象类自身可以定义成员而接口不可以; C 抽象类和接口都不能被实例化; D 一个类可以有多个基类和多个基接口;
二、填空题(25 分)(25 空,每空 1 分)
1. 类的三大特性是 ___继承___,___封装___,__多态____
2 . 创 建 存 储 过 程 的 命 令 是 _CREATE __PRODURE 过 程 名 _________ 删 除 表 的 命 令 是 ___DROP 表名________。 3. 声明抽象类的关键字是__abstract_____,抽象类不能__直接实例化_____。 4. .NET 运行库支持被称为___类____的引用类型,其作用类似于 C++中函数指针的用途。
5.声明静态变量的关键字是___static____,声明常量的关键字是__const_____。
6.C#中处理内存管理功能的是_ System. GC.Collect() ______。
7.在 C#中用于显式地将一个值或引用转换为另一种不同的类型称为__类型转换_____。
8 . 在 ADO 。 NET 中 , command 对 象 是 用 _EXECUTENONQUERY______,_EXECUTEREADER______,___EXECUTESCALAR____方法执行命令。
public static void sort() { int a; int[] array; Console.WriteLine("请问您要对多少为数字进行排序?"); a = Convert.ToInt32(Console.ReadLine()); array = new int[a]; Console.WriteLine("请输入您要进行排序的这{0}个数字:", a); for (int i = 0; i < a; i++) { array[i] = Convert.ToInt32(Console.ReadLine());
器支持三代。每进行一次 GC,没有被回收的对象就自动提升一代。较近创建的对象属于较新 的代,比在应用程序生命周期中较早创建的对象的代数低。最近代中的对象位于零代中。每 一次 GC 的时候,都首先回收零代中的对象,只有在较低代数的对象回收完成后仍不能满足 需求的情况下才回收较高代数的对象。
2、String s = new String("xyz");创建了几个 String Object? 两个。 一个是你作为参数的"xyz", 一个是你自己创建的 new String("xyz") 3、启动一个线程是用 run()还是 start()?二者有何区别? 启动一个线程是调用 start()方法,这并不意味着线程就会立即运行,只是进入了可运行状态。 直接调用 run()方法不会产生线程,而是把它当作普通的方法调用,马上执行。 启动一个线程是调用 start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它 可以由 JVM 调度并执行。这并不意味着线程就会立即运行。run()方法可以产生必须退出的 标志来停止一个线程。 4、Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是 equals()? 它 们有何区别?