zoukankan      html  css  js  c++  java
  • 20145222黄亚奇《Java程序设计》第6周学习总结

    教材学习内容总结

    第十章

    • Java将输入/输出抽象化为串流,数据有来源及目的地,衔接两者的是串流对象。
    • 从应用程序角度来看,如果要将数据从来源取出,可以使用输入串流,如果要将数据写入目的地,可以使用输出串流。
    • 在来源与目的地都不知道的情况下可以设计一个通用的dump()方法,该方法接受InputStream与OutputStream实例,分别代表读取数据的来源,以及输出的目的地
    import java.io.*;
    
    public class IO {
        public static void dump(InputStream src, OutputStream dest)
                                   throws IOException {
            try (InputStream input = src; OutputStream output = dest) {
                byte[] data = new byte[1024];
                int length;
                while ((length = input.read(data)) != -1) {
                    output.write(data, 0, length);
                }
            }
        }
    }
    
    • 要将某个文档读入并另存为另一个数据,可以由命令行操作如下
    java cc.openhome.Copy c:workspaceMain.java C:workspaceMain.txt
    
    • InputStream、OutStream提供串流基本操作,如果想要为输入/输出的数据做加工处理,则可以使用打包器类。常用的打包器具备缓冲区作用的BufferedOutputStream、BufferedInputStream,具备数据转换处理的DataInputStream、DataOutputStream,具备对象串行化能力的ObjectInputStream、ObjectOutputStream等。
    • 解析几个常用子类:
      StringReader可以将字符串打包,当做读取来源,StringWriter可以作为写入目的地,最后toString()取得所有写入的字符组成的字符串。CharArrayReader、CharArrayWriter类似,将char数组当做读取来源以及写入目的地。
    • 如果处理串流字节数据,将这些字节数据转换为对应的编码制度,可以使用 InputStringReader、InputStringWriter打包。
    • printWriter与PrintStream处理可以对OutputStream打包之外,Printwriter还可以对writer进行打包,提供print()、println()、format()等方法。

    第十一章

    • 在java中,如果想在main()以外独立设计流程,可以撰写类操作java.lang.Runnable接口,流程的进入点是操作在run()方法中。
    • 在java中,从main()开始的流程会由主线程执行,可以创建Thread实例来执行Runnable实例定义的run()方法。
    • 操作Runnable接口的好处就是较有弹性,你的类还有机会继承其他类。若继承了Thread,那该类就是一种Thread,通常是为了直接利用Thread中定义的一些方法,才会继承Thread来操作。
    • 在使用高级并行API时,Lock接口的操作对象可实现synchronized的功能。
    import java.util.Arrays;
    
    public class ArrayList {
        private Object[] list;
        private int next;
       
        public ArrayList(int capacity) {
            list = new Object[capacity];
        }
    
        public ArrayList() {
            this(16);
        }
    
        public void add(Object o) {
            if(next == list.length) {
                list = Arrays.copyOf(list, list.length * 2);
            }
            list[next++] = o;
        }
        
        public Object get(int index) {
            return list[index];
        }
        
        public int size() {
            return next;
        }
    }
    
    • ConcurrentHashMap是ConcurrentMap的操作类,ConcurrentNavigableMap是ConcurrentMap的子接口,其操作类为ConcurrentSkipListMap,可视为支持并行操作的TreeMap版本。

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

    • StringReader可以将字符串打包,当做读取来源,StringWriter可以作为写入目的地,最后toString()取得所有写入的字符组成的字符串。CharArrayReader、CharArrayWriter类似,将char数组当做读取来源以及写入目的地。

    代码托管截图:

    其他(感悟、思考等,可选)

    不知不觉学习java已经六周了,感悟很多,使自己也明白了该怎样更好的分配学习时间和学习的侧重点。大学其实是没有学不会的东西,就看你敢不敢。有些事情是需要坚持,学习更需要坚持下去。

    学习进度条

    代码行数 博客量 学习时间 重要成长
    目标 5000行 30篇 400小时
    第一周 80 1 15 懂得了Java与C语言的区别,自己要花更多的时间来学习Java
    第二周 120 1 15 学会了使用IDE并成功运行代码,也发现了Java语法与C语言的相似。
    第三周 200 1 16 有了敲代码同时注释的意识并且运用了少许
    第四周 300 1 16 渐渐的了解了模块代码的结合操作
    第五周 500 1 15 持之以恒方能成功的做好每一件事
    第六周 500 2 18 慢慢用Java结合实际来解决问题|
  • 相关阅读:
    Struts2拦截器
    Struts2执行过程
    struts.xml属性extends的执行顺序和剖析源码
    Struts2请求流程图
    8.29 脏检查笔记
    transactionManager 以及datasource type解析
    Mybatis
    Interceptor
    ongl(示例3-6 多值类型的数据处理)
    ongl(原始类型和包装类型)
  • 原文地址:https://www.cnblogs.com/huangyaqi/p/5374279.html
Copyright © 2011-2022 走看看