第一章:Java简介与JDK部署

第一部分:java是什么

“是白云,是瀑布,是海滩,不---,都不是,这是太原大理石二厂生产的景云牌大理石”看到这个标题,脑海中莫名的闪过这句小时候电视中的广告词。Java呢?是语言,是平台,是技术,是---,都算是,记住旺旺老师现阶段给Java的定义:“java是sun公司的JamesGosling发明的面向对象的可跨平台的编程语言”。背诵下这句话,刚学习Java,了解这么多就可以了。

“治学先治史”,学习一个知识,先要了解它的历史。我们分解上面的Java定义,有SUN,jamesGosling,语言,Java, 面向对象,跨平台,这几个词,下面挨个说明。

第一说SUN,兴奋,这是家与我同年出生的公司。好多人说SUN是太阳,也对,其实它是斯坦福大学网络部(Stanford University Network)的缩写。SUN的风格类似于IBM,虽然软件也很出色,但更多的业务是在硬件,或者说靠硬件起家,卖硬件为生;而微软,甲骨文(数据库oracle厂商)这些公司则更依赖软件,或者说靠软件起家,卖软件为生。

SUN的详细历史就不费篇幅说了,这里说下与他相关的几个东东:第一,Solaris,也叫SUNOS(OS是操作系统的英文简称),是一个基于UNIX的操作系统,一般与自己的SPARC处理器紧密结合,新版本也支持Intel与AMD处理器,总之,SUN靠买这软硬件结合的服务器活了很多年;第二,08年10亿美金收购MySql,MySql业界应用最广泛的开源数据库产品;第三,由于经营不善,SUN 09年被甲骨文以47亿美金收购。

老师,SUN不是发明Java吗?Java不是很火吗?那为什么会沦落到被收购的境地呢?旺旺只能告诉你,SUN虽然发明了Java,但并没靠Java赚多少钱,(就好像中国最早发明了火药,但不一样让使用火枪的八国联军欺负?)而相反它赖以生存的的硬件在一直赔钱。还有一个问题“SUN都被收购了,还敢学Java吗?”当然,放心大胆的学,在甲骨文那里,Java的明天会更好。讲到这,我们纪念下SUN吧,毕竟没有它就没有Java(下图中的企鹅代表Liunx OS,红鼻子小子代表java,大哥Liunx还拍拍小弟java表示安慰):

第二说JamesGosling,“热闹的马路不长草,聪明的脑袋不长毛”, Gosling再次向我们证明这个公理,(嗨---叹气,旺旺的头发无论从数量上看还是从质量上看,那都是相当好,悲哀啊,悲哀。调侃而已,其实旺旺很尊敬Gosling的。),这里说下,SUN被甲骨文收购,所以Gosling也理应成立甲骨文的人,但他前两天离职了,虽然是主动离职,但从人的感情上说,有些悲凉,提议,大家向可爱的小老头致敬吧!(注意眼神,第一张,拍摄于早期,意气风发,眼神中写满自信喜悦;第二张,拍摄于近期,头发花白,眼神中掩饰不住的迷离空洞。)

题外话,前些天写了一篇文章《Java学习之路》,在其中的第二部分介绍了下现在应用程序开发的一些技术,给学习编程的同学在选择语言方向一个参考。到这,差别来了,人的水平境界不同决定了思考的内容不同,当我们在想我该学习什么语言技术以使将来找到一份满意的工作时,像JamesGosling这样的人在思考什么呢?我该发明一门什么语言呢?这个语言该拥有什么什么特性,能解决什么什么诸如此类复杂的问题,让现在的什么什么开发变的更简单更高效更快捷。看,差别吧!我们的悲哀啊!(所以请那些比如清华北大等计算机相关专业的天才们努力啊,别老是抱怨国人程序员的目光短浅,只会做外国人的编码工人,您这不是装十三吗?我们也想学习您发明的语言啊?但您总得先搞出来吧!旺旺保证,到那时一定不再讲Java,教您发明语言。到这里,有同学说,旺旺老师你发明啊,不好意思,我对自己的定位是软件讲师,目标是让大家轻松的学习编程,再说水平也达不到发明语言的层次,所以我只讲我的课,也不会以指责别人来提高自己,上面的话,完全是对部分言论的回应!这括号中内容图书出版时删去。)

第三说语言,从机器语言到汇编语言到高级语言,编程的门槛越来越低(所以程序员的工资也越来越低)。计算机所能识别的只有机器语言,即由0和1构成的代码,但通常不采用,因为它非常难于记忆和识别;汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆,但它还是低级语言;高级语言将完成功能的很多条机器指令合并成一个指令,用更更容易记忆的英文标识。最后,人的智慧是无穷的,面向对象的高级语言企图用人的世界观来改造计算机的世界观。(面向对象的高级语言企图用人的世界观来改造计算机的世界观,我这个总结太好了,旺旺老师,啥吗?我不明白,先记着吧,从第三章开始我会详细慢慢讲的,暂时您可以在对别人装十三时这么说。)

第四说Java。概括说,91年时,SUN想在家用电器信息化这方面有所建树,准备为家用消费电子产品开发一个分布式交互系统,比如下班了您想回家洗个热水澡,那打个电话发个Email就控制家里的热水器把水烧好,比如今天上班但想看某场比赛,那也可以远程控制让家里的设备准时启动把节目录好,这个项目的名称叫绿色计划,当然JamesGosling就是带头人了。它们本来计划使用C++,但后来各种原因放弃,于是有了发明一种新语言的冲动。这种语言的首要功能是能应对各种不同家电厂商使用的各种芯片处理器,它们做了,并且还不错,一年多后Oak语言诞生,叫Oak是因为JamesGosling喜欢办公室外面的橡树,但可惜这个项目并没有获得商业的成功,可怜的Oak几乎面临着夭折的危险。

是互联网拯救了Oak,95年,互联网的春天来了,Oak的春天也来了并且获得了重生。在网络,你根本不知道有什么人使用什么样的系统何时来访问你的程序,所以你的程序要考虑共通,能在各种平台运行,这不正是Oak语言所具有的功能吗? 真是“有意栽花花不放,无意插柳柳成荫”,记得很早以前看到的一篇文章说JamesGosling在一个盛大的技术会议上给大家演示Java,当客户端调用互联网的Java程序,在本地拖动一个类似三维动画小球时,“小球转了,整个世界的目光也随着Java转了”。

关于名字,个人认为Java本应该叫C#,C++是C的升级版,Java也可以理解为是C++的升级版,三个+叠加不是#吗?如果Java叫C#,真不知道比尔盖兹先生让C#叫什么?那为什么叫Java呢,一天他们在为名字而苦恼时,一个正在喝Java咖啡的小伙说叫Java如何?马上大家相应支持,JamesGosling也希望Java像一杯香浓浓的咖啡让你慢慢品尝回味,并且冒热气的咖啡杯也成为Java的logo。(题外话,读者可以不看。第一,Java是爪哇,印度尼西亚的一个小岛名,以盛产咖啡而闻名,与Java相关的另一个东东Apache的Jakarta项目也与印尼地名有关,比如Struts比如tomcat就是Jakarta的子项目,而雅加达是印尼的首都,不喜欢印尼,因为有97年的印尼反华案;第二,如果那小伙当初喝的是中国茶,那Java岂不是要叫铁观音碧螺春?然后旺旺上课就可以对大家说,同学们好,今天我们开始学习铁观音:)。

上面简单介绍了下SUN,JamesGosling,语言与Java的前生(Java今世与版本讲到JDK再说明),内容不是很全面,还加了很多旺旺自己的看法,如果您想详细了解,google,baidu搜吧,暂时先到这里,接下来我们学习第一章第二部分:Java跨平台原理。

未完待续,欢迎转载,也欢迎访问旺旺老师个人网站www.easyitedu.com。

《跟旺旺老师学Java》_第一章Java简介与JDK部署_第一部分Java是什么相关推荐

  1. 《Kotlin 程序设计》第一章 Kotlin简介

    第一章 Kotlin简介 科特林岛(Котлин)是一座俄罗斯的岛屿,位于圣彼得堡以西约30公里处,形状狭长,东西长度约14公里,南北宽度约2公里,面积有16平方公里,扼守俄国进入芬兰湾的水道.科特林 ...

  2. ArcGIS for Desktop入门教程_第二章_Desktop简介 - ArcGIS知乎-新一代ArcGIS问答社区

    原文:ArcGIS for Desktop入门教程_第二章_Desktop简介 - ArcGIS知乎-新一代ArcGIS问答社区 1 Desktop简介 1.1 ArcGIS for Desktop ...

  3. 《RabbitMQ 实战指南》第一章 RabbitMQ 简介

    <RabbitMQ 实战指南>第一章 RabbitMQ 简介 文章目录 <RabbitMQ 实战指南>第一章 RabbitMQ 简介 一.什么是消息中间件 二.消息中间件的作用 ...

  4. 第一章:Google简介

    第一章:Google简介 Google(www.Google.com)是一个搜索引擎,由两个斯坦福大学博士生Larry Page与Sergey Brin于1998年9月发明,Google Inc. 于 ...

  5. 第一章 Centos 简介与安装

    第一章 Centos 简介与安装 第一节 :Centos 简介 Centos作为主流的一种Linux操作系统,以后java1234课程中,比如后期讲Redis,以及部署一些项目,会把Centos作为服 ...

  6. hls fifo_【正点原子FPGA连载】第一章HLS简介--领航者ZYNQ之HLS 开发指南

    1)摘自[正点原子]领航者ZYNQ之HLS 开发指南 2)平台购买地址:https://item.taobao.com/item.htm?&id=606160108761 3)全套实验源码+手 ...

  7. 第一章 WebGL简介 Introduction

    第一章 WebGL简介 Introduction 概述 webGL是一组用于在web html上下文中绘制3D图像的web接口 html Canvas对象所有绘制图像的舞台,通过使用CanvasRen ...

  8. 【正点原子FPGA连载】第一章 ZYNQ简介 -摘自【正点原子】领航者ZYNQ之FPGA开发指南_V2.0

    1)实验平台:正点原子领航者ZYNQ开发板 2)平台购买地址:https://item.taobao.com/item.htm?&id=606160108761 3)全套实验源码+手册+视频下 ...

  9. 自考02323《操作系统概论》第一章操作系统简介——思维导图

    备战2020年4月自考科目02323<操作系统概论>第一章操作系统简介 思维导图如下: ================================================== ...

最新文章

  1. ORA-20000:ORU-10027:buffer overflow,limit of 2000 bytes.
  2. 第21课:中文自然语言处理的应用、现状和未来
  3. kafka的反序列化类KafkaDeserializationSchema的使用(还没整理完)
  4. 如何使用SAP HANA Studio的PlanViz分析CDS view性能问题
  5. java文件损坏_java – 损坏的文件处理
  6. 字符串系列函数(不断跟新)
  7. 苹果商店上架流程_苹果TF签名是什么?
  8. Pandas to_datetime
  9. VB.NET工作笔记003---使用ASP_vbs脚本_或vb.net调用Sqlserver DTS文件
  10. 这个严重漏洞可被滥用于破坏交通信号灯系统
  11. Linux 网桥 brctl
  12. 数据结构——哈希表(散列表)
  13. 应用统计学学什么科目_统计学考研初试都要考哪些科目?
  14. 学习笔记 Tianmao 篇 recyclerView 辅助的RecycleAdapterImpl类(适配自定义care 一型 使用了frecso SimpleDraweeView)
  15. JDBC实现多条件查询万能解决思路
  16. 阴阳师夜影诡谈第二天阵容怎么配
  17. Ps如何调出一寸或者二寸等规定尺寸的照片
  18. 【Unity】TimeLine常见问题:如何实现人形角色动画的平滑切换
  19. windows网络服务之配置网络负载均衡(NLB)群集
  20. java中JAO_JVM内部细节之一:synchronized关键字及实现细节(轻量级锁Lightweight Locking)...

热门文章

  1. mac之集成环境phpwebstudy初始mysql数据库
  2. python cron_cron表达式
  3. StringUtils系列之StringUtils.isNotBlank()和StringUtils.isNotBlank()的区别
  4. 火信脚本,火信引流脚本爆粉加人
  5. weblogic内存溢出解决办法
  6. HackRF-AIS信号的采集与解调
  7. 联想新款 Yoga Slim 7i Carbon 评测
  8. 设备管理接口规范_MQTT协议
  9. C++:cstdio 头文件详解
  10. 计算机显示器屏的变化,PC屏幕技术变化_笔记本新闻-中关村在线