Linux基础(Commands)
认识Linux
操作系统的三大组成及作用
-
内核:
管理硬件设备、内存、进程等;
-
Shell:
介于用户与内核之间,用于将用户指令传递给内核,起到中间桥梁的作用(相当于一个翻译者);
-
文件系统:
管理计算机上各种文件(在操作系统层次上,计算机所有资源都被映射成了文件,包括硬件)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OsOAtqrE-1595993275739)(C:%5CUsers%5C12038%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20200722132118239.png)]
/: 根路径
/opt:存放自己安装的第三方的软件,补丁
/etc:系统管理和配置文件,随着系统启动就会读取的文件,如passwd等cd
/dev:设备文件,该目录存放的是linux的外部设备,如硬盘,分区,键盘,鼠标,usb等。
/usr:一般存放系统自带的,但是供所有用户使用的。最庞大的目录,要用到的应用程序和文件几乎都在这个目录
/usr/include: linux下开发和编译引用程序所需要的头文件。
/usr/local: 本地增加的命令和库。
/usr/sbin: 超级用户的一些管理程序
/usr/src:源代码
/usr/bin: 众多的而应用程序,二进制可执行程序
/usr/share:共享文件
/usr/local: 本地增加的命令和库。
/usr/sbin: 超级用户的一些管理程序
/usr/src:源代码
/usr/bin: 众多的而应用程序,二进制可执行程序
/usr/share:共享文件
/usr/lib:常用的动态链接库和软件包的配置文件。
/boot:存放内核程序(unix叫kernel),系统启动文件,包括Grub,lilo启动器程序。
/var: 存放管理员特有的,如系统日志
/home:用来存放用户的主目录(用户家目录)。在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/bin: 存放系统中最常用的可执行文件 例如ls
/lib:存放共享的库文件,包含许多被/bin和/sbin中程序使用的库文件
/lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些零散文件
/media:ubuntu系统自动挂载的光驱、usb设备,存放临时读入的文件
/mnt:作为被挂载的的文件系统得挂载点。
/proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息,这里存放所有标志位文件的进程。
/root:该目录为系统管理员,也称作超级权限者的用户主目录。
/sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序,如系统管理,目录查询等关键命令文件。
/srv:存放系统所提供的服务数据
/sys:系统设备和文件层次结构,并向用户程序提供详细的内核数据信息。
/tmp:这个目录用来存放一些临时的文件,所有用户对此目录都有读写权限。
Basic Linux Commands
常用命令
VM进入终端控制器快捷键:CTRL+alt+t进入
CTRL + c :中断打印;
cd ~/桌面 :进入家系统的桌面;
cd /和cd ~切换
ls 当前路径下的子目录打印出来
clear清屏
pwd打印正在工作的目录的绝对路径
apt-get install +软件名称(安装指定的软件)
apt-get remove +软件名称
apt-get search +软件名称
passwd
作用:修改当前或指定用户密码
例如:
(1)修改当前用户密码:
passwd
Changing password for briup.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
(2)修改指定用户密码: passwd username
【用户管理】
添加用户:useradd renxing
设置密码:passwd renxing
修改用户:usermod [选项] renxing
修改密码状态:chage -d 0 renxing (一登陆就要改密码)
删除用户:userdel -r renxing
查看用户ID:id renxing
切换用户:su - root
查看用户的环境变量:env
查看谁登录:who ,登录用户的详细信息:w
添加组:groupadd rx
修改组:groupmod rx
删除组:groupdel rx
把用户加入到组:gpasswd -a renxing rx
把用户从组删除:gpasswd -d renxing rx
一些目录:/etc/passwd(登录信息),shadow(密码),group(组),gshadow(组密码),/var/spool/mail/用户名 (用户的邮箱)。
su以及su -
su - username: 切换到某个用户之下
su username: 还在当前目录之下(以当前系统身份切换)
注:刚创建的操作系统root用户是没有密码的,没有密码的root用户不能使用
设置密码:sudo passwd 如图2-1:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9P6IyDxn-1595993275743)(file:///C:\Users\12038\AppData\Local\Temp\ksohtml15528\wps1.jpg)]
ls
-
ls [options] pathname:列出文件和目录的列表
ls : 列出当前工作目录下的所有文件和目录列表(不包含隐藏文件)
ls -a: 显示所有文件包含隐藏文件。(.)
ls -R: 显示递归的列表
ls -t: 按照最后一次修改时间顺序显示文件和目录
ls -l: 显示文件或目录的长列表信息
显示格式:-rw-rw-r-- 1 briup briup 109 Jun 22 17:08 note.txt
(1).文件类型:
-:普通文件
d:目录文件
l:链接文件
s:套接字文件
p:管道文件
b:块设备文件
c:字符设备文件
(2) [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GVCUzsg1-1595993275746)(file:///C:\Users\12038\AppData\Local\Temp\ksohtml15528\wps2.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8JHF30ZP-1595993275750)(file:///C:\Users\12038\AppData\Local\Temp\ksohtml15528\wps3.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LsTJUeJW-1595993275752)(file:///C:\Users\12038\AppData\Local\Temp\ksohtml15528\wps4.png)].rw-rw-r–:代表文件权限
u g o
拥有者-生成文件时登录的人,权限最高,u表示
同组人-系统管理员分配的同组的一个或几个人,g表示
其它人-除拥有者,同组人外的人,o表示
所有人-包括拥有者、同组人及其它人, a表示
r:读权限 w:写权限 x:执行权限 -:没有权限
(3).链接号
(4).拥有者
(5).拥有组
(6).文件大小
(7).最后一次修改时间
(8).文件名
ls -F: 显示文件类型
目录: /
普通文件:
链接文件:@
可执行文件:*
ls -d: 显示指定目录
ls -ld /opt: 显示/opt目录自身的长列表信息
ls -l /opt: 显示/opt目录下的所有文件和目录的长列表信息
chmod
chmod g+w day01(u拥有者 g同组人 o其他人 a所有人)
chmod o+w 文件名 :给某个文件的每个成员加权限(u:拥有者 g:同组人 o:其他人);
chmod : 修改文件权限
(1). chmod mode filename :权限模式
如图2-2:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iWh4NSQB-1595993275755)(file:///C:\Users\12038\AppData\Local\Temp\ksohtml15528\wps5.jpg)]
图2-2
例如:chmod o+w HelloWorld.java
(2).八进制数的形式标识:权限值模式
如图2-3:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4YyCWUEh-1595993275757)(file:///C:\Users\12038\AppData\Local\Temp\ksohtml15528\wps6.jpg)]
图2-3
例如:chmod 664 HelloWorld.java
touch、less、head、tail
touch 文件名 :创建新的空的文件或者更新文件的最后一次访问时间
touch 创建文件,用法,touch test.txt,如果文件存在,则表示修改当前文件时间。
分页显示内容(可以向上看):less [文件名];同more,且可上下左右箭头,输入"/ [关键词]"查找关键词,按n继续。
显示前面几行:head -n [文件名];(-n 指定行数,默认10行)
显示后面几行(可动态观察):tail -n [文件名];(-f动态显示,用来监控日志)
echo
打印字符;eg :echo a,杨苗苗 >> a.txt
mkdir
mkdir 文件夹名 :创建一个文件夹
mkdir dir1 dir 2 dir3 :创建三个文件夹
mkdir dir1/dd1 :创建子文件夹
mkdir -p dir3/dd2/dd : 级联创建文件夹
mv
mv 重命名或者移动文件或者目录,用法, mv old.txt new.txt
mv a.txt JD2007 :吧桌面上的a.txt文件移动到JD2007里
mv -i aa day01 :重命名
cp
cp a.txt b.txt :把a文件复制给b
cat c.txt :查看c文本
cp -r c.txt dir : 级联复制
cp -i a.java c.txt : 带判断的复制
rm
rmdir 删除空目录
rm (常用参数i、r、f)删除文件或者目录,用法 rm test.txt –rf (-r表示递归,-f表示强制)。
cp 拷贝文件,用法,cp old.txt /tmp/new.txt ,常用来备份;如果拷贝目录
需要加 –r参数。
find
find查找文件或目录,用法 find /home -name “test.txt”,命令格式为:
find 后接查找的目录,-name指定需要查找的文件名称,名称可以使用表示所有。
find /home -name “.txt” ;查找/home目录下,所有以.txt结尾的文件或者目录。
文件名:find /etc -name init; (init、init*、init???)
文件大小:find /etc -size +204800;
所有者:find /home -user renxing;
文件类型:find /home/ -type d; (d文件/f目录/l软链接)
i节点:find /tmp/ -inum 262172;
多条件[-a]:find /etc -name init -a -type d;
查找并执行操作[-exec]: find /etc -name inittab -exec rm {} ; (-ok需要确认)
资料库中查找:locate [-i] 文件名; (-i 忽略大小写)
文件中搜索:grep hello /root/a.txt; (a.txt中查找hello;-v排除指定字符)
cat和more、grep
cat 查看文件内容,用法 cat test.txt 可以看到test.txt内容
more 查看文件内容,分页查看,cat是全部查看,如果篇幅很多,只能看到最后的篇幅。可以使用cat和more同时使用,例如: cat test.txt |more 分页显示text内容,|符号是管道符,用于把|前的输出作为后面命令的输入。
- Useradd创建用户,用法 useradd wugk ,userdel删除用户。
Groupadd创建组,用法 groupadd wugk1 ,groupdel删除组。
grep 搜索对应文件中的对应数据(参数有-v除了要查内容以外的其他内容 -n显示行号以及对应的行 -i忽略大小写) grep -v/-n/-i "^ntf " x x . t x t ( 有 的 表 示 : 查 找 以 什 么 开 头 的 ) ( 有 " xx.txt(有^的表示:查找以什么开头的)(有 "xx.txt(有的表示:查找以什么开头的)(有的表示:查找以什么结尾的)
man
man命令用来提供在线帮助,使用权限是所有用户。在Linux系统中存储着一部联机使用的手册,以供用户在终端上查找。使用man命令可以调阅其中的帮助信息,非常方便和实用。
常用指令:
spacebar(空格键) : 一次滚动一个屏幕
enter(回车) : 一次滚动一行(一行一行往下翻)
b:向前移动一屏幕
f:向后移动一屏幕
q:退出man命令
/string:查找匹配字符串
n:查找匹配字符串的下一次出现
history
history [-c清空|-w写入] ./root/bash_history
history常看历史所有命令
网络工具
1.telnet
语法:telnet ip
作用:远程访问主机
2.exit/logout
logout,用来退出当前登录的shell
exit:可以退出所有,一般用exit就可以
3.ping
语法:ping ip
作用:和windows操作一样,用来测试是否可以和某台主机连接
ctrl+c 退出
4. ifconfig
语法: ifconfig /ifconfig -a
作用:查看ip,和windows下的ipconfig类似
5.网络命令
发信息:write [用户名];给所有人发广播:wall [信息内容];
测试网络:ping -c 3 192.168.1.1 (-c 3 表示ping 3次就退出);
网卡信息:ifconfig eth0 192.168.1.2
发送邮件:mail [用户名];接收邮件:mail;
查看都有谁登录了:last 和 lastlog;
查看数据包到主机的信息:traceroute www.sina.com;
本机监听的端口:netstat -tlun
挂载命令:mount -t iso9660 /dev/sr0 /mnt/cdrom
元字符以及VI
常用元字符和Text Viewer
*
代表0-n个任意字符 例如:ls j* 显示所有以j开头的文件或目录名字
?
代表任意一个字符 例如:ls j? 以j开头 后面有一位的文件或目录
;
多个命令的分隔符 例如:cd;ls 先切换再显示列表;
date;cal;pwd 查看当前日期、查看当前日历和显示当前工作路径的绝对路径名
[]
从[]指定的集合或者范围中选择一个字符
例如:[a-c]:aAbBc
/ [abc]: abc
ls[a-c]*:查找以包含aAbBc字母开头的文件或目录
>
重定向命令的输出到文件而不是屏幕(覆盖源文件)
例如:cal 10 2004 > a.txt 将2004年10月份的日历输出到a.txt文件中
>>
将命令的输出追加到一个已经存在的文件
例如:cal 10 2004 >> a.txt 将2004年10月份的日历追加到a.txt文件中
|
将前一个命令的输出作为下一个命令的输入
例如:ls -l /etc | more 使用more命令查看/etc目录下的内容
cat
语法:cat filename(s)
作用:(1)将文本文件的内容一次性显示在屏幕上
(2)常用来将两个或者更多的文件整合成一个文件
例如cat a.txt: 将a.txt文件中的内容显示到屏幕上
cat a.txt b.txt > large.txt 将a.txt以及b.txt中的内容输出到large.txt
清空文件:
/dev/null 这个文件是linux中的黑洞,无论向这个文件中输入什么文件还是空
比如:cal > /dev/null 依旧是空
more
语法:more filenames
作用:一次一屏幕的显示文本文件内容
指令:
space bar : 一次滚动一屏幕
return : 一次向下一行。
b : 一次回退一屏幕
f : 一次向前一屏幕
h/? : 显示帮助信息文档
q : 退出,回到shell终端
/String : 向前查找字符串
n : 查找下一个字符串
Full-screen Text Editor
vi介绍
作用:满屏文本编辑器。
vi编辑器的三种模式:
1.底行模式
2.命令行模式
3.输入模式
三者之间的相互转换如图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KEEUD41a-1595993275758)(file:///C:\Users\12038\AppData\Local\Temp\ksohtml15528\wps7.jpg)]
模式转换:
(1)命令行模式-----》输入模式:
插入:
a: 在光标所在位置之后插入
A: 在光标所在行的行尾插入
i: 在光标所在位置插入
I: 在光标所在行的行首插入
o: 在光标所在行的下一行插入
O: 在光标所在行之上插入
(2)输入模式------》命令行模式
Esc
(3) 命令行模式-----》底行模式
ESC+:or / or ?
打开vi
vi : 打开一个新的文件,退出或者保存时命名
vi filename : 打开或者创建一个新的文件
保存文件
底行模式下:
:w newFile : 存成新文件
:w : 存盘
退出vi
底行模式下:
:wq: 保存退出
:q!: 强行退出不存盘
删除文本
x: 删除一个字符
s: 删除当前字符,并进入输入模式
dw: 删除当前词
ndw: 删除n个词
dd: 删除当前行
ndd: 删除之后的n行
:5,10d: 删除5-10行之间的内容
修改文本
r : 替换一个字符,
cw :替换一个单词, 进入输入模式
cc :替换一行, 进入输入模式
C :替换从光标至行尾。 进入输入模式
复制和粘贴文本
yw : 拷贝词
yy : 拷贝行
p : 当前行下粘贴
:1,2co3: 拷贝行1,行2在行3之后
:4,5m6: 移动行4,行5在行6之后。
高级功能
~ : 改变大小写
J : 把当前行和下一行连起来
u : 废除刚才的编辑操作
:set nu : 显示行标
:21 光标停在指定行
21G 光标停在指定行
/str 从当前行往下查找
?str 从当前行往上查找
n 继续查找
:r file 在光标所在位置插入另一个文件
:1,$s/old/new/g 替换文本(%s/old/new/g)
vim命令
[插入]a光标后,i光标前,o光标下新行;A光标行尾,I光标行首,O光标上新行。
[定位]:set nu设置行号,:set nonu 取消行号,gg到第一行,G到最后一行,nG到第n行,:n到第n行,$ 移至行尾,0移至行首。
[删除]x删除字符,nx删除后面n个,dd删除一行,ndd删除n行,dG删除到末尾,:n1,n2d删除指定范围。
[复制]yy复制行,nyy复制n行,dd剪切行,ndd剪切n行,p粘贴行下,P粘贴行上。
[替换]r替换一个字符,R替换n个按Esc结束,u撤销。
[搜索]/string搜索,:set ic忽略大小写,:set noic区分大小写,n下一个,:%s/old/new/g 全文替换指定字符串,:n1,n2s/old/new/g 在一定范围内替换指定字符串。
[保存] :w 保存,:w newfile另存为,:q!不保存退出,:wq 保存退出,:wq!强制保存退出。
[导入命令] :r+文档名:编辑中导入文件到当前文档(:r /etc/issue);:!+命令:编辑中执行系统的某个命令(:!which ls);:r+!命令:编辑中导入系统的某个命令的执行结果(:r !date 导入当前时间)。
[快捷键] :map ^P I# (行首加#符号);:n1,n2s/^/#/g (多行注释)
[替换] :ab str1 str2
[永久写入配置] /home/rx/.vimrc
配置文件
系统级别:/etc/profile
一般存放在/etc目录下
例如:
(1)/etc/enviroment 是系统的环境变量。
(2)/etc/profile: 是所有用户的环境变量。当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置。
(3)/etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。
用户级别:~/.bashrc(.开头的都是隐藏文件)
一般存在用户家目录之下
例如:
(1)~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。
(2)~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
(3) ~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件. 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是”父子”关系。
(4)~/.bash_profile 是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。
内容
1.设置默认的创建权限
2.设置环境变量
3.设置默认终端提示符
4.设置默认命令行命令的路径
5.设置客户自定义命令
相关指令
1.设置环境变量
(1)在Shell中定义临时变量:
varName=value
(2) 定义用户级别的环境变量
在用户级别的配置文件中:常用的~/.bashrc
export varName=value
让文件执行:source ~/.bashrc或者. ~/.bashrc
(3)定义系统级别的环境变量
在系统级别的配置文件中:常用的/etc/profile
export varName=value
2.读取变量的值:
echo $varName
3.path变量:
path环境变量用来指明操作系统下常用命令的搜索路径
4.which
语法: which commandName
作用:在系统环境变量中查找指定命令的路径名
which是根据使用者所配置的 PATH 变量内的目录去搜寻可运行文档的!所以,不同的 PATH 配置内容所找到的命令可能不一样!
5.whereis
语法:whereis commandName
作用:whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。 whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis时,会从数据库中查找数据,而不是通过遍历硬盘来查找,效率自然会很高。但是该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用whereis时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。
6.history
显示命令行历史记录
history 10 显示最近的10条记录
!n 执行第n条历史命令
!! 执行刚刚执行过的历史命令
7.alias
语法:alias 别名=命令
作用:用来给一个长的命令,起一个简单的别名
例如:
给history起个别名h
alias h=history
查看所有的别名
alias
取消绑定
unalias h
8.用户终端提示符
变量设置:PS1=‘value’
value中可以包含:
\d :代表日期,格式为weekday month date,例如:“Mon Aug 1”
\H :完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux
\h :仅取主机的第一个名字,如上例,则为fc4,.linux则被省略
\t :显示时间为24小时格式,如:HH:MM:SS
\T :显示时间为12小时格式
\A :显示时间为24小时格式:HH:MM
\u :当前用户的账号名称
\v :BASH的版本信息
\w :完整的工作目录名称。家目录会以 ~代替
\W :利用basename取得工作目录名称,所以只会列出最后一个目录
# :下达的第几个命令
$ :提示字符,如果是root时,提示符为:# ,普通用户则为:$
9.umask
跟系统创建的目录和文件的默认权限相关。
这个值决定了当前用户所创建文件和目录的默认权限
目录权限: 777 - umask
文件权限: 777 - umask - 所有人的执行权限
脚本文件编程.sh
步骤
1、写脚本文件的行首 #!/bin/bash
2、输入你想批量执行的命令
3、修改文件u的权限,变成可执行的文件
4、执行 ./xx.sh
查看/杀死进程:
ps:查看进程
sudo lsof -i : 2333
kill -9 PId:杀死进程
JAVA Day01
基础思想
是什么:
一种编程语言:语法规则,词法规则,句法规则,高级应用;
部署环境:应用到哪个地方·
开发环境:
应用环境:面向应用程序
为什么:
简单易学——》面向对象编程思想
一次编译、多端运行
Java编码:Xxx.java
通过javac命令,能够把源码变成字节码文件
Xxx.class
通过java命令,来运行.class文件
我在windows上编译好的.class文件放在Linux上也可以执行
多线程——》语言层面上的多线程
动态更新——》程序A调用了程序B,程序B的源代码发生改变,程序B需要重新编译,而程序A不需要
JVM提供的一些特性:
垃圾回收机制
字节码效验功能
提供一个比较容易的方式编程
更健壮:没有指针,没有内存管理(在开发层面上讲没有指针,但是底层还是有指针的)
Java中引入了“引用”的概念
C:malloc()手动分配内存,free()手动释放内存
C++:new手动分配内存,delete()手动释放内存;手动释放内存对内存回收比较好。但也有释放错误(释放一个已经释放的内存,释放一个还没有开发的内存)
Java:开发程序员不需要关心什么时候释放内存,由GC垃圾回收器来管理内存的回收
纯粹的面向对象的编程:在Java中认为一切均是对象
对象有属性以及改变属性值的方法(行为)。通过Java编程围绕着构建对象的模板、实例化对象、调用对象的方法和属性等来进行
怎么办:
目标:
配置环境
获得JDK
JDK官网:http://www.oracle.com
java之父:詹姆斯高斯林
Sun公司推出
安装JDK
Linux:解压压缩包(sudo apt-get install +软件名称(安装指定的软件))
配置环境变量:
Linux:
配置环境:
系统配置文件:/etc/profile
用户配置文件:~/.bashrc
添加环境变量:
JAVA_HOME:指代JDK安装路径
CLASSPATH: .
$PATH
配置完成后:
一定要记得:source 配置文件(javac -version)
Windows:
右键我的电脑——》左侧有一个高级环境变量设置——》环境变量——》上层是用户变量,下层是系统变量——》需要手动添加JAVA_HONE[CLASSPATH]——》在Path中添加JAVA_HOME%/bin——》三个确定全部点完——》重启CMD进行验证(java -version 、 java 、 javac三个命令全不报错)
认识JDK:
JDK:Java Development Kit(整个JAVA的核心,包括JRE,开发工具,基础的类库,调试器和其他工具)
包含的内容:
JVM:是用软件来模拟一个虚拟的环境,负责解析和执行Java程序(Java虚拟机可以运行在各种平台上),只关注字节码文件
JRE:(Java RunTime Enviroment )java运行时环境;所有的java程序都要在JRE下才能运行。包括JVM和Java核心类库和支持文件
Java的运行指令:(存放在%JAVA_HOME/bin)
java(执行Java类)、javac(编译java文件)、javadoc(生成java的API)、jar(打包)…
Java开发需要的类库:提供最基础的Java类及各种实用类,这些类放在%JAVA_HOME/jre/lib/rt.java
Understand functions of Java virtual machine
Describe the concept(概念) of garbage collection(垃圾回收)
概念:优先级较低的后台线程(守护线程)
什么时候运行:内存不足的时候、程序空闲的时候
回收什么内存:(所有人都遗忘掉的)
垃圾回收的方法:java.lang.System.gc() java.lang.RunTime.gc()只提供给JVM建议功能。
垃圾回收的算法:
标记法:类似于酒店清洁卫生员工,在前台接受指定的需要被清除的房间。
迁移法:
列举Java平台实现代码安全性的方法
English:Enumerate the ways in which Java platform(平台) implements code security
代码安全校验
定义类、包和应用程序
English:Define class,package and applications
编码、编译、运行Java应用程序
English:Code,compile and run Java applications
,基础的类库,调试器和其他工具)
包含的内容:
JVM:是用软件来模拟一个虚拟的环境,负责解析和执行Java程序(Java虚拟机可以运行在各种平台上),只关注字节码文件
JRE:(Java RunTime Enviroment )java运行时环境;所有的java程序都要在JRE下才能运行。包括JVM和Java核心类库和支持文件
Java的运行指令:(存放在%JAVA_HOME/bin)
java(执行Java类)、javac(编译java文件)、javadoc(生成java的API)、jar(打包)…
Java开发需要的类库:提供最基础的Java类及各种实用类,这些类放在%JAVA_HOME/jre/lib/rt.java
Understand functions of Java virtual machine
Describe the concept(概念) of garbage collection(垃圾回收)
概念:优先级较低的后台线程(守护线程)
什么时候运行:内存不足的时候、程序空闲的时候
回收什么内存:(所有人都遗忘掉的)
垃圾回收的方法:java.lang.System.gc() java.lang.RunTime.gc()只提供给JVM建议功能。
垃圾回收的算法:
标记法:类似于酒店清洁卫生员工,在前台接受指定的需要被清除的房间。
迁移法:
列举Java平台实现代码安全性的方法
English:Enumerate the ways in which Java platform(平台) implements code security
代码安全校验
定义类、包和应用程序
English:Define class,package and applications
编码、编译、运行Java应用程序
English:Code,compile and run Java applications