JAVA精灵 第一章 我的前世今生

作者有话说

大家好,很高兴能够与您通过这样一个渠道相会。先作个自我介绍,我叫“程半仙”,但我不姓程,也不是仙,之所以有这个名字,乃是因为自己是一个在技术上只有“半桶水”的“半路出家”的程序员。我目前从事的工作虽然离不开编程,但编程却并非我的主要工作。在大学期间,我曾经辅修过计算机专业,注意是“辅修”而不是“专修”,所学的东西自然跟专业人员不可同日而语,加之自己生性愚钝又不够勤奋,当然,还有一个很重要的原因,就是因为那些书本太过“专业”(你懂的),所以毕业以后基本上所有东西都已经还给了老师。出来工作以后,由于工作的需要,我重新开始学习编程,但由于自己基础差,学习之路比较艰辛,尤其是对于一些概念的理解,花费了我大量的时间。我一直想,为什么技术类书籍都要写得那么“技术”呢?我们不是一直在提倡以人为本吗?还有我们中国不是有个成语叫“天人合一”吗?难道学习技术就只能那么单调乏味?于是,我有了写书的想法,希望可以结合自身的学习经历,通过最为简单、最为通俗,甚至不用怎么思考就可以理解的方式来让那些没有什么基础但又充满学习欲望的朋友们可以踏上编程之路。我认为,学习编程的关键不在于你写了多少代码,而在于你是否理解代码本身,正是基于这个观点,我将通过编程语言自身的角度来编写这套丛书,在丛书当中,每一种编程语言都是一个小精灵,它会用讲故事的方式来向我们介绍一些重要概念。在阅读的时候请放松心态,因为这不是教科书,您只需要用读文学作品的态度来阅读即可,我将尽量以最为简单的方式来将相关问题表达清楚。这是我第一次尝试写书,由于自己技术“麻麻地”、文笔也“麻麻地”,书中可能有很多不足之处,欢迎大家批评指正。

我的前世今生

大家好,我是Java小精灵,我的名字跟爪哇岛的英文名字是一模一样的。其实,我最早的名字叫做Oak,不过由于名字已经被其他的精灵占用,所以我只能改名字了,而在这个过程,其实我也进行了一定的升级(当然,升级的方式并不是打怪)。据说,在给我取名字的时候,有一个特别口馋的家伙忽然想起了爪哇岛上曾经喝过的一种美味咖啡,于是就直接用Java作为了我的名字,我的符号也就变成了一杯热咖啡。其实,我自己对这个名字还是挺有意见的,一点创意都没有,你看人家C#(读C Sharp)念起来多酷啊。只叹我们编程世界并没有派出所,不然我早就去改名字了。而我的主人当中,名头最大的两位分别是Patrick Naughton和James Gosling(被称为Java之父)。

在众多的编程语言当中,我有很多自身的优点,例如面向对象、高性能、健壮、安全、多线程等等,但我认为自己最大的优点其实是“可移植性”,也常被人称作“一次编译,到处运行”,就是你只需写一次代码然后编译,就可以让我在任何机器里运行,不过有个前提,就是那台机器安装了“虚拟机”。你可以把虚拟机想象成是一个虚拟的操作系统,这是属于我的小世界,通过在Windows、Linux等平台上安装这个虚拟的操作系统,我就可以在里面自由翱翔了。不同的操作系统会对应不同版本的虚拟机,但是他们对我而言是没有太大差异的,都是同一个世界、同一片天空。这些虚拟机是我的公司(之前是SUN,后来被Oracle吃了)负责开发和提供的,所以你只需管好代码编写即可,当然,如果你技术够牛,也可以自己去开发一个。我的这个“可移植性”有什么好处呢?首先,它特别适合比较懒的家伙,避免重复劳动,例如,可能你们公司使用我编写了一个Web应用程序,现在是使用Windows Server做服务器,随着业务的发展,可能要换成性能更为稳定的Unix系统,那到时候只需将我拷贝过去就可以运行了,而无需重新开发。其实,这个例子还不足以表达我的光辉灿烂。你们中国有句古话,叫“三十年河东三十年河西”,就是说今天很火的东西,过了一段时间之后就可能没落,例如当年智能手机的霸主——Symbian系统,现在基本上已经进入历史博物馆了,所以,前瞻性是多么的重要。不过,对于我而言,我无需这样瞻前顾后,因为我的寿命是无限的。例如,你今天用我编写了一个在可以在Android系统运行的APP,然后过了几年之后,可能Android系统会被更为优秀的系统取代,到那时候,只要我的公司再写一个基于那个未来系统的虚拟机,那我就继续可以发光发热了,哥是不是很有魅力?这里提到的虚拟机概念,后面我还会为大家介绍,这里您只需要稍作了解便可。

Paste_Image.png

现在,我已经越来越受到人们的喜爱,我的身影已经遍布地球每个角落,并藏身于你的周围,例如电脑、电视、手机、路由器等等都可能找到我的身影。如今中国正在实施“互联网+”战略,随着这个战略的推进,我大展拳脚的机会将会越来越多,大家可以拭目以待。目前,我最为广泛的应用场景主要有几个:一是Web应用,目前很多网站,尤其是比较大型的网站以及对安全性要求较高的网站都会使用我来编写,例如建设银行网站、网易邮箱、中国移动网站、天涯社区等。其实,很多大型网站是可能会同时用到多种编程语言,例如PHP、C#等,毕竟每一种语言都有其特长,所以,请大家不要迷恋哥哦,要“选对的不选帅的”!二是手机应用,目前Android手机上的各种app,都是使用我来开发的。虽然手机上跟电脑上具体的运行机制会略有差别(例如Android系统的虚拟机叫Dalvik),不过只要你全面理解了我,那么进行Android开发并不会是难事。三是桌面应用,例如,程序猿们常用的一个开发工具eclipse本身就是用我来编写的,还有很多工程软件、设计软件等等,不过,由于我的运行需要依赖虚拟机,所以启动的时候会有点慢,因此,在小型的桌面应用方面我其实并没有太大优势,但这并不能掩盖哥的强大,我始终认为自己是下蛋公鸡,公鸡中的战斗机,欧耶~

[原创作品,未经授权请勿转载]

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,042评论 25 707
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,493评论 18 399
  • **UITableView** : UIScrollView 1.创建一个UITableView对象 UITabl...
    songsongchen阅读 1,661评论 0 0
  • 人生是一场修行,前几天晚上躺在床上睡不着心里发慌的时候我这么想。 事情的起因很简单,对妈妈没有耐心。的确是我的错,...
    袁翠YuanCui阅读 228评论 0 2
  • 今天起床时还是困!放弃治疗了! 地铁上继续看一九八四,这作的隐喻比美妙新世界和我们都要简单易懂,或者干脆说这作写得...
    真昼之月阅读 97评论 0 0