来杯JAVA冷静一下_01基础_0805



感谢狂神说。


# 0805 来杯JAVA冷静一下
### 1 如何更好更高效的学习Java
- 多写(代码),多写(笔记),多写(文章)多练(交流),
- 多练(思维),多练(技能)
- 多分享(知识),多提问(怎么了),多思考(为什么)
- 最重要(坚持)
**每个牛B人物背后都有段苦逼的岁月,只要像sb的一样坚持,终将牛B!
**

核芯显卡与外接显卡,前者目的是让电脑能用,后者是为了使用体验加分
### 2 计算机硬件
些物理装置按系统结构的要求构成一个有机整体为计算机软件运行提供物质基础。
#### 计算机硬件组成:
CPU
主板
内存
电源、主机箱
硬盘
显卡
键盘、鼠标
显示器
等.......
### 3 计算机软件
计算机软件可以使计算机按照事先预定好的顺序完成特定的功能计算机软件按照其功能划分为系统软件与应用软件
#### 系统软件:
DOS(Disk Operating System), Windows, Linux, Unix, Mac, Android, ios
#### 应用软件:
WPS,QQ,微信,英雄联盟,绝地求生......
软件、开发、软件开发
人机交互 (图形化界面,命令行 )
定
IntelliJ IDEA
### 3 mac快捷键
### 4 MacOS 常用终端dos命令大全
常用的命令行的操作:
pwd 。 cd 。 cd .. mk dir rm
echo xxx>xxx.txt
echo xxx>xxx.java
javac xxx.java 编译源文件
java xx。class 运行字节码文件
md 。
rd
cd \
del xxx
##### 应用程序=算法+数据结构
MacOS 常用终端命令大全:
touch xxx.doc
rm xxx.doc
#### 1 目录操作
命令——功能描述——示例
mkdir——创建一个目录——mkdir dirname
rmdir——删除一个目录——rmdir dirname
mvdir——移动或重命名一个目录——mvdir dir1 dir2
cd——改变当前目录——cd dirname
pwd——显示当前目录的路径名——pwd
ls——显示当前目录的内容——ls -la
dircmp——比较两个目录的内容——dircmp dir1 dir2
#### 2 文件操作
命令——功能描述——示例
cat——显示或连接文件————cat filename
pg分页格式化显示文件内容——pg filename
more——分屏显示文件内容——more filename
od——显示非文本文件的内容——od -c filename
cp——复制文件或目录——cp file1 file2
rm——删除文件或目录——rm filename
mv——改变文件名或所在目录——mv file1 file2
ln——联接文件——ln -s file1 file2
find——使用匹配表达式查找文件——find . -name “*.c” -print
file——显示文件类型——file filename
open——使用默认的程序打开文件——open filename(open . 打开当前目录)
#### 3 选择操作
命令——功能描述——示例
head——显示文件的最初几行——head -20 filename
tail——显示文件的最后几行——tail -15 filename
cut——显示文件每行中的某些域——cut -f1,7 -d: /etc/passwd
colrm——从标准输入中删除若干列——colrm 8 20 file2
paste——横向连接文件——paste file1 file2
diff——比较并显示两个文件的差异——diff file1 file2
sed————非交互方式流编辑器——sed “s/red/green/g” filename
grep——在文件中按模式查找——grep “^[a-zA-Z]” filename
awk——在文件中查找并处理模式——awk ‘{print 111}’ filename
sort——排序或归并文件——sort -d -f -u file1
uniq——去掉文件中的重复行——uniq file1 file2
comm——显示两有序文件的公共和非公共行——comm file1 file2
wc——统计文件的字符数、词数和行数——wc filename
nl——给文件加上行号——nl file1 >file2
#### 4 安全操作
命令——功能描述——示例
passwd——修改用户密码——passwd
chmod——改变文件或目录的权限——chmod ug+x filename
umask————定义创建文件的权限掩码——umask 027
chown——改变文件或目录的属主——chown newowner filename
chgrp——改变文件或目录的所属组——chgrp staff filename
xlock——给终端上锁——xlock -remote
#### 5 编程操作
命令——功能描述——示例
make——维护可执行程序的最新版本——make
touch——更新文件的访问和修改时间——touch -m 05202400 filename
dbx——命令行界面调试工具——dbx a.out
xde——图形用户界面调试工具——xde a.out
#### 6 进程操作
命令——功能描述——示例
ps——显示进程当前状态——ps u
kill——终止进程——kill -9 30142
nice——改变待执行命令的优先级——nice cc -c *.c
renice——改变已运行进程的优先级——renice +20 32768
#### 7 时间操作
命令——功能描述——示例
date——显示系统的当前日期和时间——date
cal——显示日历——cal 8 1996
time——统计程序的执行时间——time a.out
#### 8 网络与通信操作
命令——功能描述——示例
telnet——远程登录——telnet hpc.sp.net.edu.cn
rlogin——远程登录——rlogin hostname -l username
rsh——在远程主机执行指定命令——rsh f01n03 date
ftp——在本地主机与远程主机之间传输文件——ftp ftp.sp.net.edu.cn
rcp——在本地主机与远程主机 之间复制文件——rcp file1 host1:file2
ping——给一个网络主机发送 回应请求——ping hpc.sp.net.edu.cn
mail——阅读和发送电子邮件——mail
write——给另一用户发送报文——write username pts/1
mesg——允许或拒绝接收报文——mesg n
#### 9 Korn Shell 命令
命令——功能描述——示例
history——列出最近执行过的 几条命令及编号——history
r——重复执行最近执行过的 某条命令——r -2
alias——给某个命令定义别名——alias del=rm -i
unalias——取消对某个别名的定义——unalias del
#### 10 其它命令
命令——功能描述——示例
uname——显示操作系统的有关信息——uname -a
clear——清除屏幕或窗口内容——clear
env——显示当前所有设置过的环境变量——env
who——列出当前登录的所有用户——who
whoami——显示当前正进行操作的用户名——whoami
tty——显示终端或伪终端的名称——tty
stty——显示或重置控制键定义——stty -a
du——查询磁盘使用情况——du -k subdir
df——显示文件系统的总空间和可用空间——df /tmp
w——显示当前系统活动的总信息——w
#### 11 一些常用技巧
所以你可以使用▲(上箭头)或▼(下箭头)来上下移动,使用 空格键 来翻页,输入/和关键字来按照关键字搜索按Q来退出使用指南页面tab按键自动补全唯一路径中止一个错误的或者发疯的命令,可以使用组合键control + C。你可以在执行前编辑命令,只需要使用箭头和键盘上的其他字母。没有输入任何命令时,你可以用▲和▼来浏览历史命令。同样可以编辑和再次执行。你也可以使用history命令查看历史记录。你可以使用组合键control + L清屏。
### 5 计算机语言发展史
#### 第一代语言 机器语言
计算机的基本计算方式都是基于二进制的方式
二进制机器语言:010111001010110010110100
这种代码是直接输入给计算机使用的,不经过任何的转换!
#### 第二代语言 汇编语言
- 解决人类无法读懂机器语言的问题
- 指令代替二进制
- 目前应用 :
逆向工程
机器人
病毒
codesg segment
start:
mow ax, 0123h;寄存器送入值
mov bx, 0457h
add ax, bx; ax + bx 寄存器值相加
add ax, ax;算 ax 的平方
mov ax, 4c00n
int 21h ;结束返回
codesg ends
end start ; 指定程序入口标号为 start
#### 第三代语言 摩尔定律 高级语言
当价格不变时,集成电路上可容纳的晶体管数目,约每隔18个月便会增加一倍,性能也将提升一倍。换言之,每一美元所能买到的电脑性能,将每隔18个月翻两倍以上
第三代语言
- 高级语言
- 大体上分为:面向过程和面向对象两大类.C语言是典型的面向过程的语言。C++、JAVA是典型的面向对象的语言,
聊聊各种语言:
C语言(所有高级语言的鼻祖 + 汇编语言)
C++语言(C语言的升级版,C语言面向对象的版本 )
JAVA语言(基于C和C++,又被称为 C++--,把C++中不好的--了)
C#语言(Csharp)比尔盖茨微软 发明的语言,目的是代替java语言。c#还是有点用的,unity开发要学学
Python、PHP、JavaScript
MATLAB
C#net
python
6
JavaScript
Java
oaao
## java入门
#### 1 C& C++
##### 1972年C诞生
- 贴近硬件,运行极快,效率极高。
- 操作系统,编译器,数据库,网络系统等
- 指针和内存管理
##### 1982年C++诞生
- 面向对象
- 兼容C
- 图形领域、游戏等
#### 2 反抗
我们要建立一个新的语言:
- 语法有点像C
- 没有指针
- 没有内存管理
- 真正的可移植性,编写一次,到处运行
- 面向对象
- 类型安全
- 高质量的类库
#### 3 Java初生
###### 三高:高可用 高性能 高并发
缺乏互动性。1995年的网页简单而粗糙图形界面的程序(Applet)
Bill Gates说:这是迄今为止设计的最好的语言!
- Java 2 标准版(J2SE): 去占领桌面
- Java 2 移动版(J2ME): 去占领手机
- Java 2 企业版(J2EE): 去占领服务器
大量的巨头加入
#### 4 Java发展 (天生为服务器诞生)
他们基于Java 开发了巨多的平台,系统,工具
- 构建工具: Ant,Maven,Jekins
- 应用服务器: Tomcat,Jetty,Jboss,Websphere,weblogic
- Web开发: Struts,Spring,Hibernate, myBatis 开源的框架
- 开发工具:Eclipse, Netbean,intellij idea, Jbuilder
2006 :(大数据领域)Hadoop
2008 :hadoop Android(手机端) 运行在安卓之上的正是java
99%的程序员都是会java,精通java得可能只有1%。
微软:.NET 服务器端 开发工具Visual Studio Code VS SQL server
#### 5 Java特性与优势
简单性
面对对象
可移植性(一次编写,到处运行 windos linix macOS 不用管操作系统和硬件问题。 write once run anywhere 一个bug 到处运行 )
高性能
分布式
动态性(反射机制)
多线程
安全性
健壮性
#### 6 Java三大版本
Write Once,Run Anywhere
一个bug 到处运行
简而言之:跨平台但不能交叉编译
JVM:java虚拟机,跨平台。
- JavaSE: 标准版 (桌面程序,控制台开发…)
- X 已废弃 JavaME: 嵌入式开发 (手机,小家电…),已经凉了
- JavaEE: E企业级开发 (Web端,服务端开发…),JavaSE为基础
EE的基础是SE
#### 7 JDK JRE JVM
JDK:Java Development Kit (Java开发者工具,包括 JRE,JVM)
JRE:Java Runtime Environment (Java运行时环境)
JVM:Java Virtual Machine (Java虚拟机,跨平台核心)
***

