`

(转)Java 学习总结(可能是你从来没有考虑过的问题)

阅读更多

1、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别
答:Set里的元素是不能重复的,那么用iterator()方法来区分重复与否。equals()是判读两个Set是否相等
    equals()
==方法决定引用值是否指向同一对象equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值

2、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)
答:
接口可以继承(extends)接口。抽象类可以实现(implements)接口,抽象类可继承实体类,但前提是实体类必须有明确的构造函数。

 

3swtich是否能作用在byte上,是否能作用在long上,是否能作用在String
答:switchexpr1)中,expr1是一个整数表达式。因此传递给 switch  case 语句的参数应该是 int short char 或者 bytelong,string 都不能作用于swtich

4、ArrayList和Vector的区别,HashMap和Hashtable的区别
答:ArrayListVector主要从二方面来说.
.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的

.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半
HashMapHashTable主要从三方面来说。
.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMapJava 1.2引进的Map接口的一个实现
.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的
.值:只有HashMap可以让你将空值作为一个表的条目的keyvalue

 

5、char型变量中能不能存贮一个中文汉字?为什么?
答:
是能够定义成为一个中文的,因为java中以unicode编码,一个char16个字节,所以放一个中文是没问题的

6、heapstack有什么区别
答:栈是一种线形集合,其添加和删除元素的操作应在同一段完成。栈按照后进先出的方式进行处理。堆是栈的一个组成元素

7、谈谈final, finally, finalize的区别
答:final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为   abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载    
  finally—
再异常处理时提供   finally   块来执行任何清除操作。如果抛出一个异常,那么相匹配的   catch   子句就会执行,然后控制就会进入   finally   块(如果有的话)。    
  finalize—
方法名。Java   技术允许使用   finalize()   方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在   Object   类中定义的,因此所有的类都继承了它。子类覆盖   finalize()   方法以整理系统资源或者执行其他清理工作。finalize()   方法是在垃圾收集器删除对象之前对这个对象调用的。  

 

8、sleep()wait()有什么区别?vs
  sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。   waitObject类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。
 

9、StringStringBuffer的区别?`Yk|k
  JAVA平台提供了两个类:StringStringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。c

10、说出Servlet的生命周期,并说出ServletCGI的区别。K
Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service

 

11、Collection 和 Collections的区别。
Collections是个java.util下的类,它包含有各种有关集合操作的静态方法。
Collection是个java.util下的接口,它是各种集合结构的父接口。
List, Set, Map是否继承自Collection接口? List,Set是 Map不是
12、ArrayList和Vector的区别。
一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的 
二.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半
13、HashMap和Hashtable的区别 
一.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现 
二.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的 
三.值:只有HashMap可以让你将空值作为一个表的条目的key或value 

 

14、Collections类,用于同步集合,还能改变集合只读方式的类
Map mp=new HashMap()
mp=Collections.synchronizedMap(mp); //生成线程安全的映射表
mp=Collections.unmodifiableMap(mp); //生成只读映射表
 
15、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现。

 

16、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?

short s1 = 1; s1 = s1 + 1;有错,s1是short型,s1+1是int型,不能显式转化为short型。可修改为s1 =(short)(s1 + 1) 。short s1 = 1; s1 += 1正确。

分享到:
评论

相关推荐

    java 汉字转换拼音

    根据提供的文件信息,本文将详细解析“Java汉字转换拼音”的实现方法及原理,并结合实际代码进行分析。...这个项目不仅可以作为一个实用工具,还可以作为学习Java编程和图形用户界面设计的良好示例。

    关于Java案例实训的实践总结报告

    Java案例实训是提升Java初学者和初级开发者技能的关键步骤,其目标是将理论知识转化为实际操作经验,以满足企业实际需求。实训项目的选择至关重要,它不仅需要覆盖所学的主要知识点,还需要具有适当的难度和实际应用...

    java中反射知识总结

    Java中的反射机制是Java语言一...通过学习和理解Java反射,开发者可以编写出更加灵活、可扩展的代码,解决一些常规编程方式无法处理的问题。但同时,也需要注意其带来的安全性和性能问题,合理地在项目中使用反射技术。

    java基础知识笔记总结

    ### Java基础知识笔记总结 #### 一、Java概述与基础知识 1. **何为编程?** - 编程是通过特定的计算机语言来编写指令,让计算机能够执行一系列任务的过程。 2. **Java语言概述,历史、特点** - Java是由Sun ...

    java实训总结.pdf

    在实训中,学员发现自己在Java知识上的不足,特别是在遇到未学习过的知识点时显得力不从心。实训让他们明白了理论知识与实际操作相结合的重要性,以及在遇到困难时积极寻求帮助、勇于尝试的精神。此外,他们还了解到...

    Java面试总结~~~~.pdf

    【Java面试总结】 Java面试是检验开发者技能和知识深度的重要环节。为了在面试中脱颖而出,...最后,加入Java学习交流群,如589809992,可以与其他开发者交流,共同进步。记住,充足的准备和实战经验是成功的关键。

    Java知识——精华总结(1).doc

    ### Java知识精炼总结 #### 一、Java概述与基础知识 **1. 何为编程?** 编程是指通过编写计算机程序来实现特定功能的过程。它涉及使用编程语言来定义计算机执行的操作步骤。 **2. Java语言概述,历史、特点** ...

    java试用期工作总结.doc

    "java试用期工作总结" Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的...

    java实训报告个人总结报告.pdf

    Java实训报告个人总结报告是Java学习者在完成实训课程后,对所学知识与技能进行归纳、提炼的重要文档。这份报告对于提升技能水平和积累实践经验至关重要。实训项目的选择和实施方式直接影响到实训的质量和效果。 ...

    java 序列化时排除指定属性

    然而,有时候我们不希望序列化对象的所有属性,可能是因为某些属性包含敏感信息,或者它们在反序列化时不需要。针对这种情况,Java提供了机制来排除特定属性进行序列化。本文将深入探讨如何在Java中实现这一功能。 ...

    java 反编译工具

    总结一下,Java反编译工具是开发者的重要辅助工具,能够帮助我们理解和学习Java字节码,尤其是在没有源代码的情况下。了解并熟练使用这些工具,可以提升开发效率,解决代码难题。在选择反编译工具时,应根据具体需求...

    04747Java语言程序设计(今年已一次性考过自考)

    最后,2020年8月已考过的提示意味着最新的考试趋势和要求也应被考虑。考生应关注自考委员会发布的最新大纲和指南,确保复习内容与当前考试标准保持一致。 总之,Java语言程序设计是一门深入且广泛的学科,涵盖了从...

    Java手机日历 Java程序

    总结来说,开发一个Java手机日历程序涵盖了Android平台的基础知识,包括UI设计、数据管理、事件处理、权限控制、通知系统以及测试和优化。通过学习和实践这些技能,开发者可以构建出功能完备且用户友好的日历应用。

    2022年java实习心得总结.docx

    以下是对2022年Java实习的一些核心心得总结: 1. **全新项目**:实习项目应该是一个全新的挑战,避免重复已有的经验,这样可以促使实习生跳出舒适区,真正锻炼解决问题的能力。 2. **企业真实项目**:实习项目必须...

    java 决策树Demo1

    ID3以信息增益为标准,C4.5改进了ID3,处理了连续属性和离散属性的划分,并考虑了过拟合问题,而CART则是用于构建二叉树的分类和回归树。 在Java中,我们可以使用开源的机器学习库,如Weka或Apache Mahout来实现...

    系统测试问题总结

    "jstl - 学习笔记 - BlogJava.mht"可能讲解了JSTL(JavaServer Pages Standard Tag Library)在处理这些接口时的使用方法,而"el表达式.doc"可能涉及了Expression Language在传递和解析数据时的常见问题。...

Global site tag (gtag.js) - Google Analytics