Java SE 基础知识

Java SE 基础知识

一、Java虚拟机(JVM)

JVM

二、Java的加载与执行原理

在这里插入图片描述

三、JDK、JRE、JVM分别是什么?他们的关系是什么?

1、JDK(Java Development Kit):
JDK 是 Java 开发工具包,它是 Java 开发者用来开发 Java 应用程序的核心组件。
JDK 包括了 Java 编译器(javac)、Java 运行时环境(JRE)、Java 文档生成器(Javadoc)以及其他一些开发工具和库。
简而言之,JDK 提供了开发 Java 应用程序所需的所有工具和资源。
2、JRE(Java Runtime Environment):
JRE 是 Java 运行时环境,它是在运行 Java 应用程序时所必需的环境。
JRE 包含了 Java 虚拟机(JVM)以及 Java 核心类库和支持文件。
当用户想要运行一个已编译的 Java 应用程序时,他们需要安装 JRE。JRE 提供了 Java 应用程序的运行环境,但不包含开发工具。
3、JVM(Java Virtual Machine):
JVM 是 Java 虚拟机,它是 Java 程序的运行环境。
JVM 负责在实际的硬件平台上执行 Java 字节码(即编译后的 Java 代码)。
JVM 负责加载字节码、解释执行或即时编译字节码为本地机器代码,并管理内存、执行垃圾回收等任务。
JVM 的存在使得 Java 能够实现“一次编写,到处运行”的特性。

四、class和public class的区别

1、一个Java源文件可以定义多个class。
2、编译之后、一个class就会对应生成一个class字节码文件。
3、如果一个类是public,类名必须要和源文件名保持一致。
4、public类可以没有,如果有的话也只能有一个。
5、每个类中都可以编写入口main方法。在实际开发中,入口一般只有一个。

class A{
    public static void main(String[] args) {
        System.out.println("A执行了");
    }
}
class B{
    public static void main(String[] args) {
        System.out.println("B执行了");
    }
}
public class X{
    public static void main(String[] args) {
        System.out.println("X执行了,这个Java源文件名为X.java");
    }
}

五、Java标识符命名规范

遵循驼峰式命名方法。
类名、接口名: 首字母大写吗,后面每个单词首字母大写。 StudentService
变量名、方法名: 首字母小写,后面每个单词首字母大写。 productPrice
常量名: 全部大写,每个单词之间采用"_"分隔。 LOGIN_SUCCESS
包名: 全部小写。 com.camellia.javase.extends

六、Java中的加号运算符

public class PlusTest{
    public static void main(String[] args) {
        int a=10;
        int b=20;
        String str="10";
        //字符串拼接
        System.out.println(str + b); //1020;
        
        str="30";
        //当一个表达式中出现多个+,若没有(),遵循从左到右。
        System.out.println(a + b + str); //3030;
        
        //添加了()优先级比较高。
        System.out.println(a+(b+str)); //102030
        
    }
}

七、变量的分类

局部变量(Local Variables):
在方法、代码块或构造方法中声明的变量称为局部变量。
局部变量只在其声明的范围内可见,超出该范围就无法访问。
局部变量的生命周期仅在其声明的代码块、方法或构造方法执行期间。
当代码块或方法执行完毕时,局部变量将被销毁。
成员变量(Instance Variables):
在类中声明的变量,但在方法之外,类的任何地方都可以访问,称为成员变量或实例变量。
每个对象都有一份成员变量的副本,它们属于对象的状态。
成员变量的生命周期与对象的生命周期相同。它们随着对象的创建而创建,随着对象的销毁而销毁。
静态变量(Static Variables):
使用 static 关键字声明的成员变量称为静态变量。
静态变量属于类而不是对象,在类加载时初始化,并且所有对象共享同一份静态变量。
静态变量的生命周期与类的生命周期相同。它们在类加载时初始化,随着类的卸载而销毁。

/*
 变量可以根据定义/声明的位置来进行分类,可以分为两大类:
        1、局部变量
        2、成员变量
          静态变量
          实例变量
 */
public class VarClassify {
    public static void main(String[] args) {
        //凡是在方法体中定义的变量,一定是局部变量。
        //局部变量只在当前方法体中有效。
        int a=100;
    }

    //在类中定义的变量叫做成员变量。
    //实例变量
    int b=200;
    //静态变量
    static int c=300;
}


总结:

Java是一种混合型语言,既有编译阶段也有解释阶段(在面试的时候面试官可能会问Java是编译型语言还是解释性语言?)

最后欢迎大家踩踩我的博客 Camellia白山茶

  • 28
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值