别让“熟悉感”迷惑了双眼---Java初步总结
因为软考,所以提前接触了Java,终于和这个好奇许久的东西见面了,不能说没有新鲜感,可是确实更多的是熟知感。不信?那就看看下面一个概述的总结图吧。
怎么样,却不说基本语法和面向对象部分,我们都是学过很久,用过多次了,就看不怎么使用的网络编程以及GUI,也是分别在三级网络考试和平常学习时稍稍接触过的,API更不说了,第一年的作品展应该没有少用吧。So,没有什么好说的了,很简单。
不可否认,拥有一颗“soeasy”的心去学习任何知识都是很棒的开始,但是如果只有这颗心,却没有相应的行动,就很有可能要向龟兔赛跑中的兔子了,很好的开始--悲惨的结束。熟悉感是我们学习的动力和兴趣保持点,但是面对一个新知识时,再熟悉中也会有陌生,所以,不要被“过多的熟悉感”迷惑了双眼---巩固相同,挖掘不同,最后实战演练,这才能让我们的熟悉感带给我们不一样的学习精彩!
鉴于此篇文章为总结文,所以不再详细介绍具体知识点,以新知识和总结为主。
话点一:Java概述
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。这一句话里说到了Java两大特点:一是跨平台,二是纯面向对象。这么说跨平台大家可能不太清楚,以前可能没有接触过,没有关系,看看下面两幅图的对比会不会清楚些。
图A:C语言
只要是用标准C开发的程序,使用不同的编译器编译后的可执行文件是可以在对应平台运行的,比如windows可以使用VS编译,那编译后的exe文件只能在windows下运行;liunx下可以使用GCC编译,生成的可执行文件只能在Liunx上运行。
图B:Java语言
由上图我们可以看出跨平台的原理:不能编译成机器语言,因为那样就与平台相关了,编译为中间语言,再由解释器二次编译,解释执行。
这样,C语言和Java语言的区别就在此很明显了:第一,C语言是编译执行的,编译器与平台相关,编译生成的可执行文件与平台相关;第二,Java是解释执行的,编译为中间码的编译器与平台无关,编译生成的中间码也与平台无关(一次编译,到处运行),中间码再由解释器解释执行,解释器是与平台相关的,也就是不同的平台需要不同的解释器。
另外关于Java语言的一大特色:垃圾回收机制。垃圾回收的目的在于清除不再使用的对象。GC通过确定对象是否被活动对象引用来确定是否收集该对象。垃圾回收首先要判断该对象是否是时候可以收集。两种常用的方法是引用计数和对象引用遍历,具体不再详解。
话点二:基本语法
光是看这些理论知识,可以说和咱们学过的其他语言是一样的。只是在具体的写法上可能稍有区别,不过Java的书写和C++是极为相似的。所以,没什么说的,去用,去感受吧。
话点三:面向对象
说到面向对象,可以从这么三步考虑吧:
(1)考虑有什么类和对象
(2)这些类和对象有什么属性和方法
(3)类和类之间有什么关系
总的来说,Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。
话点四:API
关于API(Application ProgrammingInterface,应用程序编程接口),是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。所以,去用就行。但是用的前提是知道,这里就应了一句话:不怕不知道,就怕不知道。
话点五:GUI(Graphical User Interface,图形用户界面)
这里主要介绍了一些常用的布局管理器,这些管理器使得我们在界面控件控制上更为便利,不再需要一个一个的分别拖动位置,或者一个一个的设计宽度和高度等,大大提高了效率并且界面也更为整齐美化。
而关于事件模型,Java中的事件处理是基于授权事件模型的,一般步骤为:
STEP1: 确定事件源,明确什么组件或哪个组件要被处理;
STEP2: 确定事件对象,明确该组件上的哪些事件需要被处理;
STEP3: 实现事件监听器;即,编写实现事件监听器接口或继承事件适配器类的代码,以完成对应事件的处理。
话点六:网络编程
关于网络的基础知识,在上周的三级网络考试中已经有所接触过,这里主要学习了TCP协议和UDP协议的区别以及Socket编程。
TCP(transmission control protocol)协议是一种面向连接的协议,就是以前了解过的三次握手。客户机发出请求后,必须等到服务器进行反馈后才进行下一步操作。这样是非常可靠的,但是效率也是非常低的。所以有了另一种协议UDP(user dataprotocol),它在发送时无需建立连接,是一种b不可靠的连接,在这种协议中没有server和client一说,暂且称呼为发送端和接收端吧。这里一样理解,发送端就一个劲儿的发送请求,不管接收端有没有接收到,就是这样。这样极大的提高了效率,但是也必然变得不可靠了。
暂且就说到这里吧,理解的不是很好,也不够深刻,继续去充电学习~
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。