zoukankan      html  css  js  c++  java
  • java疯狂讲义--摘要

    1.一个java文件中可以有多个类,但是只能有一个public类,并且该类需要与文件同名

    第6章

    对象的软,弱和虚引用

    1、强引用---创建一个对象,并把这个对象赋给一个引用变量。一个对象被一个以上的强引用变量所引用时,它处于可达状态,不可能被系统垃圾回收机制回收

    2、软引用--通过SoftReferene类来实现,对于软引用,系统垃圾回收时,如果系统内存不够用,系统可能会回收它。

    3、弱引用--通过WeakReference累实现。对于弱引用对象而言,当系统垃圾回收时,不管系统内存是否足够用,总是会回收该对象所占用的内存。WeakReference<Car> weakCar = new WeakReference(Car)(car);

    4、虚引用

     虚引用通过PhantomReference类来实现,需引用类似于完全没有引用

    第7章

    常用类

    1、 String、StringBuffer、StringBuilder

    String类是不可变类

    StringBuffer对象则代表一个字符序列可变的字符串,当一个StringBuffer被创建后,通过StringBuffer提供的append,insert,

    reverse,setCharAt、setLength等方法可以改变这个字符串对象的字符序列。可以通过toString()方法将其转换为一个String对象。

    StringBuilder和StringBuffer类似,不同的是StringBuffer是线程安全的,StringBuilder是线程不安全的,通常情况下优先选用StringBuilder

    2、Math类

    3、ThreadLocalRandom与Random

    用于生成伪随机数

    4、 BigDecimal类

    为了解决float和double两个浮点数会丢失精度的问题,提供了BigDecimal类。

    但是在使用BigDecimal时,不要直接使用double浮点数作为构造器参数,否则同样会发生精度丢失的问题

    两个使用示例如下:

    BigDecimal f1 = new BigDecimal(“0.01”)

    BigDecimal f1 = BigDecimal.valueOf(0.01)

    5、日期和时间类

    正则表达式

    1、正则表达式是一个强大的字符串处理工具,可以对字符串进行查找、提取、分割、替换等操作。

    Java集合

    1、集合类

    从collection接口集成的集合类有List Set Queue

    另外一个种集合类是Map

    Set的三个实现类HashSet、TreeSet和EnumSet都是线程不安全的。通常可以通过Collections工具类的synchronizedSortedSet方法来“包装”该Set集合。

    List有ArrayList和Vector,前者是线程不安全的,后者是线程安全的。优先使用ArrayList。

    PriorityQueue 按队列元素的大小进行排序,排序分两种:自然排序和定制排序

    Deque是双端队列

    LinkedList同时集成类List和Deque接口,可以同时作为List集合,双端队列,栈使用。

    HashMap和HashTable,HashTable是线程安全的,不允许key值是null

    HashMap是线程不安全的,允许kay值为null

    LinkedHashMap是HashMap的子类

    LinkedHashSet是HashSet的一个子类。

    Properties类是Hashtable类的子类

     2、Collections类中提供了多个synchronizedXxx()方法,该方法可以将指定集合包装城线程同步的集合,从而解决多线程并发访问集合时的线程安全问题。

    第九章 泛型

    泛型的引入:为了解决集合类中不能记录对象类型带来的问题

    Java 的参数化类型被称为泛型。

    1、泛型类

    List<String> ls = new ArrayList<> ();

    Map<String, Integer> = new HashMap<>();

    2、泛型方法

    第10章 异常处理

    Java的异常处理机制主要依赖于try,catch,fainnally,throw和throws五个关键字

    try{

    正常代码

    }

    catch(Excepthion e){

    异常代码

    }

    一个try后面可以有多个catch,先写子类异常,再写父类异常,即先处理小异常再处理大异常。一个catch中可以捕获多个异常,用|分割

    finnally里面尽量不使用return或throw

    try,catch中有return或throw语句时,系统遇到这两个语句,先跳到finally里面执行finally里面的语句,执行玩再回到try,catch中执行return或throw跳出该方法;

    如果finanlly中也含有return或throw方法,则会直接中finnally的return或throw处结束该方法,try,catch里的return或throw将得不到执行。

    try catch,finally块中,try块试必须的,catch和finally至少存在一个。

    System.exit(1)语句用来退出虚拟机。

    throw和throws异常

    如果throw语句抛出的是Checked异常,则该throw语句要么处于try块中,显式捕获异常,要么放在一个带throws声明抛出的方法中,即把该异常交给该方法的调用者处理。运行时异常无需处理。

    示例1:

    try{

    throw new Exception(“大饭店”);

    }

    catch(Exception e)

    {

    }

    示例2:

    public static void throwChecked(int a)throws exception

    {

     throw new Exception(“”);

    }

     第14章 注解

    注解不影响代码的执行,不同的注解有不同的含义

    注解分两类:

    一类----Annotaton 是java.lang.Annotation接口。

    两个常用的注解 :限定重新父类方法@Override; 标记已过时@Deprecated

     第15章 输入/输出

    序列化----把Java对象转换成二进制字节流,然后把二进制字节流写入网络或者永久存储器。

    第16章 多线程

    1、并发性和并行性

          并行指同一时刻有,有多条指令在多个处理器上同时执行;

          并发指同一时刻只能有一条指令执行,但多个进程指令被快速轮换执行,使得在宏观上具有多个进行同时执行的效果。

    2、进程是系统进行资源分配和调度的独立单位。

          一个进程可以拥有多个线程,一个线程必须有一个父进程。线程可以拥有自己的堆栈、自己的程序计数器和自己的局部变量,但不拥有系统资源,它与父进程的其他线程共享该进程所拥有的系统资源。

     3、创建多线程的两种方法

      继承Thread类

           实现Runnable接口

     4、线程的生命周期

           创建->就绪->执行->阻塞->死亡

         

     5、后台线程

        在后台运行的现成称为后台线程。

        特征:如果所有的前台现成都死亡,后台线程会自动死亡。

    6、线程安全

         同步与互斥

    7、线程通信

         wait , notify, notifyall

    8、线程池

    第18章

    1、类加载器

       当程序主动使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三个步骤来对该类进行初始化。

        类加载是讲类的class文件读入内存,并为之创建一个java.lang.Class对象,也就是说,当程序中使用任何类时,系统都会为之建立一个java.lang.Class对象。

     

  • 相关阅读:
    51nod 1565模糊搜索(FFT)
    51nod 1851俄罗斯方块(trick)
    可持久化线段树(主席树)模板
    BZOJ2191:Splite
    BZOJ4197:[NOI2015]寿司晚宴
    BZOJ3198:[SDOI2013]SPRING
    BZOJ1500:[NOI2005]维修数列
    BZOJ3527:[ZJOI]力
    BZOJ3160:万径人踪灭
    CODE[VS]1372:DNA
  • 原文地址:https://www.cnblogs.com/raindrop2007/p/7648038.html
Copyright © 2011-2022 走看看