正式进入Java的学习以后,发现要学习的东西好多,要整理的东西也很多,和其他的语言,知识点有很多解不开的关系,不能独立的来看待和学习(当然,几乎所有的知识都不是独立的,以前欠的债啊。。。),好了,现在就开始我的java之旅。
Java是一种计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。Java分为三个体系JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版),JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平台企业版),JavaME(J2ME)(Java 2 Platform Micro Edition,java平台微型版)。
由于java是在C++的基础上进行改写的,所以,它的风格非常接近c++,而C#又是模仿java的,所以这二者又有很多相似之处,关于这些,我会在以后的博客中加以总结。言归正传:太阳微系统(Sun Microsystems)对Java语言的解释是:“Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全、系统无关、可移植、高性能、多线程和动态的语言”,这也是几乎所有的教科书上对java语言特点的描述。只有真正使用了这门语言,才能切身体会它的特点,所以,这一部分就不在此赘述了。
java之所以具有以上特点,最根本的还是要看它的实现机制。
Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。
除了对一般的编译和解释方面的语法、规则和格式进行检查之外,java语言还提供了访问权限和类型转换合法性的检验,操作数堆栈溢出检验及参数类型合法检验。另外,java语言还提供了资源域概念,通过分配方案,设定不同的资源域,无需区分本地与远程。
JDK目录结构,我安装的是版本是jdk1.8.0_05。目录结构如下:
JDK\bin\:包括编译器、解释器、基本工具。
JDK\demo\:一些简单的示例。
JDK\include\:是Win32子目录,包括本地方法文件。
JDK\jre\:Java运行环境的根目录。
JDK\jre\bin:包括平台运行时的工具和类库的可执行文件和动态链接库文件。
JDK\jre\lib:包括Java运行环境的代码库、默认安装文件等。
JDK\lib:类库文件。
JDK\src.zip:源代码压缩文件。
JDK\javafx-src.zip:JavaFX脚本是一种声明式、静态类型编程语言。
JDK\db:JDK自带的数据库 - Derby。
java.lang包:Java语言包,主要包含与语言、数据类型相关的类。程序运行时,编译器自动引入该包。它封装了所有编写Java程序所需要的基本类,包括Object、Class、System等。其中,Object是所有类的根类,任何类都是继承该类而建立的;Class类是由编译器动态生成对象的一个伴随每一个类的特殊类,它的对象包含所对应的类的所有信息;System类是一个final类,主要提供标准I/O和对系统环境信息的访问等,该类不能被实例化。
java.awt包和javax.swing包:窗口工具包,提供操作图形用户界面的基本功能。包括创建图形界面元素的类,通过这些类,可以控制应用程序的外观界面。
java.io包:Java输入/输出包,包含与输入和输出操作相关的类,提供了不同的输入/输出设备读写的支持。
java.util包:提供应用程序类及集合类等常用工具类。包含实现不同功能的类。
java.net包:Java网络包,提供与网络操作相关的类
java并没有我想象当中的那么高深莫测,当然,也没有那么简单,它和其他语言有着千丝万缕的联系,在学习java的时候,总有一种纠缠不清,理不开的感觉,需要查的资料很多,需要总结对比的地方很多,越是学习,就越和以前的知识联系的多了起来,通过近一段时间的学习,让我开始以另一种视角看待学习,看待以前自己的学习方式和思维习惯,或许,这真的是一场美丽的邂逅。