1-2 java基础-基础编程

基础编程

一. 命令行常用命令

1. windows命令(win+R cmd)

1.1 cd命令
// 进入某磁盘空间
D:
F:
cd /?     // 获取使用帮助

cd \       // 跳转到磁盘根目录

cd 当前磁盘符:\       // 跳转到当前磁盘的其他文件

其他磁盘符:        // 跳转到其他磁盘

cd /d e:\software    // 跳转到其他磁盘的其他文件夹,注意此处必须加/d参数。否则无法跳转。

cd..      // 跳转到上一层目录

在这里插入图片描述

1.2 查看目录文件
// 查看当前目录下的文件,类似于linux下的ls
dir

在这里插入图片描述

1.3 创建目录和删除目录
// 创建目录
md 目录名(文件夹)
// 删除目录
rd 目录名(空文件夹可删)
1.4 查看本机ip
ipconfig
1.5 清除屏幕
// 类似于linux下的clear
cls
1.6 复制文件
// A路径\文件名 B路径\文件名 :文件A拷贝到文件B
copy       
补充:echo content>1.doc (将content写入1.doc)
1.7 移动文件
// A路径\文件名 B路径\文件名 :文件A移动(就是剪切+复制)到文件B。
move         
1.8 删除文件
// 专门删除文件时使用,不能删除文件夹【删除文件夹时,需要操作确认(y)删除文件】
del 文件名
1.9 ping
//用来测试网络是否畅通
ping ip(主机名)
1.10 taskkill
// 列出所有任务及进程号,杀进程
taskkill
taskkill /?       // 获取使用帮助
TASKKILL [/S system [/U username [/P [password]]]]
{ [/FI filter] [/PID processid | /IM imagename] } [/F] [/T]

描述:
这个命令行工具可用来结束至少一个进程。
可以根据进程 id 或映像名(Image)来结束进程。
参数列表:
/S system 指定要连接到的远程系统。
/U [domain\]user 指定应该在哪个用户上下文
/P [password] 为提供的用户上下文指定密码。如果忽略,提示输入。
/F 指定要强行终止的进程。
/FI filter 指定筛选进或筛选出查询的的任务。
/PID process id 指定要终止的进程的PID。
/IM image name 指定要终止的进程的映像名称。通配符 '*'可用来指定所有映像名。
/T Tree kill: 终止指定的进程和任何由此启动的子进程。
/? 显示帮助/用法。

例如:
TASKKILL /S system /F /IM notepad.exe /T
TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
TASKKILL /F /IM QQ.exe
TASKKILL /F /IM notepad.exe /IM mspaint.exe
TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"
TASKKILL /F /FI "USERNAME eq NT AUTHORITY\SYSTEM" /IM notepad.exe 
1.11 netstat 查看网络连接状态

显示协议统计信息和当前 TCP/IP 网络连接。该命令可以查看当前机器建立的所有网络链接状态,以及对应哪个进程。
netstat -help 获取命令行使用帮助信息

// 查看网络连接、状态以及对应的进程id
netstat -ano  

语法:
netstat [选项]

参数:
-a或--all:显示所有连线中的Socket;
-A<网络类型>或--<网络类型>:列出该网络类型连线中的相关地址;
-c或--continuous:持续列出网络状态;
-C或--cache:显示路由器配置的快取信息;
-e或--extend:显示网络其他相关信息;
-F或--fib:显示FIB;
-g或--groups:显示多重广播功能群组组员名单;
-h或--help:在线帮助;
-i或--interfaces:显示网络界面信息表单;
-l或--listening:显示监控中的服务器的Socket;
-M或--masquerade:显示伪装的网络连线;
-n或--numeric:直接使用ip地址,而不通过域名服务器;
-N或--netlink或--symbolic:显示网络硬件外围设备的符号连接名称;
-o或--timers:显示计时器;
-p或--programs:显示正在使用Socket的程序识别码和程序名称;
-r或--route:显示Routing Table;
-s或--statistice:显示网络工作信息统计表;
-t或--tcp:显示TCP传输协议的连线状况;
-u或--udp:显示UDP传输协议的连线状况;
-v或--verbose:显示指令执行过程;
-V或--version:显示版本信息;
-w或--raw:显示RAW传输协议的连线状况;
-x或--unix:此参数的效果和指定"-A unix"参数相同;
--ip或--inet:此参数的效果和指定"-A inet"参数相同。
1.12 find
// 获取使用帮助
find /?
netstat -ano|find ".8"   //使用管道符,进行模糊查询
1.13 tracert

tracert也被称为Windows路由跟踪实用程序,在命令提示符(cmd)中使用tracert命令可以用于确定IP数据包访问目标时所选择的路径。

tracert /? // 获取使用帮助
1.14 查看端口占用
netstat -aon|findstr "8898"
// windows 杀死端口进程
taskkill /T /F /PID 17436

2. linux命令

2.1 系统目录结构

请添加图片描述请添加图片描述
/bin:
bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。

/boot:
这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。

/dev :
dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。

/etc
etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录

/home
用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。

/lib:
lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。

/lost+found:
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

/media:
linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。

/mnt:
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。

/opt
opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

/proc:
proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
/root:
该目录为系统管理员,也称作超级权限者的用户主目录。

/sbin:
s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。

/selinux:
这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。

/srv:
该目录存放一些服务启动之后需要提取的数据。

/sys:

这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。

sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。

该文件系统是内核设备树的一个直观反映。

当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。

/tmp:
tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。

/usr:
usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。

/usr/bin:
系统用户使用的应用程序。

/usr/sbin:
超级用户使用的比较高级的管理程序和系统守护程序。

/usr/src:
内核源代码默认的放置目录。

/var
var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

/run:
是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

在 Linux 系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。

/etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。

/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在 /bin/ls 目录下的。

值得提出的是 /bin、/usr/bin 是给系统用户使用的指令(除 root 外的通用用户),而/sbin, /usr/sbin 则是给 root 使用的指令。

/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在 /var/log 目录下,另外 mail 的预设放置也是在这里。

2.2 目录常用命令
 1. ls(英文全拼:list files): 列出目录及文件名 
 选项与参数:
-a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)
-d :仅列出目录本身,而不是列出目录内的文件数据(常用)
-l :长数据串列出,包含文件的属性与权限等等数据;(常用)
 3. cd(英文全拼:change directory):切换目录
 4. pwd(英文全拼:print work directory):显示目前的目录 
 5. mkdir(英文全拼:make directory):创建一个新的目录
-m :配置文件的权限喔!直接配置,不需要看默认权限 (umask) 的脸色~
-p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来! 
 7. rmdir(英文全拼:remove directory):删除一个空的目录
-p :从该目录起,一次删除多级空目录
cp [-adfilprsu] 来源档(source) 目标档(destination)
 9. cp(英文全拼:copy file): 复制文件或目录 
 10. rm(英文全拼:remove): 删除文件或目录
-f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
-i :互动模式,在删除前会询问使用者是否动作
-r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!
 12. mv [-fiu] source destination(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称 
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会升级 (update)
 你可以使用 man [命令] 来查看各个命令的使用文档,如 :man cp。
2.3 文件内容查看

Linux系统中使用以下命令来查看文件的内容:

 1. cat  由第一行开始显示文件内容
 2. tac  从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
 3. nl   显示的时候,顺道输出行号!
 4. more 一页一页的显示文件内容
 5. less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
 6. head 只看头几行
 7. tail [-n number] 文件  只看尾巴几行
-n :后面接数字,代表显示几行的意思
-f :表示持续侦测后面所接的档名,要等到按下[ctrl]-c才会结束tail的侦测
你可以使用 man [命令]来查看各个命令的使用文档,如 :man cp。

Linux 链接概念
Linux 链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln 命令产生硬链接。

硬连接
硬连接指通过索引节点来进行连接。在 Linux 的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在 Linux 中,多个文件名指向同一索引节点是存在的。比如:A 是 B 的硬链接(A 和 B 都是文件名),则 A 的目录项中的 inode 节点号与 B 的目录项中的 inode 节点号相同,即一个 inode 节点对应两个不同的文件名,两个文件名指向同一个文件,A 和 B 对文件系统来说是完全平等的。删除其中任何一个都不会影响另外一个的访问。
硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。

软连接
另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于 Windows 的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。比如:A 是 B 的软链接(A 和 B 都是文件名),A 的目录项中的 inode 节点号与 B 的目录项中的 inode 节点号不相同,A 和 B 指向的是两个不同的 inode,继而指向两块不同的数据块。但是 A 的数据块中存放的只是 B 的路径名(可以根据这个找到 B 的目录项)。A 和 B 之间是“主从”关系,如果 B 被删除了,A 仍然存在(因为两个是不同的文件),但指向的是一个无效的链接。

2.3 Linux 磁盘管理

Linux 磁盘管理好坏直接关系到整个系统的性能问题。

Linux 磁盘管理常用三个命令为 df、du 和 fdisk。
 1. df(英文全称:disk free):列出文件系统的整体磁盘使用量
-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
-k :以 KBytes 的容量显示各文件系统;
-m :以 MBytes 的容量显示各文件系统;
-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
-H :以 M=1000K 取代 M=1024K 的进位方式;
-T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
-i :不用硬盘容量,而以 inode 的数量来显示
 2. du(英文全称:disk used):检查磁盘空间使用量
-a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。
-h :以人们较易读的容量格式 (G/M) 显示;
-s :列出总量而已,而不列出每个各别的目录占用容量;
-S :不包括子目录下的总计,与 -s 有点差别。
-k :以 KBytes 列出容量显示;
-m :以 MBytes 列出容量显示;
 4. fdisk:用于磁盘分区
2.4 Linux vi/vim
2.4.1 什么是 vim?

Vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。
连 vim 的官方网站 (https://www.vim.org/) 自己也说 vim 是一个程序开发工具而不是文字处理软件。请添加图片描述

2.4.2 vi/vim 的使用

vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)

命令模式
用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。

常用的几个命令:

 1. i 切换到输入模式,以输入字符。
 2. x 删除当前光标所在处的字符。
 3. : 切换到底线命令模式,以在最底一行输入命令。
若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。

命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。

输入模式
在命令模式下按下i就进入了输入模式。

在输入模式中,可以使用以下按键:

 1. 字符按键以及Shift组合,输入字符
 2. ENTER,回车键,换行
 3. BACK SPACE,退格键,删除光标前一个字符
 4. DEL,删除键,删除光标后一个字符
 5. 方向键,在文本中移动光标
 6. HOME/END,移动光标到行首/行尾
 7. Page Up/Page Down,上/下翻页
 8. Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
 9. ESC,退出输入模式,切换到命令模式

底线命令模式
在命令模式下按下:(英文冒号)就进入了底线命令模式。
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

在底线命令模式中,基本的命令有(已经省略了冒号):

 1. q 退出程序
 2. w 保存文件
按ESC键可随时退出底线命令模式。

简单的说,我们可以将这三个模式想成底下的图标来表示:请添加图片描述

2.4.3 Linux yum 命令

yum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。
基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

yum [options] [command] [package ...]
options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为 "yes"),-q(不显示安装的过程)等等。
command:要进行的操作。
package:安装的包名。

yum常用命令

1. 列出所有可更新的软件清单命令:yum check-update
2. 更新所有软件命令:yum update
3. 仅安装指定的软件命令:yum install <package_name>
4. 仅更新指定的软件命令:yum update <package_name>
5. 列出所有可安裝的软件清单命令:yum list
6. 删除软件包命令:yum remove <package_name>
7. 查找软件包命令:yum search <keyword>
8. 清除缓存命令:
yum clean packages: 清除缓存目录下的软件包
yum clean headers: 清除缓存目录下的 headers
yum clean oldheaders: 清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的 headers
2.5 linux 防火墙相关命令
1.  查看防火墙状态 : systemctl status firewalld.service
注:active是绿的running表示防火墙开启
2. 关闭防火墙 :systemctl stop firewalld.service
3. 开机禁用防火墙自启命令 :systemctl disable firewalld.service
4. 启动防火墙 :systemctl start firewalld.service
5. 防火墙随系统开启启动 : systemctl enable firewalld.service
6. 重启防火墙 : firewall-cmd --reload
2.6 linux 端口开放相关命令
1. 查询已经开放的端口 :firewall-cmd --list-port
2. 查询某个端口是否开放 :firewall-cmd --query-port=80/tcp
3. 开启端口 :firewall-cmd --zone=public --add-port=80/tcp --permanent
注:可以是一个端口范围,如1000-2000/tcp
4. 移除端口 :firewall-cmd --zone=public --remove-port=80/tcp --permanent
命令含义:
	--zone  #作用域
    --add-port=80/tcp  #添加端口,格式为:端口/通讯协议
    --remove-port=80/tcp  #移除端口,格式为:端口/通讯协议
    --permanent  #永久生效,没有此参数重启后失效

二. 计算机编程语言介绍

语言种类:C,C++,Java,PP,Kotlin,Python(🙋‍♀️),Scala等

三. Java简史

在这里插入图片描述

四. Java语言特点

1. 面向对象

两个基本概念:类、对象
三大特性:封装、继承、多态

2. 健壮性

3. 跨平台性

4. 核心机制-垃圾回收

五. Java语言环境的搭建

1. jdk、jre、jvm:

  • JDK(Java Development Kit)是 Java 语言的软件开发工具包(SDK),包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)在JDK的安装目录下有一个jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib合起来就称为jre。
  • JRE(Java Runtime Environment,Java运行环境),包含JVM标准实现及Java核心类库。JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器)
    JRE是指java运行环境。
  • JVM(Java Virtual Machine),即java虚拟机, java运行时的环境,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

2. 官网安装 jdk u8(update) 131…

3. 配置环境变量

高级系统设置-系统变量
高级系统设置-系统变量-Path
系统变量设置值,等同于设置一个变量x使用

六. 操作:第一个java程序HelloWord

1. 创建一个.java文件

在这里插入图片描述

2. 编译源文件生成.class字节码文件

编译生成 .class
javac 文件名

在这里插入图片描述
在这里插入图片描述

3. 运行.class字节码文件

运行字节码
java 文件名(不加.class后缀)

在这里插入图片描述

问题:
中文乱码
在这里插入图片描述

在这里插入图片描述
解决:在这里插入图片描述
在这里插入图片描述
替换原文档后重新编译:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值