1. Java概述

news/2024/4/29 8:17:10/文章来源:https://blog.csdn.net/weixin_63267854/article/details/137114682

文章目录

  • 1.Java语言概述
    • 1.1 Java介绍
      • 1.1.1 软件开发概述
      • 1.1.2 计算机语言
      • 1.1.3 Java 简史
      • 1.1.4 Java 技术体系平台
      • 1.1.5 Java在各领域的应用
      • 1.1.6 Java语言特点
      • 1.1.7 Java核心机制一-Java虚拟机
      • 1.1.8 Java核心机制二-垃圾回收
      • 1.1.9 Java开发工具
    • 1.2 Java环境搭建
      • 1.2.1 JDK、JRE
      • 1.2.2 JDK、JRE、JVM关系
      • 1.2.3 命令行查看jdk版本
      • 1.2.4 下载并安装JDK
      • 1.2.5 配置环境变量path
    • 1.3 Java 开发体验-HelloWord
    • 1.4 Java中的注释
      • 1.4.1 单行注释 多行注释
      • 1.4.2 文档注释
    • 1.5 Java API文档说明

1.Java语言概述

1.1 Java介绍

1.1.1 软件开发概述

  • 软件即数据和指令的集合。有系统软件和应用软件之分。

  • 人机交互方式

    1. 图形化界面 - Graphical User Interface GUI

    2. 命令行方式 - Command Line Interface CLI

Pascal之父Nicklaus Wirth: “Algorithms+Data Structures=Programs”

  • 常用的DOS命令(不区分大小写)

    1. dir : 列出当前目录下的文件以及文件夹**(directory-[dəˈrektəri]-目录)**

    2. md: 创建目录**(made directory)**

    3. rd: 删除目录 (remove dirdectory)

      rd *.txt:将当前目录下.txt文件删除,*表示未知的

    4. cd : 进入指定目录

    5. cd.. : 退回到上一级目录

    6. cd\: 退回到根目录**(cd/一样)**

    7. del : 删除文件**(delete)**

    8. exit : 退出 dos 命令行

    9. 补充:echo javase>1.doc

1.1.2 计算机语言

机器语言->编译语言->高级语言

1.1.3 Java 简史

  • 1991年 Green项目,开发语言最初命名为Oak (橡树)

  • 1994年,开发组意识到Oak 非常适合于互联网

  • 1996年,发布JDK 1.0,约8.3万个网页应用Java技术来制作

  • 1997年,发布JDK 1.1,JavaOne会议召开,创当时全球同类会议规模之最

  • 1998年,发布JDK 1.2,同年发布企业平台J2EE

  • 1999年,Java分成J2SE、J2EE和J2ME,JSP/Servlet技术诞生

  • 2004年,发布里程碑式版本:JDK 1.5,为突出此版本的重要性,更名为JDK 5.0(此后1.6->6.0,1.7->7.0)

  • 2009年,Oracle公司收购SUN,交易价格74亿美元

  • 2011年,发布JDK 7.0

  • 2014年,发布JDK 8.0,是继JDK 5.0以来变化最大的版本

  • 2017年,发布JDK 9.0,最大限度实现模块化

  • 2018年3月,发布JDK 10.0,版本号也称为18.3(9.0以后用时间来命名)

  • 2018年9月,发布JDK 11.0,版本号也称为18.9

1.1.4 Java 技术体系平台

image-20220709164543854

1.1.5 Java在各领域的应用

  • 企业级应用

  • Android平台应用

  • 大数据平台开发

  • 移动领域应用

1.1.6 Java语言特点

特点一:面向对象

  • 两个基本概念:类、对象

  • 三大特性:封装、继承、多态

特点二:健壮性

  • 垃圾回收机制
  • 去除C语言指针

特点三:跨平台性

  • 跨平台性:“Write once , Run Anywhere”(通过JVM实现)

  • 原理:只要在需要运行 java 应用程序的操作系统上,先安装一个Java虚拟机 (JVM Java Virtual Machine) 即可。由JVM来负责Java程序在该系统中的运行。

    就像坤坤在南非和北京开演唱会,不同的环境,要搭建不同的平台,而这些不同的平台就像WIn版的JVM,linux版的JVM和Mac的JVM。然后坤坤就能在不同的地域中给爱坤人士开演唱会了

1.1.7 Java核心机制一-Java虚拟机

  • JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器

  • 对于不同的平台,有不同的虚拟机。

  • 只有某平台提供了对应的java虚拟机,java程序才可在此平台运行

  • Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”

  • .java源代码编译成.class字节码文件,我们使用JVM中类的加载器和解释器对生成的字节码文件进行解释运行,字节码文件中对应的类就是这时加载到内存中去的。而虚拟机又是在操作系统上运行,操作系统又依赖于计算机硬件

  • 在EditPlus中源代码和字节码文件都在同一个文件夹下可以直接观察到

  • 在eclipse中,同样也有源代码编译成字节码文件

    img

1.1.8 Java核心机制二-垃圾回收

  • 不再使用的内存空间回收—— 垃圾回收。

    • 在C/C++等语言中,由程序员负责回收无用内存。
    • Java 语言消除了程序员回收无用内存空间的责任:它提供一种系统级线程跟踪存储空间的分配情况。并在JVM空闲时,检查并释放那些可被释放的存储空间。
  • 垃圾回收在Java程序运行过程中自动进行,程序员无法精确控制和干预。

  • Java程序还会出现内存泄漏和内存溢出问题吗?Yes!

1.1.9 Java开发工具

文本编辑工具:

  • 记事本

  • UltraEdit

  • EditPlus

  • TextPad

  • NotePad

Java集成开发环境(IDE):

  • JBuilder

  • NetBeans

  • Eclipse

  • MyEclipse

  • IntelliJ IDEA

1.2 Java环境搭建

1.2.1 JDK、JRE

  • JDK

    (Java Development Kit Java开发工具包)

    JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。 其中的开发工具:编译工具(javac.exe) 打包工具(jara.exe)等

  • JRE

    JRE(Java Runtime Environment Java运行环境)

    包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。

使用JDK的开发工具完成的java程序,交给JRE去运行。

1.2.2 JDK、JRE、JVM关系

  • JDK = JRE + 开发工具集(例如Javac编译工具等)

  • JRE = JVM + Java SE标准类库

Java 8.0 Platform

image-20220709182656631

1.2.3 命令行查看jdk版本

1.2.4 下载并安装JDK

官方网址:www.oracle.com

安装JDK

  • 傻瓜式安装,下一步即可。
  • 建议:安装路径不要有中文或者空格等特殊符号。(可能不识别!)
  • 当提示安装 JRE 时,正常在JDK安装时已经装过了,但是为了后续使用Eclipse等开发工具不报错,建议也根据提示安装JRE。

1.2.5 配置环境变量path

  • 在dos命令行中敲入javac,出现错误提示

    错误原因:当前执行的程序在当前目录下不存在。windows系统在path的环境变量指定的目录中仍未找到,所以报错。所以配置号环境变量便可以在任何目录下执行java的开发工具。

  • 输入执行程序,系统首先会在当前目录下查找,如果没有,windows系统会在系统中已有的一个名为path的环境变量指定的目录中查找。所以希望在任何目录下都可以执行Java的工具,只需要将Java工具所在路径定义到path环境变量中,让系统帮我们取找运行的程序。

    配置方法:

    1. 我的电脑–属性–高级系统设置–环境变量

    2. 编辑 path 环境变量,在变量值开始处加上java工具所在目录,后面用 “ ; ”和其他值分隔开即可。(应为window本来path就有一些预定义的path值,win11是不用分号的,因为win11是填空的形式)

    3. 打开DOS命令行,任意目录下敲入javac。如果出现javac 的参数信息,配置成功。

  • 电脑安装了多个版本的jdk,使用的是那个版本,全看环境变量中配置的是那个版本。

  • 系统在查找环境变量的时候会右上到下逐个路径查找,所以如果在前面的路径中发现了同名的,就不会往下查找了,和我们的预期不符合。所以配置path环境变量最好上移到第一个,这样就不会出问题了

1.3 Java 开发体验-HelloWord

步骤:

  1. 将 Java 代码编写到扩展名为 .java 的文件中。
  2. 通过 javac 命令对该 java 文件进行编译
  3. 通过 java 命令对生成的 class 文件进行运行

之前配置的环境变量就是能在任何目录下都可以执行Java的工具,如javac来编译,java运行。

步骤一:编写

选择最简单的编辑器:记事本。敲入代码

//第一个Java程序
public class Test{public static void main(String[] args) {System.out.println(Hello World!);} 
}

将文件保存成Test.java,这个文件是存放java代码的文件,称为源文件

注意要显示文件扩展名,这时练好习惯。方法如下

步骤二:编译

有了java源文件,通过编译器将其编译成JVM可以识别的字节码文件。在该源文件目录下,通过javac编译工具对Test.java文件进行编译。如果程序没有错误,没有任何提示,但在当前目录下会出现一个Test.class文件,该文件称为字节码文件,也是可以执行的java的程序。

注意编译时用javac时要用扩展名,用java运行时不用扩展名。

步骤三:运行

  • 有了可执行的java程序(Test.class字节码文件)

  • 通过运行工具java.exe对字节码文件进行执行。

  • 出现提示:缺少一个名称为main的方法。

  • 因为一个程序的执行需要一个起始点或者入口,所以在Test类中的加入

    public static void main(String[] args){ }

  • 对修改后的Test.java源文件需要重新编译,生成新的class文件后,再进行执行。

  • 发现没有编译失败,但也没有任何效果,因为并没有告诉JVM要帮我们做什么事情,也就是没有可以具体执行的语句。

  • 想要和JVM来个互动,只要在main方法中加入一句System.out.println(“Hello World");因为程序进行改动,所以再重新编译,运行即可。

1.4 Java中的注释

1.4.1 单行注释 多行注释

/注释文字/ /*注释文字*/

  1. 对于单行和多行注释,被注释的文字,不会被JVM(java虚拟机)解释执行。

  2. 多行注释里面不允许有多行注释嵌套。

1.4.2 文档注释

格式:

/**
@author指定java程序的作者
@version 指定源文件的版本
*/
  • 注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档。

  • 操作方式:

    具体例子:

    生成文件夹:

    双击结果,对文档的解释:

  1. 声明为public的类必须和源文件名相同,所以一个源文件中可以有多个类,但是只能由一个public类。

  2. Java应用程序的执行入口是main()方法。它有固定的书写格式:

    public static void main(String[] args) {...}

  3. 编译过程:编译过程会生成一个或多个字节码文件,字节码文件名和java源文件中定义的类名时相同的。多少个类就由多少个字节码文件。

1.5 Java API文档说明

  • API (Application Programming Interface,应用程序编程接口)是 Java 提供的基本编程接口。

  • Java语言提供了大量的基础类,因此 Oracle 也为这些基础类提供了相应的API文档,用于告诉开发者如何使用这些类,以及这些类里包含的方法。

  • 下载API:http://www.oracle.com/technetwork/java/javase/downloads/index.html

image-20220712232813572

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_1027901.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ElasticSearch理论指导

引子 本文致力于ElasticSearch理论体系构建,从基本概念和术语讲起,具体阐述了倒排索引和TransLog,接着讲了ElasticSearch的增删改查的流程和原理,最后讲了讲集群的选举和脑裂问题。 前言 大碗宽面-Kafka一本道万事通&#xff0…

设计模式-设配器模式

目录 🎊1.适配器模式介绍 🎃2.适配器类型 🎏3.接口适配器 🎐4.类的适配器 🎎5.优缺点 1.适配器模式介绍 适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设…

自动化测试 —— Pytest fixture及conftest详解

前言 fixture是在测试函数运行前后,由pytest执行的外壳函数。fixture中的代码可以定制,满足多变的测试需求,包括定义传入测试中的数据集、配置测试前系统的初始状态、为批量测试提供数据源等等。fixture是pytest的精髓所在,类似u…

2-HDFS常用命令及上传下载流程

HDFS NameNode 安全模式(safemode) 当NameNode被重启的时候,自动进入安全模式 在安全模式中,NameNode首先会触发edits_inprogress文件的滚动。滚动完成之后,更新fsimage文件 更新完成之后,NameNode会将fsimage文件中的元数据加…

利用云手机技术,开拓海外社交市场

近年来,随着科技的不断进步,云手机技术逐渐在海外社交营销领域崭露头角。其灵活性、成本效益和全球性特征使其成为海外社交营销的利器。那么,究竟云手机在海外社交营销中扮演了怎样的角色呢? 首先,云手机技术能够消除地…

腾讯云4核8G服务器价格,12M带宽一年646元,送3个月

2024年腾讯云4核8G服务器租用优惠价格:轻量应用服务器4核8G12M带宽646元15个月,CVM云服务器S5实例优惠价格1437.24元买一年送3个月,腾讯云4核8G服务器活动页面 txybk.com/go/txy 活动链接打开如下图: 腾讯云4核8G服务器优惠价格 轻…

Eclipse的基本使用讲解(建项目,建包,建类,写代码(基本语法))新手入门必备

目录 一.介绍eclipse 二.操作Eclipse 1.选择工作空间 2.建项目,建包,建类 1.建项目(两种) 2.建包 3.建类 三.写代码(基本语法) 1.代码操作 2.代码规范 3.代码注释 一.介绍eclipse Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其…

【LeetCode热题100】124.二叉树的最大路径和(二叉树)

一.题目要求 二叉树中的 路径 被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。 路径和 是路径中各节点值的总和。 给你一个二叉树的根节点 root …

Qt打印系统库的日志 - QLoggingCategory

Qt的动态库通过源码可以可以看到含有大量的qCInfo 和 qCDebug 等大量的日志, 但是我们正常运行Qt程序,这些动态库或插件里面的日志是不会输出到我们的控制台里面的。 所以本章主要记录怎么输出这些日志出来。 一: 步骤 主要使用的是Qt的 函…

macOS 13 Ventura (苹果最新系统) v13.6.6正式版

macOS 13 Ventura是苹果电脑的全新操作系统,它为用户带来了众多引人注目的新功能和改进。该系统加强了FaceTime和视频通话的体验,同时优化了邮件、Safari浏览器和日历等内置应用程序,使其更加流畅、快速和安全。特别值得一提的是,…

基于51单片机的客车汽车安全气囊控制器Proteus仿真

地址:https://pan.baidu.com/s/10enj1EYm_0Z8f_19Sz_eCQ 提取码:1234 仿真图: 芯片/模块的特点: AT89C52简介: AT89C52是一款经典的8位单片机,是意法半导体(STMicroelectronics)公…

[创建型模型] 原型模式

一 介绍 原型设计模式,允许通过复制已有对象的实例,来创建新的对象,并且不需要显示的实例化过程。 目的是通过复制现有对象来创建新对象,从而减少了对象的实例化开销。(避免了一些数据的初始化,读取,加载数据,资源的…

原生 HTML/CSS/JS 实现右键菜单和二级菜单

文章来源:www.huhailong.vip 站点 文章源地址:https://www.huhailong.vip/article/1764653112011841538 Demo效果演示地址 先看效果图 {{{width“auto” height“auto”}}} 需要注意的就是边界检测处理,到极端点击底部和右侧时如果不做处理会…

外包干了8天,技术退步明显.......

先说一下自己的情况,大专生,19年通过校招进入杭州某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四年的功能测…

React系列之框架特点和组件类型

文章目录 ReactMVC MVP MVVM单/双向数据绑定React特点JSX 组件和不同类型 React MVC MVP MVVM Web设计模式,通过分离模块来改进代码的组织方式。 MVC 是 Model View Controller 的缩写。 Model:模型层,数据相关的操作。View:视…

linux 环境安装配置

安装java17 1.下载安装包 wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz 2.解压到自定义目录/usr/local/java mkdir /usr/local/java tar zxvf jdk-17_linux-x64_bin.tar.gz -C /usr/local/java 3.配置环境变量 echo export PATH$PATH:/…

Mac添加和关闭开机应用

文章目录 mac添加和关闭开机应用添加开机应用删除/查看 mac添加和关闭开机应用 添加开机应用 删除/查看 打开:系统设置–》通用–》登录项–》查看登录时打开列表 选中打开项目,点击“-”符号

Vue指令之v-bind

v-bind用于动态设置html的标签属性,如src、url、title等,因为插值表达式{{}}没有办法用在标签属性上,需要用到其他工具。 比如前端要根据后端传来的参数,动态的显示图片,就需要把图片的src属性绑定到Vue实例的一个变量…

ensp中pc机访问不同网络的服务器

拓扑图如下,资源已上传 说明:pc通过2个路由访问server服务器 三条线路分别是192.168.1.0网段,192.168.2.0网段和192.168.3.0网段,在未配置的情况下,pc设备是访问不到server的 具体操作流程 第一;pc设备…

星光/宝骏/缤果/长安 车机CarPlay手机操作破解教程V2.0版本(无需笔记本、无需笔记本、无需笔记本)

之前写了个1.0版本,由于太局限,需要用到笔记本才能操作,很多车友反馈不方便。特此出个手机版教程,简单easy,妈妈再也不用担心我搞不定啦 一、准备工作 先卸载车机上的autokit 或者 智能互联 app,这步很关…