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. codevs 2216 线段树 两种更新方式的冲突

    题目描述 Description “神州“载人飞船的发射成功让小可可非常激动,他立志长大后要成为一名宇航员假期一始,他就报名参加了“小小宇航员夏令营”,在这里小可可不仅学到了丰富的宇航知识,还参与解决 ...

  2. bzoj 1012 维护一个单调数列

    Description 现在请求你维护一个数列,要求提供以下两种操作: 1. 查询操作.语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值.限制:L不超过当前数列的长度. 2. ...

  3. hdu2955 Robberies  01背包+概率

    link:http://acm.hdu.edu.cn/showproblem.php?pid=2955 首先,这个题目的背包容量不能是概率.1.精度不清楚.2.把概率相加有什么意义呢?所以,转换一下, ...

  4. Apache配置日志功能

    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent ...

  5. Codeforces Round #149 (Div. 2)

    A. Heads or Tails 枚举. B. Big Segment \(L=min(l_i),\ R=max(R_i)\) 判断是否存在区间\([L,R]\). C. King's Path 单 ...

  6. java的nio之:unix内核的五种I/O通信模型

    一:根据unix的网络编程对I/O模型的分类,UNIX提供了5种I/O模型===>阻塞I/O模型:最常用的I/O模型.所有文件操作都是阻塞的.我们以套接字接口为例讲解此模型:在进程空间中调用re ...

  7. 9款精致HTML5/jQuery日历时钟控件源码下载(源码请见百度云) 链接:http://pan.baidu.com/s/1geIXe75 密码:7m4a

    现在的网页应用越来越丰富,我们在网页中填写日期和时间已经再也不用手动输入了,而是使用各种各样的日期时间选择控件,大部分样式华丽的日期选择和日历控件都是基于jQuery和HTML5的,比如今天要分享的这 ...

  8. ps白平衡

    ps白平衡:在正常光线下看起来是白颜色的东西在有色光或者较暗的光线下看起来可能就不是白色,还有荧光灯下的"白"也是"非白".对于这一切如果能调整白平衡,则在所得 ...

  9. git 教程 ,常用命令

    Git使用手册 http://www.cnblogs.com/lantingji/p/5942721.html git官网 https://git-scm.com/ Git的奇技淫巧 http://w ...

  10. JAVA 新闻

    Oracle已对Java失去兴趣?Java社区能否扭转乾坤? http://news.cnblogs.com/n/549566/ http://mp.weixin.qq.com/s?__biz=MjM ...