• 编程基础(3)


    1、c++与java的相似点以及不同点?(不全)

      Java支持类,但不支持结构体;所有的类继承自Object类;所有的函数及方法必须定义在类中;

        Java支持接口(interface),可以创建出一种只包含方法申名与常量的接口。c++不支持interface。

        Java不支持多继承,在某中程度上接口机制实际上可以提供多继承的某些特性,同时又能避免多继承带来的底层问题。

       Java不支持自动类型转换。不支持指针;拥有String类型,该对象是不可变得字符串常量,支持StringBuffer该类型的对象是可修改的。

     2、Java抽象类和接口的区别:

         接口中的方法都是抽象的,不能包含实现代码;而抽象类里面的实例方法,则可以提供默认的实现代码。这是抽象类与接口在方法上的主要区别。

    3.Java中,ArrayList与Vector之间的重要区别是什么?

        数组比ArrayList和Vector都快。如果能提前知道元素的个数,那么可以考虑使用数组。(数组的大小,不能向List那样,随着元素个数而增长。)

        ArrayList和Vector在内部也使用数组,提供add(),remove()等方法。

    4.Java中的HashMap和Hashtable有什么区别?

    HashMap和HashTable都实现了Map接口,主要区别有:线程安全性、同步、速度

    1、线程安全:HashMap是非synchronization(同步)的,HashTable是synchronization的,这意味着HashTable是线程安全的。

    2、同步:因为HashMap是非synchronization的,HashTable是synchronization的,所以需要同步的话用HashTable。

    3、速度:由于HashTable是线程安全的也是synchronized,所以在单线程环境下它比HashMap要慢

    5.String、StringBuffer、StringBuilder的区别

     String是字符串常量,内容是不可修改的;StringBuffer 和 StringBuilder 是字符串量,可用来字符串拼接。

     在执行速度上,String < StringBuffer < Stringbuilder 。每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,因此会有较大的影响。其次因为StringBuffer是   线程安全的,StringBuilder不是,因此StringBuilder要比StringBuffer快一些。

    6.Java中 == 和 equals 区别

     ==比较的是引用相等,比较的是两个对象是否相等,也可能是int 型得常见类型的值;

     equals  若对象没有重写equals方法,则与==作用是相同的;若重写了eg:String那么比较的就是值相等。或其他自定义的相等比较。

    一切美好的都是值得等待的。
  • 相关阅读:
    获取配置文件
    windows下多tomcat部署
    tomcat是否有必要配置环境变量(摘)
    js删除map中元素
    HDU-3440 House Man
    HDU-1534 Schedule Problem
    POJ-1364/HDU 1531 King
    POJ-1275/HDU-1529 Cashier Employment
    POJ-1201/HDU-1384 Intervals
    HDU-5780 gcd
  • 原文地址:https://www.cnblogs.com/minghua-b/p/9695922.html
Copyright © 2020-2023  润新知