前段时间受公司业务发展需要,探索性进入Android开发领域。一切从零开始,java基础,Java进阶,Android框架学习,Eclipse熟悉,最终到第一个即时通讯App完成,历经一个月的时间。实现内容包含一个即时通讯服务端,Mysql数据库搭建,Android客户端通讯App。完成之后公司出于战略考虑,暂时放弃了Android。让我觉得,哎,还是不要太相信领导的话为好...>..<...趁着记忆还不算模糊,打算把这段经历和学习过程记录下来,以备日后需要。
只会一门语言的只能称之为技术人员,真正的程序员不应该局限于语言,或者局限于平台。我从来不争论Java好还是.net好,或者windows方便还是Linux强大,技多不压身,趁年轻,横向开阔视野,东西只有亲历过才知道好与不好,如果能达到天下武功均可为我所用,那简直是最好了。
好了,开始介绍Java,最好学习Java的方式是和.Net对比。想象做.NET开发我们需要什么?一个运行环境.net framework,一套包含基础BCL,编译器等的SDK,以及一个开发工具visual studio,Over,那么我们从上面提的角度来学习java.
首先Java的运行环境是JRE,等同于.Net Framework,Java的开发工具套件为JDK,JDK就是Java Development Kit.简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。你装JDK的话JRE也就自动安装了。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。JDK分为Java SE,J2EE,J2ME三个版本,它的组成基本组成有:
javac – 编译器,将源程序转成字节码 ------------------对应于.Net CSC(CSC是.Net的编译器,更多详情请自行百度。。。) jar – 打包工具,将相关的类文件打包成一个文件----------跟.Net生成类库的过程类似,相当于.Net的命令csc.exe /t(arget):library /r(eference):xxx.dll xx.cs (意思是生成目标为类库 生成的时候引用xxx.dll 同时将xx.cs一起编译) javadoc – 文档生成器,从源码注释中提取文档-----------.Net有第三方文档工具 jdb – debugger,查错工具----------------------------略过 java – 运行编译后的java程序(.class后缀的)----------Java的”CS“文件是以.java结尾的,经过编译之后变为.class.(.Net编译过的是什么?) appletviewer:小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。---有点类似与.Net的Cassini(好吧如果你不知道Cassini的话又请自行百度。。。) Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。----------------Java的本地库调用名称为JNI,即Java native interface,等同于P/invoke,当然java对于这个还有专门的NDK,就是方便C/C++和java互相调用的一个SDK套件,读者不用专门了解,后续android部分会有补充 Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。-------------类似于.net的ILSPY Jconsole: Java进行系统调试和监控的工具----------------略过 JavaSE类似与开发winform所用的SDK,J2EE类似与开发Asp.net MVC所用的SDK,J2EE一般都会用Spring和Hbernate 前者包含IOC和AOP功能等,后者是ORM框架,跟.Net的EF类似,J2ME类似与开发winCE程序所用的SDK。 Java的语法和.Net类似,它的数据结构和.Net中的差不多,只不过叫法有所差异,这个都可以用的时候在查,快速上手最重要,如果你对.Net有自信,那么开发Java不是一个很难的过程。Java的类API网上有CHM手册下载,所以关于java语言本身,入手是可以很快的。我就介绍到此为止了。更多的请移步:http://www.w3cschool.cc/java/java-data-structures.html ,当然这里也是简单介绍。大家了解之后可以发现,真心很类似,毕竟C#就是从Java发展而来的。