zoukankan      html  css  js  c++  java
  • 20145313张雪纯 《Java程序设计》第6周学习总结

    20145313张雪纯 《Java程序设计》第6周学习总结

    教材学习内容总结

    • 将数据从来源中取出,可以使用输入串流;将数据写入目的地,可以使用输出串流。
    • 输入串流代表对象为java.io.InputStream实例,输入串流代表对象为java.io.OutputStream实例。
    • 不使用InputStream与OutputStream时必须使用close()方法关闭串流。
    • FileInputStream是InputStream的子类,可以指定文件名创建实例,一旦创建文档就开启,可用来读取数据。FileOutputStream是OutputStream的子类,可以指定文件名创建实例,一旦创建文档就开启,可用来写出数据。
    • 无论用FileInputStream还是FileOutputStream,不使用时都要用close()来关闭文档。
    • FileReader、FileWrite可以对文档做读取与写入,读取或写入时会默认使用操作系统默认编码来做字符转换。
    • 若想在main()以外独立设计流程,可以撰写类操作java.lang.Runnable接口,流程的进入点是操作在run()方法中。
    • 如果主线程中启动了额外线程,默认会等待被启动的所有线程都执行完run()方法才中止JVM。
    • 线程有优先权,可使用Thread的setPriority方法设定优先权。
    • 线程完成run()方法后就会进入Dead,进入Dead的线程不可以再次调用start()方法。

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

    p345,有关volatile部分不太清楚。
    package cc.openhome;

    class Variable1 {
        static int i = 0, j = 0;
    
        static void one() {
            i++;
            j++;
        }
    
        static void two() {
            System.out.printf("i = %d, j = %d%n", i, j);
        }
    }
    
    public class Variable1Test {
        public static void main(String[] args) {
            Thread thread1 = new Thread(() -> {
                while (true) {
                    Variable1.one();
               }
                });
        Thread thread2 = new Thread(() -> {
                while (true) {
                    Variable1.two();
                }
            });
        
            thread1.start();
            thread2.start();
        }
    }
    

    为何结果会有时出现j远大于i的情况?

    代码托管



    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 200/200 1/1 20/20 编写简单程序
    第二周 350/550 1/2 30/30 用IDE调试修改程序
    第三周 500/1050 1/3 35/85
    第四周 500/1550 1/4 30/115
    第五周 500/2050 1/5 30/145
    第六周 700/2750 2/7 30/175

    参考资料

  • 相关阅读:
    关于管理单元初始化失败的解决方法
    如何快速在两台电脑之间传输大文件
    拿到商标受理通知书就可以打上“TM”就可以使用吗?
    山里王土蜂蜜
    我的博客今天1岁344天了,我领取了新锐博主徽章
    Winxp Stop c0000218 unknown hard error
    设置网易博客、新浪博客、博客园的windows live writer帐户支持
    邮件变成了Winmail.dat
    outlook 2007 .pst文件过大,提示:“磁盘空间已满,无法删除邮件”
    git 本地给远程仓库创建分支 三步法
  • 原文地址:https://www.cnblogs.com/entropy/p/5375179.html
Copyright © 2011-2022 走看看