Arya小科普 | 硬件软件基础知识 Java语言的前世今生 James Gosling老爷子的小故事 Java下载 和 IDEA工具

本文主要是介绍Arya小科普 | 硬件软件基础知识 Java语言的前世今生 James Gosling老爷子的小故事 Java下载 和 IDEA工具,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

前言

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

在这里插入图片描述

注册账号

在这里插入图片描述

在这里插入图片描述

进行下载

在这里插入图片描述

IEDA编程工具

ntelliJ IDEA是一款功能强大,符合【人体工程学】的 JVM IDE。

IntelliJ IDEA简称IDEA,它是 JetBrains 公司下的Java集成开发环境,在业界被公认为是最好的Java开发工具之一;

JetBrains是捷克的一家软件公司,该公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主,旗下开发了多款软件开发工具;

官方网站:https://www.jetbrains.com/

Intellij IDEA工具已经有很长的历史了,2001年1月发布IntelliJ IDEA 1.0版本,只是一直没有被大量使用;

IntelliJ IDEA以前是收费软件,不过在2009年以后开始推出了免费的社区开源版本;

目前IntelliJ IDEA有免费的社区版(功能相对较少),和收费的旗舰版(功能比较全面);

在这里插入图片描述

来自官网:

Why IntelliJ IDEAEnjoy Productive JavaEvery aspect of IntelliJ IDEA has been designed to maximize developer productivity. Together, intelligent coding assistance and ergonomic design make development not only productive but also enjoyable。

在这里插入图片描述

在这里插入图片描述

版本

IntelliJ IDEA 分为“旗舰版”和“社区版”;

旗舰版(Ultimate Edition)为收费版本,功能强大,有30天免费试用期;

社区版(Community Edition)为免费版本,功能较旗舰版少了很多,可一直免费使用;

一般地,IntelliJ IDEA 大版本为一年迭代一次,大版本下的小版本迭代时间不固定,快则一个月,慢则两至三月迭代一次;

目前最新版本为:IntelliJ IDEA 2022.3.1

在这里插入图片描述

IDEA工程结构

工作空间 : 存放代码的目录。

在这里插入图片描述

项目结构

在这里插入图片描述

项目结构总览

在这里插入图片描述

Java基本语法结构

基本语法

语法

在这里插入图片描述

分析

在这里插入图片描述

打印语句

在这里插入图片描述

代码规范

在这里插入图片描述

在这里插入图片描述


总结

1.从硬件到软件的计算机基础知识;
2.Java之父的小故事;
3.Java语言的前世今生,及其特点;
4.Java下载 和 IDEA工具;

这篇关于Arya小科普 | 硬件软件基础知识 Java语言的前世今生 James Gosling老爷子的小故事 Java下载 和 IDEA工具的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/327115

相关文章

JVM 的类初始化机制

前言 当你在 Java 程序中new对象时,有没有考虑过 JVM 是如何把静态的字节码(byte code)转化为运行时对象的呢,这个问题看似简单,但清楚的同学相信也不会太多,这篇文章首先介绍 JVM 类初始化的机制,然后给出几个易出错的实例来分析,帮助大家更好理解这个知识点。 JVM 将字节码转化为运行时对象分为三个阶段,分别是:loading 、Linking、initialization

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

Java进阶13讲__第12讲_1/2

多线程、线程池 1.  线程概念 1.1  什么是线程 1.2  线程的好处 2.   创建线程的三种方式 注意事项 2.1  继承Thread类 2.1.1 认识  2.1.2  编码实现  package cn.hdc.oop10.Thread;import org.slf4j.Logger;import org.slf4j.LoggerFactory

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

计组基础知识

操作系统的特征 并发共享虚拟异步 操作系统的功能 1、资源分配,资源回收硬件资源 CPU、内存、硬盘、I/O设备。2、为应⽤程序提供服务操作系统将硬件资源的操作封装起来,提供相对统⼀的接⼝(系统调⽤)供开发者调⽤。3、管理应⽤程序即控制进程的⽣命周期:进程开始时的环境配置和资源分配、进程结束后的资源回收、进程调度等。4、操作系统内核的功能(1)进程调度能⼒: 管理进程、线