🌱
博主简介:
是瑶瑶子啦
,一名大一计科生,目前在努力学习C进阶、数据结构、算法、JavaSE。热爱写博客~正在努力成为一个厉害的开发程序媛!
📜
所属专栏:
Java基础
✈
往期博文回顾:
【Git篇】一文带你快速弄懂:Git、gitee、github简介、区别、关系,以及什么是版本管理?
🕵️♂️
近期目标:成为百粉小博主。持续输出JavaSE、C进阶、数据结构、算法相关的优质博客,
🙇♀️
写博客理念:力求用自己的语言加上自己的理解去阐述知识知识、技术(费曼学习法)。喜欢画图、思维导图去描述过程和知识之间的联系。
🎡
您的
点赞
、
关注
、
收藏
、
评论
,是对我最大的激励和支持!!!
🌺
:“再牛的程序员也是从小白开始,既然开始了,就全身心投入去学习技术”
什么是程序?
个人认为:语言是用于沟通的,而高级程序语言就是用于人和计算机来进行沟通的(但又是间接沟通的)。用高级语言编写的程序(理解为人给计算机布置的一个任务),我们能看得懂每一句话什么意思,但是计算机看不懂。所以这个任务,也只能叫做一个任务,当经过编译之类的行为后(把这个任务用机器能看懂的语言翻译一下),生成了可执行程序,其实就是叫做:计算能够完成的任务。
Java的4个重要特性:
-
面向对象(oop:object oriented programing)
-
封装(encapsulation)–隐藏对象的内部属性和行为,但提供相应的方法,让其他的对象来访问/改变/获取它内部的数据/行为。
-
好处1:隐藏对象的属性,所以保护对象内部的状态
-
好处2:提高代码的可用性和可维护性(改起来比较方便):可以单独的去改变、扩展对象的行为(对象具有的方法)
-
好处:禁止对象之间不良交互,提高模块化(这个目前还没有太get到)
-
继承(inheritance)–给对象从基类(父类)获取字段(属性)和方法(行为)的能力。提供了代码的重用性(也可以理解为简化了书写),在不修改类的情况下,给目前有的类,添加新的特性。
-
多态(polymorphism)
-
抽象(abstraction)–由具体抽取而来。(比如接口的创建,就是抽象的体现。目的是,分离类的行为和具体的实现细节)
-
健壮性:强类型机制、异常处理、垃圾回收机制
-
解释型语言:
-
和C语言不同,编译后的可执行文件可以直接被机器执行。java编译后生成的,class文件不能直接被机器执行,需要被jvm(java virtual machine)中的解释器(interpretor)来执行(虚拟机将.class文件解释给本地系统执行)。但正是这点,也就成就了java的一次编译,随处运行。
-
跨平台性
-
根本原因:jvm–做翻译&解释工作
JVM介绍–什么是JVM
JVM(java virtual machine)是一台虚拟计算机,
具有指令集,并使用不同的存储区域。包含在JDK(Java Developer’s Kit)
-
作用:执行指令,管理数据、内存、寄存器。
-
JVM是由c/c++编写而成,所以不同的平台需要安装不同的jvm(c/c++不能跨平台)
-
JVM屏蔽了底层运行平台的差别,实现了”一次编译,随处运行“
JDK介绍–什么是JDK
JDK(Java Developer’s Kit) –java 开发者的工具集。通俗来说,就是
开发人员开发Java程序时所需要用到的工具(比如常见的:javac.exe \ java.exe)
,JDK 包含了JRE(Java Runtime Enviroment)
&&开发工具集
(Toos&Tool APIs)—–编辑Java源码的编辑器-javac、Java程序调试和分析工具(JConsole,Web Services等工具软件)。
-
作用:
-
JRE:
JRE介绍–什么是JRE
JRE(Java Rountime Enviroment)–java运行工具,包括:JVM&&Java基础类库(Java SE API)
JDK&&JRE&&JVM
包含关系:
-
JDK=JRE+Tools&Tool APIs(开发者工具)
-
JRE=JVM+Java SE API(Java类库)
使用时的执行流程:
-
开发者视角(需要开发java程序):需要安装JDK
-
首先使用JDK调用Tools&Tool APIs(开发者工具)编写好Java程序–xxx.java
-
再次调用Tools&Tool APIs中的javac.exe(编译程序)来编译.java文件(将java文件编译成字节码.class文件)
-
调用java.exe来启动JRE
-
在JRE上运行JAVA字节码(加载特定的.class文件,调用这个class文件中的main方法(让.class文件跑起来))–JVM解释器解释字节码文件,在解释的同时还要调用Java SE类库,再在虚拟机上执行.
虚拟机运行加载class,需要先找到main函数入口,才会执行后面的程序和功能
-
使用者视角(不开发,只想直接运行编写好的java程序):只需要安装JRE
a. 同上d
JDK-配置环境变量
windows系统下:
-
为什么要配置环境变量?
使在命令行执行命令时,不管在哪个目录下,jdk相关命令都能生效
在WIn10系统上,如果在当前目录下,执行的程序没有找到,win10系统会在系统已有的一个名为Path的环境变量中去查找,如果仍为找到,则会报错.
-
Windows的环境变量窗口在哪里?
此电脑–>属性–>高级系统设置–>高级–>环境变量
-
用户变量&系统变量的区别?(通常”环境变量”指的是”系统环境变量”)
-
用户环境变量:只对当前用户起作用.
-
系统环境变量:对所有用户起作用
-
关系:系统一般会先检查用户环境变量,之后再检查系统环境变量.如果有同名变量名,并不会合并.
因为java.exe和javac.exe都在bin目录下,所以环境变量要配到bin目录,方可在任意目录启动java.exe和javac.exe
Linux系统下:
因为Linux系统目前用的不多,但是考虑到之后要学习,这里暂记一下
🥗今天就先到这儿啦,如果觉得文章有用还请大家
点赞,评论,收藏~
虽然之前匆匆忙忙过了一遍JavaSE但基础肯定没有打牢,这次重新学习的话,对很多知识理解了不少,但
可能在理解方面可能会存在不正确或者理解偏了的情况,还请各位大佬多多指出,我会很高兴去的~
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/142467.html