「JAVA的秘密」java破译密码

博主:adminadmin 2022-11-23 10:16:12 54

今天给各位分享JAVA的秘密的知识,其中也会对java破译密码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java秘密是什么意思

就是java隐藏的5个秘密。

1、注释实现从JavaDevelopmentKit(JDK)5开始,注释已成为许多Java应用程序和框架的组成部分。在绝大多数情况下,注释将应用于语言构造,例如类,字段,方法等,但是在另一种情况下,可以应用注释:作为可实现的接口。

2、实例初始化,在Java中,与大多数面向对象的编程语言一样,仅使用构造函数实例化对象(有一些关键的异常,例如Java对象反序列化)。即使我们创建静态工厂方法来创建对象,我们也只是将对对象的构造函数的调用包装起来以实例化它。

3、双括号初始化,许多编程语言都包含某种语法机制,可在不使用冗长的样板代码的情况下快速简洁地创建列表或地图(或字典)。例如,C++包含大括号初始化,这使开发人员可以快速创建枚举值列表,甚至在对象的构造函数支持此功能的情况下甚至初始化整个对象。不幸的是,在JDK9之前,还没有包含这样的功能(我们很快会涉及到此功能)。

4、可执行注释注释几乎是每个程序的基本组成部分,注释的主要好处是它们不被执行。

5、枚举接口实现与Java中的类相比,枚举(枚举)的局限性之一是枚举不能扩展另一个类或枚举。

关于C加加和JAVA

C++之父评论C++与Java

Linux之父炮轰C++:

Java之父评价C语言之父:我用尽了形容词

 

C++之父评论C++与Java

如果人们非要拿C++和Java来作比较,我建议他们去阅读The Design and Evolution of C++,看看C++为什么是今天这个样子,用我在设计C++时遵从的原则来检验这两种语言。这些原则与SUN的Java开发小组所持的理念显然是不同的。除了表面语法的相似性之外,C++与Java是截然不同的语言。在很多方面,Java更像Smalltalk。(Sun的培训教材清楚地写道:Java在设计上采用了与C++相似的语法,与Smalltalk相似的语义。所以可以说Java与C++是貌合神离,与Smalltalk才是心有灵犀。)Java语言相对简单,这部分是一种错觉,部分是因为这种语言还不完整。随着时间的推移,Java在体积和复杂程度上都会大大增长。在体积上它会增长两到三倍,而且会出现一些实现相关的扩展或者库。这是一条每个成功的商业语言都必须走过的发展之路。随便分析一种你认为在很大范围内取得了成功的语言,我知道肯定是无有例外者,而且实际上这非常有道理。

上边这段话是在Java 1.1推出之前写的。我确信Java需要类似模板的机制,并且需要增强对于固有类型的支持。简单地说,就是为了基本的完整性也应该做这些工作。另外还需要做很多小的改动,大部分是扩展。1998年秋,我从James Gosling(Java语言的创始人)那里得到一份建议书,说是要在Java中增加固有类型、操作符重载以及数学计算支持。

还有一篇论文,是数学分析领域的世界级大师,伯克利大学的W. Kahan教授所写的How Java's Floating-Point Hurts Everyone Everywhere(且看Java的浮点运算如何危害了普天下的芸芸众生),揭露了Java的一些秘密。我发现在电视和出版物中关于Java的鼓吹是不准确的,而且气势汹汹,让人讨厌。大肆叫嚣凡是非Java的代码都是垃圾,这是对程序员的侮辱;建议把所有的保留代码都用Java重写,这是丧心病狂,既不现实也不负责任。Sun和他的追随者似乎觉得为了对付微软罪恶的“帝国时代”,就必须如此自吹自擂。但是侮辱和欺诈只会把那些喜欢使用不同编程语言的程序员逼到微软阵营里去。

Java并非平台无关,它本身就是平台。跟Windows一样,它也是一个专有的商业平台。也就是说,你可以为Windows/Intel编写代码,也可以为Java/JVM编写代码,在任何一种情况下,你都是在为一个属于某个公司的平台写代码,这些代码都是与该公司的商业利益扯在一起的。当然你可以使用任何一种语言,结合操作系统的机制来编写可供JVM执行的程序,但是JVM之类的东西是强烈地偏向于Java语言的。它一点也不像是通用的、公平的、语言中立的VM/OS。私下里,我会坚持使用可移植的C++作大部分工作,用不同的语言作余下的工作。

“Java is not platform-independent, it is the platform”,B. S的这句评语对于C++用户有着很大的影响,有些C++高手甚至把这句话作为自己的签名档,以表明对Java的态度和誓死捍卫C++的决心。

Linux之父炮轰C++:

糟糕程序员的垃圾语言(1)2007-09-09 13:33 刘江 刘江@图灵 我要评论(14) 字号:T | TLinux之父为Linux内核开发而专门打造的版本控制软件Git已经引起了业界的广泛关注。Dmitry Kakurin查看源代码之后,发现使用的是纯C而非C++,表示不可理解。引起了Linux之父炮轰C++:糟糕程序员的垃圾语言。AD: 2013大数据全球技术峰会低价抢票中

Linux之父炮轰C++:糟糕程序员的垃圾语言Linux之父话糙理不糙不得不看的两次从C++回归C的高手评论C++C语言是否该扔进垃圾桶为什么每个程序员都应该学习C语言?每个程序员都应该学习C语言?我可不这么认为C语言已经死了,5个需要忘却它的理由用C设计 用C++编码为什么使用C++C++0x:崭新的C++,还是另一个Java?编程语言的三大定理动态语言为何难堪重任动态语言面面观Linux之父Linus Torvalds为了Linux内核开发而专门打造的版本控制软件Git已经引起了业界的广泛关注。昨天,有一位Dmitry Kakurin老兄在查看了源代码之后,发现使用的是纯C而非C++,表示不可理解,他直言:“别拿可移植性说事儿,这是屁话(BS,bullshit)。“(此外,他还批评Git蛮力地直接操作文本,既啰嗦又易错,而且很难跟上高层代码逻辑。)”这个BS引起了Torvalds的强烈反应,他用“*YOU* are full of bullshit.”(你才满嘴屁话呢)作为自己反驳的开场白。接着,他先转向了对C++的罕见的火药味十足的炮轰:“C++是一种糟糕的(horrible)语言。而且因为有大量不够标准的程序员在使用而使情况更糟,以至于极容易产生彻头彻尾的垃圾(total and utter crap)。老实说,选择C就是为了把C++程序员踢出去。……我有这样的结论,任何喜欢用C++而不是C开发项目的程序员可能都是我希望踢出去的人,免得他们来搞乱我参与的项目。C++会导致非常非常糟糕的设计选择。你们这些C++程序员总是一上来就用语言的那些‘漂亮的’库特性比如STL、Boost和其他彻头彻尾的垃圾,这可能对你们的程序有所‘帮助’,但是却会导致:

——当库无法工作时无穷无尽的折磨(别跟我说什么STL尤其是Boost很稳定而且可移植性很好,那全是屁话,而且一点都不可笑)

——低效的抽象编程模型,可能在两年之后你会注意到有些抽象效果不怎么样,但是所有代码已经依赖于围绕它设计的‘漂亮’对象模型了,如果不重写应用程序,就无法改正。也就是说,使用优秀的、高效的、系统级的和可移植的C++的唯一方式,最终还是限于使用C本身具有的所有特性。项目限制只用C,意味着参与的人不会捣乱,也意味着会得到许多真正懂得底层问题,而不会折腾那些白痴‘对象模型’垃圾的程序员。

所以,我很抱歉,但是对于Git这样效率是主要目标的软件,C++的所谓优点只是巨大的错误。而我们将看不到这一点的人排除在外却成了一个巨大的附加优势。如果你想要用C++写的版本控制系统,去玩Monotone吧。他们确实使用了‘真格的数据库’,使用了‘漂亮的面向对象库’、使用了‘漂亮的C++抽象’。可是说老实话,所有这些对某些计算机专业人士而言富于吸引力的设计决定,其最终结果确是一堆可怕、难以维护的垃圾。”【070907更新】Torvalds和Dmitry Kakurin争论继续中。对Torvalds的回击,Dmitry反唇相讥:“随着只用C编程的恐龙们逐渐灭绝,你很快就会发现只剩下自己一个人在固执己见。用Git贡献者的数量是说明不了问题的。显然C++开发者也能够贡献C代码。但是以为他们喜欢这种方式,那可就错了。

没有C的时候我用汇编编程。然后在C++诞生之前,我转向了C。现在我使用C++和C#,而且不再走回头路。差劲的程序员用任何语言都写不出好程序。但是为了将差劲的贡献者拒之门外这样一个没谱的理由而惩罚优秀的开发者,这简直是胡闹。”只过了10几分钟,Torvalds就回贴了:“和你不同的是,我实实在在地给出了不喜欢C++的原因,而且指出了它可能导致的各种问题的一些例子。而你呢,没有给出一条像样的使用C++的理由。事实上,Git比其他软件配置管理软件都要好,而好的品味(taste)和C正是原因之一。”

对上面的最后一句话,Torvalds后来又做了如下补充:

“说得更具体一些:

——简单和清晰的核心数据结构, 非常精益(lean)且颇具雄心的暧昧管理着它们,将“简单胜于花哨”这一方法发挥到极致。

——有意识地不抽象数据结构和算法,因为它们恰恰是Git核心的全部要素(whole point)。        如果你想用更花哨的语言,C++绝对是最糟糕的选择。如果想要真正的高级特性,那就选择有垃圾回收或者好的系统集成的,而不是既缺乏C的简约(sparseness)又缺乏C的直接而且没有重要概念的高层 绑定(high-level bindings to important concepts)的东西。        一言以蔽之,C++正处在困境当中,它既无法帮助原型化或者简单的GUI编程足够简化从而真正可用,不是C那样积极地鼓励你使用简单和直接的语言构造的精益系统编程语言。”      (另一位同学插了一句:这还没有提到很难找到两个C++编译器支持同样的特性。)“这与什么恐龙毫无关系。好的品味永远不会过时。将C与汇编语言相提并论,恰恰说明你对自己所讨论的问题缺乏起码的概念(don't have a friggin idea)。”

Java之父评价C语言之父:我用尽了形容词

摘要:Java 之父James Gosling在上周发布了关于讨论C语言之父Dennis Ritchie的简短博文称:C语言撑起了一切,他的影响巨大,并超越了科技世界。

Java之父詹姆斯·高斯林(James Gosling)在上周发布了关于讨论C语言之父丹尼斯·里奇(Dennis Ritchie)的简短博文:丹尼斯·里奇辞世的新闻如五雷轰顶。过去几天已经有很多资讯报道此事。他的影响巨大,并超越了科技世界,虽然他的大多影响都不为人知,但完全可以感受到。C语言撑起了一切。我的整个职业生涯也是从C语言和Unix中发展而来。对当今的大多数工程师而言,很难理解我在20世纪70年代感受到的幸福愉快感。当一种编程语言最终出现,我(其他人也)可以从汇编语言提升到一种真正的编程语言。我们可以做任何一切,过去我们得编写所有低级位系统。在C语言之前,编程语言达不到任务:开销太大了。系统的复杂性是真的阻碍了用汇编语言编写大型软件。C语言就像代码的JATO。(编注:“JATO”是“Jet-fuel assisted take off”的缩写,字面意思:“辅助起飞的喷气燃料”。这个系统通过小型火箭提供辅助动力,以帮助超载的飞机起飞升空。)下面是詹姆斯·高斯林此文的一些评论:Truely James. For every Computer professional in the world, the first language they come across is C. With so much of wonderfulness and which also makes the learning experience so fun and entertaining. RIP Ritchie!!!说的很对,詹姆斯!对于每个计算机专业人士,他们所接触的第一种编程语言就是C语言。(C语言)有着如此多的令人惊奇的地方,这也使得学习过程非常有趣。安息,里奇!!!Great ones are falling. I still love C. So simple. So powerful.一位巨星的陨落。我仍然爱着C语言。如此简单,如此强大。I remember C being like Adventure for programmers: lots of little pits for the unwary to fall into. Even after many years there were a few I hadn't found. It was a good time.我记得C语言就是程序员的冒险:有很多小坑,一不小心就陷进去。即便很多年过后,还有一些我没有发现的。那是个美好时刻。The equation is quite simple : Richie is like Einstein, pure Genius. All the IT is built on Kamp;R works. Thanks man, and RIP...等式非常简单:里奇就像爱因斯坦,纯粹的天才。IT业的所有都基于肯贝汉和里奇的成果。感谢,安息……文章出自:nighthacks译文来自:伯乐在线

Java是什么意思

1.java 【概要】 Java包含了一种计算机编程语言和一个平台。 *Java编程语言是一种高级语言。由Sun微系统公司(Sun Microsystem)发布,并作为一种开放的标准进行提供。 *Java是一种简单的,面向对象的、分布式的、解释的、健壮的、安全的、结构的、中立的、可移植的、性能很优异的多线程的动态的语言。 *Java平台包括了Java虚拟机(JVM)和Java应用程序接口(API)。 Java将原程序编译成字节码(bytecode),并通过Java虚拟机(JVM)解释字节码的方式来执行。因为这种运行方式,只要针对不同的计算机平台准备相应的Java虚拟机,就可以很方便的实现Java语言的跨平台性。因此,Java非常适合于企业网络和Internet环境,现在已成为Internet中最受欢迎、最有影响的编程语言之一。 Java有许多值得称道的优点,如简单、面向对象、分布式、解释性、可靠、安全、结构中立性、可移植性、高性能、多线程、动态性等。 【Java的主要应用】 *利用浏览器中的Java虚拟机运行于客户端的Applet。 *利用本地虚拟机运行的Java应用程序,通常利用Swing或SWT等来编写跨平台的GUI界面系统。 *通过编写Servlet/JSP来提供网络服务,运行于网络应用程序服务器中。 *利用嵌入式Java虚拟机运行于手机等移动设备的Java应用程序,使用J2ME API。 【Java的产生】 Java来自于Sun公司的一个叫Green的项目,其原先的目的是为家用消费电子产品开发一个分布式代码系统,这样我们可以把E-mail发给电冰箱、电视机等家用电器,对它们进行控制,和它们进行信息交流。开始,准备采用C++,但C++太复杂,安全性差,最后基于C++开发一种新的语言Oak(Java的前身),Oak是一种用于网络的精巧而安全的语言,Sun公司曾依此投标一个交互式电视项目,但结果是被SGI打败。可怜的Oak几乎无家可归,恰巧这时MarkArdreesen开发的Mosaic和Netscape启发了Oak项目组成员,他们用Java编制了HotJava浏览器,得到了Sun公司首席执行官ScottMcNealy的支持,触发了Java进军Internet。 Java的取名也有一个趣闻,有一天,几位Java成员组的会员正在讨论给这个新的语言取什么名字,当时他们正在咖啡馆喝着Java(爪哇)咖啡,有一个人灵机一动说就叫Java怎样,得到了其他人的赞赏,于是,Java这个名字就这样传开了。 【Java平台】 根据API和使用领域,主要分为三种技术 *Java SE (旧称J2SE) - Java Platform, Standard Edition, 定位在客户端,主要用于桌面应用软件的编程 *Java EE (旧称J2EE) - Java Platform, Enterprise Edition, 定义在服务器端Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统 *Java ME (旧称J2ME) - Java Platform, Micro Edition, 主要应用于嵌入式系统开发,如手机和PDA的编程 【Java的特色】 Java从1995年的暑假开始在计算机业界就受到了高度注意,特别是在Internet和多媒体(Multimedia)相关产品类方面。Java是 *是一种软件技术 *是一种由美国SUN微系统公司(Sun Microsystems, Inc.)所研究而成的语言 *是一种为 Internet发展的计算机语言 *是一种使网页(Web Page)产生生动活泼画面的语言 *是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言 *是一种语言,用以产生「小应用程序(Applet(s))」 *是一种简化的C++语言,是一种安全的语言,具有阻绝计算机病毒传输的功能 *是一种将安全性(Security)列为第一优先考虑的语言 *是一种使用者不需花费很多时间学习的语言 *是一种突破用户端机器环境和CPU结构的语言 *是一种「写一次,即可在任何机器上执行(Write Once Run Anywhere)」的语言,是有史以来,第一套允许使用者将应用程序(Applications)通过Internet从远端的服务器(Remote Server)传输到本地端的机器上(LocalMachine)并执行的语言 *是一种应用程序提供者不需要知道使用者的计算机硬件(如:Sun, Intel, 或MAC等)与软件(如:SW- UNIX, MAC O/S, Windows, 或NT等)环境的语言(Kestenbaum, 1995)。 【JavaFX】 在2007JavaOne会议上,Sun负责软件业务的执行副总裁格林公布了JavaFX Script:一种用于编写能够在支持Java的PC和手机上运行的应用软件的更简单的脚本语言。JavaFX Mobile是一种面向手机厂商、提高Java应用软件在不同手机间兼容性的软件包。 目前最新版 的java有三个版本,Java SE,Java ME,Java EE. 另外java是一个国家:爪哇一种咖啡 2.网球的历程网球运动类运动的一个项目。场地有草地、沙地、泥地和涂塑合成硬地等数种。球场长23、77米,宽8、23米,中间横隔球网,运动员各占半个专制场区,用球拍将一绒面弹性小球来回拍击。可在空中还击球,也可落地一次后还击。比赛分男女团体、男女单打、男女双打及混合双打七种。以四分为一局,六局为一盘。男子采用五盘三胜,女子为三盘两胜。国际网球比赛现均采用“平局决胜制”,以控制比赛时间。 网球运动的起源及演变 网球运动起源于法国。十四世纪时,法国宫廷中开展起一种叫“掌球戏”的游戏,两人中间隔一条绳子,双方用手将球打来打去。球用布裹头发制成。以埃及坦尼斯镇所产的布最为著名,英文网球Tennis大概即由此而得名。十六世纪时,出现用羊皮纸,十七世纪这种游戏传入英国后,绳改变为网,球拍不再是平面的羊皮纸,而是穿上了有弹性的弦线,场地也比较正规了。十八世纪资本主义兴起后,网球运动冲出宫廷,逐步在资产阶级和市民阶层中开展起来。到十九世纪,网球运动在欧美盛行起来。十九世纪七十年代,现代草地网球正式出现。 目前,网球运动水平较高的国家有美国、澳大利亚、法国、意大利、阿根廷、罗马尼亚、南非等,其中美国最强,尤其是女子网球。据统计,钱美国参加网球运动地有两千万人。世界最高水平的网球比赛每年有四次,即:英国温布尔顿国际草地网球锦标赛,美国网球公开赛;法国网球公开赛;澳大利亚草地网球公开赛。这四大比赛是得到国际网球联合会承认的以个人名义参加的单项比赛,且都没有高额奖金。例如,温布尔顿的男子单打冠军可获得奖金四万英镑。国际网联正式比赛还有意大利网球锦标赛和南非网球锦标赛,以及欧、亚、美洲业余锦标赛。其它洲际或地区性的国际比赛,需要国际网联批准,方可成为正式锦标赛。 国际网联承认的正式团体比赛有:戴维斯杯赛,即国际网球锦标赛,始于1900年,每年举行一次;联合会杯赛,即女子国际团体赛,每年举行一次,始于1963年。团体赛不设奖金,以国家为单位参加。 1968年,国际网联正式允许职业运动员参加其管辖的比赛。1970年,由一些大企业资助,设立了大奖赛。大奖赛由一系列国际比赛组成,根据运动员在各场比赛得分多少排列名次,并授于相应的奖金。 国际网球联合会于1912年成立于法国巴黎,现已有正式会员国69个,会友32个。网球运动受到世界上许多国家人民的喜爱,特别是欧美人民的喜爱,成为世界电视节目中的重要内容。 网球运动各种打法和流派经过多年的演变,攻守技术已发展到很高的水平。现在,各种打法的发展趋势是力求技术全面,特长突出。发球讲究力量大、速度快、落点准确、旋转多变。正反拍技术的发展日趋平衡,加力上旋抽击的打法被广泛使用;网前进攻技术和底线破网技术难度大,质量高等等。在战术上,由于技术全面南昌市,优秀选手都能掌握几套攻守战术,因而战术运用灵活,普遍向综合战术进攻型的打法发展。

什么是“JAVA”?

JAVA简介

它最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak,以“Java”的名称正式发布。 JAVA

Java 编程语言的风格十分接近C、C++ 语言。Java是一个纯的面向对象的程序设计语言,它继承了 C++ 语言面向对象技术的核心,Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java SE 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。但在 J2SE 1.4.2 发布后,Java 的执行速度有了大幅提升。 与传统程序不同,Sun 公司在推出 Java 之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java 软件必须相互兼容。“Java 语言靠群体的力量而非公司的力量”是 Sun 公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。 Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。 Java 平台是基于 Java 语言的平台。这样的平台目前非常流行,因此微软公司推出了与之竞争的.NET平台以及模仿 Java 的 C# 语言。

名字起源

Java的名字的来源:Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。Java语言中的许多库类名称,多与咖啡有关,如JavaBeans(咖啡豆)、NetBeans(网络豆)以及ObjectBeans (对象豆)等等。SUN和JAVA的标识也正是一杯正冒着热气的咖啡。 据James Gosling(詹姆斯·高斯林)回忆,最初这个为TV机顶盒所设计的语言在Sun内部一直称为Green项目。我们的新语言需要一个名字。Gosling(高斯林)注意到自己办公室外一棵茂密的橡树Oak,这是一种在硅谷很常见的树。所以他将这个新语言命名为Oak。但Oak是另外一个注册公司的名字。这个名字不可能再用了。在命名征集会上,大家提出了很多名字。最后按大家的评选次序,将十几个名字排列成表,上报给商标律师。排在第一位的是Silk(丝绸)。尽管大家都喜欢这个名字,但遭到James Gosling的坚决反对。排在第二和第三的都没有通过律师这一关。只有排在第四位的名字、得到了所有人的认可和律师的通过,这个名字就是Java。10多年来,Java就像爪哇咖啡一样誉满全球,成为实至名归的企业级应用平台的霸主。

早期Java

Java平台和语言最开始只是SUN公司在1990年12开始研究的一个内部项目。SUN公司的一个叫做帕特里克·诺顿的工程师被升阳自己开发的C 和C语言编译器搞得焦头烂额,因为其中的API极其难用。帕特里克决定改用NeXT,同时他也获得了研究公司的一个叫做“Stealth 计划”的项目的机会。 “Stealth 计划”后来改名为“Green计划”,James Gosling(詹姆斯·高斯林)和麦克·舍林丹也加入了帕特里克的工作小组。他们和其他几个工程师一起在加利福尼亚州门罗帕克市沙丘路的一个小工作室里面研究开发新技术,瞄准下一代智能家电(如微波炉)的程序设计,SUN公司预料未来科技将在家用电器领域大显身手。团队最初考虑使用C 语言,但是很多成员包括升阳的首席科学家比尔·乔伊,发现C 和可用的API在某些方面存在很大问题。 工作小组使用的是内嵌类型平台,可以用的资源极其有限。很多成员发现C 太复杂以至很多开发者经常错误使用。他们发现C 缺少垃圾回收系统,还有可移植的安全性、分布程序设计、和多线程功能。最后,他们想要一种易于移植到各种设备上的平台。 根据可用的资金,比尔·乔伊决定开发一种集C语言和Mesa语言大成的新语言,在一份报告上,乔伊把它叫做“未来”,他提议SUN公司的工程师应该在C 的基础上,开发一种面向对象的环境。最初,高斯林试图修改和扩展C 的功能,他自己称这种新语言为C --,但是后来他放弃了。他将要创造出一种全新的语言,被他命名为“Oak”(橡树),以他的办公室外的树而命名。 就像很多开发新技术的秘密的工程一样,工作小组没日没夜地工作到了1992年的夏天,他们能够演示新平台的一部分了,包括Green操作系统,Oak的程序设计语言,类库,和其硬件。最初的尝试是面向一种类PDA设备,被命名为Star7,这种设备有鲜艳的图形界面和被称为“Duke”的智能代理来帮助用户。1992年12月3日,这台设备进行了展示。 同年11月,Green计划被转化成了“FirstPerson有限公司”,一个SUN公司的全资子公司,团队也被重新安排到了帕洛阿尔托。FirstPerson团队对建造一种高度互动的设备感兴趣,当时代华纳发布了一个关于电视机顶盒的征求提议书时(Request for proposal),FirstPerson改变了他们的目标,作为对征求意见书的响应,提出了一个机顶盒平台的提议。但是有线电视业界觉得FirstPerson的平台给予用户过多地控制权,因此FirstPerson的投标败给了SGI。与3DO 公司的另外一笔关于机顶盒的交易也没有成功,由于他们的平台不能在电视工业产生任何效益,公司再并回SUN公司。

JAVA是什么意思?

 什么是Java?

Java好象随处可见 - 甚至在TV中。尽管如此,说清楚Java是什   么和它能做什么却不那么容易。刚开始接触Java的人通常有三 

个问题: 

什么是Java? 

Java能做什么? 

Java怎样改变我的生活? 

让我们先回答第一个问题:什么是Java? 

Java既是一种编程语言,又是一个平台。 

Java程序语言 

Java是具有以下特征的高级程序语言: 

简单 

面向对象 

可分布 

可解释 

强壮 

安全性 

结构化 

轻便 

功能强大 

多线程 

动态 

Java既可以被编译,也可以被解释。通过编译器,可以把Java 程序翻译成一种中间代码 - 称为字节码 - 可以被Java解释器 

解释的独立于平台的代码。通过解释器,每条Java字节指令被 分析,然后在计算机上运行。只需编译一次,程序运行时解释 执行。

 

一 有很多教程,叫学了也白搭

这年头,网上的Java教程一堆一堆的,看的我们很多Java宝宝们是眼花缭乱,不知该如何是好,我当年也是从这个过程走过来的,每天看很多老师的Java教程,听的自己晕头转向的,当然我不是说他们讲错了,他们讲的知识层面的东西是对的,但是很多做Java教程的老师不善于深入浅出,通俗易懂的来为我们讲解知识,什么是好教程?好教程就是让我们学了之后,有一种豁然开朗的感觉,而不是云深不知处,我想说的是这种教程,不看也罢,浪费了时间,迷茫了自己。

二 有一种教程叫无论你身处何地,都能现场直播教你

现在很多网上流传的教程都是很多年前的,远远的不适应现在Java新应用的需要,基本上都是一些淘汰货,很多小伙伴们,从网上找这种破烂,学的还不亦乐乎,也是醉了。综上所述,我们很多人学不好Java,是因为 一开始就选择错了,选择不对,努力白费。为了能够让广大Java学子们在网上学到Java的系统精华知识,通俗易懂的理解这些知识,我们决定现在每天晚上现场直播在网上教大家学习Java,我们的老师,一般的老师不用,我们只让牛掰的老师讲,而你什么都不需要付出,你只需要来我们这个群里听就行,开头的的第一部分是:426.,位于中间的第二部分是:396,处于最后一部分的是:284,学习没有任何借口,想强大就要努力,同时这也不是一个单打独斗的时代了,大家在这里一块学习,打拼出属于我们的Java新天地。

三Java新手入门的30个基本概念

在我们学习Java的过程中,掌握其中的基本概念对我们的学习无论是J2SE,J2EE,J2ME都是很重要的,J2SE是Java的基础,所以有必要对其中的基本概念做以归纳,以便大家在以后的学习过程中更好的理解java的精髓,在此我总结了30条基本的概念。 

Java概述: 

目前Java主要应用于中间件的开发(middleware)---处理客户机于服务器之间的通信技术,早期的实践证明,Java不适合pc应用程序的开发,其发展逐渐变成在开发手持设备,互联网信息站,及车载计算机的开发.Java于其他语言所不同的是程序运行时提供了平台的独立性,称许可以在windows,solaris,linux其他操作系统上使用完全相同的代码.Java的语法与C++语法类似,C++/C程序员很容易掌握,而且Java是完全的彻底的面向对象的,其中提出了很好的GC(Garbage Collector)垃圾处理机制,防止内存溢出。 

Java的白皮书为我们提出了Java语言的11个关键特质。 

(1)Easy:Java的语法比C++的相对简单,另一个方面就是Java能使软件在很小的机器上运行,基础解释其和类库的支持的大小约为40kb,增加基本的标准库和线程支持的内存需要增加125kb。 

(2)分布式:Java带有很强大的TCP/IP协议族的例程库,Java应用程序能够通过URL来穿过网络来访问远程对象,由于servlet机制的出现,使Java编程非常的高效,现在许多的大的web server都支持servlet。 

(3)OO:面向对象设计是把重点放在对象及对象的接口上的一个编程技术.其面向对象和C++有很多不同,在与多重继承的处理及Java的原类模型。 

(4)健壮特质:Java采取了一个安全指针模型,能减小重写内存和数据崩溃的可能型。 

(5)安全:Java用来设计网路和分布系统,这带来了新的安全问题,Java可以用来构建防病毒和防攻击的System.事实证明Java在防毒这一方面做的很优秀。

(6)中立体系结构:Java编译其生成体系结构中立的目标文件格式可以在很多处理器上执行,编译器产生的指令字节码(Javabytecode)实现此特性,此字节码可以在任何机器上解释执行。 

(7)可移植:Java中对基本数据结构类型的大小和算法都有严格的规定所以可移植很好。 

(8)多线程:Java处理多线程的过程很简单,Java把多线程实现交给底下操作系统或线程程序完成.所以多线程是Java作为服务器端开发语言的流行原因之一。 

(9)Applet和servlet:能够在网页上执行的程序叫Applet,需要支持Java的浏览器很多,而applet支持动态的网页,这是很多其他语言所不能做到的。

基本概念: 

1.OOP中唯一关系的是对象的接口是什么,就像计算机的销售商她不管电源内部结构是怎样的,他只关系能否给你提供电就行了,也就是只要知道can or not而不是how and why.所有的程序是由一定的属性和行为对象组成的,不同的对象的访问通过函数调用来完成,对象间所有的交流都是通过方法调用,通过对封装对象数据,很大限度上提高复用率。 

2.OOP中最重要的思想是类,类是模板是蓝图,从类中构造一个对象,即创建了这个类的一个实例(instance)。 

3.封装:就是把数据和行为结合起在一个包中)并对对象使用者隐藏数据的实现过程,一个对象中的数据叫他的实例字段(instance field)。 

4.通过扩展一个类来获得一个新类叫继承(inheritance),而所有的类都是由Object根超类扩展而得,根超类下文会做介绍。 

5.对象的3个主要特点

behavior---说明这个对象能做什么. 

state---当对象施加方法时对象的反映. 

identity---与其他相似行为对象的区分标志. 

每个对象有唯一的indentity 而这3者之间相互影响. 

6.类之间的关系: 

use-a :依赖关系 

has-a :聚合关系 

is-a :继承关系--例:A类继承了B类,此时A类不仅有了B类的方法,还有其自己的方法.(个性存在于共性中) 

7.构造对象使用构造器:构造器的提出,构造器是一种特殊的方法,构造对象并对其初始化。 

例:Data类的构造器叫Data 

new Data()---构造一个新对象,且初始化当前时间. 

Data happyday=new Data()---把一个对象赋值给一个变量happyday,从而使该对象能够多次使用,此处要声明的使变量与对象变量二者是不同的.new返回的值是一个引用。 

构造器特点:构造器可以有0个,一个或多个参数 

构造器和类有相同的名字 

一个类可以有多个构造器 

构造器没有返回值 

构造器总是和new运算符一起使用. 

8.重载:当多个方法具有相同的名字而含有不同的参数时,便发生重载.编译器必须挑选出调用哪个方法。 

9.包(package)Java允许把一个或多个类收集在一起成为一组,称作包,以便于组织任务,标准Java库分为许多包.java.lang java.util java,net等,包是分层次的所有的java包都在java和javax包层次内。 

10.继承思想:允许在已经存在的类的基础上构建新的类,当你继承一个已经存在的类时,那么你就复用了这个类的方法和字段,同时你可以在新类中添加新的方法和字段。 

11.扩展类:扩展类充分体现了is-a的继承关系. 形式为:class (子类) extends (基类)。 

12.多态:在java中,对象变量是多态的.而java中不支持多重继承。 

13.动态绑定:调用对象方法的机制。 

(1)编译器检查对象声明的类型和方法名。 

(2)编译器检查方法调用的参数类型。 

(3)静态绑定:若方法类型为priavte static final 编译器会准确知道该调用哪个方法。 

(4)当程序运行并且使用动态绑定来调用一个方法时,那么虚拟机必须调用x所指向的对象的实际类型相匹配的方法版本。 

(5)动态绑定:是很重要的特性,它能使程序变得可扩展而不需要重编译已存代码。 

14.final类:为防止他人从你的类上派生新类,此类是不可扩展的。 

15.动态调用比静态调用花费的时间要长。 

16.抽象类:规定一个或多个抽象方法的类本身必须定义为abstract。 

例: public abstract string getDescripition 

17.Java中的每一个类都是从Object类扩展而来的。 

18.object类中的equal和toString方法。 

equal用于测试一个对象是否同另一个对象相等。 

toString返回一个代表该对象的字符串,几乎每一个类都会重载该方法,以便返回当前状态的正确表示. 

(toString 方法是一个很重要的方法) 

19.通用编程:任何类类型的所有值都可以同object类性的变量来代替。 

20.数组列表:ArrayList动态数组列表,是一个类库,定义在java.uitl包中,可自动调节数组的大小。 

21.class类 object类中的getclass方法返回ckass类型的一个实例,程序启动时包含在main方法的类会被加载,虚拟机要加载他需要的所有类,每一个加载的类都要加载它需要的类。 

22.class类为编写可动态操纵java代码的程序提供了强大的功能反射,这项功能为JavaBeans特别有用,使用反射Java能支持VB程序员习惯使用的工具。 

能够分析类能力的程序叫反射器,Java中提供此功能的包叫Java.lang.reflect反射机制十分强大. 

1.在运行时分析类的能力。 

2.在运行时探察类的对象。 

3.实现通用数组操纵代码。 

4.提供方法对象。 

而此机制主要针对是工具者而不是应用及程序。 

反射机制中的最重要的部分是允许你检查类的结构.用到的API有: 

java.lang.reflect.Field 返回字段. 

java.reflect.Method 返回方法. 

java.lang.reflect.Constructor 返回参数. 

方法指针:java没有方法指针,把一个方法的地址传给另一个方法,可以在后面调用它,而接口是更好的解决方案。 

23.接口(Interface)说明类该做什么而不指定如何去做,一个类可以实现一个或多个interface。 

24.接口不是一个类,而是对符合接口要求的类的一套规范。 

若实现一个接口需要2个步骤: 

1.声明类需要实现的指定接口。 

2.提供接口中的所有方法的定义。 

声明一个类实现一个接口需要使用implements 关键字 

class actionB implements Comparable 其actionb需要提供CompareTo方法,接口不是类,不能用new实例化一个接口. 

25.一个类只有一个超类,但一个类能实现多个接口。Java中的一个重要接口:Cloneable 

26.接口和回调.编程一个常用的模式是回调模式,在这种模式中你可以指定当一个特定时间发生时回调对象上的方法。 

例:ActionListener 接口监听. 

类似的API有:java.swing.JOptionPane 

java.swing.Timer 

java.awt.Tookit 

27.对象clone:clone方法是object一个保护方法,这意味着你的代码不能简单的调用它。 

28.内部类:一个内部类的定义是定义在另一个内部的类。 

原因是: 

1.一个内部类的对象能够访问创建它的对象的实现,包括私有数据。 

2.对于同一个包中的其他类来说,内部类能够隐藏起来。 

3.匿名内部类可以很方便的定义回调。 

4.使用内部类可以非常方便的编写事件驱动程序。 

29.代理类(proxy): 

1.指定接口要求所有代码 

2.object类定义的所有的方法(toString equals) 

30.数据类型:Java是强调类型的语言,每个变量都必须先申明它都类型,java中总共有8个基本类型.4种是整型,2种是浮点型,一种是字符型,被用于Unicode编码中的字符,布尔型。

Java是什么?

简言之,Java环境可用来开发能在任何计算平台上运行的应用

软件。它实际上是一种非常基本且结构紧凑的技术,而它对World

Wide Web以及商业的总体影响已可同电子表格对PC机的影响相比

拟。

Java是巨大的推动力量

Java已用动态的交互应用软件使Web栩栩如生。它使开发人员

具有‘编写一次到处运行TM”的巨大能力。而且,借助其JavaAPI

及其编程语言上的Java虚拟机,它已产生一种分布信息的崭新模式。

这种模式叫做Java企业计算,正在帮助各企业以各种不同的方法取

得竞争优势。网管和控制已大大简化。软件分配基本上是免费的,

而且立即可实现。电子贸易已获得。占有成本大幅度降低。信息和

应用软件到处可存取。

Java建立在简单的前提基础上,即所有微处理器都应讲同一种

语言??所有内部采用芯片的产品都应能一起工作,无缝而方便地

共享信息。它已经改变企业和个人同Internet大交道的方式。现在,

它正在对消费类产品产生明显的影响,而且从总体上更加深刻地影

响企业计算。

借助Java,您可自由自在地使用您已拥有的硬件和软件。这是因

为Java是独立于平台的。它还可使您超越企业计算,使应用软件在便

携式计算机、信息亭、电视、蜂窝电话和其他大量设备上运行。

全世界的公司都已发现Java数不胜数的用途。所有用途可从其无

可比拟的能力,即提高可靠性、安全性和简化各种不同计算产品和

环境的能力中受益非浅,而且节省的时间和费用十分可观。

Java无处不在。它已拥有几百万个用户,其发展速度要快于在它

以前的其他任何一种计算机产品。它可位于任何地方,而且能到处运

行。Java正在迅速被用做传播信息的事实上标准,这是因为它既可给

企业,也可给最终用户带来似乎数不清的好处。

因此,请您仔细考察一下Java。它的优点是很容易发现的。

“Java正在进入企业、家庭和学校。

它正在象Internet本身一样成为普遍存在的技术。”

Oracle 公司董事长和首席执行官

Larru Ellison

“Java正在改变我们使用Internet的方法,改变我们

在公司内部存取信息的方法,甚至改变我们使用蜂窝

电话的方法。它正在从根本上改变制作信息、销售信息

和分配信息的方法。”

EarthWeb公司董事长和首席执行官

Jack Hidary

Java的来龙去脉

Sun公司一小组工程师聚集在一起,认真思考日常生活中的

数字系统??因为烤面包机、恒温器、游戏机和其他无数设备

都包含越来越复杂的CPU??以及他们如何能使这些数字系统

共享信息。

创造未来的计算

制造产品的人当然全都从不同的方面来考虑其设计,视他们

所使用的硬件平台、操作系统和应用软件而定。但是,如果您要

使这些产品中的一些产品一起工作,那怎么办?安全性、可靠性

和网络问题又这么样呢?

因此,Sun公司这些工程师把各种不同的产品折开来,然后又

把它们重新组装起来,其目标是要使这些不同的设备相互交谈。

他们把这些研究对象相互传来传去,并理解所有其他研究对象的

特性,以便使他们能更好地一起工作。这就把制造商的问题缩减

到最低程度,并使消费者能方便地进行集成。当传统的语言证明

是不适用时,工程师们就打算找到某种简单的现代新语言。于

是, Java应运而生。

人们很快发现,Java有可能超越工程师的想象。Java的魅力在

于它提供给开发人员和用户的简便性。开发人员拥有广大的用户基

础、平台独立性、降低的开发费用和始终如一的执行环境,而用户

则可 从生动的内容、即时软件和增大的安全性中受益。

但是,Java正是从置于World Wide Web那时起才真正起飞。Java

使全世界大为震动,因为它使Web页面栩栩如生,而且不久变得很明

显,Java拥有大得多的潜力。人们之所以采纳Java,是因为它有独特

的能力来编制和部署能在任何一个网络、任何一个操作系统上运行的

应用软件。分配软件的时间和费用实际上已不复存在,使得各公司可

把更多的资源用来开发其产品。而且,某些工业专家认为,Java可能

会改变软件销售模式,从固定价格改变为按使用量收费,这样做更有

利可图,而且可阻止非法盗版。

Java是一种网络计算的通用开放标准平台。这种平台可从电话一

直扩展到极端重要的应用,建立在您现有的硬件和软件体系结构基础

上,从而创造出一个全部联网的企业或者制造出超出的创新产品。

“由于Java具有可缩放性,因而我们可以把Java应用于小应

用软件或大应用软件,把它芯片组以及大型计算机和服务器,并

使它为各种不同的应用领域服务。”

三菱公司系统营销副总裁

Steve Hester

“借助Java,您可以用一种能最有效地使用的方式动态地分

发和分配交互式商务应用软件一一在需要运行应用软件的地方,

在需要运行应用软件的时候。”

Novell公司开发者服务部副总和总经理

Gary Mueller

Java扎下根来

在某种意义上,Java具体体现了Sun Microsystiems公司自其14年

前创建以来所追述的目标。当时,它创造了“网络就是计算机”这局名

言。它市基于Web的新网络计算模式的完美平台,因为它建立在各个

组织现有的硬件和软件体系结构基础上,能建立一个全部联网的企业。

Java是一个完整而全面的解决方案

Java远不止是一种编程语言,它是企业内外的完整计算环境,而

且万事齐备,从开发工具、操作系统、服务器软件和瘦/肥客户机一

直到网络管理工具、支持、培训、咨询和集成服务,一应俱全。Java

使用起来非常简单,部分原因是Sun提供一种全面统一的解决方案。

主要组成部分包括:

*Java开发工具和服务:有助于简化开发Java应用软件的产品和

服务

*JavaOS:一种结构紧凑的操作系统,可使Java应用软件在网络

计算机和蜂窝电话等设备上运行

*Java虚拟机:一层软件,嵌入Windows、Macintosh和UNIX等计

算机操作系统,或在这些操作系统上运行,从而使计算机能

运行Java应用软件

*Java API:标准软件界面,位于Java应用软件和数据库检索和

安全性等服务软件之间

*Java芯片:一系列为Java优化的为处理器

*Solstice WorkShop:Java启动的网络管理工具

*Java培训:一个由教师指导和基于多媒体的完整课程,教会编

程员如何开发Java应用软件,包括一个用来验证熟练程度的

认证计划

*JavaWorkShop支持:900号电话服务,可为Java WorkShop用户

(仅限美国用户)立即提供按需支持

这些产品依靠由Sun的核心技术和服务提供的基础,包括:

*Solaris操作系统

*Sikstuce企业管理系统

*WorkShop开发者工具

*SunSpectrum支持服务

*Internet咨询和集成服务

*Java和Internet教育服务

*ultra工作站和Ultra Enterprise服务器;Netra服务器

难怪大公司和日益增多的全球2000公司正在把Java计算用做系统以及

其终产品的主要方面。

“您不会把您自己锁住在任何一家公司的专有技术中。

开放意味着选择。而Java使您有选择余地。”

Java改变了什么

nbs

p; 十年前,几乎没有人想到,几个技术人员研发的一个“小语言”,会发展成如今的一个“生态圈”,这就是Java。

Java让互联网动了起来

“计算机语言的发展历史也是人们不断追求更高的模块化、抽象化和封装化的历史。近十年期间,很多编程语言,从出现到没落经过了一波又一波。像1970年代出现的Pascal,如今用的人已经不多了。”一位资深程序员告诉记者,“‘算法+数据结构=程序’几乎成为软件开发的惟一准则,结构化程序设计方法从计算机发展角度来看是自然而然的,但今天从抽象的角度来看,这种方法几乎可以说是一个‘时代错误’。实际上,软件开发的主要目的就是描述和反映现实世界,结构化程序设计方法并不符合这个思维方式。”

因此,抽象的过程应该是以现实世界的对象为中心的,于是面向对象的抽象方法就走到了前台,出现了Visual Basic、Delphi、C++以及Java等面向对象的编程语言,而互联网的勃兴,则给Java的成长带来了肥沃的土壤。

“Java诞生时并没有引起太多人的注意,它第一次让人们觉得惊艳是在一次网站演示上,但当时人们对Java还抱有很大的争议。”被誉为“Java之父”的SUN公司副总裁、软件部首席技术官James Gosling回忆起十几年前的情景不无感慨地说,“但Java的出现为当时的互联网增添了生机,它让那些静态的页面动了起来。”

而且,因为Java具有“只写一次,随处运行”的特点,从而引起了更多开发者的兴趣。

“我们可以不必再做重复性质的劳动了。”中国科学院软件研究所宋靖宇博士说,“此前,为了能够使程序在不同型号的硬件平台上运行,开发人员必须耗费大量的时间来一遍又一遍的编写代码,然而Java改变了这样的局面,只写一次就可以。”

由于看到Java在互联网时代的巨大作用,清华大学计算机系教授王克宏从1995年就开始跟踪Java的发展。

Java语言的优势似乎是与生俱来的,然而,仅有语言是不够的。

免费的Java创造了应用奇迹

“为了提高软件开发效率,任何编程语言都离不开相应的开发工具和程序库。”王克宏说。于是,SUN公司在1996年的1月23 日发布了JDK1.0,其中包括两个部分:运行环境和开发工具,运行环境包括五大部分:核心API、集成API、用户界面API、发布技术和Java虚拟机。

随着各种功能的完善与提炼,各种Java开发工具以及开发环境的丰富,Java不再是一种语言的代名词,它变成了一种开发平台。人们常常听到的J2EE(企业版)、J2ME(微型版)、J2SE(标准版)就是Java的三大核心平台。利用这三种不同的平台,人们可以来做不同行业的应用。

SUN公司大中华区总裁余宏德说:“Java经过十年的发展,已经得到了全球的公认,可以说,当今的电子时代是‘Java无处不在’,正是基于它一开始的技术公开性,Java已经变成全球最富有活力的技术社区之一。”

尽管,Java目前已经风靡全世界,但Java 到底给整个产业带来什么,除了Java程序员外,似乎没有人能具体感觉到。

SUN中国区市场经理马君海比喻说:“电灯的发明,使得有了现在庞大的电力产业;电话的发明,使得有了当今兴旺的电信产业;而Java的发明,则给软件产业带来了前所未有的改变。”

像一切新兴事物一样,Java的发展并不那么顺利,其坎坷起步的经历,可以从SUN首席执行官Scott McNealy在SUN的Java One大会上的一句话得知一二:“七八年前的Java One演说现在听起来真是寒碜,我们那时实在是太小看它了,我们根本不知道这项技术将会改变什么。”而且,由于开始就是基于开源的态度,当时很多人怀疑它是否能赚钱。

然而,今天的Java已经得到广泛应用。

据全球市场调查分析显示:已经有25亿部电子设备采用了Java技术,Java智能卡发行量已经达到10亿张,采用Java技术的手机达7亿多部,7亿台PC中应用了Java技术,140家电信运营商支持Java 技术,全球有超过450 万个Java开发人员,JCP(Java社区项目)已经有912家会员企业。

如果没有Java,SUN将会怎样

从1997年4月6日美国旧金山的第二届Java One大会,到今年的Java十周年盛事,本报目睹了Java 十年的风风雨雨,眼瞅着这个以“咖啡”命名的小小编程语言变成了一个平台,一个社团,一个生态系统。Java不仅发展了自己,也同时改变了它的缔造者。Java对SUN的改变是间接的、渐进式的,有时候甚至不为外人所道也。

与平台无关的Java旨在与“锁定用户的”Windows相抗衡,给人们更多的选择,但推动Java研发的却是家硬件公司――硬件公司与微软抗个什么衡?也许有人会拿IBM做类比――IBM也大量涉足软件。问题在于,IBM涉足软件的结果是把自己变成了一个软件和服务公司,而SUN的主业依然是服务器。表面上看,“纯软”的Java并没有给“偏硬”的SUN带来直接效益,反而树了个强大的敌人,这就是并不“软”的微软。

同时,尽管SUN对Java的投资巨大,却从没说过它从Java中获得过多少回报。因为使用Java程序和开发工具包是免费的,这让那些利用Java做第三方开发的ISV们赚了个钵满盆满,可是SUN得到了什么?当然,Java作为高级编程语言,它的注册和维护也能给SUN带来一定收入,但这是一个小头,有人比喻说:“SUN成了Java的管家,而不是主人。”

SUN大中华区市场总监李永起近日为记者揭开了Java与SUN的秘密:“如果SUN只是一个做服务器的公司,人们就不会对我们太感兴趣,但有了Java,就大不一样了,人们会跑过来与我们讨论Java,人们会说:‘哦,能研发出Java这么棒的编程语言的公司一定不同凡响!’况且,服务器的销售从来就不是孤立的,它体现为一个系统,Java在硬件销售中发挥了关键作用。”SUN用 Java来定位Web服务,发挥其多平台对话的特长,营造Web服务环境。

Internet让Java复活,Java则拯救了曾经陷入“偏硬”困境中的SUN。

SUN董事长麦克尼里认为:Java带来的益处从根本上讲是间接的。“但是,”他说,“想像一下,如果10年前SUN没有做Java,今天SUN将会在哪里?如果人们不写Java Web服务,他们会写.Net的程序,如果他们写.Net的程序,他们就不会为SUN的设备写程序。”

.NET不折不扣的对手

近年来,国内一批软件公司都采用Java技术开发了一批软件平台和产品,这两年Java在国内得到了迅速发展。不过,尽管看起来Java的队伍似乎很强大,但国内Java人才相对而言还是少得可怜。

“SUN在新加坡建立了Java高级培训中心,目前新加坡有5万名Java 人才,而新加坡全国只有380万人,即全国1.3%的是Java人才,如果按此比例,中国应有1700万名Java人才,而现在估计仅10到15万人。”王克宏教授在相关的报告中写道,“造成国内Java应用不多的原因是多方面的。”

“这两年SUN才开始在中国举办各种活动,而许多媒体对Java的不关注也是其中一个原因。”王克宏说。

“其实,鉴于Java出来时总给人阳春白雪的面孔,使得国内的许多编程者在熟悉了微软的开发平台后,很难转换过来是其中的一大部分原因。”宋靖宇博士说,“你不得不承认微软在开发工具上的人性化以及可视化设计是高超的。”

“在讨论 Java 的时候我们很容易将 Java 语言和 Java 平台混为一谈,与.NET 平台比较的过程中,也更多的是将Java平台和C#比较,或者将Java语言和.NET 平台做比较,在我个人的意识中,这是不够公正的。”上海大学博士刘锬对记者说,“Java既是一种语言,也是一种平台。”

说到微软的.NET,它从提出的开始就是立足平台,相对于 Java 提倡的“一次编写,到处运行”,.NET则提倡“一个平台,多种语言”,因为平台的统一性,因此在各个程序语言的兼容性和混合开发方面做得比Java 好,也因此有些微软的“粉丝”嘲笑Java是“一次编写,到处调试”。

“微软的C#是集合了C以及C++甚至Java的许多优点的结晶,在Windows平台上,似乎C#在运行速度上更胜一筹。”刘锬介绍说,“在任何一个平台上,我们直接交流的是实现Java语言运行的虚拟机,我们希望Java在虚拟机以及它的开发平台的研发上变得更易用、更人性化。”

“有对手总是一件不算坏的事情,这个世界不需要‘独孤求败’,商业规则也不允许‘独孤求败’的出现,因为那样会打破竞争格局的平衡,而Java和.NET这两个平台的纷争才刚刚开始。较量,有利于整个软件世界。SUN公司在商业模式的运作上甚至可以跟微软学习。”一网友这样说。

JAVA的秘密的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java破译密码、JAVA的秘密的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-23,除非注明,否则均为首码项目网原创文章,转载请注明出处。