现阶段正在准备软考,需要学习Java版的设计模式,于是学习J2SE成为了最先的准备,了解Java基本语法,为更好的学习设计模式打基础。
Java2平台包括:标准版(J2SE(Standard Edition))、企业版(J2EE(Enterprise Edition))和微缩版(J2ME(MicroEdition))三个版本 。分别应用于基础知识的学习(Jav语言核心类),企业级开发(应用的类,更全面,更高级),消费类电子产品的软件开发(手机,智能卡等)。作为菜鸟,我们先从J2SE学起,来掌握最基本的语法。先看这张图:
一,对于Java的概述,这里主要说一下他的两大优点(核心机制):
1,Java是一种跨平台性非常强语言,实现了一次编写多种平台使用。这个主要基于它的一个核心机制:Java虚拟机:
2,Java核心机制2:垃圾回收处理会自动进行,无需程序员精确控制和干预!大大方便了程序员的工作。
二,对于Java的基本语法,和VB,C#等语言的都大同小异,需要我们求同存异的学习即可:这里只是提纲挈领一下:
三,面向对象,是非常重要的基础知识,前边我写过此块知识的博客:
回头看——面向对象 ,这里只不过将这些面向对象知识运用到了Java中了,我觉的我们要做到的看着我下边这张图来回忆起,或者说讲出来这些知识:
* :在说下边内容以前,先说说Java API文档的重要性,下载地址: http://www.oracle.com/technetwork/java/javase/downloads/index.html,其实下边的学习内容都可以说是学习Java API文档,这里先介绍一下常用的包:
四,对于Java的异常处理,我认为和C#的极为相似,但是这里的异常类感觉很多,需要我们多查API文档,
先看一下分类:
Throwable为其的所有的父类,像数据结构的中的树一样:
当然有了异常就需要我们捕捉了,这里和C#中一样,不再过多赘述:
五,数组,这个我觉的更不用说了,VB,C#中都是一样的,理论都是一样的。但是数组设计到多个数,更有二维,三维数组等,可以是一些程序变的复杂,算法变的复杂,我们需要内心做好这两点:
当然分析内存需要我们通过画图不断的来练习,算法这里只是列举了最简单的几种,需要我们静下心来研究这些,会在软考结束后,抽短时间学习一下各种算法的。
六,常用类,一章只是学习了一些我们经常会使用到的类,这里提倡大家多看JAVA API文档,通过学习API文档来不段学习这些类,并掌握这些类:
七,容器,也是我们经常用到的,例如堆,栈,集合,数组等等,这里需要我们经常用的这几个知识点:
一个图为:
简单解释:
还是那句话,通过API文档来加深学习!
八,流(Stream):用于Java中对于数据的输入/输出操作。简单用图描绘下输入输出的原理:这张图中描述了,输入,输出,节点,处理等类型的流,并画出了这些流用来连接的两端的各种类型。
对于流的分类也有很多种:
上边列出的四种流是最基础最重要的类型,需要我们掌握,对于节点流和处理流,大家看这张图来学习:
九,多线程处理机制:
1,理解:线程是一个内部的顺序控制流,也就是cpu要处理的一件事,这件事有他的先后顺序,完成这件事也就是线程结束。多线程简单理解就是CPU同时处理着多件事!
2,创建:对于下边两种方法,第一种要比第二种更加灵活,因为线程接口就一个方法,这种情况下,我们能实现接口不用继承。
3,线程的同步:对于线程的控制方法,线程的优先级,这些在API文档很容易查到,这点我说一下线程的同步:就是为了保证数据的完整性,在特定时间内我们只能允许特定的线程访问此数据。例如,对于数据的修改我们不能让两个线程同时进行,这样就乱套了。我们引入下边关键字来保证同一时间内只能有一个线程访问一个对象:
十,网络编程:这是针对当今社会趋势,必须要学习的,网络已经融入到每个人的生活中。
1,首先需要了解网络通信协议分层,自我理解就是为了方便程序员,分层为我们提供了最简便的接口,把计算机底层的接口进行加工封装。详细看百科:网络分层。
2,IP协议:保证可以查找到指定的电脑。也就相当于我们每个学生都有一个学号一样。具体IP知识看百科:IP
3,TCP/UDP:
那么如何将两台电脑联系起来进行通信呢:还需要
这样再加上IP就可以将两台电脑联系起来了,就可以进行简单的通信了。
十一,Gui的学习,就是正对Java中一些图形,控件类的进行的学习。
1,包,ATW:
2,布局管理器,共有5种,前三种需要看着名字说出它是怎样进行布局管理的,其它的查询API文 档学习:
3,事件的监听,这里的原理其实就是观察者模式中的监听器原理,这里主要是针对控件的各种事件进行监听,例如:按钮的单击事件,文本框的输入回车事件,键盘的按下事件,鼠标的单击事件等等,都有指定的方法名:ActionEvent,MouseEvent,WindowEvent,KeyEvent等。