当前位置: 首页 > news >正文

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

一、计算机基础知识
常用的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程序运行过程中自动进行,程序员无法精确控制和干预。

相关文章:

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

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

jvm 堆内存 栈内存 大小设置

4种方式配置不同作用域的jvm的堆栈内存。 1、Eclise 中设置jvm内存: 改动eclipse的配置文件,对全部project都起作用 改动eclipse根文件夹下的eclipse.ini文件 -vmargs //虚拟机设置 -Xms40m //初始内存 -Xmx256m //最大内存 -Xmn16m //最小内存 -XX:PermSize=128M //非堆内…...

免杀对抗-反沙盒+反调试

反VT-沙盒检测-Go&Python 介绍: 近年来,各类恶意软件层出不穷,反病毒软件也更新了各种检测方案以提高检率。 其中比较有效的方案是动态沙箱检测技术,即通过在沙箱中运行程序并观察程序行为来判断程序是否为恶意程序。简单来说…...

QTimer类的使用方法

本文介绍QTimer类的使用方法。 1.单次触发 在某些情况下,定时器只运行一次,可使用单次触发方式。 QTimer *timer new QTimer(this); connect(timer, &QTimer::timeout, this, &MainWindow::timeout); timer->setSingleShot(true); timer-…...

(三)行为模式:9、空对象模式(Null Object Pattern)(C++示例)

目录 1、空对象模式(Null Object Pattern)含义 2、空对象模式的主要涉及以下几个角色 3、空对象模式的应用场景 4、空对象模式的优缺点 (1)优点 (2)缺点 5、C实现空对象模式的实例 1、空对象模式&am…...

Django实战项目-学习任务系统-用户登录

第一步:先创建一个Django应用程序框架代码 1,先创建一个Django项目 django-admin startproject mysite将创建一个目录,其布局如下:mysite/manage.pymysite/__init__.pysettings.pyurls.pyasgi.pywsgi.py 2,再创建一个…...

【动手学深度学习-Pytorch版】Transformer代码总结

本文是纯纯的撸代码讲解,没有任何Transformer的基础内容~ 是从0榨干Transformer代码系列,借用的是李沐老师上课时讲解的代码。 本文是根据每个模块的实现过程来进行讲解的。如果您想获取关于Transformer具体的实现细节(不含代码)可…...

做外贸独立站选Shopify还是WordPress?

现在确实会有很多新人想做独立站,毕竟跨境电商平台内卷严重,平台规则限制不断升级,脱离平台“绑架”布局独立站,才能获得更多流量、订单、塑造品牌价值。然而,在选择建立外贸独立站的过程中,选择适合的建站…...

echarts的bug,在series里写tooltip,不起作用,要在全局先写tooltip:{}才起作用,如果在series里写的不起作用就写到全局里

echarts的bug,在series里写tooltip,不起作用,要在全局先写tooltip:{show:true}才起作用,如果在series里写的不起作用就写到全局里 series里写tooltip不起作用,鼠标悬浮在echarts图表上时不显示提示 你需要…...

jmeter分布式压测

一、什么是压力测试? 压力测试(Stress Test),也称为强度测试、负载测试,属于性能测试的范畴。 压力测试是模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行被测软件系统&#xff…...

consulmanage部署

一、部署consul 使用yum方式部署consul yum install -y yum-utils yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo yum -y install consul 执行以下命令获取uuid密钥并记录下来 uuidgen 编辑consul配置文件 vi /etc/consul.d/consul.h…...

大数据软件项目的验收流程

大数据软件项目的验收流程是确保项目交付符合预期需求和质量标准的关键步骤。以下是一般的大数据软件项目验收流程,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.项目验收计划制定: 在…...

《第一行代码Andorid》阅读笔记-第一章

这篇文章是我自己的《第一行代码Andorid》的阅读笔记,虽然大量参考了别人已经写好的一些笔记和代码但是也有自己的提炼和新的问题在里面,我也会放上参考文章链接。 学习重点 Android系统的四大组件: (1)活动&#xff…...

Educational Codeforces Round 146 (Rated for Div. 2)(VP)

写个题解 A. Coins void solve(){ll n, k; cin >> n >> k;bl ok true;if (n &1 && k %2 0) ok false;print(ok ? yes : no); } B. Long Legs void solve(){db x, y; cin >> x >> y;if (x < y) swap(x, y);int t1 ceil(sqrt(x))…...

9.30国庆

消息队列完成进程间通信 #include <myhead.h>#define size sizeof(msg_ds)-sizeof(long) //正文大小//消息结构体 typedef struct {long msgtype; //消息类型char data[1024]; //消息正文 }msg_ds;//创建子线程构造体 void *task1(void *arg) {//创造第二个key值ke…...

java基础-第4章-面向对象(二)

一、static关键字 静态&#xff08;static&#xff09;可以修饰属性和方法。 称为静态属性&#xff08;类属性&#xff09;、静态方法&#xff08;类方法&#xff09;。 静态成员是全类所有对象共享的成员。 在全类中只有一份&#xff0c;不因创建多个对象而产生多份。 不必创…...

flex加 grid 布局笔记

<style> .flex-container { display: flex; height: 100%; /* 设置容器的高度 */ } .wide { display: flex; padding: 10px; border: 1px solid lightgray; text-align: center; justify-content: …...

最高评级!华为云CodeArts Board获信通院软件研发效能度量平台先进级认证

9月26日&#xff0c;华为云CodeArts Board获得了中国信通院《云上软件研发效能度量分级模型》的先进级最高级评估&#xff0c;达到了软件研发效能度量平台评估的通用效能度量能力、组织效能模型、项目效能模型、资源效能模型、个人效能模型、研发效能评价模型、项目管理域、开发…...

图像上传功能实现

一、后端 文件存放在images.path路径下 package com.like.common;import jakarta.servlet.ServletOutputStream; import jakarta.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annot…...

03_Node.js模块化开发

1 Node.js的基本使用 1.1 NPM nodejs安装完成后&#xff0c;会跟随着自动安装另外一个工具npm。 NPM的全称是Node Package Manager&#xff0c;是一个NodeJS包管理和分发工具&#xff0c;已经成为了非官方的发布Node模块&#xff08;包&#xff09;的标准。 2020年3月17日&…...

SRWE:Windows窗口实时编辑器的专业应用指南

SRWE&#xff1a;Windows窗口实时编辑器的专业应用指南 【免费下载链接】SRWE Simple Runtime Window Editor 项目地址: https://gitcode.com/gh_mirrors/sr/SRWE 在数字内容创作和游戏开发领域&#xff0c;分辨率限制常常成为技术瓶颈。传统Windows窗口管理系统缺乏灵活…...

Docker部署Unifi控制器:从环境隔离到设备管理的完整实践

1. 项目概述&#xff1a;为什么选择Docker部署Unifi控制器&#xff1f;如果你和我一样&#xff0c;折腾过Ubiquiti&#xff08;优倍快&#xff09;的全家桶&#xff0c;大概率会对那个官方的硬件控制器——Cloud Key——又爱又恨。爱的是它开箱即用&#xff0c;把Unifi Network…...

Docker镜像标准化机器人开发环境:OpenClaw项目协作实践

1. 项目概述&#xff1a;一个面向协作开发的OpenClaw项目镜像最近在开源社区里&#xff0c;一个名为laolin5564/openclaw-collab-dev的Docker镜像引起了我的注意。这个镜像的名字本身就很有意思&#xff0c;它明确指向了“OpenClaw”和“协作开发”这两个核心概念。对于从事机器…...

5分钟Git指南

Git——一个版本控制系统 了解Git当你建立了一个Git版本库&#xff0c;那么存放.git&#xff08;也就是版本库&#xff09;的文件夹就被称为工作区&#xff0c;.git内部有一个暂存区&#xff0c;一个叫做master的分支&#xff0c;一个HEAD指针能够指向分支中不同版本的文件&…...

Llama.cpp Docker镜像部署指南:快速搭建本地大模型运行环境

1. 项目概述&#xff1a;为什么需要为Llama.cpp准备Docker镜像&#xff1f; 在本地部署和运行大型语言模型&#xff08;LLM&#xff09;这件事上&#xff0c;Llama.cpp 几乎成了开源社区的“标准答案”。它用纯C/C编写&#xff0c;通过高效的量化技术&#xff0c;让我们能在消费…...

Java 开发,不要瞎忙,十点睡觉六点起床,天塌不了

你是一名 Java 开发&#xff0c;不要瞎忙&#xff0c;十点睡觉六点起床&#xff0c;天塌不了。我的想法对吗&#xff1f; 没问题&#xff0c;这就给你上干货。想在 Java 开发这行准点下班&#xff0c;光靠手速快是不够的&#xff0c;核心在于掌控节奏和学会拒绝。 这里有一份帮…...

权限割裂、数据延迟、协同断点——Gemini Workspace整合失败的90%源于这4个配置盲区

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;权限割裂、数据延迟、协同断点——Gemini Workspace整合失败的90%源于这4个配置盲区 在企业级部署 Gemini Workspace 时&#xff0c;大量团队遭遇“功能可登录但协作不可用”的隐性故障。根本原因并非 …...

Arm DDT:高性能计算并行程序调试利器

1. Arm DDT调试工具概述Arm DDT&#xff08;Distributed Debugging Tool&#xff09;是Arm公司开发的一款专业级并行程序调试工具&#xff0c;专为高性能计算&#xff08;HPC&#xff09;领域设计。作为Arm Forge工具套件的重要组成部分&#xff0c;DDT提供了强大的MPI程序调试…...

企业内网虚拟机如何通过Taotoken安全接入多模型API

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 企业内网虚拟机如何通过Taotoken安全接入多模型API 在许多企业的技术架构中&#xff0c;开发与测试环境常部署于内网虚拟机中。这些…...

Android系统开发避坑:为什么你改了config.xml,导航栏还是不显示?

Android系统导航栏显示失效的深度排查指南 当你熬夜修改了config.xml文件&#xff0c;满怀期待地刷入系统&#xff0c;却发现导航栏依然不见踪影——这种挫败感我太熟悉了。导航栏显示问题看似简单&#xff0c;实则涉及Android资源覆盖机制的复杂层级。本文将带你深入AOSP的底层…...