java的诞生:每一次设计语言的革新都是为了解决先前语言所遇到的不能解决的问题,B语言导致C语言的诞生,C语言演变成C++,java则继承了这两种语言的大部分特性。java最初的推动力是为了找到一种能够解决独立平台的、能够嵌入多种电器设备的语言。
    java虽然受到了C++很大的影响,但是java并不是C++的增强版,他们在实践和理论上都有很大的不同,java与C++既不向上兼容,也不向下兼容。java也并不是用来取代C++的,设计java是为了解决一些特定的问题,而C++则是为了解决另外一些特定的问题,两者将长时间共存。
    java语言可以用来生成两类程序:应用程序和小应用程序,而他最吸引人的地方便是解决了小应用程序的两个最棘手的问题,安全性和可移植性。
    所谓的安全性是指java在网络应用程序和计算机之间提供了一道防火墙,可以有效的防止一些恶意程序和病毒,从而能够安全的下载java小应用程序。java实现这一功能的方式是:限制java程序在java运行环境中,不允许访问计算机的其他部分。
    而可移植性指的是源代码可移植性、操作系统可移植性、CPU可移植性。源代码可移植性意味着java程序可以在任意CPU、操作系统和java编译器中运行处相同的结果;CPU可移植性指的是java编译器产生的目标代码所针对的不是某一实际的CPU,而是虚拟CPU,即java虚拟机JVM;而操作系统可移植性则指的是,java采用了一套与平台无关的库函数来解决同一套代码程序不能同时在多种操作系统中正常运行的问题。
    java解决上边两个问题的关键在于java编译器的输出不是可执行代码而是字节码。

(一)java的由来的更多相关文章

  1. Java名称由来

              2000年度的JavaOne国际会议大厅热闹非凡,一阵阵浓郁的咖啡味儿香气扑鼻.从世界各地汇集到旧金山参加会议的Java精英们兴奋异常,排着长队,等待得到一杯由Java语言控制的咖 ...

  2. Java 入门基础

    第零章 开始学习Java 1.Java基础最重要 Java学习中,Java的基础.Java面向对象是最关键的,而一些像框架技术等都是建立在基础之上东西. 多多处理问题,积累处理问题的能力. Java框 ...

  3. Java开发手册

    <Java开发手册> 基本信息 作者: 桂颖    谷涛    出版社:电子工业出版社 ISBN:9787121209161 上架时间:2013-8-12 出版日期:2013 年7月 开本 ...

  4. java书系列之——前言

    第1章Java的起源 对于计算机语言的发展史,业界一般认为:B语言导致了C语言的诞生,C语言演变出了C++语言,而C++语言将让位于Java语言.要想更好地了解Java语言,就必须了解它产生的原因.推 ...

  5. 了解Java并学会创建Java项目(一个菜鸟的成长历程)

    计算机语言分类:了解 1)低级语言:更接近于计算机的语言 1.1)机器语言:由0和1组成的 1.2)汇编语言:有一些助记符号2)高级语言:更接近于人的语言 2.1)面向过程的:C... 2.2)面向对 ...

  6. JAVA基础第一章-初识java

    业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 从今天开始,我将会持续更新java基础知识,欢迎关注. java的诞生 ...

  7. 20155210潘滢昊 2016-2017-2《Java程序设计》第一周学习总结

    20155210 2016-2017-2<Java程序设计>第一周学习总结 教材学习内容总结 1.1.1: 本节主要讲了Java的由来,1995年5月23日是Java公认的诞生日.还有版本 ...

  8. 20155216 2016-2017-2 《Java程序设计》第一周学习总结

    教材学习中的问题和解决过程 根据自己的理解,每章提出一个问题 第一章:课本中介绍的JDK安装时在windows系统下的安装,而我们学习的是在Linux系统下的安装,运用Linux系统学习编程(尤其是J ...

  9. 20155220 吴思其 2016-2017《java程序设计》第一周总结

    对第一章和第二章的学习 通过了前两章的学习,我了解到了java的由来以及JVM/JRE/JDK三大平台 JDK JDK 是 Java 语言的软件开发工具包. JDK是整个JAVA的核心,包括了Java ...

随机推荐

  1. 150. Evaluate Reverse Polish Notation

    Valid operators are +, -, *, /. Each operand may be an integer or another expression. Some examples: ...

  2. Roman to Integer

    Given a roman numeral, convert it to an integer. Input is guaranteed to be within the range from 1 t ...

  3. mysql 关联删除

    参考网址:http://www.111cn.net/database/mysql/51146.htm 原网页广告太多,自己抄了下. 1.delete from t1 where 条件2.delete ...

  4. java窗口添加背景

    1.import javax.swing.ImageIcon; 2.import javax.swing.JFrame; 3.import javax.swing.JLabel; 4.import j ...

  5. 在JSP页面下使用AJAX实现用户名存在的检测

    <script type="text/javascript">     function init(){         document.getElementById ...

  6. JavaWeb学习记录(四)——日期和数字的格式转换

    一.Date转为String (1) public class DateUtil {    private static SimpleDateFormat sdf = new SimpleDateFo ...

  7. phpwind8.7升级9.0.1过程(二)8.7正式升级9.0

    首先备份 1. 给本地做备份将网站根目录下面的所有文件先做备份. 2. 给本地数据库做备份 3. 了解升级的具体过程 phpwind8.7升级到9.0需要首先升级到phpwind9.0的原生版本即:2 ...

  8. Java——多线程

     /* * 进程: 正在 进行中的程序 * 线程:就是进程中一个负责程序执行的控制单元(执行路径) * 一个进程中可以有多个执行路径,称之为多线程. * * 一个进程中至少要有一个线程. * *  ...

  9. Linux-NFS原理介绍

    NFS(network filesystem)是由sun公司开发的,其作用是在网络当中可以将想要开发的目录共享给别人,这样使得访问者访问nfs服务器上的东西就像访问本地的文件一样,在将文件公开给别人的 ...

  10. C++重载,重写,重定义

    1.重载:重载是在一个类中,函数名一样,参数类型或参数个数不同的一系列函数需要注意的是,与返回类型无关. class Test { public: void show(); void show(int ...