zoukankan      html  css  js  c++  java
  • 《Java从入门到精通》学习总结4

    1.

    程序运行期间,大部分数据都在内存中进行操作,当程序结束时,这些数据将消失。

    如果需要将数据永久保存,可使用文件输入流 / 文件输出流与指定的文件建立连接,将需要的数据永久保存到文件中。

    FileInputStream类与FileOutputStream类

    FileReader类与FileWriter类

    2.

    可以在类中定义枚举类型,相当于内部类:

    public class EnumTest {
        enum Constants2 {
            Constants_A, Constants_B
        }
    
        public static void main(String[] args) {
            for (int i = 0; i < Constants2.values().length; i++) {
                System.out.println("枚举常量有:" + Constants2.values()[i]);
                System.out.println('枚举常量:" + Constants2.values()[i] + "在枚举常量中的索引位置是:" + Constants2.values()[i].ordinal());
            }
         }
    }

     在枚举类型中,可以添加构造方法,但是规定这个构造方法必须为private修饰符所修饰

    3.

    向下转型操作通常会出现问题(ClassCastException),而泛型机制有效地解决了这一个问题

    在JDK1.5版本以后,提出了泛型机制

    定义泛型类时,一般类型名称使用T来表达,而容器的元素使用E来表达

    public class OverClass<T> {
        private T over;
    
        public T getOver() {
            return over;
        }
        public void setOver(T over) {
            this.over = over;
        }
    
        public static void main(String[] args) {
            OverClass<Boolean> over1 = new OverClass<>();
            OverClass<Float> over2 = new OverClass<>();
        }
    }

    4.

     在Java中主要提供两种方式实现线程,分别为继承java.lang.Thread类、实现java.lang.Runnable接口。

    实质上,Thread类实现了Runnable接口,其中的run()方法正是对Runnable接口中的run()方法的具体实现。

    start()方法启动线程。主方法线程启动由Java虚拟机负责,程序员负责启动自己的线程。如果不调用start()方法,线程永远都不会启动。

    5.

    线程具有生命周期,其中包含7种状态,分别为出生状态、就绪状态、运行状态、等待状态、休眠状态、阻塞状态和死亡状态。

    线程被创建到线程实例调用start()方法之前,是出生状态;

    调用start()方法之后,是就绪状态;

    线程得到系统资源后进入运行状态;

    当处于运行状态下的线程调用Thread类中的wait()方法时,该线程便进入等待状态;

    进入等待状态的线程必须调用Thread类中的notify()方法才能被唤醒,而notifyAll()方法是将所有处于等待状态下的线程唤醒。

    当线程调用Thread类中的sleep()方法时,则会进入休眠状态;

    如果一个线程在运行状态下发出 输入/输出请求,该线程进入阻塞状态;输入/输出结束后线程又进入就绪状态;

    当线程的run()方法执行完毕时,线程进入死亡状态;

  • 相关阅读:
    Dicom文件转mhd,raw文件格式
    李宏毅机器学习笔记6:Why deep、Semi-supervised
    李宏毅机器学习笔记5:CNN卷积神经网络
    Oracle数据库类型总结
    Oracle数据库连接生成DataX的job-Json
    [JavaWeb基础] 030.dom4j读取xml的4种方法
    [JavaWeb基础] 029.OGNL表达式介绍
    eatwhatApp开发实战(五)
    [Axure教程]0005.系统函数与变量介绍
    eatwhatApp开发实战(四)
  • 原文地址:https://www.cnblogs.com/czp2bconfident/p/10421168.html
Copyright © 2011-2022 走看看