前言
1.从硬件到软件的计算机基础知识;
2.Java之父的小故事;
3.Java语言的前世今生,及其特点;
4.Java下载 和 IDEA工具;
硬件和软件
键盘就是硬件, 操作系统就是软件。
硬件:设备和计算机打交道
软件:客户需求
芯片和CPU
苹果M1芯片,是迄今为止5纳米工艺的技术巅峰。晶体管最高到达1140亿个。
CPU是芯片的逻辑单元,芯片性能越好,CPU的运算效率和速度就越高。
所有的程序最终不管怎么样,都会交给CPU执行。
硬盘
1、我们存储的小电影,图片,代码等就静静的躺在硬盘上。 硬盘一般也叫做外存储器,是计算机主要的存储媒介之一。
2、硬盘一般可以分两类,一是固态硬盘(SSD),二是机械硬盘(HDD),SSD要比HDD速度快的多。
内存
1、计算机所有程序要运行,都会在内存中加载。(包括我们自己白那些的Java程序,网页程序,桌面客户端程序等…)
2、内存的主要作用是帮助CPU做数据运算的,只要计算机运行一次,CPU就会把需要的数据送到内存中进行运算。
3、从速度上来说,就近原则,谁离CPU最近,传送的速度就越快。但计算机一旦关闭,内存中的数据会全部消失。
硬件和软件
在计算机中,软件和硬件缺一不可。硬件是身体,软件是灵魂。硬件是物质层面,软件是信息层面。计算机在工作过程中,软件运行的基础依赖于硬件
1、软件是一种逻辑的产品,与硬件有本质的区别
硬件是看得见、摸得着的物理设备。在研制硬件产品时,人的生产性活动表现在把原材料转变成有形的物理产品。
而软件产品是以程序和文档的形式存在,通过在计算机上运行来体现他的作用。
在研制软件产品的过程中,人们的创造活动表现在要抽象出问题的模型,然后根据模型写出程序,最后经过调试、运行程序得到求解问题的结果。整个生产、开发过程是在无形化方式下完成的,其能见度极差,这给软件开发、生产过程的管理带来了极大的困难。
2、软件质量的体现方式与硬件不同
硬件产品设计定型后可以批量生产,通过质量检测体系可以得到保障。但是生产、加工过程一旦失误,硬件产品可能就会因为质量问题而报废。而软件产品不能用传统意义上的制造进行生产,就目前软件开发技术而言,软件生产还是“定制”的,只能针对特定问题进行设计或实现。
设计出来的软件即使出现质量问题,产品也不会报废,通过修改、测试,还可以将“报废”的软件“修复”,投入正常运行。可见软件的质量保证机制比硬件具有更大的灵活性。
3、软件产品的成本构成与硬件产品不同
硬件的成本构成物质占了相当大的比重。就硬件产品生存周期而言,成本构成中设计、生产环节占绝大部分,而售后服务只占少部分。软件生产主要靠脑力劳动。软件产品的成本构成中人力资源占了相当大的比重。
4、软件产品的失败曲线与硬件产品不同
硬件产品存在老化和折旧问题。当一个硬件部件磨损时可以用一个新部件去替换他。硬件会因为主要部件的磨损而最终被淘汰。对于软件而言,不存在折旧和磨损问题,如果需要的话可以永远使用下去。但是软件故障的排除要比硬件故障的排除复杂得多。软件故障主要是因为软件设计或编码的错误所致,必须重新设计和编码才能解决问题。
软件在其开发初始阶段有很高的失败率,这主要是由于需求分析不切合实际或设计错误等引起的。当开发过程中的错误被纠正后,其失败率便下降到一定水平并保持相对稳定,直到该软件被废弃不用。在软件进行大的改动时,也会导致失败率急剧上升。
5、大多数软件仍然是定制产生的
硬件产品一旦设计定型,其生产技术、加工工艺和流程管理也就确定下来,这样便于实现硬件产品的标准化、系列化成批生产。,硬件的作用发挥又依赖于软件,所以他们俩是相辅相成的。
编译过程
Java之父James Gosling老爷子
James Gosling老爷子
James Gosling(詹姆斯·高斯林 )是一名软件专家。
955年5月19日出生于加拿大,Java编程语言的共同创始人之一,一般公认他为“Java之父”。
1977年获得了加拿大卡尔加里大学计算机科学学士学位。
1983年获得了美国卡内基梅隆大学计算机科学博士学位。
开源:
底层代码给你,你可以研究……
我认为一门语言的诞生都是解决了特定场景下的问题,如果不注重体验 ,不降低学习成本,一味地追求测试基准数据和噱头就一定没有前途。优秀的语言和框架都特别重视运营和体验。
早年经历
- 12岁的时候,精通计算机,喜欢玩游戏,但市面上游戏机稀缺, 已经能设计电子游戏机。
- 大学时期,天文物理系担任程式开发工读生,1977年获得了加拿大卡尔加里大学计算机科学学士学位。
- 1981年他开发了Unix上运行的Emacs类编辑器GoslingEmacs(以C语言编写)。
- 1983年获得了美国卡内基梅隆大学计算机科学博士学位,毕业后到IBM工作。
- 由于在公司不受重用(估计受不到资本家压迫),选择转至Sun公司:
这在后来被公认为他一生最精明的决定之一。在几年的蛰伏后,他终于找到了能让自己翱翔的那片天空。
1990年,他与他的团队合作开发“绿色计划”,后来发展一套语言叫做“Oak”,这也就是被后人所熟知的那个“优秀,稳定而出众”的Java的雏形。
工作履历
- 2009年四月,Sun被甲骨文公司并购。高斯林于2010年四月时宣布从甲骨文公司离职。
Through some odd twists in the road over the past year, and atardisencountered along the way, I find myself starting employment at Google today. One of the toughest things about life is making choices. I had a hard time saying “no” to a bunch of other excellent possibilities. I find it odd that this time I’m takingthe road more travelled by, but it looks like interesting fun with huge leverage. I don’t know what I’ll be working on. I expect it’ll be a bit of everything, seasoned with a large dose of grumpy curmudgeon.
在过去的一年中,在道路上出现了一些奇怪的曲折一路走来,我发现自己今天开始在谷歌工作。生活中最艰难的事情之一就是做出选择。我很难对其他许多优秀的可能性说“不”。我觉得奇怪的是,这一次我走的是人迹罕至的道路,但它看起来很有趣,有着巨大的影响力。我不知道我将要做什么。我想这将是所有的东西中的一部分,带有大量暴躁的脾气。
- 2011年3月29日,高斯林在个人博客上宣布将加入Google。
- 2011年8月30日,加盟一家从事海洋机器人研究的创业公司Liquid Robotics,担任首席软件架构师。负责传感器软件开发和自主导航设计,数据中心海量数据处理。
Java语言 VS 其他语言
Java竞争对手
Java的优点
1、跨平台
写的代码可以在各个操作系统上运行。 技术支持是JVM(java虚拟机)。
-面试:JVM内存调优
因为有jvm,所以java跨平台。
跨平台的价值点:节约其它的重复开发成本。
2、面向对象编程语言(站在软件设计角度,站在人类思想角度),相对于面向过程(站在计算机维度思考问题)。
Java平台技术体系
面向对象优点
简化开发。
面向对象很难用一句话来概括,越精确的定义,背后的复杂度就越高。
广义上:
- 面向对象是一种编程思想,基本原则是抽象出对象共同的属性和行为,封装到类里面
- 面向对象编程三大核心:封装,继承,多态
- 面向对象的商业价值:简化开发,利于维护,方便团队分工协作。
Java下载 和IEDA工具初识
下载Java
官网:https://www.oracle.com/java/technologies/downloads/
官网下载的话,一般会比较慢,因为是国外的网站。如果觉得慢的话,可以通过其他网站下载。
不同操作系统的JDK版本不一样,注意不要下载错了!!!以Windows操作系统为例,下载64为的jdk-8u321-windows-x64.exe。如果操作系统是32位的,就下载jdk-8u321-windows-i586.exe。
目前市场用的最多的就是jdk-8
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
加入社区》https://bbs.youkuaiyun.com/forums/4304bb5a486d4c3ab8389e65ecb71ac0
e。如果操作系统是32位的,就下载jdk-8u321-windows-i586.exe。
目前市场用的最多的就是jdk-8
[外链图片转存中…(img-9r7WLA1B-1725636487704)]
[外链图片转存中…(img-4nDEuIF1-1725636487704)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
加入社区》https://bbs.youkuaiyun.com/forums/4304bb5a486d4c3ab8389e65ecb71ac0