JavaSE——Java介绍与环境变量简述

第1节 Java介绍

1、Java的起源与演变

2、Java体系与特点

Java体系

  • Java SE:标准版:各应用平台的基础,桌面开发和低端商务应用的解决方案。

  • Java EE:企业版,以企业为环境而开发应用程序的解决方案。

  • Java ME:微型版,效力于消费产品和嵌入式设备的最佳解决方案。

Java的特性

  • 一种纯面向对象 的编程语言;

  • 一种与平台无关(跨平台 )的语言;(它提供了在不同平台下运行的解释环境)

  • 一种健壮 的语言,吸收了C/C++语言的优点;

  • 有较高的安全 性。(自动回收垃圾,强制类型检查,取消指针)

3、Java跨平台原理

在这里插入图片描述

3. 1 Java虚拟机(Java Virtual Machine)

在这里插入图片描述

JVM可以理解成一个可运行Java字节码的虚拟计算机系统:

  • 它有一个解释器组件,可以实现Java字节码和计算机操作系统之间的通信

  • 对于不同的运行平台,有不同的JVM

JVM屏蔽了底层运行平台的差别,实现了“一次编译,随处运行”。

在这里插入图片描述

3.2 垃圾回收器(GC)(Garbage Collection)

    垃圾回收: 不再使用的内存空间应当进行回收。

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

3.3 Java SE的组成概念图

在这里插入图片描述

3.4 JDK

JDK(Java Development Kits)——Java开发工具集

  • JRE(Java Runtime Environment)Java运行时环境

    - JVM

    - Java API

    - 三项主要功能:

        - 加载代码:由类加载器(class loader)完成;

        - 校验代码:由字节码校验器(byte code verifier)完成;

        - 执行代码:由运行时解释器(runtime interpreter)完成。

  • Java编译器(javac.exe)

  • Java运行时解释器(java.exe)

  • Java文档化工具(javadoc.exe)

  • 其他工具及资源

补充:

一、用户变量与系统变量

Windows中有两种环境变量:用户变量和系统变量,它们的区别如下:

  1. 环境变量不区分大小写;

  2. 系统变量对所有用户有效,用户变量只对当前用户有效;

  3. 名称是变量,值是里面的内容,也就是通过变量存储了想要存储的内容,方便调用;

  4. 系统和用户变量的Path:告诉系统可执行文件放在什么路径;

  5. Windows系统在执行用户命令时,若用户未给出文件的绝对路径,首先在当前目录下寻找相应的可执行文件、批处理文件;若当前目录找不到对应名的程序,在系统变量的PATH路径中,依次寻找对应的可执行程序文件;

  6. 如果系统变量的PATH路径找不到,再到用户变量的PATH路径中寻找(若同时包含,优先执行系统变量中的);

  7. 每次新加了命令以后,要确定保存,再重启cmd;

  8. 在cmd中输出环境变量:ECHO %变量名%。

二、环境变量Path

为执行的指令提供更方便的一种方式

在这里插入图片描述

这里的“内部”指的是smile文件夹路径,“外部”指的是环境变量中的路径;如果不将可执行文件所在的路径加入环境变量,那么只能在该可执行文件所在的文件夹下执行它,在别的路径下就不能执行它;而如果加入了环境变量中,那么在任何路径都可以执行这个可执行文件。

(先找“内部”,再找“外部”)

通过添加环境变量的内容,可以通过命令的方式来执行可执行文件。

三、JAVA_HOME环境变量

如果将java的路径放在Path下,当需要频繁的修改它时,很容易错误地改动了其他内容,所以先新建一个JAVA_HOME环境变量,将java路径放在JAVA_HOME下,再把JAVA_HOME放到PATH下,就不用频繁改动PATH了,只要改JAVA_HOME即可。

在这里插入图片描述

在这里插入图片描述

四、第一个Java程序

在这里插入图片描述

在这里插入图片描述

三种注释:

  1. 单行注释://

  2. 多行注释://

  3. 文档注释:/**…*/,可以把鼠标放在函数或类上,查看其作用

代码语句的分类:

  1. 结构定义语句

  2. 功能执行语句,必须以英文分号结束

在这里插入图片描述

{}是结构定义语句,sout是功能执行语句。

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

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

相关文章

python中实现sigmiod功能

两种方法: 第一种:调用库函数 from scipy.special import expita np.array([[2.3, 5],[-0.2, -2]]) b expit(a) 第二种方法:自定义函数 def sigmoid(x):return 1.0 / (1.0 np.exp(-x))a np.array([[2.3, 5],[-0.2, -2]]) c sigmoid(…

深度:中国智能制造分析报告

来源:精智工厂亚洲正受到自动化、智能化大潮冲击。国际劳工组织调研发现,越南、柬埔寨、菲律宾和印度尼西亚的工人的失业风险最高,据估计这几个区域约50%的工人工作可能在未来20年被自动化取代。亚洲尤其是中国作为制造业的重要区域&#xff…

JavaSE——Java基础语法(二进制、变量、方法(函数)、运算符、转义字符)

第2节 基础语法 一、二进制 1.1 二进制介绍 计算机中的数据都以二进制数字保存。 二进制 :逢二进一,即只有0、1两个值。如十进制的10在计算机内保存为二进制的1010。 计算机中信息的存储单位: 位(Bit)&#xff1a…

centOS 搭建pipelineDB docs

#下载docs git clone https://github.com/pipelinedb/docs.git #安装python-sphinx &python-dev yum install install python-sphinx yum install python-devel.x86_64 #python安装sphinx && aws pip install sphinx_rtd_theme sphinx-autobuild awscli ---------…

归一化[0, 1]

第一种方法: x_norm(x-x_min)/(x_max-x_min) x_max,x_min分别代表x中的最大值和最小值 第二种方法: x_normsigmiod(x)

我们离爱因斯坦想了解的“上帝的思想”,还有多远?

来源:原理1925年,爱因斯坦在与一位名为Esther Salaman的年轻学生一同散步的途中,分享了他的一个核心指导思想:“我想知道上帝是如何创造这个世界的。我对这个或那个现象,这个或那个元素的能谱不感兴趣。我要知道的是他…

脚踏实地,才能顶天立地!

周末来得快,去得更快,这一周可以说过得比较低迷吧,不知道该为自己制定怎样的一个目标。随波逐流的度过了一周,回过头来才发现能够残存在脑海中的就只有上课时记下来的那点可怜的笔记的一部分内容。出现这样的状况,自己…

JavaSE——流程控制(接收输入Scanner、分支结构(if与switch)、循环结构(while、do-while与for))

第3节 流程控制 一、接收用户输入 使用Scanner类来接收用户的输入。 新建一个Scanner对象:Scanner input new Scanner(System.in); input可以接收各种数据类型的输入:比如nextInt、nextByte等,但是这样不太安全,因为如果输入…

查看外文期刊的刊名、刊号、刊期

外文期刊刊号即ISSN,由8位数字组成。8位数字分为前后两段各4位,中间用连接符相连,格式如下: ISSN XXXX-XXXX 第一:可以在Web of Science里面查http://www.webofscience.com/ 第二:可以在EI上搜索论文&…

城市大脑与智慧城市前沿趋势 主题论坛 |未来科技大讲堂 第12期

近年来,智慧城市建设出现新的动向,包括城市大脑、城市云脑、城市超级大脑、城市超脑、城市神经网络等“泛城市大脑”概念也大量涌现。杭州、上海、北京、广州等城市各自提出和开展了不同城市大脑建设方案,其中上海市开展了以建设城市神经元系…

问题解决:使用angularjs、ionic框架如何实现返回上一页并刷新

普通的js返回并刷新这里就不多说了,百度就有很多方法。 下面说的是使用了angularjs、ionic开发的一个手机app中使用的一个返回上一页并刷新的方法。 场景:回复的页面是单独的,点击保存回复后会回到上一个页面,此时上一个页面会显示…

JavaSE——数组基础(创建格式、下标、获取长度、常见问题、多维数组)

第4节 数组 一、概述 数组是相同数据类型的多个数据的容器。这些元素按线性顺序排列。所谓线性顺序是指除第一个元素外,每一个元素都有唯一的前驱元素;除最后一个元素外,每一个元素都有唯一的后继元素。(“简单理解就是&#xff…

MATLAB将颜色反转

如下图: 若需要将其转换为灰度图,则用colormap(gray): 但若想将上面那幅灰度图颜色反转,即白色部分变黑,黑色部分变白,则用colormap(flipud(gray)):

AR/VR逐渐回暖 联合安防步入未来

来源:VR每日必看2019年,AR/VR市场在走过萌芽、兴起、狂热与泡沫破灭之后,开始逐渐复苏,相关芯片、屏幕、传感器等关键零部件也取得了不少进展,行业有望再次迎来高速增长。相较于C端市场,在B端,A…

使用python高通滤波器时报错numpy.linalg.linalg.LinAlgError: Singular matrix

原因是低通滤波器的阶数和高通滤波器一致造成的,因为我先使用了六阶低通滤波器,然后使用了六阶高通滤波器,改变一下高通滤波器的阶数即可

C# 中 ref 和out 的区别

out 参数前必须先为其赋值,即必须由被调用方为其赋值。 class TestOut {static void FillArray(out int[] arr){// Initialize the array:arr new int[5] { 1, 2, 3, 4, 5 };}static void Main(){int[] theArray; // Initialization is not required// Pass the ar…

JavaSE——面向对象基础(思想、类与对象、构造方法、重载、匿名对象)

第1节 面向对象基础 一、面向对象思想 1.1 概述 面向对象(Object Oriented)是软件开发方法。面向对象的概念和应用已超越了程序设计和软件开发,是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段的产物。面向对…

谷歌发布颠覆性研究:不训练不调参,AI自动构建超强网络,告别炼丹一大步...

来源:凹非寺 机器学习全靠调参?这个思路已经过时了。谷歌大脑团队发布了一项新研究:只靠神经网络架构搜索出的网络,不训练,不调参,就能直接执行任务。这样的网络叫做WANN,权重不可知神经网络。它…

JavaSE——面向对象进阶(封装、this、static、代码块、包、权限修饰符、main方法详解)

第2节 面向对象进阶 一、封装与private 概述: 封装的意义在于保护或者防止代码(数据)被我们无意中破坏。保护成员属性,不让类以外的程序直接访问和修改。封装原则: 隐藏对象的属性和实现细节,仅对外公开访…

使用python的butter带通滤波器时出现RuntimeWarning

RuntimeWarning: invalid value encountered in reduce ret umr_sum(arr, axis, dtype, out, keepdims) RuntimeWarning: overflow encountered in reduce ret umr_sum(arr, axis, dtype, out, keepdims) 原因是butter带通滤波器的阶数过高,降低滤波器阶数…