zoukankan      html  css  js  c++  java
  • 20155207王雪纯 2006-2007-2 《Java程序设计》第1 周学习总结

    20155207王雪纯 2006-2007-2 《Java程序设计》第1 周学习总结

    教材学习内容总结

    第一周重点学习第一章和第二章。
    第一章总的来讲,我认为可以称之为本书的绪论,介绍了包括JAVA名字的由来等历史背景、JAVA的三大平台,在我们JAVA学习中则重点学习JAVA的JAVA SE平台,JAVA SE是JAVA平台标准版的简称,以及需要安装的JDK和API基本类库。同时对于一些重点我也进行了较为详细的学习。

    了解JAVA的历史
    为什么需要JAVA程序设计语言

    JAVA一开始为了消费性数字产品设计,1993年第一个全球信息网浏览器Mosaic诞生,James Gosling认为因特网与JAVA的一些特性不谋而合,利用JAVA Applet在浏览器上展现互动性媒体,立即引起了许多人的注意。JAVA跨平台的特性是的他一跃成为当今最流行的程序设计语言。

    JCP与JSR、RI、TCK的关系

    JSR必须经过JCP投票通过才能成为最终的标准文件,JSR成为最终文件后对其成果做出免费且开发原始码的参考实现,称为RI,由TCK作为技术兼容测试工具箱。

    Oracle JDK与Open JDK

    OpenJDK是Sun在2006年末把Java开源而形成的项目,Oracle JDK采用了商业实现,而OpenJDK使用的是开源的FreeType。Oracle JDK中还会存在一些Open JDK没有的、商用闭源的功能。但那实际上,现如今使用的OpenJDK 7和Oracle JDK 7在程序上是非常接近的,两者共用了大量相同的代码,所以我们编译的OpenJDK,基本上可以认为性能、功能和执行逻辑上都和官方的Oracle JDK是一致的。

    JAVA学习路径
    JVM/JRE/JDK
    面向对象技术——继承、封装和多态

    封装是实现面向对象程序设计的第一步,封装就是将数据或函数等集合在一个个单元(类)中。被封装的对象被称为抽象数据类型。封装的意义在于保护代码或数据免受我们无意中的破环,保护数据不被其他使用该数据的函数意外的修改。

    继承主要实现重用代码,节省开发时间。根据我的理解我想举个例子来说明继承是什么,但是否正确还请老师为我评判。大一的两个学期我们都学了高数,上学期由A老师教,下学期由B老师教。B老师就是A老师的继承。

    多态是统一操作作用于不用的对象,可以有不同的解释,产生不同的执行结果。多态存在于编译和运行中。编译时的多态为我们提供了运行速度快的特点,而运行时的多态则带来了高度灵活和抽象的特点。

    区别JRE和JDK

    一句话总结两者的区别就是JDK用于撰写JAVA,JRE用于执行JAVA。
    但通常我们下载的JDK本身都附带Private JRE。

    JAVA——从Hello World开始

    在windows系统下,我开始了‘Hello World!’

    按照书上的步骤下载安装JDK后,进行设置pass变量

    然后把新建的JDK的位置地址复制过来

    就能实现‘Hello World!’了

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

    • 第三章:Java编程中如何区分常量和变量?

    常量即保持常态的量,例如定义:final int a=1;则a此时为常量。变量,也就是可变的量,例如定义int a;则a此时为变量。

    • 注:String的意义:String不属于8中基本数据类型,String是一个对象。由于对象的默认值是null,所以String的默认值是null。new String()和new String("")都是申明一个新的空字符串,而不是null。

    String str="hello"和String str=new String("hello")的区别:

    String str = "hello": 如果内存中已经为hello字符串分配了内存,那么str指向hello内存对象的地址;
    String str = new String("hello"); 内存中重新分配一片内存区域存放hello, 然后str指向hello,也就是内存中实际有2个hello对象,而且存放的地址不一样。

    • 第四章:为什么不能说类是JAVA语言中对对象的表示?

    类的范围比较大,一个类可以只有方法而没有属性,而没有属性的类是不能称作对象的,比如对应人的动作可以有跑、跳、走等,这个表示属性的类就没有对象。

    • 第五章:JAVA中方法和封装有什么区别?

    1、构造方法的参数用来创建对象时初始化变量,属性的封装可以用来设置属性的值,和获取属性的值。
    2、构造方法是没有返回值的,而属性的封装是有返回值的。

    • 第六章:继承和多态有什么区别?

    继承,子类继承父类中所以的属性和方法,但是对于private的属相和方法,由于这个是父类的隐私,所以子类虽然是继承了,但是没有可以访问这些属性和方法的引用,所以相当于没有继承到。很多时候,可以理解为,没有继承。

    多态:就是父类引用可以持有子类对象。这时候只能调用父类中的方法,而子类中特有方法是无法访问的,因为这个时候(编译时)你把他看作父类对象的原因,但是到了运行的时候,编译器就会发现这个父类引用中原来是一个子类的对像,所以如果父类和子类中有相同的方法时,调用的会是子类中的方法,而不是父类的。

    • 第七章:接口的作用?

    接口的作用简单一点就是:接口是用来标记类的,不同的类属于不同的接口(通过向上转型),管理接口比管理各种各样的类方便多了,接口体现了抽象的观点

    • 第八章:什么是异常处理机制?

    异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提高程序健壮性。

    Java的异常分为两种,checked异常(编译时异常)和Runtime异常(运行时异常)。Java异常机制主要依赖于try、catch、finally、throw、throws五个关键字。

    • 第九章:collection和map是什么?

    Collection是最基本的集合接口,一个Collection代表一组对象,即Collection的元素。

    Map也是一个接口,提供key到value的映射。一个Map中不能包含相同的key,每个key只能映射一个value。

    • 第十章:串流与输入/输出有什么关系?

    JAVA是以串流的方式来处理输入和输出的,即是两者的衔接。

    • 第十一章:多线程与并行API有什么关系?

    • 第十二章:Lambda有什么作用?

    使用Lambda设计的代码会更加简洁。当编写Lambda表达式时,也会随之被编译成一个函数式接口。

    • 第十三章:如何确定准确的时间与日期?

    • 第十四章:为什么要使用NIO?

    NIO 的创建目的是为了让 Java 程序员可以实现高速 I/O 而无需编写自定义的本机代码。NIO 将最耗时的 I/O 操作(即填充和提取缓冲区)转移回操作系统,因而可以极大地提高速度

    • 第十五章:如何调用API?

    java发一个http请求过去,带上参数就可以了啊,跟我们在浏览器上访问资源是一样的 只是它返回的是json格式的数据而已

    • 第十六章:什么是JDBC?

    JDBC是JAVA联机数据库的标准规范。具体而言,他定义一组标准类与接口,应用程序需要联机数据库时调用这组标准API。

    • 第十七章:什么是反射与类加载器?

    反射机制指的是程序在运行时能够获取自身的信息。在java中,只要给定类的名字,那么就可以通过反射机制来获得类的所有信息。

    • 第十八章:什么是泛型?

    泛型,即“参数化类型”。参数化类型就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(形参),然后在使用/调用时传入具体的类型(实参)。

    环境变量安装过程:

    第一步:新建变量
    变量名:JAVA_HOME
    变量值:C:Program FilesJavajdk1.7.0

    第二步:新建变量
    变量名:CLASSPATH
    变量值:.;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib oos.jar;

    第三步:编辑变量,找到变量名Path,点击编辑按钮,点击编辑文本按钮,在变量值首部添加 .;%JAVA_HOME%in;即可。

    代码托管

    • 我在Linux和windows系统下分别按照学长和百度上的博客进行git的设置,但到了最后一步总会显示没有访问权限

    然后尝试在cmd中输入老师给的命令

    最后通过提问的方式,得知要在git bash中输入该命令并且在当前文件夹中有statistics文件的情况下

    还是出现了访问限制的问题

    参考:软件工程软件的估计为什么这么难软件工程 估计方法

    参考资料

  • 相关阅读:
    计算机一些常见名词解释
    [MSF]server/capture/http_javascript_keylogger键盘记录
    .net(C#)访问Oracle数据库的几种免安装组件的对比
    C# UserControl 判断是否是设计模式中
    Python_cmd的各种实现方法及优劣(subprocess.Popen, os.system和commands.getstatusoutput)
    python 怎么启动一个外部命令程序, 并且不阻塞当前进程
    创建注记图层C# IFeatureWorkspaceAnno
    VisualSVN Server 导入已存在的库
    带您了解Oracle层次查询
    win7系统使用engine进行开发报错,“未能加载文件或程序集”
  • 原文地址:https://www.cnblogs.com/lnaswxc/p/6434599.html
Copyright © 2011-2022 走看看