Java基础学习Day01
今天第一天入职了一家公司,决定开始重头好好学习一下java及mysql的内容,博客就当是每天的笔记啦
今天主要学习了java语言的一些特性以及开发环境
一、Java语言特性
1.简单性:
java中真正操纵内存的是jvm,所有的java程序都是运行在jvm中的,jvm在java程序执行过程中去操作内存。
Java屏蔽了指针的概念,优点:不容易导致内存泄漏。缺点:效率问题
2.面向对象:
java语言是完全面向对象的
面向对象更容易让人理解,采用面向对象的方式可以让复杂的问题简单化。
3.健壮性:
Java的自动垃圾回收机制(GC机制)
Jvm负责调度GC机制,开发人员不需要干涉,但是jvm不能及时清理,需要积累到一定大小。
4.多线程:
Java完全支持多线程并发。
5.可移植性/跨平台:
一次编写,到处运行
优点:一次编写可以跨平台运行
缺点:繁琐,运行java程序必须安装jvm
二、JKD、JRE、JVM三者之间关系
1.JDK:java开发工具箱
JRE:java运行环境
JVM:java虚拟机
2.JDK包括JRE,JRE包括JVM
JVM不能独立安装
JRE和JDK都有单独的安装包
3.安装JDK的时候,JRE就自动安装了,同时JRE包含的JVM就自动安装了
安装JRE的时候,JVM就自动安装了
三、对java程序的加载与执行的初步理解
1.ava程序非常重要的两个阶段:编译阶段、运行阶段
2.Java代码的普通文本被称为“java源代码”,源代码不能被直接执行,需要先进行编译,生成对应的字节码文件,jvm可以识别的是字节码文件
3.编译阶段和运行阶段可以在不同的操作系统上进行,编译生成字节码后,删除源代码,字节码也可以运行
4.字节码文件不是二进制文件
5.一个java源代码文件可以生成多个class文件(编译实质上是检查语法错误),最终运行的是class文件
6.jvm对class文件进行解释,解释成二进制码,然后jvm将生成的二进制码交给os,操作系统会执行二进制数和硬件进行交互
四、path环境变量的作用
path环境变量的作用就是给os指路的,告诉os去path所指示路径寻找指令文件
五、使用java 字节码命令后,发生了什么?
(1)启动JVM
(2)JVM启动后,JVM会启动“类装载器classloader”
类加载器的作用:加载类。本质上,类加载器负责去硬盘上找“类”所对应的“字节码文件”
(3)类加载器如果在硬盘上找不到对应的字节码文件,会报错:“找不到或无法加载主类”
类加载器如果找到了字节码文件,会将字节码文件装载到JVM中,JVM解释器将字节码解释为二进制码,os执行二进制码
六、classpath的作用
是给类加载器指路的,在指定路径下寻找字节码文件
今天上午入职,希望能学到有用的东西吧
明天会更好