JAVA开发(史上最完整追本溯源JAVA历史、发展和学习)

news2024/11/26 1:57:50

(第二次世界大战1931-1945)

世界上最先进的技术往往是由于战争催生,在第二次世界大战中除了飞机,坦克和大炮的武器较量外,在隐秘战线的情报工作其实更为重要,在军队将领来往的电报中,为了防止军事情报的泄漏,不得不将电报进行加密传输。第二次世界大战,德国使用的顶顶有名的恩格玛加解密码机。那时号称无人能破解。

 

( 图灵机1937)

道高一尺,魔高一丈。天才图灵,提出了图灵机。图灵,他英国数学家、逻辑学家,被称为计算机科学之父,人工智能之父。在英国和德国的战场中,英国人为了破解德国的恩格玛密码机,重用了图灵。图灵发明的图灵机,在比较短的时间内破译了恩格玛机。图灵的贡献很大,可谓天才,但是由于他从事的都是机密工作,很少对外披露。后来还因为同性恋的事情,被迫害忧郁,吃了有毒的苹果致死。现在的苹果手机的苹果,传说为了纪念图灵就是图灵咬了一口的苹果,计算机领域最高奖也以图灵奖命名。现在的人工智能测试机,也叫图灵机。

(美国曼哈顿计划1946)

在美国战场,主要是美国和日本的较量,特别是在太平洋战争中。美国启用了一项非常重大的计划,叫曼哈顿计划。曼哈顿计划的目标就是使用原子能制造一种大规模杀伤性武器。主导人是奥本海默,团队里有爱因斯坦,冯诺依曼这些牛人。其中爱因斯坦大名鼎鼎,像冯诺依曼并不是很多人知道。但是冯诺依曼的贡献其实可能比他们都大,主要是冯诺依曼主要不在物理学,而在数学上。可能这是爱因斯坦比冯诺依曼出名的原因。还有一个原因是冯诺依曼喜欢东搞搞西搞搞,每一项都是世界顶级,数学,计算机、经济学。他提出的计算机冯诺依曼体系结构,奠定了经典计算机的基础。他提出的这个理论,就是为了解决计算机可编程的问题。 

 

(天才.冯诺依曼1946) 

美籍匈牙利数学家、计算机科学家、物理学家,是20世纪最重要的数学家之一。冯·诺依曼的逻辑和计算机思想指导他设计并制造出历史上的第一台通用电子计算机。他的计算机理论主要受自身数学基础影响,且具有高度数学化、逻辑化特征,对于该理论,他自己一般会叫作“计算机的逻辑理论”。而他的计算机存储程序的思想,则是他的另一伟大创新,通过内部存储器安放存储程序,成功解决了当时计算机存储容量太小,运算速度过慢的问题。

(1945年第一台计算机ENIAC) 

世界上第一台现代电子数字计算机埃尼阿克(ENIAC),诞生于1946年2月14日的美国宾夕法尼亚大学,并于次日正式对外公布。 ENIAC长30.48米,宽6米,高2.4米,占地面积约170平方米,30个操作台,重达30英吨,耗电量150千瓦,造价48万美元。它包含了17,468根真空管(电子管)7,200根水晶二极管,1,500 个中转,70,000个电阻器,10,000个电容器,1500个继电器,6000多个开关,计算速度是每秒5000次加法或400次乘法,是使用继电器运转的机电式计算机的1000倍、手工计算的20万倍。

(大名鼎鼎的贝尔实验室,操作系统的摇篮)

自1969年在贝尔实验室的阁楼上诞生以来,Unix操作系统的发展远远超出其创造者们的想象。它带动了许多创新软件的开发,影响了无数程序员,改变了整个计算机技术的发展轨迹。现在的Linux操作系统就是类Unix操作系统。是在李纳斯(linus)等人的重写下逐渐丰富起来的操作系统。除了Unix,贝尔实验室还发明很多的操作系统,贝尔实验室可以称作计算机操作系统的摇篮。

 (操作系统的蓬勃发展1969)

有了可编程的操作系统,各种商业公司蜂拥而至,苹果、IBM,微软。苹果和微软的操作系统其实都是别人的系统。二者曾还为谁抄袭谁的操作系统打官司。最后其实是二者都同时借鉴了1973年施乐公司帕洛阿尔托研究中心The Xerox PARC的施乐奥托(The Xerox Alto)。最后才有了现象级的操作系统Windows和Mac操作系统。微软也让比尔盖茨登顶世界首富好多年!而苹果的产品,也在改变无数人的生活方式

 (低级语言汇编)

汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。

 (高级编程语言百花齐放)

 (JAVA之父詹姆斯.高斯林)

Java 的发明开始于1991 年, 由 Sun 公司带领的开发小组, 想设计一种小型的计算机语言,主要用于有线电视转换盒这类的消费设备。 由于这类设备的处理能力和内存都非常有限,所以语言就必须设计的非常小且能够生成紧凑的代码。 另外,由于不同的厂商会选择不同的 CPU, 因此很重要的一点就是这种语言不应该与任何特定的体系结构绑定。这个项目被命名为 “Green”。 Sun 公司的人都有 Unix 的应用背景, 所以开发的语言用了 C++ 为基础。并把这种语言称为 “Oak”, 后来, Sun 公司的人后来发现, Oak 是一种已经有的计算机语言的名字, 于是, 将其改名为 “Java”

詹姆斯·高斯林 (James Gosling)是一名软件专家,1955年5月19日出生于加拿大,Java编程语言的共同创始人之一,一般公认他为“Java之父”。

(JDK版本发展历程) 

 (JAVA语言运行机制)

Java程序的运行机制分为编写、编译和运行三个步骤。 1.编写 编写是指在Java开发环境中进行程序代码的编辑,最终生成后缀名为“.java”的Java源文件。 2.编译 编译是指使用Java编译器对源文件进行错误排查的过程,编译后将生成后缀名为.class的字节码文件,该文件可以被Java虚拟机(JVM)的解释器正常读取。 3.运行 运行是指使用Java解释器将字节码文件翻译成机器代码,执行并显示结果。 字节码文件是一种和任何具体机器环境及操作系统环境无关的中间代码,它是一种二进制文件,是Java源文件由Java编译器编译后生成的目标代码文件。

 

 (SUN公司背后的故事)

sun公司其实就是斯坦福大学校园网。是孵化java的公司。

 (美国硅谷与大规模集成电路的发展)

之所以叫硅谷,因为这里有大量的硅,这是生产半导体和芯片的原料。没有大规模集成电路就没有个人计算机。

 (大名鼎鼎的网景公司)

浏览器的发展是JAVA语言快速普及的催化剂。

浏览器的先主:网景浏览(Netscape )在1994年,推出的第一款商用浏览器,此时浏览器只能写一些简单的页面  , 只能展示一些 简单的 html 元素  。

(浏览器大战,互联网的开始 ) 

两次浏览器大战:

第一次浏览器大战发生在上个世纪90年代,微软发布了它的IE浏览器,和网景公司的Netscape Navigator大打出手,最后网景不得不将公司卖给AOL一走了之。世界由此平静了。但平静并没有能够持续太久,日益壮大的Mozilla Firefox从2004年又开始重新叫板微软地位。

第二次大战并不像第一次那么简单。这次不只是IE和火狐狸的斗争了。一些新的基于不同引擎的浏览器也加入了阵营,比如挪威的Opera (基于Presto引擎)和中国的Maxthon。Opera的主要战场在移动设备,大部分的智能手机都配有Opera的移动浏览器。而Maxthon的主要阵地在中国,根据百度的统计,15%的百度用户都在使用这个浏览器。

(SUN公司的JSP技术1997)  

JSP(全称Java Server Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。 JSP将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容。JSP引入了被称为“JSP动作”的XML标签,用来调用内建功能。另外,可以创建JSP标签库,然后像使用标准HTML或XML标签一样使用它们。标签库能增强功能和服务器性能,而且不受跨平台问题的限制。JSP文件在运行时会被其编译器转换成更原始的Servlet代码。JSP编译器可以把JSP文件编译成用Java代码写的Servlet,然后再由Java编译器来编译成能快速执行的二进制机器码,也可以直接编译成二进制码。

 (马云的1995与中国黄页) 

1995年的一天,马云接到了浙江省交通厅的派遣通知:到美国催讨一笔债务。在西雅图,对电脑一无所知的马云学会了上网。朋友让他输入一个词,他输入了Beer(啤酒),结果电脑上显示了许多国家的啤酒,包括美国、德国等,而他就是没有看到中国的啤酒。马云非常好奇,又输入了China(中国),计算机上显示:“没有数据”。而当输入中国历史的时候,显示的只是一段仅有50个字的短文。马云很奇怪:为何没有中国的信息资料呢?于是他想到了为自己的翻译社在网上做一则广告,上午10点他将广告发布到网上,中午12点之前便收到了6封E-mail,分别来自美国、德国还有日本,说这是他们看到的关于中国的第一个网页。马云感到很惊奇,并敏感地意识到“这里有大大的生意可做”!

 (中国互联网的发展1995-2023,竞争已形成格局)

 (招聘网站对JAVA人员的技能要求) 

 (开始学习JAVA-学习成长)

 

 

(开始学习JAVA-基本数据类型)

public static void main(String[] args) {
    byte a = 20; // 声明一个byte类型的变量并赋予初始值为20
    short b = 10; // 声明一个short类型的变量并赋予初始值为10
    int c = 30; // 声明一个int类型的变量并赋予初始值为30
    long d = 40; // 声明一个long类型的变量并赋予初始值为40
    long sum = a + b + c + d;
    System.out.println("20+10+30+40=" + sum);
}

(开始学习JAVA-引用数据类型)

在 Java 中,除了有 8 种基础类型,还有引用类型。引用类型一般情况下统称有 3 类。 分别是: 类、接口、数组。不过也可以说, 除了基础类型外,其余的都是引用类型。在 Java 的引用类型有点类似 C 和 C++ 的指针概念。引用类型是一种对象类型,它的值是指向内存空间中的引用。 对应的是引用的地址。 并且在 8 种基础类型上又为每种基本类型提供了对应的封装类型。

 (开始学习JAVA-代码风格)

JAVA代码以.java为后缀。以类作为一个文件体。类中包含变量,构造函数方法。JAVA的执行入口为main函数。

(开始学习JAVA-学习路线)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/385066.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

k8s编程operator实战之云编码平台——⑤项目完成、部署

文章目录1、效果展示2、保存用户状态和访问用户服务实现方案2.1 如何保存用户的状态2.1.1 解决保留安装的插件问题2.2 如何访问到用户在工作空间中启动的http服务2.2.1 code-server如何帮我们实现了用户程序的代理3、Operator功能实现3.1 使用KubeBuilder创建项目3.1.1 完善kin…

牛逼了!这是什么神仙面试宝典?半月看完25大专题,居然斩获阿里P7offer

这是什么神仙面试宝典?半月看完25大专题,居然斩获阿里P7offer???????容我小小的嘚瑟一下下啦~~这份神仙面试宝典总共有25大专题:专题一:JavaOOP面…

QT基础入门目录

💢💢💢💢💢💢💢💢💢💢💢💢💢💢💢💢目录总览💢💢💢&…

CSGO服务器插件配置教程SourceModMetaMod插件深度解析

CSGO服务器插件配置教程SourceMod&MetaMod插件深度解析 我是艾西,再上一篇中我详细的说了csgo社区/私人服务器的搭建过程以及需要注意的一些事项,那么很多小伙伴对于插件可能还是会有些疑惑,主流的现在就是SourceMod&MetaMod插件&…

基于Ant DesignPro Vue实现通过SpringBoot后台加载自定义菜单- 前后端分离

基于Ant DesignPro Vue实现通过SpringBoot后台加载自定义菜单- 前后端分离 本文想基于Ant DesignPro Vue构建的前端SpringBoot实现的后端接口服务,实现前后端分离开发和独立运行,业务场景是登录认证,认证成功后返回该用户相应权限范围内可见的…

C语言杂记(指针篇)

指针篇 指针就是地址&#xff0c;地址就是指针 指针变量就是存放地址的变量 *号只有定义的时候表示定义指针变量&#xff0c;其他表示从地址里面取内容 通过指针的方法使main函数中的data1和data2发生数据交换。 #include <stdio.h> void chang_data(int *data1,int *da…

Flutter知识点(二)处理Json

flutter不支持反射&#xff0c;所以本来很简单的事情&#xff0c;一下子变复杂了。当然官方也提供了一些工具来方便开发者。 由于Dart的map和array的数据结构和json一样&#xff0c;所以在flutter中&#xff0c;变成了json string与Map&#xff0c;array之间的砖换。 &#x…

MYSQL数据库学习

数据库的基本概念 什么是数据库&#xff1f; 数据库&#xff08;database&#xff09;是用来组织 存储和管理数据的仓库。 当今世界是一个充满着数据的互联网世界&#xff0c;充斥着大量的数据。数据的来源有很多&#xff0c;比如出行记录 消费记录 浏览的网页 发送的信息等等…

《C++ Primer》 第十一章 关联容器

《C Primer》 第十一章 关联容器 11.1 使用关联容器 使用map: //统计每个单词在输入中出现的次数 map<string, size_t> word_count;//string到size_t的空map string word; while(cin>>word)word_count[word];//提取word的计数器并将其加1 for(const auto &w:…

Linux系统之部署Gitblit服务器

Linux系统之部署Gitblit服务器一、Gitblit介绍1.Gitblit简介2..Gitblit官网二、检查本地系统环境1.检查系统版本2.检查系统内核版本3.检查JDK版本三、下载Gitblit1.创建下载目录2.下载Gitblit软件包2.解压Gitblit软件包四、Gitblit的配置工作1.修改配置文件2.修改service-cento…

【小程序】如何实现一个可折叠的列表

作者刚接触小程序开发不久&#xff0c;打算用 CSDN 把学习过程中遇到的一些问题记录下来&#xff0c;都是一些浅显易懂的内容&#xff0c;希望对你也有所帮助。 如文章标题所示&#xff0c;作者要实现一个可折叠的列表&#xff0c;先来看一下页面效果&#xff1a; 这种展示方式…

ChatGPT API 低价上线,开发者可以人手一个了?

千呼万唤&#xff0c;ChatGPT API来了&#xff01; 不仅首发&#xff0c;价格居然还有惊喜&#xff0c;0.002美元/每1000 token&#xff0c;并将价格降低90%&#xff0c;直接打了1折。OpenAI官方还表示&#xff0c;gpt-3.5-turbo目前的版本代号是gpt-3.5-turbo-0301&#xff0…

【面试系列】equals和==的区别

问题&#xff1a;两个对象值相同(x.equals(y) true)&#xff0c;但是可能存在hashCode不同吗? 的定义 比较的是两个对象的内存地址&#xff0c;相等则意味着内存地址一样。 对象的equals方法 Object#equals public boolean equals(Object obj) {return (this obj);}Stri…

数据结构——基本概念

数据数据&#xff1a;是描述客观事物的符号&#xff0c;是计算机中可以操作的对象&#xff0c;是能被计算机识别&#xff0c;并输入给计算机处理的符号的集合。数据元素&#xff1a;是组成数据的&#xff0c;有一定意义的基本单位&#xff0c;在计算机中通常作为整体处理&#…

基于上下文分析的 Python 实时 API 推荐

原文来自微信公众号“编程语言Lab”&#xff1a;基于上下文分析的 Python 实时 API 推荐 搜索关注 “编程语言Lab”公众号&#xff08;HW-PLLab&#xff09;获取更多技术内容&#xff01; 欢迎加入 编程语言社区 SIG-程序分析 参与交流讨论&#xff08;加入方式&#xff1a;添加…

ICLR 2023 | LightGCL: 简单且高效的图对比学习推荐系统

论文题目&#xff1a;LightGCL: Simple Yet Effective Graph Contrastive Learning for Recommendation收录会议&#xff1a;ICLR 2023论文链接&#xff1a;https://arxiv.org/abs/2302.08191代码链接&#xff1a;https://github.com/HKUDS/LightGCL港大数据智能实验室 &#x…

billu_box靶场通关

billu靶场通关 靶机ip&#xff1a;192.168.112.134 信息收集 端口开放 80 目录扫描 images目录存在目录遍历 test.php(任意文件下载) add.php(文件上传) index.php(主页) head.php show.php c.php这个工具的字典不全&#xff0c;换py脚本重新扫多出了以下目录 phpmy in …

目标检测YOLOv5数据集怎么找?

完整的配置-标注-训练-识别在我这篇博客小白YOLOv5全流程-训练实现数字识别_yolov5数字识别_牛大了2022的博客-CSDN博客 模型部分剖析可以看我每周深度学习笔记部分。关于训练的数据集怎么搞很多人问过我&#xff0c;我在这篇文章给大家一点我的经验和建议。 数据集是什么 简…

Leetcode每日一题 1487. 保证文件名唯一

Halo&#xff0c;这里是Ppeua。平时主要更新C语言&#xff0c;C&#xff0c;数据结构算法......感兴趣就关注我吧&#xff01;你定不会失望。 &#x1f308;个人主页&#xff1a;主页链接 &#x1f308;算法专栏&#xff1a;专栏链接 我会一直往里填充内容哒&#xff01; &…

网上心理咨询系统的设计与实现

技术&#xff1a;Java、JSP等摘要&#xff1a;高等院校担负着培养高素质人才的使命&#xff0c;高素质人才不仅要有良好的思想道德素质、科学文化素质和身体素质&#xff0c;更要有良好的心理素质。然而随着近年来我国高校的连续扩招以及高额的学费居高不下&#xff0c;当代的大…