• 20155323 2016-2017-2 《Java程序设计》第6周学习总结


    20155323 2016-2017-2 《Java程序设计》第6周学习总结

    教材学习内容总结

    • 串流:衔接数据的来源和目的地就是串流对象。
    • I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。Java的I/O流提供了读写数据的标准方法。任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法。
    • Java的IO模型设计非常优秀,它使用Decorator模式,按功能划分Stream,您可以动态装配这些Stream,以便获得您需要的功能。例如,您需要一个具有缓冲的文件输入流,则应当组合使用FileInputStream和BufferedInputStream。
    • 对输入流只能进行读操作,对输出流只能进行写操作,程序中需要根据待传输数据的不同特性而使用不同的流
    • java中将输入输出抽象称为流。
    • 通过创建Thread实例来执行Runnable实例定义的> run方法可以实现多个线程。
    • 继承Thread类也可以进行多个进程,但没有Runnable的弹性好,运用Lambda表达式也可以简化程序。
    • ThreadGroup:用来管理群组中的线程,enumerate可以取得群组中的所有线程,activecount()用来取得线程的数量。
    • synchronized&&volatile:线程存取同一对象相同资源时可能会引发竞速情况。
    • Executor:HashMap、TreeMap为两个常用操作类。
    • .并行Collection:CopyOnWriteArraySet操作set接口,使用于一个很少进行写入操作,而使用迭代器频繁的情境。
    • 线程若调用get()方法进行读取操作,先取得读取锁定,这样其他线程后续也可再取得读取锁定。
    • +Condition,其中的await()、signal()、signalAll()方法可视为Object的wait()、notify()、notifyAll()方法的对应。

    教材学习中的问题和解决过程

    不清楚start()方法和run()方法的区别

    经过查阅资料之后我明白了:只有调用了start()方法,才会表现出多线程的特性,不同线程的run()方法里面的代码交替执行。如果只是调用run()方法,那么代码还是同步执行的,必须等待一个线程的run()方法里面的代码全部执行完毕之后,另外一个线程才可以执行其run()方法里面的代码。

    代码调试中的问题和解决过程

    我发现自己的每个代码都出现了这个提示

    代码托管

    • 代码提交过程截图:

    点评过的同学博客和代码

    20155326
    20145231
    20145209
    20155202
    20155302

    感想

    这周由于要放假,学习有些松懈,希望下个周能更加努力。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 100/100 1/4 10/10
    第二周 100/200 1/5 10/20
    第三周 100/300 1/6 10/30
    第四周 300/700 1/7 10/40
    第五周 400/1100 1/8 20/60
    第六周 300/1400 1/9 20/80
  • 相关阅读:
    linux-PAM
    linux runlevel运行级别
    Nmap原理02
    Nmap原理-01选项介绍
    Java面试题04-final关键字详解
    Java面试题03-访问权限控制
    Java设计模式面试题 01
    Linux在Tomcat下部署JavaWeb项目
    Linux中cat、more、less、tail、head命令的区别
    Git 几个重要操作指令对比
  • 原文地址:https://www.cnblogs.com/fixedl/p/6660100.html
Copyright © 2020-2023  润新知