目录

chapter 1:The History and  Evolution of Java

1.Java’s Lineage

2.The Creation of Java

3.How Java Changed the Internet

4.Java’s Magic: The Bytecode

5.Servlets: Java on the Server Side

6.The Java Buzzwords

7.The Evolution of Java


1.Java’s Lineage

1.1 现代编程的诞生:C

The C language shook the computer world. Its impact should not be underestimated, because
it fundamentally changed the way programming was approached and thought about. The
creation of C was a direct result of the need for a structured, efficient, high-level language
that could replace assembly code when creating systems programs. As you probably know,
when a computer language is designed, trade-offs are often made, such as the following:

(C语言震撼了计算机世界。其影响不应低估,因为它从根本上改变了人们对待和思考编程的方式。这个创建c语言是对结构化、高效、高级语言需求的直接结果它可以在创建系统程序时替换程序集代码。你可能知道,当设计一种计算机语言时,通常会做出如下权衡)
•     Ease-of-use versus power 易用性与动力性
•     Safety versus efficiency 安全与效率
•     Rigidity versus extensibility 健壮性与延展性

1.2 C++的诞生

C++ was invented by Bjarne Stroustrup in 1979, while he was working at Bell Laboratories
in Murray Hill, New Jersey. Stroustrup initially called the new language “C with Classes.”
However, in 1983, the name was changed to C++. C++ extends C by adding object-oriented
features. Because C++ is built on the foundation of C, it includes all of C’s features, attributes,
and benefits. This is a crucial reason for the success of C++ as a language. The invention of
C++ was not an attempt to create a completely new programming language. Instead, it was
an enhancement to an already highly successful one.

(C++是Bjarne Stroustrup于1979发明的,当时他在贝尔实验室工作。在新泽西州的默里山。stroustrup最初称这种新语言为“带类的c”。然而,在1983,名称被更改为C++。C++通过添加面向对象扩展C特征。因为C++是建立在C的基础上的,它包含了所有C的特性、属性,还有好处。这是C++作为一门语言成功的一个重要原因。发明C++并不是试图创建一种全新的编程语言。相反,它是一个已经非常成功的改进)

1.3 java在此背景下开始出现

2.The Creation of Java(Java的产生)

2.1 java的出现

Java was conceived by James Gosling, Patrick Naughton, Chris Warth, Ed Frank, and Mike
Sheridan at Sun Microsystems, Inc. in 1991. It took 18 months to develop the first working
version. This language was initially called “Oak,” but was renamed “Java” in 1995. Between
the initial implementation of Oak in the fall of 1992 and the public announcement of Java
in the spring of 1995, many more people contributed to the design and evolution of the
language. Bill Joy, Arthur van Hoff, Jonathan Payne, Frank Yellin, and Tim Lindholm were
key contributors to the maturing of the original prototype.

(Java是由James Gosling,Patrick Nouton,Chris Warth,Ed Frank和Mike构思的1991年在太阳微系统公司工作。第一次工作花了18个月版本。这种语言最初被称为“oak”,但在1995年被重命名为“java”。介于1992年秋季oak的初步实现及java的公开发布
在1995年春天,更多的人参与了语言。比尔·乔伊、亚瑟·范霍夫、乔纳森·佩恩、弗兰克·耶林和蒂姆·林德霍姆
原型机成熟的主要贡献者。)

Somewhat surprisingly, the original impetus for Java was not the Internet! Instead, the
primary motivation was the need for a platform-independent (that is, architecture-neutral)

language that could be used to create software to be embedded in various consumer
electronic devices, such as microwave ovens and remote controls. As you can probably
guess, many different types of CPUs are used as controllers. The trouble with C and C++
(and most other languages) is that they are designed to be compiled for a specific target.
Although it is possible to compile a C++ program for just about any type of CPU, to do so
requires a full C++ compiler targeted for that CPU. The problem is that compilers are
expensive and time-consuming to create. An easier—and more cost-efficient—solution
was needed. In an attempt to find such a solution, Gosling and others began work on a
portable, platform-independent language that could be used to produce code that would
run on a variety of CPUs under differing environments. This effort ultimately led to the
creation of Java。

(有些令人惊讶的是,Java最初的动力不是互联网!取而代之的是主要动机是需要一个独立于平台的(即,与体系结构无关的)
可用于创建嵌入到各种用户中的软件的语言电子设备,如微波炉和遥控器。你也许可以猜猜看,许多不同类型的CPU被用作控制器。C和C++的故障(和大多数其他语言)是为特定目标而设计的。虽然有可能编译一个C++程序,用于几乎任何类型的CPU,但是这样做是可能的。需要针对该CPU的完全C++编译器。问题是编译器制作成本高,耗时长。更简单、更具成本效益的解决方案是需要的。为了找到这样的解决方案,高斯林和其他人开始研究可移植的、独立于平台的语言,可用于生成在不同的环境下运行不同的CPU。这一努力最终导致Java的创建)

2.2 java与C#的联系

Perhaps the most important example of Java’s influence is C#. Created by Microsoft to
support the .NET Framework, C# is closely related to Java. For example, both share the
same general syntax, support distributed programming, and utilize the same object model.
There are, of course, differences between Java and C#, but the overall “look and feel” of
these languages is very similar. This “cross-pollination” from Java to C# is the strongest
testimonial to date that Java redefined the way we think about and use a computer language。

(也许Java影响的最重要的例子是C。由Microsoft创建到支持.NET框架,C与Java关系密切。例如,两者共享相同的通用语法,支持分布式编程,使用相同的对象模型。当然,Java和C之间有区别,但是这些语言非常相似。这种“异花授粉”从爪哇到c是最强的迄今为止,Java重新定义了我们思考和使用计算机语言的方式。)

3.How Java Changed the Internet (Java如何改变的互联网)

Java Applets、 Security、 Portability

4.Java’s Magic: The Bytecode(Java的魔力:字节码)

Translating a Java program into bytecode makes it much easier to run a program in
a wide variety of environments because only the JVM needs to be implemented for each
platform. Once the run-time package exists for a given system, any Java program can run
on it. Remember, although the details of the JVM will differ from platform to platform, all
understand the same Java bytecode. If a Java program were compiled to native code, then
different versions of the same program would have to exist for each type of CPU connected
to the Internet. This is, of course, not a feasible solution. Thus, the execution of bytecode
by the JVM is the easiest way to create truly portable programs。

(将Java程序转换为字节码使在各种各样的环境,因为每个环境只需要实现jvm站台。一旦给定系统的运行时包存在,任何Java程序都可以运行。在上面。请记住,尽管jvm的细节因平台而异,但是理解相同的Java字节码。如果Java程序被编译为本机代码,那么对于每种类型的CPU连接,相同程序的不同版本都必须存在。上网。当然,这不是一个可行的解决办法。因此,字节码的执行通过jvm是创建真正可移植程序的最简单方法)

5.Servlets: Java on the Server Side(servlet:服务器端的Java)

Servlets are used to create dynamically generated content that is then served to the
client. For example, an online store might use a servlet to look up the price for an item in a
database. The price information is then used to dynamically generate a web page that is sent
to the browser. Although dynamically generated content is available through mechanisms
such as CGI (Common Gateway Interface), the servlet offers several advantages, including
increased performance。

(servlet用于创建动态生成的内容,然后将其服务于客户。例如,在线商店可以使用一个servlet来查找数据库。然后,使用价格信息动态生成发送的网页到浏览器。尽管动态生成的内容可以通过机制获得例如cgi(公共网关接口),servlet提供了一些优点,包括提高性能)

Because servlets (like all Java programs) are compiled into bytecode and executed by
the JVM, they are highly portable. Thus, the same servlet can be used in a variety of
different server environments. The only requirements are that the server support the JVM
and a servlet container.

(因为servlet(和所有java程序一样)被编译成字节码并由在jvm中,它们是高度可移植的。因此,同一个servlet可以用于不同的服务器环境。唯一的要求是服务器支持jvm以及一个servlet容器。)

6.The Java Buzzwords(Java的流行特性)

  • Simple 简单
  • Secure 安全
  • Portable 便于携带
  • Object-oriented 面对对象
  • Robust 强健的
  • Multithreaded 多线路
  • Architecture-neutral
  • Interpreted 解释型
  • High performance 高精确性,高性能
  • Distributed 分布式的
  • Dynamic 动态的

7.The Evolution of Java(Java的演化)

 

 

 


版权声明:本文为weixin_37910098原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_37910098/article/details/102766714