zoukankan      html  css  js  c++  java
  • 20155234 2016-2017-2 《Java程序设计》第6周学习总结

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

    教材学习内容总结

    • Java将输入/输出抽象化为串流,数据有来源及目的地,衔接两者的是串流对象。
    • 从应用程序角度来看,如果要将数据从来源取出,可以使用输入串流,如果要将数据写入目的地,可以使用输出串流。
    • 在来源与目的地都不知道的情况下可以设计一个通用的dump()方法,该方法接受InputStream与OutputStream实例,分别代表读取数据的来源,以及输出的目的地
    • 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的功能。
    • ConcurrentHashMap是ConcurrentMap的操作类,ConcurrentNavigableMap是ConcurrentMap的子接口,其操作类为ConcurrentSkipListMap,可视为支持并行操作的TreeMap版本。

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

    书上p233页的代码范例中的“!input.matches("d")”是什么意思?
    通过看书上对代码的解析,得到如下解释:String 的 matches() 方法中设定了"d
    ",这是规则表示式,表示检查字符串中的字符是不是数字,若是则 matches() 会返回true。

    错题总结

    • 下列属于非受检异常的是哪项?
      A.SQLException
      B.IOException
      C.NullPointerException
      D.OutOfMemoryError
      答案:D
      异常分为受检异常与非受检异常,OutOfMemoryError属于Error为非受检异常
    • 分别插入到第5行,哪几行允许代码编译?
      A .Map c= new SortedMap();
      B .HashMap c= new HashMap();
      C .HashMap c= new Hashtable();
      D .SortedMap c= new TreeMap();
      E .ArrayList c= new ArrayList();
      F . Map c = new LinkedHashMap();
      答案:BDF

    代码托管


    结对及互评

    结对搭档

    1. 正确使用Markdown语法(加1分)
    2. 模板中的要素齐全(加1分)
    3. 排版精美的加一分
    4. 代码Commit Message规范的加1分
    5. 进度条中记录学习时间与改进情况的加1分
    6. 感想,体会不假大空的加1分
    7. 教材学习中的问题和解决过程。
    8. 动手写新代码的加1分
      9.代码超过300行加2分

    上周点评博客

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

    通过这周的学习知道了java可以使多个线程并行的,cpu会在多个线程之中根据一定的规则选择进行,这两章感觉就是好多种java的类,这几周好像学习内容都是一些类、接口的运用,善用API进行查询相关接口、类的作用非常重要。还有,感觉学java就相当于是去学一门语言,就像英语、汉语一样,需要在脑海中去形成使用它的语法习惯,这样在编写代码是,就会自然而然地敲出相应的程序,然而要形成这种习惯,并熟练运用其中的各种句式、搭配还有相当长的一段路要走。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积)
    目标 5000行 30篇
    第一周 3/3 1/1
    第二周 105/108 1/2
    第三周 205/313 1/3
    第四周 402/710 1/4
    第五周 327/1037 1/5
    第六周 900 /1937 1/6

    参考资料

  • 相关阅读:
    java内存泄露
    hbase java api
    配置CRT远程登录
    kafka分区消费模型
    JAVA内存区域
    JVM分代和垃圾回收
    spring中bean的作用域
    分布式RPC
    session共享
    ZooKeeper实现分布式session
  • 原文地址:https://www.cnblogs.com/zxm20/p/6648778.html
Copyright © 2011-2022 走看看