zoukankan      html  css  js  c++  java
  • 03.Java的前世今生

    C&C++

    1972年C诞生

    ◆贴近硬件,运行极快,效率极高。
    ◆操作系统,编译器,数据库,网络系统等
    ◆指针和内存管理

    1982年C++诞生

    ◆面向对象
    ◆兼容C
    ◆图形领域、游戏等

    背景

    20世纪90年代,硬件领域出现了单片式计算机系统。为了抢占市场Sun公司在1991年成立了一个称为Green的项目小组,其目的是开拓消费类电子产品市场。由于C++的优势,考虑采用C++编写程序。但对于硬件资源极其匮乏的单片式系统来说,C++程序过于复杂和庞大,另外由于消费电子产品所采用的嵌入式处理器芯片的种类繁杂,如何让编写的程序跨平台运行也是个难题。因此,对易于移植到各种设备上的平台需求呼声很高

    兴起

    到了1994年下半年,正当Green小组遭受挫折的时候,互联网(internet)的迅猛发展促进了Java语言研制的进展,Sun公司意识到了Java的技术潜能,推出了完全用Java编写的新型浏览器HotJava,使得Java逐渐成为互联网上受欢迎的开发与编程语言。

    布局

    Java 2标准版(J2SE): 去占领桌面
    Java 2移动版(J2ME): 去占领手机
    Java 2企业版(J2EE): 去占领服务器

    发展

    基于Java开发了巨多的平台,系统,工具
    ◆构建工具: Ant, Maven, Jekins
    ◆应用服务器: Tomcat, Jetty, Jboss, Websphere, weblogic
    ◆Web开发: Struts ,Spring,Hibernate, myBatis
    ◆开发工具: Eclipse, Netbean,intellij idea, Jbuilder
    ◆2006 : Hadoop (大数据领域)
    ◆2008 : Android (手机端)

    Java特性和优势

    高可用,高性能,高并发

    简单性

    采用C语言语法并去掉一些复杂概念

    面向对象

    可移植性

    Java编译器生成了与体系结构无关的字节码文件,任何种类的计算机,只有在其处理器和操作系统上有Java运行环境,字节码文件就可以在该计算机上运行

    分布式

    分布式语言,跨平台高并发,高性能,互联网架构不二选择

    动态性

    Java的动态性是其面向对象设计的扩展. 它提供运行时刻的扩展性, 即在后期才建立各模块间的互连. 各个库可以自由地增加新的方法和实例(instance)变量. 这意味着现有的应用程序可以增加功能, 只须链接新类封装有所需的方法.
    C++是多重继承(multiple inheritance)的, 若某个超类(superclass) 改变了某个方法或变量, 其子类(subclass)必须重新编译. Java则用接口(interface)来实现多级继承, 使用起来比C++的多重继承更灵活.
    Java语言的动态性使它能够胜任分布式系统环境下的应用, 位于各地的类可以自由地升级, 而不影响原Java应用程序的运行.

    反射,注解,动态代理,类加载机制

    多线程

    多线程可以使应用程序同时进行不同的操作

    安全性

    JDK、JRE、JVM

    JDK : Java Development Kit

    JRE : Java Runtime Environment

    JVM : JAVA Virtual Machine

  • 相关阅读:
    [编程题] 数组中重复的数字
    [编程题] 用两个栈实现队列
    杜教筛学习笔记
    二次剩余学习小记
    Burnside引理和Polya定理简单入门
    6553. 【GDOI2020模拟4.11】人生
    6545. 【GDOI2020模拟4.8】 Exercise
    2020.4.5学军信友队趣味网络邀请赛总结
    51 Nod 1287 加农炮(单调队列思想+二分)
    51 Nod 1070 Bash游戏v4(斐波那契博弈)
  • 原文地址:https://www.cnblogs.com/1911087165zzx/p/12961183.html
Copyright © 2011-2022 走看看