`
duyouhua1214
  • 浏览: 230611 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Java细节总结

    博客分类:
  • Java
阅读更多

TURE、FALSE、NULL等都不是Java关键字;

数组的排序:Array.Sort(数组名)
数组的拷贝:System.arraycopy(Object src, int?srcPos, Object?dest, int?destPos, int?length)
Java语言总是使用传值调用,这意味着方法得到的只是所有参数值的拷贝, 因此,方法不能修改传递给它的任何参数变量的内容。
 对象类型的参数传递的也是该对象的引用值
    方法中并不能改变对象变量,但能通过该变量调用对象的方法或修改对象的成员。
方法的参数基本上与局部变量相同,但你不需要直接初始化它
    编译器会确保方法调用时会有与声明相符的参数传进来,且参数会自动被赋值
注意点:重载不仅出现在同一个类中,也可以出现在父子类中。

     (2)对于实例常量的赋值有两次机会
         在初始化的时候通过声明赋值
         在构造的时候(构造方法里)赋值
         注:不能在声明时赋值一次,在构造时再赋值一次。
         注意:当final修饰实例变量时,实例变量不会自动初始化为0;但必须给他赋值才能通过编译。

abstract 永远不会和 private,static,final 同时出现。( 因为抽象必须被继承。)
接口是一种特殊的抽象类。
在一个接口中,所有的方法为公开、抽象的方法,所有的属性都是公开、静态、常量。
一个类实现一个接口必须实现接口中所有方法。
一个类实现一个抽象类可以实现抽象类中部分方法。
一个抽象类实现一个接口可以不实现接口中的方法。
接口不能继承抽象类。
接口与接口之间可以多继承


接口 VS 抽象类
    1、接口中不能有具体的实现,但抽象类可以。
    2、一个类要实现一个接口必须实现其里面所有的方法,而抽象类不必。
    3、通过接口可以实现多继承,而抽象类做不到。
    4、接口不能有构造方法,而抽象类可以。
    5、实体类与接口之间只有实现关系,而实体类与抽象类只有继承关系
      抽象类与接口之间既有实现关系又有继承关系。
    6、接口中的方法默认都是公开抽象方法,属性默认都是公开静态常量,而抽象类不是。

集合的排序:Collections.sort()
在java中指定排序规则的方式只有两种:1、实现java.util包下的Comparator接口
                                    2、实现java.lang包下的Comparable接口

Comparator与Comparable的区别:
相同点:Comparator和Comparable都是接口,都支持泛型。
不同点:Comparator一般是用于自定义比较器,完成集合外部对象的排序。
        Comparable一般用于集合内部排序时,类实现此接口,完成集合内部对象的排序。

集合:
List:有序有重复,实现类ArrayList、LinkedList、Vector
Set:无序无重复,实现类HashSet
                继承接口:SortedSet 实现类TreeSet

Map:与键值对的形式存储,实现类HashMap
                继承接口:SortedMap 实现类TreeMap
Iterable与Iterator的区别:
相同点:Iterable和Iterator都是接口,都支持泛型。
不同点:Iterable表示可迭代的,Iterator表是迭代器。并且Iterator继承了Iterable接口。
ArrayList与LinkedList集合:
ArrayList底层是Object数组,所以查询快,增删慢。
LinkedList底层是双向链表, 所以查询慢,增删快。


线程:
线程的七种状态:初始New,可运行Runnable,运行Running,阻塞Blocked,锁池Lock_pool,等待池Wait_pool、结束Dead。
wait()线程会释放对象锁。
sleep()不会释放对象锁。

异常:

 Throwable 有两个子类:Error 和Exception。

  Error:一般是底层的不可恢复的错误。
           Object
             ↑
          Throwable
             ↑
        ┌---------┐
     Error      Exception
                   ↑                非RuntimeException
           ┌-----------------------┬---------------┐
        RuntimeException   InterruptedException  IOException
              ↑
        ┌----------------------┬-----------...
   NullpointerException  ArrayIndexOutOfBoundsException
Exception分类:
            Runtime exception(未检查异常)--------------->程序员可避免
                   ①java.lang.ArithmeticException           //如:分母为0;
                   ②java.lang.NullPointerException          //如:空指针操作;
                   ③java.lang.ArrayIndexoutofBoundsExceptio //如:数组越界;数组没有这元素;
                   ④java.lang.ClassCastException            //如:类型转换异常;
            非Runtime exception(已检查异常) ---------->程序员不可避免

 

 Error与Exception有什么区别:

  Error表示系统级的错误和程序不必处理的异常,

  Exception表示需要捕捉或者需要程序进行处理的异常。


heap(堆)和stack(栈)有什么区别。

  栈是一种线形集合,其添加和删除元素的操作应在同一段完成。栈按照后进先出的方式进行处理。

  堆是栈的一个组成元素(栈由多个堆组成)


谈谈final, finally, finalize的区别。
final?修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。

  finally?再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。

&和&&的区别:&是位运算符。&&是布尔逻辑运算符

HashMap和Hashtable的区别。

  都属于Map接口的类,实现了将惟一键映射到特定的值上。

  HashMap 类没有分类或者排序。它允许一个 null 键和多个 null 值。

  Hashtable 类似于 HashMap,但是不允许 null 键和 null 值。它也比 HashMap 慢,因为它是同步的。

Collection 和 Collections的区别。

  Collections是个java.util下的类,它包含有各种有关集合操作的静态方法。

  Collection是个java.util下的接口,它是各种集合结构的父接口。

数组length属性,String有length()方法。

Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
  方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。

给我一个你最常见到的runtime exception。

  ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException,

  ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFORMatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException


error和exception有什么区别:

/////////////////////////////////////////////////////////////////////////
1.abstract method必须以分号结尾,且不带花括号。
2.局部变量前不能放置任何访问修饰符 (private,public,和protected)。final可以用来修饰局部变量。
3.final如同abstract和strictfp,都是非访问修饰符,strictfp只能修饰class和method而非variable。
4.abstract的methods不能以private修饰。abstract的methods就是让子类implement(实现)具体细节的,怎么可以用private把abstract method封锁起来呢? (同理,abstract method前不能加final)。
5.在方法的参数传递中,如果参数用final来修饰,则此参数的值在方法内部不能被修改。
   public int addOne(final int x) {
    return ++x;
   }
  但此参数是引用对象,则可以修改此对象中属性的值。
6.final修饰的变量必须要赋值,且只能赋值一次,要么在定义是赋值,要么在构造器中赋值。
7.static method不能访问non-static instant variable和non-static method。
8.从来没有人说过Java的Class名字必须和其文件名相同。但public class的名字必须和文件名相同。
////////////////////////////////////////////////////////////////////////////////
怎样进行对象持久化?(仅从JAVA方面讲)
      1) 对象序列化
      2) DB技术(JDBC 数据库)
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


String装换int有三中方法,分别如下:
1、Integer.parseInt(str)
2、new Integer(str).intValue()
3、Integer.valueOf(str).intvalue()

int装换String有三中方法,分别如下:
1、n+"";
2、new Integer(n).toString();
3、Integer.valueOf(n).toString();
4、Integer.toString(n); 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

回文数:就是对称的一个整数,如:12321,1221。
"水仙花数"是指其各位数字立方和等于该数本身,153=1^3+5^3+3^3。

最大公约数.........................?,最小公倍数等于两个数的乘积除以最大公约数。

一个数如果恰好等于它的因子之和,这个数就称为 "完数,例如6=1+2+3。

分享到:
评论

相关推荐

    java细节总结 非常适合初学者学习

    - 封装:隐藏实现细节,只暴露公共接口。 - 多态:同一种行为可以通过不同方式表现,如方法重写。 - 抽象:不关注具体实现,只关注接口。 - 范型:泛型提供类型安全,避免了类型转换的麻烦。 3. **常用包**: ...

    java 技术总结.--java 技术

    这篇“Java技术总结”将深入探讨Java的核心概念、语法特性、开发工具以及相关框架,旨在为学习者提供一个全面且深入的Java知识体系。 一、Java语言基础 Java是一种面向对象的编程语言,由Sun Microsystems(现已被...

    java代码细节总结1.0版本.zip

    java代码细节总结1.0版本.zip

    java代码细节总结1.0版本.7z

    java代码细节总结1.0版本.7z

    java 一些细节知识

    在这个"java一些细节知识"的压缩包中,包含了一份名为"java test.doc"的文档,我们可以期待它涵盖了作者个人测试后总结的Java关键知识点。以下是对这些可能包含的内容的详细解释: 1. **变量与数据类型**:Java支持...

    java基础总结大全(笔记).pdf

    Java基础总结大全涵盖了Java编程语言的核心概念,从JVM、JRE和JDK的区别,到环境变量的设置,再到变量的定义和类型转换,深入浅出地讲解了Java的基础知识。 1. JVM、JRE和JDK: - JVM(Java Virtual Machine)是...

    java代码优化细节总结1.0版本.zip

    java代码优化细节总结1.0版本.zip

    Java代码优化细节总结

    代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么...但是如果有足够的时间开发、维护代码,这时候必须考虑每个可以优化的细节了,一个一个细小的优化点累积起来,对于代码的运行效率是有提升的。

    java代码优化细节总结1.0版本.7z

    java代码优化细节总结1.0版本.7z

    Java技术文章总结

    Java技术文章总结,涵盖了许多Java开发中的核心概念和实践技巧,是学习和提升Java技能的重要资源。以下是对这些文章主题的详细解读: 1. **Java基础** - 类与对象:Java是一种面向对象的语言,理解类和对象的概念...

    Java.xmind Java全面总结思维导图

    本资源含有百分之八十的Java技术总结,内容丰富,细节到位,适合Java初学者以及Java学习过半者,总结清晰明了,有很好的构建知识网络作用

    java总结文档

    这是一篇是用来熟悉Java语法以及各个语法细节的总结性文档

    JAVA基础知识精华总结(word版).

    **JAVA基础知识精华总结** 在Java编程领域,基础知识是构建强大应用程序的基石。这份"JAVA基础知识精华总结"文档,旨在帮助初学者以及有一定经验的开发者巩固和加深对Java语言的理解。以下是一些关键知识点的详细...

    JAVA基础知识精华总结(精华)

    **JAVA基础知识精华总结** 在Java编程领域,基础知识是学习进阶技术的基石。这份"JAVA基础知识精华总结"文档涵盖了初学者需要掌握的核心概念,旨在帮助新手快速理解和掌握Java语言的基本特性。 1. **Java简介** ...

    高级JAVA面试——最全的总结

    在准备高级JAVA面试时,全面了解和掌握...通过阅读"Java.doc"、"面试_JAVA_宝典—最全的总结.doc"、"Java框架面试题总结_201104.doc"和"java面试.doc"等文档,可以进一步强化这些知识,并找到面试中的常见问题和答案。

    java知识点总结

    Java知识点总结 1. 前言 Java作为一种广泛使用的编程语言,因其平台无关性、安全性和稳定性而受到青睐。本资源旨在为初学者和有经验的开发者提供一个全面的Core Java知识概述,帮助大家更好地理解和掌握Java的核心...

    java学习总结,分享一下

    这份"java学习总结"涵盖了Java语言的核心概念和技术,旨在为初学者提供一个全面的学习指南。 1. **基础语法**: Java的基础语法是学习的起点,包括数据类型(如整型、浮点型、字符型和布尔型)、变量、运算符、控制...

    JAVA面试总结题目及答案

    《JAVA面试总结题目及答案》 在JAVA面试中,了解和掌握各种知识点至关重要,这关乎到求职者是否能在众多竞争者中脱颖而出。以下是一些常见的JAVA面试问题及其答案,涵盖了JAVA的基础、进阶以及企业级应用。 1. PB...

Global site tag (gtag.js) - Google Analytics