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
03.Java的前世今生的更多相关文章
- Java-Runoob-高级教程-实例-方法:03. Java 实例 – 汉诺塔算法-un
ylbtech-Java-Runoob-高级教程-实例-方法:03. Java 实例 – 汉诺塔算法 1.返回顶部 1. Java 实例 - 汉诺塔算法 Java 实例 汉诺塔(又称河内塔)问题是源 ...
- Java-Runoob-高级教程-实例-时间处理:03. Java 实例 - 获取年份、月份等
ylbtech-Java-Runoob-高级教程-实例-时间处理:03. Java 实例 - 获取年份.月份等 1.返回顶部 1. Java 实例 - 获取年份.月份等 Java 实例 以下实例演示 ...
- Java-Runoob-高级教程-实例-数组:03. Java 实例 – 获取数组长度-*
ylbtech-Java-Runoob-高级教程-实例-数组:03. Java 实例 – 获取数组长度 1.返回顶部 Java 实例 - 获取数组长度 Java 实例 本文我们将为大家介绍如何使用数 ...
- Java-Runoob-高级教程-实例-字符串:03. Java 实例 - 删除字符串中的一个字符
ylbtech-Java-Runoob-高级教程-实例-字符串:03. Java 实例 - 删除字符串中的一个字符 1.返回顶部 1. Java 实例 - 删除字符串中的一个字符 Java 实例 以 ...
- [03]java中的方法以及控制语句
00 Java中的语句块 语句块(有时叫做复合语句),是用花括号扩起的任意数量的简单Java语句.块确定了局部变量的作用域.块中的程序代码,作为一个整体,是要被一起执行的.块可以被嵌套在另一个块中,但 ...
- 033 01 Android 零基础入门 01 Java基础语法 03 Java运算符 13 运算符和表达式知识点总结
033 01 Android 零基础入门 01 Java基础语法 03 Java运算符 13 运算符和表达式知识点总结 本文知识点:运算符和表达式知识点总结 前面学习的几篇文都是运算符和表达式相关的知 ...
- 032 01 Android 零基础入门 01 Java基础语法 03 Java运算符 12 运算符和if-else条件语句的综合案例——闰年问题
032 01 Android 零基础入门 01 Java基础语法 03 Java运算符 12 运算符和if-else条件语句的综合案例--闰年问题 本文知识点:运算符和if-else条件语句的综合案例 ...
- 031 01 Android 零基础入门 01 Java基础语法 03 Java运算符 11 运算符的优先级
031 01 Android 零基础入门 01 Java基础语法 03 Java运算符 11 运算符的优先级 本文知识点:Java中运算符的优先级 运算符的优先级问题 前面学习了很多的运算符,如果这些 ...
- 030 01 Android 零基础入门 01 Java基础语法 03 Java运算符 10 条件运算符
030 01 Android 零基础入门 01 Java基础语法 03 Java运算符 10 条件运算符 本文知识点:Java中的条件运算符 条件运算符是Java当中唯一一个三目运算符 什么是三目运算 ...
随机推荐
- 关于RAID小结
独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks ...
- P2756 飞行员配对方案问题 网络流
P2756 飞行员配对方案问题 #include <bits/stdc++.h> using namespace std; , inf = 0x3f3f3f; struct Edge { ...
- Docker 部署Spring Boot 项目并连接mysql、redis容器(记录过程)
Spring Boot 项目配置 将写好的Spring Boot 项目通过maven 进行package打包获得可执行Jar 再src/main/docker(放哪都行)下编写创建Dockerfile ...
- 汉语拼音转换工具包pypinyin
#pip install pypinyin汉字转换汉语拼音 from pypinyin import lazy_pinyin,TONE,TONE2,TONE3 str="你知道我是谁吗?&q ...
- [翻译]用于.NET Core的Windows窗体设计器发布
本文由微信公众号<开发者精选资讯>翻译首发,转载请注明来源 今天我们很高兴地宣布,.NET Core项目的Windows窗体设计器现在可以在 Visual Studio 2019 16.6 ...
- 日志文件的配置----【logback-spring.xml】
一.引入相关包 <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-c ...
- web项目——javax.servlet.ServletException: Circular view path [registerForm]
报错: 控制台输出: 三月 21, 2019 10:12:32 上午 org.springframework.web.servlet.PageNotFound noHandlerFound 警告: N ...
- UIAutomator2的API文档(一)
检查并维持设备端守护进程处于运行状态,应该是重启了atx守护进程:d.healthcheck() 1.隐式等待 import uiautomator2 as u2serialno = '7f3dec6 ...
- Java中的集合(十一) 实现Map接口的TreeMap
Java中的集合(十一) 实现Map接口的TreeMap 一.TreeMap简介(基于JDK1.8) TreeMap是基于红黑树数据结构,是一个key-value的有序集合,该映射根据其键的自然顺序进 ...
- python requests用于测试
https://blog.csdn.net/niedongri/article/details/71404314 https://blog.csdn.net/temanm/article/detail ...