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

学习目标

- 了解Java基础知识【第一章】

Java是各应用平台的基础,Java分为三大平台:Java三大平台javaSE(标准版)、javaEE(企业版)、javaME(迷你版)想要学习其他的平台应用,就必须先以了解Java SE为基础。Java SE可以分为三个主要部分:JVM(虚拟机)、JRE(执行环境)、JDK(工具,包括JRE)与Java语言。Java编译时并不直接编译为相依于某平台的0、1序列,而是翻译成中介格式的位码。位码文档就是JVM的可执行文件。
只要使用Java SE API的链接库,在安装有JRE的计算机上就可以直接运行,无需额外在程序中再安装链接库,可以由JRE直接提供。

- 了解JVM、JRE与JDK,并下载、安装、测试JDK【第一章】

为了能够运行Java撰写好的程序,必须要有Java虚拟机。JVM包括在Java执行环境即JRE中,所以为了运行Java程序,必须安装JRE。如果要开发Java程序,必须取得JDK。因为JDK中包含了JRE及开发过程中一些必要的工具程序。

JVM会架构在Solaris、Linux、Windows各种操作系统平台之上,简而言之,JVM可以让Java跨平台。Java原始码扩展名为.java,经过编译程序翻译为拓展名为.class的位码。如果想要执行位码文档,目标平台就必须安装JVM。JVM会将位码翻译为相依于平台的机器码。且不同平台要安装专属该平台的JVM,而对于Java程序而言,只认识一种操作系统即JVM。

JRE是Java的执行环境,包括Java SE API与JVM。JDK本身包含JRE和其他一些工具程序。

- 了解PATH、CLASSPATH、SOURCEPATH的作用并会设置【第二章】

三种环境变量:

1. PATH:

当输入一个指令而没有指定路径消息时,操作系统会依照PATH环境变量中设定的路径顺序,依次寻找各路径下是否有这个指令。可以执行echo %path%来查看系统PATH环境变量中包括哪些路径信息。

2.CLASSPATH:

想在JVM中执行某个可执行文件(.class),就要告诉JVM这个虚拟操作系统到那些路径下寻找文档。在命令指示符中编译完HelloWorld.java之后,在同文件夹下会出现拓展名为.class的文件。这个文件才是JVM可执行的文件,应通过classpath(简写作cp)指定其可执行文件的路径.

java -cp C:\workspace;C:\classes HelloWorld

用" . "表示搜索类文档时包括目前文件夹。

用CLASSPATH设定JAR文档时,应将其当作是特别的文件夹,若有些类路径经常使用,也可通过环境变量设定。

3.SOURCEPATH:

为了解决原始码文档与位码文档放在一起的问题,用src和classes两个文件夹来分别存放原始码文档和编译好的位码文档(用-source指定.java文件存放的文件夹,用-d指定位码文档的存放文件夹)。之后就可以在“命令提示符”模式下,切换到总文件夹 进行编译:

java -sourcepath src -d classes src/(文件名.java)

可以制定-verbose自变量,有助于区分SOURCEPATH与CLASSPATH。

4.学习安装使用JDK、Noetepad++的注意事项:

首先时要注意JDK的安装位置。这个过程一定要按照书上的过程一步步来,因为很多时候的一个忽略就容易造成学习过程的反复。

Notepad++的编译功能更便捷,但由于安装时使用的语言是英文所以比较麻烦

注意:代码中的头文件名称必须和文件名保持一致包括大小写的问题。

- 初步使用IDE(推荐NetBeans),会编译、运行、调试简单的Java程序【第二章】

在新建项目并进行编译运行时应注意主类名称和具体要编辑的文件名称,下方会有错误提示,单击最左侧图标会有改正提示

安装并使用git的过程和感受

对于很多初学者来说,安装并不麻烦,困难的是后面的设置过程,我参考了胡东晖学长的博客要注意的是:一切安装结束开始传代码的时候,一定是对直接保存代码的文件夹进行操作,因为指令只能匹配该文件夹中的文件。至于一次传一个文件还是多个文件的指令博客中写的很详细,根据实际敲指令即可。对于过程中出现的种种问题学长的博客最后都有对应的解决方法,非常详尽,值得我们学习。

学习中遇到的问题以及由此了解到的相关知识

1.理解封装、继承、多态:

阅读完教材中的解释后还是一知半解,从百度上找到了一篇关于这三个特性的博客:
封装、继承和多态是面向对象程序设计的三个核心特性对这个问题有了一些浅显的理解,在后续的课程中也会注意这三个特性的应用。

2.什么是环境变量?怎么完善的使用?

linux配置java环境变量(详细)内容非常具体详细,操作起来很便捷。shell变量就是计算机中用于记录一个值(不一定是数值,也可以是字符或字符串)用于不同的运算处理中的符号。

3。编程时总会遇到一个字“类”,类是什么?在编程中有什么具体的意义?
什么是类
纸上得来终觉浅,还需要再实践再体会。

4.对于java异常处理的一般原则和方法

5.接口与多态的理解和运用

6.Java的集合框架中的coleection与map的应用

7.API到底是什么,并行API如何使用,如何建立标准API架构

8.import是否会影响执行功能

9.java中调用注释的方法

10.java和c语言的语法如何互补学习并明确不同点

11.java的数据库建立和联系操作如何参考windows系统

12.对nio中的很多概念不清晰。参考浅析I/O模型

13如何解决局部变量的生命周期比对象短导致调用出错的问题

14.ArrayDeque为什么在操作栈堆的案例上比linkedlist要快

15.如何实现在各种API上对于多种类的实现Iterable接口的管理

16.Stream API的管道操作风格的具体含义是什么以及实际应用如何实现

17.为什么不建议用tostring()方法来显示时间信息

18.教材中的案例和教程均是在windows系统下完成,这样能达到学习java的要求吗?

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 9/9 1/1 20/20

参考资料:

百度经验-安装Notepad++教程

百度经验-Notepad++直接编译运行java代码

胡东晖学长的博客-使用git推送代码到开源中国以及IDEA环境下使用git

浅析封装、继承和多态

linux配置java环境变量(详细)

什么是类?

Java NIO:浅析I/O模型

20155203 2016-2017-2 《Java程序设计》第1周学习总结的更多相关文章

  1. 20155207 2016-2017-2 《Java程序设计》第九周学习总结

    20155207 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立 ...

  2. 20155201 2016-2017-2 《Java程序设计》第一周学习总结

    20155201 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 每一章的问题: 第一章 Java ME都有哪些成功的平台? 第二章 哪些情况可以使用impo ...

  3. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  4. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  5. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  6. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  7. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  8. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  9. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  10. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

随机推荐

  1. 无法执行程序。所执行的命令为 "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe" /noconfig /fullpaths @"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\b411ea32\b48a9fb\aun5r0xd.c

    解决方案 将应用程序池进程模型中的标识设为“LocalSystem”即可.

  2. 【OpenCV】透视变换矫正

    演示结果参考: 功能实现:运行程序,会显示图片的尺寸,按回车键后,依次点击需矫正的图片的左上.右上.左下.右下角,并能显示其坐标,结果弹出矫正后的图片,如图上的PIC2对话框.可以继续选择图片四个点进 ...

  3. [枫叶学院] Unity3d高级开发教程 工具集(一) 哈希列表——强大的自己定义数据集

    在日常开发中.数据集合是我们不可缺少的重要工具之中的一个.在C#中,.Net Framework也为我们提供了种类繁多,功能多样的数据集工具.在此,我基于List<T> 和 HashTab ...

  4. 3669. [NOI2014]魔法森林【LCT 或 SPFA动态加边】

    Description 为了得到书法大家的真传,小E同学下定决心去拜访住在魔法森林中的隐士.魔法森林可以被看成一个包含个N节点M条边的无向图,节点标号为1..N,边标号为1..M.初始时小E同学在号节 ...

  5. TensorFlow函数(一)tf.placeholder()函数

    tf.placeholder(dtype, shape=None, name=None) 此函数用于定义过程,在执行的时候再赋具体的值 参数: dtype:数据类型.常用的是tf.float32,tf ...

  6. Ajax请求与浏览器缓存

    在现代Web应用程序中,前端代码充斥着大量的Ajax请求,如果对于Ajax请求可以使用浏览器缓存,那么可以显著地减少网络请求,提高程序响应速度. 1. Ajax Request 使用jQuery框架可 ...

  7. ethereumjs/ethereumjs-vm-1-简介

    https://github.com/ethereumjs/ethereumjs-vm 其实这就是怎么自己使用该模块来生成一个类似geth客户端的以太坊虚拟机,然后进行各类区块链操作 SYNOPSIS ...

  8. Java特性之继承的应用

    继承是为了复用,复用是为了减少冗余的代码,提高开发效率. 这次我讲继承,仅仅只是讲它在我开发中一个小小的应用,就是关于Controller日志打印.我们通常使用日志,要么是使用slf或者是log4j. ...

  9. java 常用类2

    1.1 日期时间类 时间戳(timestamp):距离特定时间的时间间隔. 计算机时间戳是指距离历元(1970-01-01 00:00:00:000)的时间间隔(ms). 计算机中时间2019-04- ...

  10. vlc源码分析(五) 流媒体的音视频同步

    vlc播放流媒体时实现音视频同步,简单来说就是发送方发送的RTP包带有时间戳,接收方根据此时间戳不断校正本地时钟,播放音视频时根据本地时钟进行同步播放.首先了解两个概念:stream clock和sy ...