1-Java的认识扫盲

前言

Java与C++相关,Java的大量特性是从C/C++继承过来的。最初Java被称为Oak,1995年被命名为Java。Java的最初推动力不是Internet!相反,主要动机是对平台独立(即体系结构中立)语言的需要。这种语言可以嵌入到这种消费类电子设备的软件。Java是可移植、平台独立的,可以用它生成在不同环境下运行于各种CPU之上的代码!

在计算机语言开发领域,人们都会感受到Java的影响和力量。许多创新性的特征、结构以及概念,已经成为了所有新语言的基准组成部分,Java影响力的最重要例子可能是C#,C#是由Microsoft创建的用于支持.NET Framework的语言,C#与Java密切相关。例如,两者共有相同的语法,都支持分布式编程,并且都利用相同的对象模型。当然,也有区别,总的看来这两门语言很相似。

Java applet

Java applet是一种特殊的Java程序,是为了能够在Internet上传送而设计的,可以在兼容Java的web浏览器中自动运行,它通常用于显示服务器提供的数据、处理用户输入或者提供在本地执行而不是服务器上执行的简单功能,本质上可以将某些功能从服务器移动到客户端。它也扩展了在cyberspace中自由流动的对象的范畴。相比阅读电子邮件或者下载时是在查看被动的数据,在执行之前代码也只是被动的数据,而applet是动态的,自我执行的程序,然而他们却是由服务器初始化的。动态就在安全性和可移植性方面带来了问题,必须防止客户端上自动下载和执行破获性的工作,那么Java以一种高效而且优美的方式解决了这些问题。

(1)安全性--Java通过将applet限制在Java执行环境中,并且不允许访问计算机的其他部分来实现这种保护,这被认为是Java的一个创新。同时Java不支持或者不允许使用指针(不支持程序员能够访问和修改指针),如果可以就会使Java程序突破Java执行环境和宿主计算机之前的防火墙
(2)可移植性--同一个applet必须能够在连接到Internet的大量不同类型的CPU、操作系统和浏览器环境中下载并且执行,为不同的计算机开发不同版本的applet是不切实际的。所以需要能够生成可移植的可执行代码的代码,其实有助于安全性的相同机制也可以用于帮助实现可移植性。

字节码

允许Java解决上述问题的关键是,Java编译器的输出不是可执行代码而是字节码(bytecode).字节码是高度优化的指令集合,这些指令由Java运行时系统执行,即由Java虚拟机(Java Virtual Machine,JVM)执行。本质上,原始的JVM被设计为字节码解释器(interpreter for bytecode)。特别的处于性能方面,许多现代语言被设计为将源代码编译成可执行代码。但Java这样设计有助于解决与基于web的程序相关的主要问题:

(1)将Java程序编译成字节码可以更容易地在各种环境中运行,因为只需要针对各种平台实现Java虚拟机就可以了。
(2)对于给定的系统只要存在运行时包,所有Java程序就可以在该系统中运行
(3)Java程序由JVM执行,有助于安全,因为JVM执行所以能够包含程序并且防止它在系统之外产生负效应。
(4)将程序编译成中间形式,然后由虚拟机解释执行,相对于直接编译成可执行代码,执行速度慢一些但对于Java来说,区别并不大,因为字节码已经被高度优化!在性能上,Java引入了HotSpot技术,HotSpot为字节码提供了即时(Just-In-Time,JIT)编译器。而JVM包含JIT编译器,可以根据要求一部分一部分将选择的字节码事实编辑为可执行代码,而不是整个Java程序一次性地全部编译
(5)Java执行各种运行时检查,而这些检查只在执行时执行,事实上JIT编译器在执行期间根据需要编译代码。不是编译所有字节码序列-而是只编译那些能从编译中受益的字节码,剩余代码仍然只是进行解释。

servlet:服务器端的Java

applet只是B/S这个整体的一半。Java对于服务器也是有用,servlet是在服务器上执行的小程序,像applet动态扩展了web浏览器的功能一样,后者动态扩展了web服务器的功能,有了servlet,Java横跨了B/S连接的两端。

servlet用于动态地创建发送到客户端的内容,比如商店用servlet在数据库中查找商品价格,然后使用价格信息动态生成发送到web页面,尽管通过CGI(公共网络接口)机制也可以获取,但servlet提供了一些优点。servlet包括所有Java程序被编译成字节码,并且由JVM执行,所以他们具有高度的可移植性

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

推荐阅读更多精彩内容