前言

前段时间受公司业务发展需要,探索性进入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.

JavaSDK简介

首先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发展而来的。

开发工具和时间分配

介绍完JRE和JDK,接下来就是介绍开发工具,Java的开发工具主要有Eclipse和IntelliJ IDEA,后者同时也是大名鼎鼎的Resharper的开发商,我这里做Android开发,就选eclipse了。
 
说说我那一个月的时间是怎么分配的:
java+eclipse:  一周
android framework: 两周  
android客户端 app+mysql+服务端: 一周。
所以大家不用在java语言本身上纠结或者惶恐。尽管语言本身最贴近开发人员,却最远离实际运行的机器码。后续开发Android的时候我会介绍Java我是怎么用的。

下一讲

好了,今天就到此为止,下一讲我们就来对android framework做做分析。
想给女朋友做App的同志们请留意我的后续文章。
 

.Net程序员玩转Android系列之一~Java快速入门的更多相关文章

  1. .Net程序员玩转Android系列之二~Android Framework概要(1)

    从windows操作系统说起 人们总是喜欢从将陌生的事物和自己所了解的东西关联起来,以加深对未知事物的了解,这一讲我们从windows操作系统说起,逐步引领带大家走入android的世界.写任何程序都 ...

  2. 【转】.Net程序员玩转Android系列之三~快速上手

    原文:http://www.cnblogs.com/HouZhiHouJueBlogs/p/3962122.html 快速环境搭建和Hello World 第一步:JAVA SDK(JDK)的安装: ...

  3. .Net程序员玩转Android系列之三~快速上手

    快速环境搭建和Hello World 第一步:JAVA SDK(JDK)的安装: 官方下载地址: http://www.oracle.com/technetwork/java/javase/downl ...

  4. .Net程序员玩转Android系列之三~快速上手(转)

    转自http://www.cnblogs.com/HouZhiHouJueBlogs/p/3962122.html 快速环境搭建和Hello World 第一步:JAVA SDK(JDK)的安装: 官 ...

  5. [Linux] PHP程序员玩转Linux系列-lnmp环境的搭建

    1.PHP程序员玩转Linux系列-怎么安装使用CentOS 在平常的工作中,我作为PHP程序员经常要搭建一下环境,这个环境就是Linux系统下安装nginx,php,mysql这三个软件,对软件进行 ...

  6. [Linux] PHP程序员玩转Linux系列-搭建代码开发环境

    1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 有些同学可能觉得我写的都是啥yum安装的,随便配置一下而已,没啥技术含量,我的目的 ...

  7. [Linux] PHP程序员玩转Linux系列-备份还原MySQL

    1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 前几天有个新闻,说是g ...

  8. [Linux] PHP程序员玩转Linux系列-自动备份与SVN

    我的代码经常在开发修改,为了代码的安全性,比如哪天误删了文件,或者哪天改错东西了,可以恢复回来,我要搞代码备份.备份代码,我先做最简单的,使用linux的定时机制加shell命令打包文件,每天按日期保 ...

  9. [Linux] PHP程序员玩转Linux系列-nginx初学者引导

    1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转L ...

随机推荐

  1. TL431的应用

    TL431的应用 对于基准源,大部分人都认识TL431,因为它物美价廉,高精度,满足一般的应用场合,价格低至1毛钱,就算是ST高端品牌的也是几毛钱.这仅仅是其中一点,还有一点是因为它不仅仅可以作为基准 ...

  2. kali linux之免杀技术

    恶意软件: 病毒,木马.蠕虫,键盘记录,僵尸程序,流氓软件,勒索软件,广告程序 在用户非自愿的情况下安装 出于某种恶意的目的:控制,窃取,勒索,偷窥,推送,攻击 恶意程序最主要的防护手段:杀软 检测原 ...

  3. scrapy 安装技巧

    手动安装twisted插件: 1.在http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted用Ctrl+F搜索twisted,下载对应版本. 2.用pip安 ...

  4. zTree API中刷新树没效果

    想刷新树,但是根据API来的refresh无效 ---------------------------------------------------------------------------- ...

  5. Access MongoDB Data with Entity Framework 6

    This article shows how to access MongoDB data using an Entity Framework code-first approach. Entity ...

  6. [ActionScript 3.0] 利用ColorTransform实现对象(图片)的曝光过渡效果

    原图效果 过渡效果 这个效果可以用帧动画实现较为简单,只需要调节这个影片剪辑的色彩效果样式里面的高级选项的三个通道值,以下用代码简单测试,可作为文档类: package { import com.tw ...

  7. [Swift]堆栈Stack的两种版本:(1)用类包装Stack (2)用泛型包装Stack

    堆栈是一个在计算机科学中经常使用的抽象数据类型.堆栈中的物体具有一个特性: 最后一个放入堆栈中的物体总是被最先拿出来, 这个特性通常称为后进先出(LIFO)队列. 堆栈中定义了一些操作. 两个最重要的 ...

  8. linux awk 文本分析实例 [视频]

    实例: 点我打开哔哩哔哩 实战: 点我打开哔哩哔哩 以下是一个分享: ➜ log Time Now 16:23:35 > awk '/Installed/' yum.log* | awk -F ...

  9. ArchLinux下Shell基础学习

    首先来认识脚本语言:通常指的是命令行界面的解析器.(来自维基的解释) 第一部分:认识Shell 大家可以看到这里使用了#!/bin/sh和!/bin/bash.可是俩者有什么区别呢?下图有解释. sh ...

  10. springMVC引入js,css文件404

    在web.xml中配置静态资源文件过滤 <!--静态文件引入--> <servlet-mapping> <servlet-name>default</serv ...