day01_Java概述丶环境搭建

Java背景知识

Java概述

概述:计算机语言就是人与计算机之间进行信息交流沟通的一种特殊语言。所谓计算机编程语言,就是人们可以使用编程语言对计算机下达命令,让计算机完成人们需要的功能。

Java语言:是美国Sun公司(Stanford University Network)在1995年推出的计算机语言。姆斯·高斯林被我们称之为Java之父。2009年,Sun公司被甲骨文公司收购,所以我们现在访问oracle官网即可找到Java的相关资料。

Java是世界上最流行的编程语言之一,在国内使用最为广泛的编程语言。 

java语言的三个版本:

  • JavaSE:用于桌面应用的开发,是其他两个版本的基础。允许您在桌面和服务器上开发和部署Java应用程序。

  • JavaME:用于嵌入式消费类电子设备。为互联网上的嵌入式和移动设备上运行的应用提供了一个健壮、灵活的环境:微控制器、传感器、网关、移动电话、个人数字助理(PDA)、电视机顶盒、打印机等等。

  • JavaEE: 为开发企业环境下的应用程序提供的一套解决方案,主要针对于Web应用程序开发。Java语言主要应用在互联网程序的开发领域。常见的互联网程序比如天猫、京东、物流系统、网银系统等,以及服务器后台处理大数据的存储、查询、数据挖掘等也有很多应用。

JAVA语言的主要特点 

  • Java语言是强制面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。
  • Java语言是健壮的。Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。
  • 跨平台任何软件的运行,都必须要运行在操作系统之上,而我们用Java编写的软件可以运行在任何的操作系统上,这个特性称为Java语言的跨平台特性。该特性是由JVM实现的,我们编写的程序运行在JVM上,而JVM运行在操作系统上。

 Java的跨平台的含义一次编译、处处可用实现原理:不同平台有对应的JRE环境。具有来说是不同的系统对应不同版本的JVM虚拟机

  • 安全:Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。如:安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查。

Java语言中的相关名词

  • JVM(Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的运行环境,是Java 最具吸引力的特性之一。我们编写的Java代码,都运行在 JVM 之上。Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”。
  • ​​​​​JRE(Java Runtime Environment) :是Java程序的运行时环境,包含 JVM 和运行时所需要的 核心类库 。我们想要运行一个已有的Java程序,那么只需安装 JRE 即可。
  • JDK(Java Development Kit):是Java程序开发工具包,包含 JRE 和开发人员使用的工具。我们想要开发一个全新的Java程序,那么必须安装 JDK 。必须有JDK才能开发Jva程序

 总结:我们只需安装JDK即可,它包含了java的运行环境和虚拟机。三者关系: JDK > JRE > JVM如下图所示

Java语言跨平台原理

如图所示,Java的虚拟机本身不具备跨平台功能的,每个操作系统下都有不同版本的虚拟机。

计算机怎么理解Java写好的这些指令的?

Java程序并非是直接运行的,Java编译器将Java源程序编译成与平台无关的字节码文件(class文件),然后由Java虚拟机(JVM)对字节码文件解释执行。

 所以在不同的操作系统下,只需安装不同的Java虚拟机即可实现java程序的跨平台。 下面对JDK的版本做一个简单的说明

Java开发环境搭建

  • 第一步:JDK下载,通过官方网站获取JDK http://www.oracle.com。具体下载步骤请参见百度。针对不同的操作系统,需要下载对应版本的JDK。
  • 第二步:安装,下一步即可。但默认的安装路径是在C:\Program Files下,为方便统一管理建议修改安装路径,将与开发相关的软件都安装到一个目录下,例如:D:\develop。或者 E:\develop。安装路径不要包含中文或者空格等特殊字符(使用纯英文目录)

 JDK的安装目录介绍如下图所示:

  • 第三步:JAVA_HOME环境变量的配置。为了开发方便,我们想在任意的目录下都可以使用JDK的开发工具,则必须要配置环境变量,配置环境变量的意义在于告诉操作系统,我们使用的JDK开发工具在哪个目录下。具体步骤请参见百度
  • 第四部:验证环境变量的配置是否配置成功。进入DOS操作界面,输入java -version后回车,下面会显示已安装的JDK版本信息则代表安装成功。

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

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

相关文章

并发-并发挑战及底层实现原理笔记

并发编程挑战 上下文切换 cpu通过给每个线程分配cpu时间片实现多线程执行,时间片是cpu分配给各个线程的时间,cpu通过不断切换线程执行。线程有创建和上下文切换的开销。减少上下文切换的方方法 – 无锁并发编程,eg:将数据的id按…

ubuntu学习(四)----文件写入操作编程

1、write函数的详解 ssize_t write(int fd,const void*buf,size_t count); 参数说明: fd:是文件描述符(write所对应的是写,即就是1) buf:通常是一个字符串,需要写入的字符串 count:是每次写入的字节数…

Linux线程 --- 生产者消费者模型(C语言)

在学习完线程相关的概念之后,本节来认识一下Linux多线程相关的一个重要模型----“ 生产者消费者模型” 本文参考: Linux多线程生产者与消费者_红娃子的博客-CSDN博客 Linux多线程——生产者消费者模型_linux多线程生产者与消费者_两片空白的博客-CSDN博客…

pytestx重新定义接口框架设计

概览 脚手架: 目录: 用例代码: """ 测试登录到下单流程,需要先启动后端服务 """test_data {"查询SKU": {"skuName": "电子书"},"添加购物车": {"sk…

一篇文章带你彻底了解Java常用的设计模式

文章目录 前言1. 工厂模式使用示例代码优势 2. 单例模式说明使用示例代码优势 3. 原型模式使用示例代码优势 4. 适配器模式使用示例代码优势 5. 观察者模式使用示例代码优势 6. 策略模式使用示例代码优势 7. 装饰者模式使用示例代码优势 8. 模板方法模式使用示例代码优势 总结 …

网络学生用品商店系统设计与实现(论文+源码)_kaic

摘 要 随着互联网的发展,人们的生活发生了巨大的变化,给人们的生活、工作等方面带来了相当大的提高,电子化成为了节约成本、调高效率的代名词。电子商务是利用微电脑技术和网络通讯技术进行的商务活动,买卖双方通过网络所进行各…

Windows商店引入SUSE Linux Enterprise Server和openSUSE Leap

在上个月的Build 2017开发者大会上,微软宣布将SUSE,Ubuntu和Fedora引入Windows 商店,反应出微软对开放源码社区的更多承诺。 该公司去年以铂金会员身份加入Linux基金会。现在,微软针对内测者的Windows商店已经开始提供 部分Linux发…

_数字矩阵

题目&#xff1a;一个3阶的数字矩阵如下&#xff1a; 1 2 3 8 9 4 7 6 5 现在给定数字n(1<n≤20)&#xff0c;输出n阶数字矩阵。 思路&#xff1a; 放出一条好玩的贪吃蛇&#xff0c;按照右下左上的顺序吃蛋糕&#xff0c;一边吃蛋糕&#xff0c;一边拉数字&#xff1b…

提升团队效率!探索多款热门一站式团队协作工具

“常见的几种团队协作工具有&#xff1a;Zoho Projects、Slack、Microsoft Teams、Asana、Trello等。” 团队协作已经成为了企业、组织和个人工作的重要组成部分。为了提高工作效率和协同能力&#xff0c;各种团队协作工具应运而生。本文将介绍团队协作工具的功能以及常见的几种…

LeetCode——有效的括号

这里&#xff0c;我提供一种用栈来解决的方法&#xff1a; 思路&#xff1a;栈的结构是先进后出&#xff0c;这样我们就可以模拟栈结构了&#xff0c;如果是‘&#xff08;’、‘{’、‘[’任何一种&#xff0c;直接push进栈就可以了&#xff0c;如果是‘}’、‘&#xff09;’…

vue3将通用组件注册成全局组件

一、问题重现 我们用过vue的人都知道会有一个components文件夹用来存放我们的通用组件&#xff1a; 这里我的通用组件就有四个&#xff0c;但是有一些是使用评率比较高的&#xff0c;如果很多地方要使用我还得导入相同的组件&#xff0c;写的都是一样的代码&#xff1a; impo…

wireshark进行网络监听

一、实验目的&#xff1a; 1&#xff09;掌握使用CCProxy配置代理服务器&#xff1b; 2&#xff09;掌握使用wireshark抓取数据包&#xff1b; 3&#xff09;能够对数据包进行简单的分析。 二、预备知识&#xff1a; 包括监听模式、代理服务器、中间人攻击等知识点&#xf…