Java基础

1990年sun microsystems公司开发的内部项目 ===》 OAK,1994年改名为Java,1995年推行

高级编程语言

sun2009年被oracle收购了(74亿美元)

Java三个版本:

  1. J2SE(S: Standard E:Edition)基础版,核心 ====》结算系统、桌面游戏、桌面软件
  2. J2ME:移动版,现在不用了,现在用安卓/ISO(安卓也是Java语言开发的)
  3. J2EE企业版 ===》大型系统、大型网站

发展历程:

java1.1 —> java1.2 —> java1.3 —> java1.4

java1.5,为了纪念重大升级:

  1. J2SE改名为JAVA SEJ2ME改名为JAVA MEJ2EE改名为JAVA EE
  2. java命名改变 —> java5、java6、java7、…

oracle 2017年将J2EE共享给了Eclipse基金会

Eclipse基金会于2018年将其更名:J2EE —> Jakarta EE(雅加达)

所有严格意义上来说现在的JavaEE应该叫 雅加达EE

近几年由于其他语言热门程度上来了,为了提高市场竞争力,2018年官方宣布每六个月更新一次。

Java是跨平台语言

C/C++是不跨平台的,例如一个游戏,蜘蛛纸牌,对应window、Linux、max,你需要写三份程序语言,每份语言适应于当前系统

Java呢,只需要一次编写,处处运行

原因:Java在运行前需要安装环境 —>java虚拟机(JVM),即Java所需环境

好处呢,还是上面那个例子,你只需要写一份蜘蛛纸牌程序,写的时候不需要考虑系统,程序会在虚拟机里运行,虚拟机会自动将Java代码变成当前系统适应的脚本

Java能够跨平台的原因是是因为JVM不跨平台,不同系统的JVM支持不同的系统,你下载JVM时会有window版本的JVM,Linux版本的JVM和Mac版本的JVM,不同版本的虚拟机对应不同的系统

就好比你出国旅游有翻译官,法国需要会法语的翻译官,俄国需要会俄语的翻译官,翻译官会把你说的话翻译成当地的语言,以便你在旅游期间的正常的交流

由此可知Java开发三大步:

  1. 写代码java代码
  2. 编译成class文件
  3. 执行class文件

JVM(java virtual machine):Java虚拟机

JRE(java runtime environment):JVM + 核心类库 ===》 只能运行Java程序,但不能开发

JDK(java development kit): jre + 运行环境工具 ===》 即能运行Java程序,也能开发

jvm < jre < jdk

开发人员需要下载并安装JDK

下载

jdk版本建议 ----》 jdk_8u192及以前版本 (免费)

原因:oracle从2019.1月以后的java版本 将进行收费,在其收费之前最新的版本是jdk_8u192,一般在学习前 用jdk_8u192及以前版本就可以了,90%功能都能实现,之后的版本添加的新特性并不影响平时开发使用。

安装

具体过程可以自己百度一下。。。。

注意:

  1. 安装目录只能有英文数字或者下划线,其他都不写(例如:汉字、特殊符号、空格),如果出现可能会出错
  2. 一般安装JDK过程中会安装两遍,第一遍安装JDK,第二遍安装JRE,由于JDK内包含了JRE,所有第一遍安装完成后就可以退出安装了,安装了也没啥问题。
配置环境变量(大小写不区分)

具体过程可以自己百度一下。。。。

java_home(需新建):安装jdk的根目录

path(已存在):jdk的根目录\bin ---------------------必须配置

classpath(需新建):.;jdk的根目录\lib ----------------------叫做java类路径

在配置环境变量时,在用户变量系统变量里配置都可以,主要的区别用户变量里配置只有当前用户可以使用系统变量里配置当前计算机的所有用户都可以使用(一个操作系统可以拥有多个用户)

注:java语言是区分大小写的

验证

window + R ==》 cmd ==》java -version,若出现版本号则表示配置成功

能验证的主要原因是环境变量里的path配置java -version这个命令会在path的环境变量里一直查找一个叫java.exe的可执行文件,根据jdk的根目录\bin这个目录找到里面的可执行文件java.exe,然后执行它,-version表示执行的参数。

java类路径需要配置的原因是:Java代码分两部分,一份是自己写的,一份是别人写的,例如入排序、安全、算法等一些常用的功能,别人已经配置好了,配置里的.表示自己写的,分号后面写的路径是官方写的常用的一些功能代码存储的位置,需要用到的时候直接调用就行了。

Java开发三大步

  1. 写代码,文件后缀为.java

    假设当前文件为 test.java 文件目录为E:\File\work\test.java

    public class test1 {public static void main(String[] args) {System.out.println("xxxx");//输出语句}
    }//除输出语句,其他语句为固定写法   ====》   语义结构化
    
  2. 编译为.class文件,即字节码文件(相当于二进制,计算机可以直接执行) === (要编译需

    cmd进入要到当前文件目录里)

    • cmd进入命令提示符

    • 当前目录在C盘,文件目录在E盘,不同盘符,通过e:回车进入E盘

    • 在E盘下,通过cd File进入下一级目录File(若想回到盘符目录里的上一级,直接cd ..返回上一级目录),也可以直接在当前文件所在的目录位置前加cmd空格回车直接进入

    • 编译命令 javac 文件名.java,即cmd里输入javac test.java 进行编译,编译完成后文件的同目录下会出现同名的字节文件,即test.class
  3. 执行编译文件

    cmd命令java 文件名,即java test,注意这里不需要后缀名

    即使最后删除了test.java文件,只要test.class还存在,java 文件名依然可以输出Hello World,因为程序执行的是编译文件

实际效果
  1. 在桌面创建一个txt格式文件,写入代码保存,将文本格式后缀txt修改为java
  2. 定位到该java文件位置,cmd进入该位置

    3.输入javac 文件名将该文件编译,这时桌面会出现一个同名.calss后缀的文件,即使编译后的文件
  3. java 文件名会执行编译后文件内的程序,输出Hello World
  4. 即使删除文件名.java这个源文件,命令java test依旧会执行输出Hello World,证明程序在执行时只会执行编译后的文件,即以.class结尾的文件

1_Java概述_JDK配置相关推荐

  1. linux 使用了哪个存储阵列卡,Linux中RAID概述及配置实验

    Linux中RAID概述及配置实验 一.RAID磁盘阵列概述 RAID 0 (条带化存储) RAID 1(镜像存储) RAID 5 RAID 6 RAID 1+0(先做镜象,再做条带) RAID 0+ ...

  2. WDS服务的概述与配置(详细图文教程)

      WDS服务的概述与配置    WDS的全称为Windows部署服务,主要应用于大中型网络中的计算机操作系统的批量化部署.通过使用WDS可以管理映像以及无人参与安装脚本的方式,大大提升部署操作系统的 ...

  3. MyBatis-02 MyBatis XML方式概述及配置步骤

    概述 一个简单的权限控制需求 创建数据库表 创建实体类 XML方式概述及步骤 1. 首先在src/main/resources下com.artisan.mybatis.xml.mapper目录下创建5 ...

  4. SpringMVC 框架系列之组件概述与配置详解

    在上一篇文章 SpringMVC 框架系列之初识与入门实例 的实例中,我们已经知道,SpringMVC 框架是一个 web 层的框架,本篇文章就详细解释一下 SpringMVC 框架具体文件的配置以及 ...

  5. MySQL主从同步(一主一从、一主多从、主从从)等结构的概述与配置

    前言:前面我们了解了MySQL数据库的基础知识,今天及接下来的五天时间里我会给大家带来MySQL进阶方面的一些学习总结,如有不足,还请大家留言指出:下面我们就开始今天的内容. ** 部署mysql主从 ...

  6. U-BOOT中文文档 概述与配置选项

    前言:近期在学习U-Boot,学习过程不外乎学习文档,阅读代码.U-BOOT源码树提供的README文档讲得比较详细,可以作为一个起点,看了下网 上似乎也没有完全的中文翻译,因此才有翻译的打算,一方面 ...

  7. log4j2 概述、配置详情、日志八种输出级别讲解

    一.概述 Log4j:专门为我们的javat程序记录日志使用的;就是jar包+配置文件 那么没有使用log4j的时候,如何打印信息呢? System.out.println("====&qu ...

  8. SSH远程访问与TCP Wrappers 访问控制(基础概述及配置操作)

    SSH远程访问及控制 OpenSSH服务器 基础概述 Windows远程桌面连接 配置OpenSSH 服务端 sshd_config配置文件的常用选项设置 使用SSH客户端程序进行黑白名单登录测试 使 ...

  9. 【Java基础系列教程】第二章 Java语言概述、配置环境变量

    一.计算机编程语言概述 1.1 语言 语言(英文:Language)是人类进行沟通交流的表达方式.例如:中国人与中国人用普通话沟通.而中国人要和英国人交流,就要学习英语.              语 ...

最新文章

  1. 电大计算机应用,(2016年电大)电大全国计算机应用考试网考.doc
  2. 计算机语言学教程,《语言学教程》-中文笔记(完整).doc
  3. linux下搭建redis并解决无法连接redis的问题
  4. 【ARM】Tiny4412裸板编程之静态库(libc.a)
  5. Linux下Elasticsearch-2.4.0的安装与简单配置(单节点)Head插件安装(已测试)
  6. Windows Phone 8初学者开发—第6部分:设置应用程序的样式
  7. asp:boundfield 鼠标悬停后显示_设计了100张图表后,我学到了哪些经验?
  8. createbitmap 旋转90度_如何旋转的位图90度
  9. linux用户批量修改密码,Linux 命令详解 chpasswd 批量修改用户密码
  10. (转)马克•柯霍德斯:一位王牌大空头的传奇人生
  11. 最好用的 5 款 React 富文本编辑器
  12. 高斯09linux教程,Gaussian 09的安装与使用
  13. 声音鉴卡引流神器网站源码
  14. 打发时间的网站,收藏起来吃鸡玩腻了玩玩这些,够你玩一年
  15. linux能力集机制,Linux能力(capability)机制的继承
  16. 百度直达号,一场自high的喜剧
  17. php订单管理系统(源码+数据库+截图)
  18. BT源代码学习心得(一):总体描述 -- 转贴自wolfenstein (NeverSayNever)
  19. 用 django 构建翻译网站——软件工程课程设计
  20. JavaScript 探查器工具

热门文章

  1. 33个优秀的网站底部设计案例欣赏
  2. 15个优秀的红色网站设计作品欣赏
  3. EMC World:VCE VxRack增加新节点简化OpenStack部署
  4. 认识MSCI ESG评级
  5. UE4 窗口控制(最大化 最小化)
  6. python爬取豌豆荚中的详细信息并存储到SQL Server中
  7. 世界大师的经典黑白摄影100张
  8. 漫画讲解Advantage-Actor-Critic(A2C)
  9. Thinkpad X1 Carbon/Yoga如何更换固态硬盘并无损转移系统(亲测有效)
  10. Citavi插件的安装和使用以及注意事项