zoukankan      html  css  js  c++  java
  • Java知识复习(二)

    如何格式化日期

    SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

    Date dat=new Date();

    //把日期转化为字符串

    String str=sdf.format(dat);

    System.out.println(str);

    //将字符串转化为日期

    Java.util.Date d1=sdf.parse(“yyyy-mm-dd”);

    String s = new String("xyz");创建了几个String Object?

    两个,New了一个,”XYZ”本来又是一个

    String s=new String(x+y+z); 创建了几个String Object?

    6个

    编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串。

    //重构字符串

    String a=new String("中".getBytes("gb2312"),"iso-8859-1");

    String a=new String("中".getBytes("iso-8859-1"));

    java中实现多态的机制是什么?

    静态的多态:重载、重写

    动态的多态:

    父类 接收 子类的实例

    接口 接收 实现类的实例

    static关键字的用法?

    1 静态方法中是不能调用非静态的属性或者方法,

    2 非静态的方法中是可以调用静态的成员和方法的

    垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?

    动态内存 存放类实例

    静态内存 类本身

    垃圾收集主要针对的是动态内存,一般当内存不够用时会进行垃圾收集。

    或通过System.gc()手动收集,但不保证一定执行。

    写clone()方法时,通常都有一行代码,是什么?

    Clone 有缺省行为,super.clone();他负责产生正确大小的空间,并逐位复制。

    String and StringBuffer的区别

    String:String由final关键字修饰,所以长度是不可变

    StringBuffer:可变可修改的

    集合的通用方法有那些?通用方法是什么?(操作)

    集合List 的遍历方法有:

    Iterator:

    Enumeration

    For

    Get

    set

    Collection的通用方法有:

    Iterator()

    Add()

    Clear();

    remove()

    ArrayList与Vector的区别

    一.同步性:

       Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的。

    二.操作:

        由于Vector支持多线程操作,所以在性能上就比不上ArrayList了。

    三.数据增长:

           ArrayList和Vector都有一个初始的容量大小,当存储进去它们里面的元素个数超出容量的时候,就需要增加ArrayList和Vector的存储空间,每次增加存储空间的时候不是只增加一个存储单元,是增加多个存储单元。

           Vector默认增加原来的一倍,ArrayList默认增加原来的0.5倍。

           Vector可以由我们自己来设置增长的大小,ArrayList没有提供相关的方法。

    LinkedList与ArrayList的区别

    两者都实现的是List接口,不同之处在于:

    (1)、ArrayList是基于动态数组实现的,LinkedList是基于链表的数据结构。

    (2)、get访问List内部任意元素时,ArrayList的性能要比LinkedList性能好。LinkedList中的get方法是要按照顺序从列表的一端开始检查,直到另一端

    (3)、对于新增和删除操作LinkedList要强于ArrayList,因为ArrayList要移动数据

           LinkedList实现了List接口,允许null元素。此外LinkedList提供额外的get,remove,insert方法在LinkedList的首部或尾部。这些操作使LinkedList可被用作堆栈(stack),队列(queue)或双向队列(deque)。

           注意LinkedList没有同步方法。如果多个线程同时访问一个List,则必须自己实现访问同步。一种解决方法是在创建List时构造一个同步的List:

    List list = Collections.synchronizedList(new LinkedList(…));

    HashMap和Hashtable的区别

    HashMap不是线程安全的,HashMap是map接口的子类,是将键映射到值的对象,其中键和值都是对象,并且不能包含重复键,但可以包含重复值。HashMap允许null key和null value,而hashtable不允许。

    HashTable是线程安全的,HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。

    HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。 最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。 Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差别

  • 相关阅读:
    in_array()和explode()的使用笔记
    写sql语句连接的时候注意的一个小细节
    在thinkphp框架模板中引用session
    查询数据库所有(某个)表中字段名,数据类型,说明等,导出数据字典
    (委托事件处理)关于多线程执行显示进度条的实例(转)&&线程间操作无效: 从不是创建控件“rtxtEntryNO”的线程访问它。
    判断当前线程所处的状态 (转)以及终止当前线程
    string 字符串的分隔处理与list的相互转换
    C# 动态调用webservice
    C#中的List<string>泛型类示例
    命名空间"system.web"中不存在类型或命名空间名称security"
  • 原文地址:https://www.cnblogs.com/timePasser-leoli/p/7510879.html
Copyright © 2011-2022 走看看