java基础-第1章-走进java世界

news2025/1/11 10:55:35

一、计算机基础知识
常用的DOS命令
二、计算机语言介绍
三、Java语言概述
四、Java环境的搭建
JDK安装图解
环境变量的配置
配置环境变量意义
配置环境变量步骤
五、第一个Java程序
编写Java源程序
编译Java源文件
运行Java程序
六、Java语言运行机制
核心机制—Java虚拟机
核心机制—垃圾回收

一、计算机基础知识

常用的DOS命令

进入 DOS操作窗口
按下 Windows+R键盘,打开运行窗口,输入cmd回车,进入到DOS的操作窗口。

打开 DOS命令行后,看到一个路径 c:\user 就表示我们现在操作的磁盘是c盘。

常用命令
1.切换盘符:盘符名加冒号,回车
2.退出到当前目录的根目录:cd (change directory)
3.退回到上一层目录:cd …
4.进入某个目录:cd 目录名
5.列出目录下的内容:dir
6.创建文件夹:md 目录名(make directory)
7.创建文件并写入内容:
echo 内容>文件名
追加内容
echo 内容>>文件名
8.删除文件:
del 文件名(delete)
9.删除文件夹
rmdir 目录名,删除空目录(remove directory)(只能删除空的文件夹)
10.清屏:cls
11.查看ip地址ipconfig
12. 测试网络是否连通ping
13.退出:exit

二、计算机语言介绍

什么是计算机语言

语言:是人与人之间用于沟通的一种方式。例如:中国人与中国人用普通话沟通。而
中国人要和英国人交流,就要学习英语。
计算机语言:人与计算机交流的方式。
如果人要与计算机交流,那么就要学习计算机语言。
计算机语言有 很多种 。 如:C ,C++ ,Java ,PHP , Kotlin ,Python ,Scala等 等

第一代语言

机器语言。指令以二进制代码形式存在。
使用 0 和 1 的二进制码,但是在做计算的时候,比如 128 ,我们要写为 10000000,其它的数以此类
推,如果再做计算就会变的非常的不尽人意,如果想要显示 HelloWorld,可能要几百个 01 的组合,可
读性差,难以查错!(智商不够用)

第二代语言

汇编语言?
汇编语言的主题是汇编指令
汇编指令和机器指令的差别在于指令的表示方法上。
汇编指令是机器指令便于记忆的书写格式。

第三代语言:高级语言

C、Pascal、Fortran面向过程的语言
C++面向过程/面向对象
Java 跨平台的纯面向对象 的语言
.NET跨语言的平台
Python、Scala…

三、Java语言概述

Sun Microsystems于1995年推出的面向对象的程序设计语言,共同创始人的詹姆斯·高斯林 (James Gosling)被誉为“Java之父”。
是一种面向Internet的编程语言。Java一开始富有吸引力是因为Java程序可以
在Web浏览器中运行。这些Java程序被称为Java小程序(applet)。applet使
用现代的图形用户界面与Web用户进行交互。 applet内嵌在HTML代码中。
随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。

Java的历史

1996年发布JDK 1.0
1998年发布JDK 1.2
平台名称:J2SE(Stadard Edition)、J2EE(Enterprise Edition)、J2ME(Micro Edition)
2004年发布JDK 1.5 版本更名:Java 5.0
平台名称:Java SE、Java EE、Java ME
2006年发布Java 6.0
2009年被Oracle收购
2011年由Oracle发布Java 7.0
2014年由Oracle发布Java 8.0
2017年由Oracle发布Java 9.0
2019年由Oracle发布Java 14.0

Java的语言特点

面向对象(贴近人类思维模式,模拟现实世界,解决现实问题)。
简单性(自动内存管理机制、不易造成内存溢出;简化流程处理、语义清晰)
跨平台(操作系统、服务器等)。

Java技术体系平台

Java SE(Java Standard Edition)标准版
支持面向桌面级应用(如Windows下的应用程序)的Java平台,提供了完整的Java核
心API,此版本以前称为J2SE
Java EE(Java Enterprise Edition)企业版
是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如
:Servlet 、Jsp等,主要针对于Web应用程序开发。版本以前称为J2EE
Java ME(Java Micro Edition)小型版
支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API有所精简,并加
入了针对移动终端的支持,此版本以前称为J2ME

四、Java环境的搭建

Java 虚拟机——JVM

JVM (Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的
运行环境,是Java 最具吸引力的特性之一。我们编写的Java代码,都运行在 JVM 之上。
**跨平台 **:任何软件的运行,都必须要运行在操作系统之上,而我们用Java编写的软件可以运行在任何的操作系
统上,这个特性称为Java语言的跨平台特性。该特性是由JVM实现的,我们编写的程序运行在JVM上,而JVM
运行在操作系统上。

JRE 和JDK

JRE Java Runtime Eviroment 是用来运行Java环境的
JDK Java Development Kit 是开发者工具包

三者关系: JDK > JRE > JVM

JDK安装图解

  1. 打开网页
    http://www.oracle.com

    下载对应平台的合适的 JDK 版本。
  2. 双击下载的 exe,如 jdk-8u131-windows-x64.exe。
  3. 进入安装向导。
  4. 下一步,更改安装路径,选择安装所有组件

    更改为 D:\developer_tools\Java\jdk1.8.0_131

    点击确定
  5. 下一步,开始安装

    6.完成安装

环境变量的配置

配置环境变量意义

开发Java程序,需要使用JDK中提供的工具,工具在JDK安装目录的 bin 目录下。
在DOS命令行下使用这些工具,就要先进入到JDK的bin目录下,这个过程就会非常的麻烦。
不进入JDK的 bin 目录,这些工具就不能使用,会报错。

为了开发方便,我们想在任意的目录下都可以使用JDK的开发工具,则必须要配置环境变量,配置环境变量的意义
在于告诉操作系统,我们使用的JDK开发工具在哪个目录下。

配置环境变量步骤

Windows 7,8版本
  1. 计算机鼠标右键,选择 属性
  2. 选择 高级系统设置
  3. 高级 选项卡,点击 环境变量
  4. 点击 新建 ,创建新的环境变量
  5. 变量名输入 JAVA_HOME ,变量值输入JDK的安装目录
  6. 选中 Path 环境变量, 双击 或者 点击编辑
  7. 在变量值的最前面,键入 %JAVA_HOME%\bin ; 分号必须要写,必须是英文格式。
  8. 环境变量配置完成,重新开启DOS命令行,在任意目录下输入 javac 命令,运行成功。
Windows 10 版本
  1. 文件资源管理器 --> 此电脑鼠标右键 --> 选择 属性
  2. 选择 高级系统设置 --> 选择 环境变量
  3. 点击下方系统变量的 新建 ,创建新的环境变量,变量名输入 JAVA_HOME ,变量值输入JDK的安装目录
  4. 选中 Path 环境变量, 双击 或者 点击编辑
  5. 点击 新建 ,键入 %JAVA_HOME%\bin ,必须是英文格式。选中该行,上移到最上方,点击确定。
  6. 环境变量配置完成,重新开启DOS命令行,在任意目录下输入 javac 命令。

    注意:
    Java开发环境不再需要配置classpath!
    https://www.cnblogs.com/ideal-20/p/11050114.html

五、第一个Java程序

开发环境已经搭建完毕,可以开发我们第一个Java程序了。
Java程序开发三步骤:编写、编译、运行

编写Java源程序

public class HelloWorld {    public static void main(String[] args) {        System.out.println(“Hello World!”);        }   }
文件名必须是 HelloWorld ,保证文件名和类的名字是一致的,注意大小写。
每个字母和符号必须与示例代码一模一样。
第一个 HelloWord 源程序就编写完成了,但是这个文件是程序员编写的,JVM是看不懂的,也就不能运行,因此我
们必须将编写好的 Java 源文件 编译成JVM可以看懂的 字节码文件 。

编译Java源文件

在DOS命令行中,进入Java源文件的目录,使用 javac 命令进行编译。
javac: java compile
命令:
javac xxx.java
举例:
javac HelloWorld.java
如果程序无误,那么在该目录下,会产生同名的字节码文件:xxx.class

运行Java程序

在DOS命令行中,进入Java源文件的目录,使用 java 命令进行运行。
命令:
java 类名字
举例:
java HelloWorld
java HelloWord 不要写 不要写 不要写 .class
第一个程序注意点:
编译 :是指将我们编写的Java源文件翻译成JVM认识的class文件,在这个过程中, javac 编译器会检查我们
所写的程序是否有错误,有错误就会提示出来,如果没有错误就会编译成功。
运行 :是指将 class 文件 交给JVM去运行,此时JVM就会去执行我们编写的程序了。
main 方法:称为主方法,固定书写格式:public static void main(String[] args){…},是程序的入口。
**注释 :解释程序,给人看的
Java 中有单行注释和多行注释
单行注释以 // 开头 换行结束
多行注释以 /
开头  以
/结束
关键字 :是指在程序中,Java已经定义好的单词,具有特殊含义。
标识符 :凡是自己起名字的,比如类的名字、方法的名字和变量的名字等等,都是标识符。

六、Java语言运行机制

核心机制—Java虚拟机

JVM 是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指 令,管理数据、内存、寄存器。
对于不同的平台,有不同的虚拟机。
只有某平台提供了对应的java虚拟机,java程序才可在此平台运行
Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行

核心机制—垃圾回收

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

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

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

相关文章

【LeetCode高频SQL50题-基础版】打卡第2天:第11-15题

文章目录 【LeetCode高频SQL50题-基础版】打卡第2天:第11-15题⛅前言 员工奖金🔒题目🔑题解 学生们参加各科测试的次数🔒题目🔑题解 至少有5名直接下属的经理🔒题目🔑题解 确认率🔒题…

tcpdump(二)命令行参数讲解(一)

一 tcpdump实战详解 1、我们做抓包,一般都需要指定条件,保证对系统的CPU、内存、磁盘资源不会产生过大的响应备注: 遇到过tcpdump持续抓包导致系统挂了2、条件:1) tcpdump的 基础命令选项参数2) 真正的 过滤条件 ① 参数学习思路 思路:…

Window Anaconda 安装pytorch 启用cuda 终究手段

1.首先你的电脑要有NVIDIA 的显卡.没有就走吧,你如果不是window ,也走吧,不一定教程管用。 2.然后要明白,有两种CUDA版本,一个叫运行时api,一个是驱动api 2.1 运行时cuda 版本查看 (是你跑深度学习模型或其…

关于 Vue-iClient-MapboxGL 的使用注意事项

官网:https://iclient.supermap.io/web/apis/vue/zh/api/guide/installation.html 关于图的使用,其余的引入步骤不再赘述,仅说注意事项。 推荐使用的是全局引入,也就是完整引入 因为单独引入我踩了不少坑,比如说 cs…

swoole进行性能查看火焰图tideways_xhprof xhgui

D:\dnmp\services\php\Dockerfile D:\dnmp\services\php\php.ini 在php的配置文件里面增加tideways_xhprof拓展: [xhprof] ;xhprof.output_dir /var/log/php/xhprof.logextensiontideways_xhprof.so在php配置文件里面加上xhgui的header: 这样就能开启…

golang 编译器 汉化

1、找到左上角file选项,点击选中settings进行单机 2、找到settings中找到plugins选中进行点击 3、再框中输入chinese进行搜索,出结果后找到如下图所示,点击进行安装 4、安装完成后进行重启ide,完美解决

Docker linux 安装

sudo yum update sudo yum clean all sudo yum makecache#安装依赖 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 #添加官方存储库 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo#安装-跳过一些异常依赖…

计算机视觉: 基于隐式BRDF自编码器的文生三维技术

论文链接: MATLABER: Material-Aware Text-to-3D via LAtent BRDF auto-EncodeR 背景 得益扩散模型和大量的text - image 成对的图片, 现在文生2D的模型已经比较成熟的框架和模型,主流的技术比如说stable diffusion 和 midjourney 以及工业领域runway 等…

Idea下面git的使用:变基、合并、优选、还原提交、重置、回滚、补丁

多分支和分支切换 变基和合并 变基是把本项目的所有提交都列出来按顺序一个个提交到目标分支上去 而合并是把两个分支合并起来,但是旧的分支还是可以启动其他分支,在旧的分支上继续开发 master: A -- B -- C -- M/ feature: D -- Emaster: A -…

2023全新小红书图集和视频解析去水印网站源码

2023全新小红书图集和视频解析去水印网站源码 小红书视频图集解析网站源码,在红书看到好看的图片以及好看的头像,但是直接下载又有水印就非常难受,这个可以一键解析去除水印,支持统计解析次数,本地接口。 源码下载&a…

大厂秋招真题【BFS+DP】华为20230921秋招T3-PCB印刷电路板布线(留学生专场)

华为20230921秋招T3-PCB印刷电路板布线(留学生专场) 题目描述与示例 题目描述 在PCB印刷电路板设计中,器件之间的连线,要避免线路的阻抗值增大,而且器件之间还有别的器任和别的干扰源,在布线时我们希望受…

深度学习入门:基于Python的理论与实现【笔记】

深度学习入门:基于Python的理论与实现这本数的阅读笔记 根据自己的情况总结的,可能有些简单的就没做笔记。 目录 NumPyMatplotlib感知机NumPy 在深度学习的实现中,经常出现数组和矩阵的计算。NumPy的数组类(numpy.array)中提供了很多便捷的方法,在实现深度学习时,我们将使…

力扣 -- 516. 最长回文子序列

解题步骤&#xff1a; 参考代码&#xff1a; class Solution { public:int longestPalindromeSubseq(string s) {int ns.size();vector<vector<int>> dp(n,vector<int>(n));//记得从下往上填表for(int in-1;i>0;i--){//记得i是小于等于j的for(int ji;j&l…

reactjs开发环境搭建

Reactjs是一个前端web页面应用开发框架工具集&#xff0c;其支持前端构建页面以及后端构建页面两种常用的开发场景&#xff0c;其中&#xff0c;支持reactjs的开发框架包括next.js、remix、gatsby以及其他&#xff0c;本文主要描述next.js开发环境的搭建&#xff0c;next.js是一…

java docker图片叠加水印中文乱码

java docker图片叠加水印中文乱码 技术交流博客 http://idea.coderyj.com/ 1.由于项目需要后端需要叠加图片水印,但是中文乱码,导致叠加了之后 中文是框框 2.经过多方查找基本都说在 linux下安装字体就解决了,但是尝试了均无效 3.后来忽然想到我的项目是用docker打包部署的,不…

seata框架

Seata简介&#xff1a;&#xff08;Seata | Seata&#xff08;官方网站&#xff09;&#xff09; Seata 是一款开源的分布式事务解决方案&#xff0c;致力于在微服务架构下提供高性能和简单易用的分布式事务服务。 相关术语&#xff1a; TC (Transaction Coordinator) - 事务…

嵌入式养成计划-32-网络编程----域套接字模型------抓包工具--wireshark

六十九、 域套接字模型 69.1 域套接字的概念 只能做一台主机内的进程间通信&#xff0c;协议族&#xff08;地址族&#xff09;指定为&#xff1a;AF_UNIX AF_LOCALbsp-lcd&#xff1a; s类型文件&#xff0c;就是域套接字如果客户端不手动绑定&#xff0c;则操作系统不会创建…

力扣刷题 day37:10-07

1.二分查找 给定一个 n 个元素有序的&#xff08;升序&#xff09;整型数组 nums 和一个目标值 target &#xff0c;写一个函数搜索 nums 中的 target&#xff0c;如果目标值存在返回下标&#xff0c;否则返回 -1。 方法一&#xff1a;二分法 #方法一&#xff1a;二分法 def…

数百个下载能够传播 Rootkit 的恶意 NPM 软件包

供应链安全公司 ReversingLabs 警告称&#xff0c;最近观察到的一次恶意活动依靠拼写错误来诱骗用户下载恶意 NPM 软件包&#xff0c;该软件包会通过 rootkit 感染他们的系统。 该恶意软件包名为“node-hide-console-windows”&#xff0c;旨在模仿 NPM 存储库上合法的“node-…

vue3+elementPlus ElMessageBox消息框取消按钮位置调整

要求所有的ElMessageBox消息弹出框的取消按钮放在右边&#xff0c;如图 代码如下 <script lang"ts" setup> import { ElMessageBox } from element-plus const btnHandle () >{ElMessageBox.confirm(确定要删除该人员吗&#xff1f;,提示,{cancelButtonCl…