JavaSE之认识java
本来很早之前就应该总结自己在JavaSE中系统学到的知识了,马上就要出去工作了,想想自己还是非常菜的菜鸟,自己就夜不能寐呀。现在从zero基础开始带大家一起回顾学习的基础知识。
现在已经是凌晨了,但是自己还是头脑很清晰了。
那我们就从最基本的开始吧
一、什么是计算机?什么是硬件?什么是软件?
1.1计算机的定义
很多人可能一听到计算机,不就是电脑吗?可是讲清楚还真的是费劲哦。计算机(Computer)全称:电子计算机,俗称电脑。是一种能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。
由硬件和软件所组成,没有安装任何软件的计算机称为裸机。常见的形式有台式计算机、笔记本计算机、大型计算机等。
1.2硬件
定义:计算机硬件(Computer Hardware)是指计算机系统中由电子,机械和光电元件等组成的各种物理装置的总称。这些物理装置按系统结构的要求构成一个有机整体为计算机软件运行提供物质基础。
冯.诺依曼体系结构
计算机的硬件分成5大组成部件:运算器、控制器、存储器、输入设备和输出设备。
运算器和控制器是计算机的核心,合称中央处理单元(Central Processing Unit,CPU)或处理器。CPU的内部还有一些高速存储单元,被称为寄存器。其中运算器执行所有的算术和逻辑运算;
控制器负责把指令逐条从存储器中取出,经译码后向计算机发出各种控制命令;而寄存器为处理单元提供操作所需要的数据。
存储器是计算机的记忆部分,用来存放程序以及程序中涉及的数据。它分为内部存储器和外部存储器。内部存储器用于存放正在执行的程序和使用的数据,其成本高、容量小,但速度快。
外部存储器可用于长期保存大量程序和数据,其成本低、容量大,但速度较慢。
输入设备和输出设备统称为外部设备,简称外设或I/O设备,用来实现人机交互和机间通信。微型机中常用的输入设备有键盘、鼠标等,输出设备有显示器、打印机等。
1.3软件
计算机软件(Computer Software)是使用计算机过程中必不可少的东西,计算机软件可以使计算机按照事先预定好的顺序完成特定的功能
计算机软件按照其功能划分为系统软件与应用软件:
系统软件: DOS(Disk Operating System), Windows, Linux, Unix, Mac, Android, iOS
应用软件:office QQ聊天 YY语言 扫雷
二、计算机基础知识
2.1.什么是软件?
按照特定顺序组织的计算机数据和指令的集合
2.2、什么是软件开发?
借助开发工具与计算机语言制作软件
2.3、什么是计算机语言及计算机语言的分类?
人与计算机之间进行信息交流沟通的一种特殊语言
计算机语言的分类
机器语言:
机器语言是直接用二进制代码指令表达的计算机语言,指令是用0和1组成的一串代码,它们有一定的位数,并分成若干段,各段的编码表示不同的含义。
汇编语言:
汇编语言是使用一些特殊的符号来代替机器语言的二进制码,计算机不能直接识别,需要用一种软件将汇编语言翻译成机器语言。
高级语言:使用普通英语进行编写源代码,通过编译器将源代码翻译成计算机直接识别的机器语言,之后再由计算机执行。高级语言包括C,C++,C#,JAVA等。
2.4、人机交互的两种方式
命令行方式
需要有一个控制台,输入特定的指令,让计算机完成一些操作。较为麻烦,需要记录住一些命令。
图形化界面方式
这种方式简单直观,使用者易于接受,容易上手操作。
2.5、如何打开dos命令
开始--程序--附件--命令提示符
开始--运行--cmd--回车
win+r--cmd--回车
2.6、常用的dos命令
A:d: 回车 盘符切换
B:dir(directory):列出当前目录下的文件以及文件夹
C:cd (change directory)改变指定目录(进入指定目录)
D:cd.. : 退回到上一级目录
E:cd\: 退回到根目录
F:cls : (clear screen)清屏
G:exit : 退出dos命令行(分割线上的需要掌握,下的了解)
/=========================================================
md (make directory) : 创建目录
rd (remove directory): 删除目录
del (delete): 删除文件,删除一堆后缀名一样的文件*.txt
notepad 创建文件
删除带内容的文件夹
rd + /s 文件夹名称(询问是否删除)
rd + /q + /s 文件夹名称(直接删除)
前面学习了一下计算机的基本知识,现在对计算机有了基本的了解了。我们开始进入主题吧!
三、Java语言基础
3.1、Java语言跨平台的原理
首先什么是平台,平台就是CPU处理器和操作系统的整体。如果计算机是人,那CPU就是人的大脑,它既负责思维运算,又负责身体各部件的命令控制。CPU的种类很多,
除去我们熟知的Intel与AMD外,还有比如上面说到的SUN的Sparc,比如IBM的PowerPC等等,这些各个公司生产的CPU使用或相同或不同的指令集。指令集就是cpu中用来计算和控制计算机系统的一套指令的集合。
作系统是充当用户和计算机之间交互的界面软件,不同的操作系统支持不同的CPU,严格意义上说是不同的操作系统支持不同CPU的指令集。现在的windows,liunx,mac,solaris都支持Intel与AMD的CPU指令集。
知道什么是平台之后我们来理解java怎么跨平台的?
Java是解释执行的,编译为中间码的编译器与平台无关,编译生成的中间码也与平台无关(一次编译,到处运行),中间码再由解释器解释执行,解释器是与平台相关的,也就是不同的平台需要不同的解释器.
Java先编译后解释
同一个.class文件在不同的虚拟机会得到不同的机器指令(Windows和Linux的机器指令不同),但是最终执行的结果却是相同的。
3.2、JRE和JDK概述
JRE:包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。JRE:JVM+类库。
JDK:JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。
其中的开发工具:编译工具(javac.exe) 打包工具(jar.exe)等。JDK:JRE+JAVA的开发工具。
为什么JDK中包含一个JRE: 开发完的程序,需要运行一下看看效果。
3.3、JRE、JDK、JVM三者之间的关系?
3.4、JDK安装路径下的目录解释
a:bin目录:该目录用于存放一些可执行程序。
如javac.exe(java编译器)、java.exe(java运行工具),jar.exe(打包工具)和* javadoc.exe(文档生成工具)等。
b:db目录:db目录是一个小型的数据库。
从JDK 6.0开始,Java中引用了一个新的成员JavaDB,这是一个纯Java实现、开源的数据库管理系统。这个数据库不仅轻便,而且支持JDBC 4.0所有的规范,在学习JDBC 时,不再需要额外地安装一个数据库软件,选择直接使用JavaDB即可。
c:jre目录:"jre"是 Java Runtime Environment 的缩写,意为Java程序运行时环境。此目录是Java运行时环境的根目录,它包括Java虚拟机,运行时的类包,Java应用启动器以及一个bin目录,但不包含开发环境中的开发工具。
d:include目录:由于JDK是通过C和C++实现的,因此在启动时需要引入一些C语言的头文件,该目录就是用于存放这些头文件的。
e:lib目录:lib是library的缩写,意为 Java 类库或库文件,是开发工具使用的归档包文件。
f:src.zip文件:src.zip为src文件夹的压缩文件,src中放置的是JDK核心类的源代码,通过该文件可以查看Java基础类的源代码。
四、用控制台编写一个Hello world
4.1、编写HelloWorld
很多人可能会,但我相信很多基础不太好的程序员来说,用习惯了开发工具就不会用cmd命令来运行一个java程序了。
首先你需要先编写一个.java文件,记住你不能直接用记事本编写以为在后面.java就成了java文件,这样是不行的。
第一步:HelloWorld.java
class HelloWorld {
public static void main(String[] args) {
System.out.println("HelloWorld");
}
}
第二步:你需要把这个文件放到安装JDK目录下的bin目录中去,使用dos命令进入到bin目录中去
4.2、path环境变量的配置
A:在JDK的bin目录下开发程序容易产生的问题
a:如果文件过多,不方便管理
b:删除自己写过的不需要的文件,可能不小心把JDK自带的工具给删除了
B:如何解决问题呢
notepad这样的命令为什么在任何路径下都能够执行,配置path环境变量
C:配置方式
a:xp系统
右键点击桌面计算机→选择属性→选择高级选项卡→点击环境变量→下方系统变量中查找path→双击path→将jdk安装目录下的bin目录添加到最左边并添加分号。
b:win7/win8系统
右键点击桌面计算机→选择属性→选择高级系统设置→选择高级选项卡→点击环境变量→下方系统变量中查找path→双击path→将jdk安装目录下的bin目录添加到最左边并添加分号。
path配置的是可执行的文件.exe,配置后可以在不同的盘符下访问path路径下的可执行文件
还有一种配置方式:先配置JAVA_HOME、在修改path路径
4.3、classpath环境变量的作用及其配置
A:为什么要配置classpath
B:classpath配置的原理
C:如何配置classpath
path和classpath的区别
path配置的是可执行的文件.exe,配置后可以在不同的盘符下访问path路径下的可执行文件
classpath配置的java的类文件,就是.class文件
02:16:02
JavaSE之认识java的更多相关文章
- 用大白话聊聊JavaSE -- 如何理解Java Bean(一)
首先,在开始本章之前,先说一个总的概念:所谓的Java Bean,就是一个java类,编译后成为了一个后缀名是 .class的文件.这就是Java Bean,很多初学者,包括当年的我自己,总是被这些专 ...
- JavaSE复习日记 : java包机制
这里是第一个文件,命名为JavaSE_01.java,我在这个文件里面声明了一个m1()方法,通过包机制,我将在另外一个文件夹里访问这个文件里的东西,确切的说是访问这个文件生成的一个class文件; ...
- JavaSE复习日记 : Java操作符\关系运算符\逻辑运算符\赋值运算符\字符串连接符\三元运算符
// Java操作符\关系运算符\逻辑运算符\赋值运算符\字符串连接符\三元运算符 /* * 一 Java操作符 * * Java操作符都有哪些? * +, -, *, /, %, ++, -- * ...
- JavaSE复习_1 Java的基本格式和运算符
△.代表在当前目录.classpath能在任何路径下访问类文件. △单行注释可以嵌套,多行注释不能嵌套 △java中的标识符只能有数字,字母,$和_,其他的符号都是错误的,不合法的.其中数字不能是开头 ...
- JavaSE部分1.Java基础
1.为什么重写equals()还要重写hashcode()? (equals()和hashCode()是java Object中两个基本方法) 首先equals与hashcode间的关系是这样的: ...
- JAVASE(十二) Java常用类: 包装类、String类、StringBuffer类、时间日期API、其他类
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 1.包装类 1 .1 八个包装类 1. 2 基本数据类型,包装类,String者之间的转换 2. ...
- JavaSE基础之Java中的数据类型
基本数据类型:8个 整数类型(4):byte short int long 浮点类型(2):float double 字符类型:char 布尔类型:boolean 引用数据类型:3个 数组 类:cla ...
- JavaSE基础知识(1)—初识Java
一.JAVA的背景 JAVA本身隶属的公司的是sun公司(创始公司) JAVA创始人:詹姆斯 高斯林 09年被oracle收购 JAVA的前身是Oak 二.JAVA的版本 95年 JAVA诞生96年 ...
- Java
2016-12-17 21:10:28 吉祥物:Duke(公爵) Logo:咖啡(爪哇岛盛产咖啡) An overview of the software development proce ...
随机推荐
- There is no getter for property named 'userId' in 'class java.lang.String'
[ERROR] 2017-01-18 04:37:06:231 cn.dataenergy.common.CenterHandlerExceptionResolver (CenterHandlerEx ...
- android 获取适配的bitmap等相关
获取适配尺寸的图片: File files = new File(imagePath); FileInputStream is = null; BufferedInputStream bis = nu ...
- I/O模型浅析
引入 首先来说一下进程: 进程在就是一段执行中的代码,他是由一条条指令和数据组成的一个具有生命周期的有头有尾的实体. 进程根据权限大体上可以分为两类:用户进程 和 内核进程. 这两者的主要区别在于权限 ...
- 2017《JAVA技术预备作业》 1502 陈明宇
1.阅读邹欣老师的博客,谈谈你期望的师生关系是什么样的? 我期望的师生关系应该是亦师亦友的关系,美丽的校园是我们学生居住生活最久的地方而老师则是和我们接触最为密切的人.在课堂上,老师是辛勤的园丁,向我 ...
- 设计社区Dribbble VS. Bēhance,你选谁?
Behance和Dribbble都是主流的设计作品分享平台,为广大设计师同胞们带来了莫大的便利,所以很多设计师通常两个社区都会关注.很多设计师在展示个人信息的时候,通常也会把这两个平台的链接放到个人资 ...
- [CSS3] 学习笔记-CSS动画特效
在CSS3中,出现了很多出彩的效果,例如2D.3D以及过度.动画和多列等.这些效果为页面设计添加了很多的可选设计. 1.2D.3D转换 转换,是使元素改变尺寸.形状.位置的一种效果:通过CSS3转换, ...
- ContextMenu控件引用以及不用v4包的方法
最近想撸个APP出来玩玩,本想用Yalantis出的SideMenu,结果因为依赖问题放弃了,改用他们家的ContextMenu. 如果你用了v4包 那么问题就比较简单了,直接打开项目中app中的bu ...
- Hangfire 使用笔记
“巨人们”的地址 Hangfire Mysql: https://github.com/arnoldasgudas/Hangfire.MySqlStorage 在获取set表数据的sql语句有bug ...
- git用法-打补丁
1. git cherry-pick 作用:从一个branch上选择一个commit,添加该commit到另一个branch上. 1. 切换到你想添加commit的分支上. git checkout ...
- SVM matlab 代码详解说明
x=[0 1 0 1 2 -1];y=[0 0 1 1 2 -1];z=[-1 1 1 -1 1 1]; %其中,(x,y)代表二维的数据点,z 表示相应点的类型属性. data=[1,0;0,1;2 ...