corejava_day1(核心Java)


Java

J2SE(JAVA SE) 桌面应用的开发 corejava

J2EE(JAVA EE) 企业级开发

J2ME(JAVA ME) 手机应用的开发

SDK(software development kit) 软件开发包 函数库或者工具等

JDK(java development kit) 是面向开发人员的,java开发工具

JRE(java runtime environment java) 运行环境,是面向应用程序使用者的

注意:JDK安装后一般都会包含JRE的

API(application program interface)应用程序编程接口

别人开发好的供我们来使用(java)代码就称为API,API都会有一个API说明文档,让我们去查阅学习别人写好的代码如何来使用


windows下的环境变量的配置

JAVA_HOME: JDK安装的目录路径

C:\Program Files\Java\jdk1.8.0_74

CLASSPATH:类加载时候查找的字节码路径

PATH:%JAVA_HOME%\bin;


JDK安装后的目录结构:

bin:java的相关命令

java javac jar javadoc javap javah

db:java提供的数据库

demo/sample:java代码的一些示例

include:C语言的头文件等内容

jre:Java的运行环境

lib:Java所用的基本的jar包


JAVA的特点:

简单性:(相对应C和C++来讲)Java不需要程序员操作内存

跨平台:一次编译,到处运行(JVM)

多线程:其他语言的多线程一般是系统级别的,Java的多线程是语言级别的

gc垃圾回收器:Java中有一个线程,专门负责JVM中垃圾内存的释放

垃圾:没有引用的内存节点

垃圾回收的算法

注意:垃圾回收有自己的算法,我们是不能控制垃圾回收机制的。虽然有和垃圾回收相关的方法:
java.lang.System.gc() java.lang.Runtime.gc(),但是还是无法控制垃圾回收机制


类加载: 双亲委托机制

启动类加载 $JAVA_HOME/jre/lib

扩展类加载 $JAVA_HOME/jre/lib/ext

本地类加载 classpath Hello.class


JVM

类加载 --> 字节码验证 --> JIT运行

字节码验证:

代码要符合JVM的规范

代码不能破坏计算机的系统或者硬件

栈不能溢出

方法的参数类型要正确

类型转换要正确


Java类名和文件名的关系

一个Java源文件(.java)中,可以有好多个类(class),但是,最多只能有一个类(class)被public修饰

如果有一个类被public修饰,那么这个源文件(.java)的名字就必须和这个被public修饰的类的名字一致。

注意:首字母大写是编程规范,不是强制要求。


Java文件中搞得三个顶级元素:

package

  1. 最终会是以文件夹的形式体现出来(有什么包,就必须有什么文件夹,运行的时候.class文件必须在这个文件夹下面)
  2. .java文件中有多个package的时候,用.分割并且结尾用;号结束 例如:(com.briup.test;)
  3. 包也是Java中类的标识的一部分,确定某一个类是通过包名加类名来唯一确定的。
    比如运行Java类的时候:java package.类名(java com.briup.test.HelloPackage)

import

  1. 导包用的关键字
  2. 如果你想在当前这个类使用其他的类,那么就必须通过这个关键字,把哪个类导入进来
  3. java.lang包下面的类可以直接使用,不用导入。
  4. 和当前这个类位于同一个包下面的类,也不需要导入,可以直接使用

class

Java中标识一个类的关键字(Java类中可以没有package,也可以没有import,但是一定会class)

编写带包名的类 HelloPackage.java

package com.briup.test;

public class HelloPackage {
    public static void main(String[] ages) {
        System.out.println("hello world");
    }
}

注意:没有main方法的类是不能直接运行的

main的形式是固定的(大体是固定,之后会看到改动一些指定地方也是可以的)

public static void main(String[] args) {
    ......
}

因为main方法是程序的入口,要直接运行的那个类,类加载之后,JVM没有在这个类中找到main方法,那么就会报错

JVM只会运行java命令后面指定的类中的main方法(如果没有这个方法就报错)java com.briup.test.HelloWorld

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章