当前位置: 首页 > news >正文

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

(第二次世界大战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类型的变量并赋予初始值为20short b = 10; // 声明一个short类型的变量并赋予初始值为10int c = 30; // 声明一个int类型的变量并赋予初始值为30long d = 40; // 声明一个long类型的变量并赋予初始值为40long 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-学习路线)

相关文章:

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

(第二次世界大战1931-1945) 世界上最先进的技术往往是由于战争催生,在第二次世界大战中除了飞机,坦克和大炮的武器较量外,在隐秘战线的情报工作其实更为重要,在军队将领来往的电报中,为了防止军事情报的泄漏&#xff…...

Qt 防止程序退出

文章目录摘要QWidgetQML方法 1方法 2关键字: Qt、 eventFilter、 Close、 键盘、 任务管理器摘要 今天要聊得内容还是怎么防止别人关闭我的程序,之前都是在win下面,一般都是用过钩子连捕获键盘事件,完了吧对应的事件忽略&#x…...

【校验码 - 循环冗余校验码CRC】

水善利万物而不争,处众人之所恶,故几于道💦 目录 循环冗余校验码 1.多项式 2.CRC编码的组成 3.校验码的生成 4.例题: 循环冗余校验码 广泛地在网络通信及磁盘存储时采用。 1.多项式 在循环冗余校验(CRC)码中,无一例…...

【Rust】一文讲透Rust中的PartialEq和Eq

前言 本文将围绕对象:PartialEq和Eq,以及PartialOrd和Ord,即四个Rust中重点的Compare Trait进行讨论并解释其中的细节,内容涵盖理论以及代码实现。 在正式介绍PartialEq和Eq、以及PartialOrd和Ord之前,本文会首先介绍…...

Vulnhub靶场----9、DC-9

文章目录一、环境搭建二、渗透流程三、思路总结一、环境搭建 DC-9下载地址:https://download.vulnhub.com/dc/DC-9.zip kali:192.168.144.148 DC-9:192.168.144.158 二、渗透流程 1、信息收集nmap -T5 -A -p- -sV -sT 192.168.144.158思路&am…...

使用Containerd搭建K8s集群【v1.25】

[toc] 一、安装要求 在开始之前,部署Kubernetes集群机器需要满足以下几个条件: 一台或多台机器,操作系统 CentOS7.x-86_x64硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更多集群中所有机器之间网络互通可以访问外网,需要拉取镜像禁止swap分区二、准备环境 角色IP…...

NMT - 构建双语概率词典(Probabilistic dictionaries)

文章目录一、安装依赖包mosesdecoder安装 mgiza二、数据预处理三、训练本文参考:How to train your Bicleaner https://github.com/bitextor/bicleaner/wiki/How-to-train-your-Bicleaner 一、安装依赖包 这个过程主要依赖于 mosesdecodermgiza mosesdecoder git…...

《ChatGPT是怎样炼成的》

ChatGPT 在全世界范围内风靡一时,我现在每天都会使用 ChatGPT 帮我回答几个问题,甚至有的时候在一天内我和它对话的时间比和正常人类对话还要多,因为它确实“法力无边,功能强大”。 ChatGPT 可以帮助我解读程序,做翻译…...

Streaming System是第一章翻译

GIthub链接,欢迎志同道合的小伙伴一起翻译 Chapter 1.Streaming101 如今,流数据处理在大数据中是非常重要的,其主要原因是: 企业渴望对他们的数据有更及时的了解,而转换到流处理是实现更低延迟的一个好方法&#xf…...

abap MODIFY常用语法解析

MODIFY 是既可以操作数据又可以操作内表的一个语法, 实现的逻辑都一样. 如果你内表或数据库中存在该行数据会对该行数据进行更新. 如果不存在,就会插入数据. , 1.如果it_tab是带有标题行的内表,是可以忽略FROM wa_tab工作区的 MODIFY it_tab .2.把工作区wa_tab中的数据更新…...

[媒体分流直播]媒体直播和传统直播的区别,以及媒体直播的特点

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 直播毋庸置疑已经融入到了我们生活的方方面面,小到才艺,游戏,大到政策的发布,许多企业和机构也越来越重视直播,那么一场活动怎…...

打地鼠游戏-第14届蓝桥杯STEMA测评Scratch真题精选

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第102讲。 蓝桥杯选拔赛现已更名为STEMA,即STEM 能力测试,是蓝桥杯大赛组委会与美国普林斯顿多…...

链表经典刷题--快慢指针与双指针

本篇总结链表解题思路----快慢指针,其实也就是双指针,这个快慢并不单纯指“快慢”,它更多的可以表示,速度快慢,距离长度,时间大小等等,用法很有趣也很独特,理解它的思想,…...

【Java集合框架】篇四:Set接口

1. Set及主要实现类特点 Set:无序、不可重复(去重)、存储value HashSet:底层使用HashMap,即使用 数组单项链表红黑树 结构进行存储。(jkd8中) LinkedHashSet:是HashSet的子类&…...

Python 数据库连接 + 创建库表+ 插入【内含代码实例】

人生苦短 我用python Python其他实用资料:点击此处跳转文末名片获取 数据库连接 连接数据库前,请先确认以下事项: 您已经创建了数据库 TESTDB.在TESTDB数据库中您已经创建了表 EMPLOYEEEMPLOYEE表字段为 FIRST_NAME, LAST_NAME, AGE, SEX 和 INCOME。连…...

DSS 部署环境需求清单

文章目录 DSS系统需求项目地址计算资源计算基准:计算引擎程序硬件需求表 :DSS计算及存储资源需求计算资源计算基准:计算程序硬件需求表:DSS系统需求 项目地址 https://github.com/WeBankFinTech/DataSphereStudio 计算资源计算基准: 1.日活用户10万。 2.单用户单日总…...

Python的面向对象,详细讲解Python之用处等基本常识

目录 Python 面向对象 面向对象技术简介 创建类 实例 实例 self代表类的实例,而非类 实例 创建实例对象 访问属性 实例 Python内置类属性 实例 python对象销毁(垃圾回收) 实例 实例 类的继承 实例 方法重写 实例 基础重载方法 运算符重载 实例…...

如何使用固态继电器为恒温器供电

恒温器有两种电源:电池和 24VAC。恒温器需要电池才能不间断地运行。电池消耗的能量尽可能低非常重要,但即使您最大限度地减少消耗,这仍然不是一个用户友好的选择,因为电池会不时需要更换。要降低更换频率,可以使用 24V…...

【LeetCode】剑指 Offer(14)

目录 题目:剑指 Offer 32 - I. 从上到下打印二叉树 - 力扣(Leetcode) 题目的接口: 解题思路: 代码: 过啦!!! 写在最后: 题目:剑指 Offer 32…...

Rman单实例迁移到单实例

关于同平台同版本数据库之间的迁移操作的实验 ---Source DB[rootoracle-db-19cs ~]# cat /etc/redhat-release CentOS Stream release 8 [rootoracle-db-19cs ~]# --- Target DB[rootoracle-db-19ct ~]# cat /etc/redhat-release CentOS Stream release 8 [rootoracle-db-19ct…...

毕业设计 基于stm32舞台彩灯控制器设计app控制系统

基于stm32舞台彩灯控制器设计app控制1、项目简介1.1 系统构成1.2 系统功能2、部分电路设计2.1 STM32F103C8T6核心系统电路设计2.2 WS2812RGB彩灯电路设计3、部分代码展示3.1 控制WS2812显示颜色3.2 设置RGB灯的颜色,角度,亮度实物图1、项目简介 选题指导…...

【MyBatis】篇一.

文章目录1、MyBatis概述2、环境搭建1、MyBatis概述 认识: JavaEE开发的一个套件SSM,即: MyBatis是一个持久层的框架,是对JDBC的一个封装,是一个半自动的ORM框架。 ORM即实体类对象和数据库中的数据的一个映射关系&am…...

【JavaScript速成之路】JavaScript流程控制

📃个人主页:「小杨」的csdn博客 🔥系列专栏:【JavaScript速成之路】 🐳希望大家多多支持🥰一起进步呀! 文章目录前言1,流程控制2,分支结构2.1,if语句2.2&…...

18、基准测试,sysbench

基准测试,sysbench 1. sysbench1.1 用途1.2 安装1.3 版本1.4 查看帮助1.5 测试过程阶段2 CPU 性能测试2.1 测试原理2.2 查看帮助2.3 测试3. 内存性能测试3.1 查看帮助信息3.2 测试过程4.磁盘性能基准测试4.1 查看帮助4.2 生成文件(prepare)4.3 测试文件io(run)4.4 结果分析4.5…...

3D,点云拼接2

文章目录 点云配准方法自动配准技术PCL实现的配准算法两两配准1.关键点提取2.特征描述符3. 对应关系估计4. 对应关系去除5. 变换矩阵估算在上篇文章中对于拼接的概念、拼接精度的评价做了详细的介绍。本文是对拼接(配准)的进一步介绍,涉及更多原理层面的东西。 主要围绕以下三…...

jmeter学习笔记一(http基础知识)

HTTP请求:客户端同通过发送http请求向服务器请求资源的访问。http请求由三部分组成:请求行、请求头、请求正文 ​ 请求行包括:请求方法 URI 协议/版本 ​ 请求头:Content-type、Cookie、Authorization、User-Agent、Accept、Acc…...

【Java】CompletableFuture 并发顺序调度

前言 Java CompletableFuture 提供了一种异步编程的方式,可以在一个线程中执行长时间的任务,而不会堵塞主线程。 和Future相比,CompletableFuture不仅实现了Future接口,也实现了 CompletionStage接口。Future接口不用多说&#…...

职场人必备的6款实用办公app,每一款都是心头爱

打工人不容易啊,不提高工作效率怕是要被淘汰了。今天给大家分享6款职场人必备的实用办公APP,免费效率神器让工作事半功倍。这些APP每一款都是我的心头爱,肯定会让人大开眼界的,超级实用,直接往下看吧。1、向日葵远程控…...

小丑改造计划之复习一

1.函数重载 根据参数个数 参数顺序 参数类型 的不同 可以在同一个域存在多个同名函数 但是不可以根据返回值 缺省参数的不同去重载函数 2.指针和引用的区别 第一点 指针是内存地址,会开辟内存空间,而引用和它所引用的变量共享同一块内存 第二点 引用必须…...

final修饰符使用中遇到的一些问题

文章目录final修饰符1. final不能用来修饰构造方法2. final修饰变量的一些注意问题2.1 final修饰成员变量2.2 final修饰引用类型2.2.1 演示代码中lombok链式编程介绍final修饰符 final具有“不可改变”的含义,它可以修饰非抽象类、非抽象成员方法和变量。 用final…...

ui设计网站模板/网络营销推广公司网站

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注…...

桂林最新疫情最新消息封城/搜索引擎推广与优化

1. Java并发类: 1、ConcurrentHashMap 01、和HashMap功能基本一致,主要是为了解决HashMap线程不安全问题; 02、java7中的基本设计理念就是切分成多个Segment块, 默认是16个,也就是说并发度是16,可以初始化时显式指定…...

营销型企业网站建设教案/百度引擎的搜索方式是什么

首先创建二叉树&#xff0c;然后对二叉树遍历进行了单元测试。只要将相应的注释取消&#xff0c;便可以成功运行。 /******************************************** 二叉树遍历前序、中序、后序的递归和非递归实现 ********************************************/ #include<…...

个人网站托管/百度下载安装app

在我们先前的文章&#xff02;如何在Ubuntu手机中使用前置照相机&#xff02;对如何使用前置照相机给出了一个解决方案&#xff0e;事实上&#xff0c;在我们最新的Camera API中 (QtMultiMedia 5.6)&#xff0c;已经有新的API来完成这个功能了&#xff0e;我们不再需要额外的C代…...

网站建设的原则/百度应用下载

./configure 参数详解 --prefixPREFIX 把所有文件装在目录 PREFIX下面而不是 /usr/local/pgsql 里&#xff0e;实际的文件会安装到不同的子目录里&#xff1b;甚至没有一个文件会直接 安装到 PREFIX 目录里&#xff0e; 如果你有特殊需要&#x…...

股票做T网站/自动seo系统

1 问题 权限菜单从后台获取&#xff0c;在编辑角色菜单权限时&#xff0c;从后台获取角色权限&#xff0c;根据角色权限设置菜单的勾选情况&#xff0c;但是发现设置完后&#xff0c;菜单树没有更新&#xff0c;而是需要手动点击展开或闭合之后才会刷新&#xff0c;如下图 点…...