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

java基础总结

阅读更多
JNI是java和本地应用程序之间的中介,调用用其他语言编写的程序。
  先编写java Hello.java程序,然后编译成class文件,再创建.h文件:javah -jni Hello ,再写一个本地实现,再创建一个共享的库

静态语句块 static {  } 当类加载时执行

finalize()protected,自动调用,内存不够的时候才调用,
System中gc() 静态的,显示垃圾回收。

子类和实现类中方法的访问权限不能低于父类和接口中的权限。

java中不允许类的多继承 单允许接口的多继承。extends A,B,C...........extends再implements前面

内部类(内置类):在类中定义一个类,仍是独立的类,可以访问外部类的私有成员变量Outer.this.
                   可以放在方法中也可以放在语句块中,当放在方法中,若在内部类中访问方法的变                   量或参数时,编译会报错,应把方法变量声明为final,内部类的访问修饰符和方法一                 样
StringBuffer    .delete(4,8)包括4不包括8, .insert(index,str) .reverse()反序

   基本数据类型传递的是数据的拷贝,引用类型传递的是引用的拷贝。为了不改变原始的对象数据,可以获取对象的一份拷贝,用Object中的clone()方法返回Object类型。子类重写clone()方法,为public,要super.clone(),可能抛出异常:CloneNotSupportedException,必须实现Cloneable接口,该接口中没有任何抽象方法,叫做标识接口。


    当调用println() 打印一个对象的时候默认调用了object中的toString()方法,建议每个子类重写toString()方法,object中的toString()方法返回string equal to:getClass().getName()+'@'+Integer.toHexString(hashCode())

数组的相关操作:
    数组的复制:System.arraycopy(Object src,int srcPos,Object dest,int destPos,int length)
    数组的排序:Arrays.sort() 返回类型void。当对 对象类型数组排序时,在数组中的所有对象必须
    实现Comparable接口,必须实现方法int compareTo(Object o),大于o返回正数,==返回0,else 负数
   有序元素查找:Arrays.binarySearch(a,value) 返回value在数组a中的index

封装类:java.long包中定义的。
Class类:java.long.Class
       getClass()获取Class实例,Class.forName(String name),会抛出异常:                    ClassNotFoundException, .class  .TYPE(基本类型的封装类)。

java 提供了对多线程程序的支持,实现多线程程序的两种方式:
(1)从Thread类继承:java.long包中,Thread.currentThread().getName():获取线程名。线程启动:
    void start(),然后会执行线程中的 void run()方法,可以理解为线程的入口。setDaemon(boolean)
    必须在start()前调用,设置为后台线程。静态的yield():放弃自己执行的权利,及暂停自己。
getPriority(),setPriority()获取设置优先级Thread.MAX_PRIORITY,MIN_PRIORITY,DEFAULT_PRIORITY
在java中,线程通常是抢占式的而不需要时间片分配。
(2)实现Runnable接口:只有一个方法void run()。  new Thread(st).start()。  
     Thread.sleep(long mills) 抛出异常:
     线程的同步方式:同步块和同步方法:
           同步块:synchronized(Object obj){}
           同步方法:public synchronized void sell(){}

ArrayList: 能自动增加容量的数组,toArrary()返回一个数组Object,ArrayList a=new ArrayList();
          a.add(" ");a.size();a.get(index);
           Arrays.asList()返回一个列表,是固定大小的列表,但可以更改元素:set(index,element)
迭代器(Iterator):访问集合中的元素,提供三个方法: iterator()返回迭代器
                   boolean hasNext()
                   Object next()
                   void remove() 删除上一个返回的元素, 列表不支持remove()
迭代器与for循环:如果未提供get()方法,for循环无法遍历元素,iterator可以,用集合类的对象就可                 获得迭代器,这样很通用。

Collections类:不是collection接口。全是静态方法
               排序:Collections.sort(),自然排序,升序,实现比较器Comparator接口:
                实现Comparable接口,必须实现方法int compareTo(Object o)
               获取最大最小元素:Collections.max(),Collection.min()
               在已排序的List中搜索指定元素:Collections.binarySearch()

LinkedList: 采用双向循环链表实现的。利用LinkedList实现栈(stack),队列(queue),
            双向队列(double-ended quequ)。
         栈: LinkedList li = new LinkedList();li.addFist();li.getFirst();li.removeFirst()
            li.isEmpty();
      队列:LinkedList li = new LinkedList();li.addLast();li.getLast();

ArrayList和LinkedList比较:ArrayList底层采用数组完成,而LinkedList用双向链表完成,除了数据本                            身还有两个引用,指向前一个和后一个元素。
                        如果经常在List中进行插入删除操作,用LinkedList, 随机访问ArrayList

HashSet:实现Set接口的hash table散列表:(哈希表),依靠HashMap实现,不能重复。无get()函数
        HashSet hs =new HashSet();hs.add();
        我们用该为要存放到散列表的各个对象定义hashCode()和equals()方法
TreeSet: 有序集合,缺省按升序排列;实现Comparable接口;TreeSet ts=new TreeSet();ts.add();
         没有get()方法,用iterator遍历
    HashSet是基于Hash算法实现的,性能优于TreeSet,通常使用HashSet,需要排序时用TreeSet。
  
HashMap:实现Map接口;与Collection无关,无add();HashMap hm=new HashMap();
         hm.put(key,value);有get(key)方法;Set keySet()返回key视图;Collection values()
         返回values视图: Set keys=hm.keySet;Collection values=hm.values();
         Set entry=hm.entrySet();返回key-values

TreeMap:按照key进行排序,和HashMap用法类似。HashMap的速度通常比TreeMap快,需要排序用TreeMap

HashMap   : JDK 1.2 之后的新类,异步处理方式,性能较高,属于非线程安全,允许设置Null
HashTable : JDK 1.0 时推出,同步处理方式,性能较低,属于线程安全,不允许设置Null

sleep()与wait()区别:
       sleep()是Therad中定义的方法,线程的睡眠,自动唤醒
       wait()是Object中定义的方法,用notify()或notifyAll()唤醒

单例模式singleton:构造函数私有化,在类内部创建私有实例,提供供外部访问的静态方法

抽象类不能new自己

串行化(Serialization)是计算机科学中的一个概念,它是指将对象存储到介质(如文件、内存缓冲区等)中或是以二进制方式通过网络传输。之后可以通过反串行化从这些连续的字节(byte)数据重新构建一个与原始对象状态相同的对象,因此在特定情况下也可以说是得到一个副本,但并不是所有情况都这样。











分享到:
评论

相关推荐

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

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

    java基础总结资料

    "java基础总结资料"涵盖了Java语言的核心概念,是学习和复习Java基础知识的重要资源。以下是一些主要的知识点: 1. **Java语法基础**:包括变量声明、数据类型(基本类型和引用类型)、运算符、流程控制(如if语句...

    java基础总结大全

    【Java基础总结大全】 Java是世界上最流行的编程语言之一,其跨平台特性主要依赖于Java虚拟机(JVM)。JVM是Java的核心组成部分,它解析并执行编译后的Java字节码,确保Java程序可以在任何支持JVM的操作系统上运行...

    JAVA基础总结PPT

    JAVA基础总结PPT ,基础知识前4章部分,适合回顾总结用。

    老毕java基础总结

    "老毕java基础总结"是一个专为初学者设计的学习资源,旨在帮助他们掌握Java编程的基础知识。下面,我们将深入探讨这份文档可能涵盖的关键知识点: 1. **Java环境配置**:学习Java的第一步是安装JDK(Java ...

    毕向东java基础总结(完整版)

    毕向东java基础总结(完整版) 本资源为毕向东老师的java基础总结,涵盖了java的基础知识点,从零开始学习java的自学笔记。本文档对java的基础知识进行了系统的总结,包括java的概述、java语法基础、变量、数据类型...

    java基础总结文档

    【Java基础总结】 Java是一种广泛使用的面向对象的编程语言,具有丰富的类库和强大的功能。以下是对Java基础知识的总结,适合长时间未接触Java的人快速查阅,同时也非常适合初学者学习。 ### Eclipse相关 Eclipse...

    01 java基础总结 xmind

    java基础知识总结 以思维导图的方式对java中的变量、八种基本类型、运算符和表达式、逻辑结构、数组、方法等知识点进行总结

    Java基础总结笔记

    Java基础总结笔记主要涵盖了编程语言Java的核心概念和应用领域,旨在为初学者提供全面的指导。以下是这些知识点的详细说明: 1. **Java基础语法**:这是学习Java的第一步,包括变量、数据类型(基本类型与引用类型...

    JAVA基础总结共4页.pdf.zip

    【标题】"JAVA基础总结共4页.pdf.zip" 提供的是关于Java编程语言的基础知识的浓缩版教程,可能涵盖了从入门到进阶的关键概念。Java是一种广泛应用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司)开发,...

    CoreJava基础总结

    ### CoreJava基础总结 #### Module1 -- Java开发环境介绍及编程入门 1. **Java开发基本术语** - **JDK (Java Development Kit)**:Java开发工具包,它包含了类库(Class Library)以及用于Java开发的各种命令工具...

    java基础总结大全共94页.pdf.zip

    【标题】"Java基础总结大全共94页.pdf" 是一份详尽的Java编程语言学习资料,涵盖了Java语言的基础知识,旨在帮助初学者或有一定经验的开发者巩固和深化对Java的理解。这份文档可能包含了从基本语法到核心概念的全面...

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

    这份"java基础总结大全(笔记).pdf"涵盖了Java的基础知识,对于学习者来说是一份宝贵的资源。 1. **Java语法基础**:Java的基础语法包括变量、数据类型、运算符、流程控制语句(如if条件语句、switch选择语句、for、...

    Java基础总结大全

    在"Java基础总结大全"中,我们将会深入探讨Java语言的核心概念和关键特性,帮助初学者建立坚实的Java编程基础。 一、Java语言基础 1. 变量与数据类型:Java提供了基本数据类型(如int、char、float等)和引用数据...

    java基础总结.rar

    本资料“java基础总结.rar”包含了对Java基础知识的全面概述,是学习和复习Java编程的理想参考资料。以下是该文档可能涵盖的一些核心知识点: 1. **Java语言简介**:介绍Java的历史、特点和应用领域,解释为什么它...

Global site tag (gtag.js) - Google Analytics