当前位置: 首页 > article >正文

java基础知识全集(一篇看到爽)(持续更新中)

java规范(企业级)

  1. 见名知意, 命名合理

    • 强调了命名的可读性和合理性。
  2. 驼峰命名法

    • 大驼峰:首字母大写,之后每个单词的首字母也大写(如:MyVariableName)。
    • 小驼峰:首字母小写,之后每个单词的首字母大写(如:myVariableName)。
  3. 类名、接口名:大驼峰写法

    • 类名和接口名应采用大驼峰格式。
  4. 变量名、方法名:小驼峰写法

    • 变量和方法名应采用小驼峰格式。
  5. 常量名:全字母大写,单词之间下划线间隔

    • 常量名应该全部大写,并用下划线分隔多个单词(如:CONSTANT_NAME)。
  6. 包名:全字母小写

    • 包名应该全部小写。
  7. 包名规范

    • 包名应由公司域名倒序+项目名+模块名+功能名组成。
    • 尽量使用单个单词,如果需要多个单词则用下划线分割。
  8. 花括号前要加空格

    • 花括号前面需添加一个空格以保持代码整洁。
  9. 双元运算符左右要加空格

    • 双元运算符两侧都需要有空格以提高代码的可读性。

JDK相关

jdk层次

具体的关系如下:

  • JDK 包含 JRE;
  • JRE 包含 JVM;
  1. JDK(Java Development Kit):Java开发工具包,包含了用于开发和运行Java应用程序的所有工具和库。
  2. JRE(Java Runtime Environment):Java运行时环境,是运行已编译好的Java程序所必需的环境。
  3. JVM(Java Virtual Machine):Java虚拟机,负责解释执行字节码文件,实现跨平台特性。

配置环境

  1. 设置JAVA_HOME环境变量:

    • 打开“此电脑”->选择“属性”->进入“高级系统设置”->点击“环境变量”->新建一个名为"JAVA_HOME"的系统变量,并将JDK目录的地址写入其中。
    • 区分了用户变量和系统变量的区别:用户变量仅限当前用户使用;而系统变量所有用户都可以使用。
  2. 设置PATH环境变量:

    • 打开“此电脑”->选择“属性”->进入“高级系统设置”->点击“环境变量”->找到Path变量->将JDK下的bin目录地址写入Path变量中。

DOS命令

这张图片列出了Java开发环境中常用的一些命令行工具及其功能:

  1. java -version:查看Java版本信息。
  2. javac -version:查看Javac编译器版本信息。
  3. javac:用于编译Java源文件(.java)。
  4. java:运行已编译的class文件。
  5. java -jar:运行打包为JAR文件的Java应用程序。
  6. jps:列出当前系统中所有Java进程的ID和名称。
  7. jinfo:查询Java进程的配置信息,如JVM参数、系统属性等。
  8. jstat:显示Java应用程序的性能统计信息,如类加载、垃圾回收等。
  9. jmap:生成Java堆内存的快照,用于分析内存泄漏等问题。
  10. jstack:生成Java线程的堆栈跟踪,用于分析线程死锁等问题。
  11. keytool:管理密钥库(keystore)和证书。
  12. javadoc:从Java源代码中提取注释并生成API文档。
  13. 命令名 -help:获取指定命令的帮助信息。

jvm运行内存结构

JVM(Java Virtual Machine,Java虚拟机)是Java技术的核心之一,它提供了一种与平台无关的运行环境,使得Java程序能够在不同的操作系统和硬件平台上运行而无需修改。JVM是Java语言跨平台能力的关键所在。

  1. 程序计数器(Program Counter Register):

    • 主要功能是记录当前线程执行的字节码指令的地址。
    • 每个线程都有自己独立的程序计数器。
    • 程序计数器的值在异常处理过程中也发挥重要作用。
    • 占用的内存空间非常小。
  2. 本地方法栈(Native Method Stacks):

    • 每个线程都有自己的本地方法栈,保证了线程之间的隔离性和独立性。
    • 通常不受Java内存管理(如垃圾回收)的直接控制。
    • 调用一个Native方法时,JVM会创建一个新的栈帧。
  3. 虚拟机栈(VM Stack):

    • 栈帧由局部变量表、操作数栈、动态链接(指向运行时常量池的引用)、方法返回地址等部分组成。
    • 每个方法的执行都对应着虚拟机栈中的一个栈帧,栈帧是虚拟机栈的基本单位。
    • 虚拟机栈的生命周期与线程的生命周期一致。
    • 虚拟机栈是线程私有的。
  4. 方法区(Method Area):

    • 方法区在JVM启动时创建,并在JVM关闭时销毁。
    • 存储类的元数据信息、常量池、静态变量等。
    • 方法区是各个线程共享的内存区域。
  5. 堆(Heap)
    • 堆是JVM中所有线程共享的一块内存区域。
    • 堆是垃圾回收器管理的主要区域。
    • 存储对象实例和数组。

数据类型

基本数据类型

整数型

  • byte: 1字节

  • short: 2字节

  • int: 4字节

  • long: 8字节

    其中long需要"L"结尾。

表示形式
  • 以0b开头的数字是二进制数;
  • 以0开头的数字是八进制数;
  • 以0x开头的数字是十六进制数;
  • 结尾为E或e的数字是科学计数法,后面跟着10的几次方,可为负数。

浮点型

  • float: 4字节,需要"F"结尾。
  • double: 8字节。

逻辑型

  • boolean: 1字节。

字符型

  • char: 2字节。

整数型特点

  • Java中出现的整数型字面量默认为int类型,数字过大时会报错。
  • Java中小于int数据类型的变量做运算会都先转换成int类型再运算。

浮点型特点

  • Java中出现的浮点型字面量默认为double类型。
  • 计算机底层存储浮点数的近似值,不能使用“==”来比较。所以判定时差值小于一个极小的小数即可。

类型转换

  1. 自动类型转换:

    • Java中的数据类型按照从小到大的顺序进行自动转换:byte < short < int < long < float < double。
  2. 强制数据类型转换:

    • 强制类型转换需要显式指定目标数据类型。
    • 例如,int y = (int)(x); 表示将变量 x 的值转换为整型赋值给 y。
  3. 多种数据类型的混合运算结果:

    • 当在表达式中混合使用不同数据类型时,最终的结果会以其中最大的数据类型为准。


http://www.kler.cn/a/398035.html

相关文章:

  • 高光谱深度学习调研
  • 【小白可懂】微信小程序---课表渲染
  • 【WPF】Prism学习(三)
  • 环境贴图选用方式
  • ADS项目笔记 1. 低噪声放大器LNA天线一体化设计
  • 蓝桥杯-洛谷刷题-day3(C++)
  • shell编程--永久环境变量和字符串显位
  • 【C#设计模式(7)——桥接模式(Bridge Pattern)】
  • wireshark演进之路——从GTK到Qt
  • 分布式,微服务,SpringCloudAlibaba,nacos,gateway,openFeign
  • Docker内存溢出报错问题解决
  • SpringMVC数据校验、数据格式化处理、国际化设置
  • 网络IP地址会经常换吗?深入解析与实操指南
  • 金山云大数据面试题及参考答案
  • Python爬虫定义入门知识
  • 【Linux庖丁解牛】—Linux基本指令(下)!
  • 黑马智数Day7
  • 对称加密算法DES的实现
  • 130. CSS2DRenderer(HTML标签)
  • 核心期刊论文供参考(中科院三区、可转)
  • lua实现雪花算法
  • 大数据中的时序数据,以及时序数据架构设计解决方案
  • 2024年最后一期数字孪生专项学习!!
  • Android Framework AMS(14)ContentProvider分析-1(CP组件应用及开机启动注册流程解读)
  • Ceph的pool有两种类型
  • 【基础算法】栈