Java基础入门(第一章)

1 Java是什么:

  • Java是一门非常优秀的计算机编程语言
  • Java 英文翻译为印尼爪哇岛,地名,因盛产咖啡而闻名,漫漫长夜、 唯有咖啡陪伴程序员
  • 1991年诞生,最初叫 Oak (橡树),1995年改名为 Java ,2000年前 后,成为世界上最流行的编程语言,过去二十多年中首屈一指。
  • 语言,人与人交流沟通的表达方式。
  • 计算机语言,人与计算机之间进行信息交流沟通的特殊语言。

Java之父:詹姆斯·高斯林(James Gosling)

  • Java 编程语言的共同创始人之一,公认的Java之父
  • 1955年5月19日诞生于加拿大,1977年获得了加拿大卡尔加里大学计算 机科学学士学位,1983年获得了美国卡内基梅隆大学计算机科学博士学 位
  • 毕业后到IBM工作,设计IBM第一代工作站 NeWS系统 ,但不受重视,后 来转至Sun公司。1990年,与Patrick Naughton和Mike Sheridan等人合作 开发"绿色计划"项目,期间开发了一套语言叫做 Oak ,后改名为 Java 。

 2 历史

       Java 的历史要追溯到 1991 年,当时Sun 公司的詹姆斯·高斯林(James Gosling)及其团队要完成一个项目"Green",该项目需要设计一种小型的计算 机语言,主要用于有线电视转换盒这类的消费设备。由于这类设备的处理能力 和内存都非常有限,且不同厂商会选择不同的CPU,所以对编程语言有2个明确 的要求:

  • 该语言必须设计的非常小且能够生成紧凑的代码。
  • 该语言不应该与任何特定的体系结构绑定(跨平台)。

        Sun公司开发团队具有Unix的应用背景,所以以C++为基础语言开发出了这种语 言,当时称之为 Oak(橡树) ,后来去注册名称时发现 Oak 这个名字已经被 占用, 于是将其改名为 Java 。

       Java语言 设计之初主要作为平台独立语言使用,可以嵌入到各种消费类电子 设备(家用电器等)中,但市场反应不佳。但随着上个世纪90年代随着互联网 的崛起, Java 逐渐成为重要的Web应用开发语言,在过去二十多年中Java蓬 勃发展、孤独求败。   

3 平台

1998年12月4日,Sun公司在发布的JDK1.2中,将Java技术体系拆分为3个方向 (平台):

  • J2SE (Java 2 Platform, Standard Edition),面向桌面应用开发。
  • J2SE是其他两个版本的基础

我们学J2SE的目的不是为了做GUI桌面开发(计算器、打地鼠游戏等桌 面应用) 而是为今后要学习的J2EE进行必要的基础铺垫

J2ME (Java 2 Platform, Micro Edition),面向手机等移动终端开发 机顶盒、移动电话和PDA之类的嵌入式消费电子设备开发,我们不用关心 J2EE (Java 2 Platform, Enterprise Edition),面向企业级开发  

  1. Java具体应用: 全球超过30亿台各样设备上的应用程序是用Java开发的,耳熟能详的有:
  2. Adobe PDF 阅读器,Gui开发
  3. Google、Facebook、Amazon、淘宝、百度、携程等Web网站
  4. Tomcat、JBoss、WebLogic等Web服务器
  5. 抖音、淘宝、微信等手机APP,使用Android开发组件Android SDK(基于 Java)
  6. ERP(企业资源规划)CRM(客户资源管理)等企业级应用

4 JDK

  • SDK (software development kit),软件开发包,主要包含函数库或者工 具等
  • JDK (Java development kit),Java程序开发工具包,面向Java程序的开 发者
  • JRE (Java runtime enviroment),Java程序运行环境,面向Java程序的使 用者
  • JVM(Java Virtual Machine),Java虚拟机,核心组件,负责解释和执行 Java字节码文件
  • API (application program interface),应用程序编程接口
  • API Documentation,API说明文档,描述API中的类、方法等使用的方式

4.1JDK的下载

方法1:
到oracle官网中,注册账号并登录,然后到相应的页面中,即可下载。Oracle

                                                                   JDK下载      API在线文档

这里给出JDK8的下载地址链接    JDK8API在线文档链接

当然,这是按照一般的流程自己可以实际体验安装的过程,如果想直接想要打包好的,私信我即可;

5 window配置

配置JAVA_HOME:

配置Path:

CLASSPATH:

        

6 Java特点

Java 语言是一种纯粹的面向对象语言,它继承了 C++ 语言面向对象的技术核 心,但是拋弃了 C++ 的一些缺点,比如说容易引起错误的指针以及多继承等, 同时也增加了垃圾回收机制,释放掉不被使用的内存空间,解决了管理内存空 间的烦恼,让程序员的工作变得更加简单,可以专注于业务开发。

Java 语言是一种分布式的面向对象语言,具有面向对象、平台无关性、简单 性、解释执行、多线程、安全性等很多特点,具体如下:

  • 更纯粹的面向对象编程,加速开发的过程
  • 一次编写,到处运行(Write Once,Run any Where) ,跨平台 程序员写好 Java 程序,再将其编译成字节码文件,最后由 JVM 解释执行
  • 开源及强大的生态环境,社区活跃,第三方类库选择丰富
  • 简单性,学习起来更简单,用起来更方便
  • 强大的 API ,使得编程变得更加容易快捷,大大降低了程序的开发成本
  • 安全性,Java 的存储分配模型可以有效防御恶意代码攻击
  • 支持多线程和多任务 强类型、异常处理、垃圾回收机制等技术,保证了 Java 的健壮性

7 跨平台原理

Java属于高级编程语言,高级语言编码运行步骤有:

编写:指程序员编写源代码,比如 HelloWorld.java

编译:指将源代码文件转化成机器认识的机器语言的过程

运行:指通过编译后,让计算机执行编译后指令的过程  

高级语言的编译方式分为三种:编译型、解释型、混合型。

1)编译型 使用专门的编译器,针对特定平台(操作系统)将某种高级语言源代码 一 次性"翻译" 成可以被该平台硬件执行的 机器码 ,并包装成为该平台所能 识别的可执行程序的格式(生成新文件),这个转换过程就是"编译" C、C++都属于编译型语言。

2)解释型 使用专门的解释器,将源程序逐行解释成特定平台的机器码,并立即执行 (不会生成新文件)可以理解为,解释型语言相当于把编译型语言里面的编译和执行合并到了 一起,同时进行 优点是跨平台,缺点是效率低 Python、Shell、Ruby都属于解释型语言。

3)混合型 Java语言是混合型(编译+解释)的代表 首先它的源代码需要编译,生成与平台无关的字节码(.class)文件 字节码文件不能直接执行,需要交给操作系统下的Java虚拟机(JVM)解释 执行 ,Java为不同的操作系统提供了不同的JVM虚拟机。

跨平台原理: 使用Java语言编写一份源代码,不管在什么操作系统下编译,得到的都是相 同的字节码文件,在不同的操作系统下使用不同的JVM解释执行这份字节码文 件,程序成功运行,将会有相同的运行效果。这就是跨平台的原理, Write Once,Run any Where !

8 常用命令

JDK中有很多命令,其对应的可执行程序,存放在 %JAVA_HOME%bin 下面,下 面我们简单介绍几种,请重点掌握javac、java: javac 编译命令【重点掌握】

格式: javac [-d 目录路径] *.java(s) 作用:编译源文件获得字节码文件(存放到-d后目录下),如果不跟-d, 则放在当前目录下 java 运行命令【重点掌握】

格式: java [-cp class文件存储目录] 类的全包名 作用:从-cp后面的路径中查找到需要运行的class文件,然后运行 注意: 类的全包名是指包名.类名 , 不要加.class后缀 javadoc 生成API文档命令 javap 反解析命令,可以解析出class字节码文件的内容 jar 打包命令。

先和我一起简单认识一下Java吧!

  • 15
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时肆 知还

你的鼓励将是我创作的最大动力,

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值