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

JavaSE

JavaSE

JDK、JRE、JVM:

JDKJava Development KitJava开发工具包
JREJava Runtime EnvironmentJava的运行环境
JVMJava Virtual MachineJava虚拟机,真正运行]ava程序的地方
ASCII编码ASCII码
A65
a97
048
计算机数据单位转换关系
1B8b
1KB1024B
1MB1024KB
1GB1024MB
1TB1024GB
二进制运算-1的原码、反码、补码
原码10000000 00000000 00000000 00000001
补码(补码 = 反码 + 1)11111111 11111111 11111111 11111111
反码11111111 11111111 11111111 11111110
IDEA快捷操作快捷键
主方法psvm + Enter
单行注释ctrl + /
多行注释ctrl +shift+/
文档注释/** + enter
打印输出语句sout
删除一行ctrl + y
复制一行ctrl + d
代码格式化ctrl +alt +L
重命名shift + f6
多行输入alt +鼠标左键
上下移动shift + alt + 方向上下键
自动生成变量名ctrl + alt + v

数据类型

数据类型知识点介绍
基本数据类型整型、浮点型、布尔型、字符型
引用数据类型接口、对象、数组、String。
默认类型浮点数默认为double类型,整数默认为int类型。
类型转换强制类型转换、自动类型转换。
基本数据类型八种字节数数据范围包装器在数组中的默认值
整型byte1-128-127Byte0
short2-32768~32767Short0
int4-2147483648~2147483648Integer0
long8-263~263-1Long0
浮点型float(f,F)4-3.403E–3.403EFloat0.0
double(d,D)8Double0.0
字符型char2‘a’,‘A’,‘1’Character``
布尔型boolean1true,falseBooleanfalse
类型转换介绍问题
自动类型转换小容量类型转为大容量类型
强制类型转换大容量类型转为小容量类型存在溢出或精度降低,可能会造成数据丢失。

运算符

运算符知识点
算数运算符
逻辑运算符
位运算符
关系运算
赋值运算符
运算符优先级
逻辑运算符
1&&短路与当结果确定时,直接返回。
2||短路或当结果确定时,直接返回。
3&逻辑与
4|逻辑或
5!逻辑非
6^逻辑异或
运算符优先级运算符
1()
2!
3
4
5>>><<>>
6
7
8&注意逻辑运算符之间的优先级关系
9^
10|
11&&
12||
13
14
位运算符--
&1&1=11&0=0
|1|1=10|0=01|0=1
^异或1^1=01^0=10^0=0
~取反~1=0~0=1
<<左移
>>右移
>>>无符号右移

JVM

JVM知识点
JVM内存区域划分
JVM内存区域介绍
每个线程都有自己的虚拟机栈,栈的生命周期与线程相同。其内部保存栈帧(Stack Frame),对应每次Java方法的调用。JVM对Java栈的操作,就是对栈帧的压栈和出栈。
Heap存放Java对象实例,JVM内存模型中最大的一块,被所有线程共享,在JVM启动时所创建。
程序计数器PC每个线程都有自己的程序计数器(一个线程同时只有一个方法在执行),PC会存储当前线程正在执行的Java方法的JVM指令地址。
方法区Method Area所有线程共享,存储元数据(Meta)。
运行时常量池
本地方法栈支持对本地方法的调用,每个线程都会创建自己的本地方法栈。

对象

对象知识点
构造方法构造方法可以重载
类没有定义构造方法是,Java会提供一个默认的无参构造方法 ;
如果一个类定义了构造方法,Java将不会提供默认构造方法。
构造方法在使用new关键字实例化对象时自动调用。
类的结构变量、方法、构造方法、块、内部类
内部类

异常

常见异常
NullPointerException空指针异常
ArrayIndexOutOfBoundsException索引越界异常

数组

数组知识点补充
长度固定创建时必须指明长度,需要扩容时,只能用新数组代替。
数组是引用类型数组本质是一个对象,不是基本数据类型。
三种声明方式int[] a = new int[5];
int[] b=new int[]{1,2,3,4,5,6,7};
int[] c={1,2,3,4};
存储空间连续数组中每个元素空间是连续的。
数组下标从0开始,所以数组的最大索引=数组长度-1
数组打印System.out.println(Arrays.toString(a));
Arrays类java中提供用于操作数组的工具类,提供排序,二分查找,数组复制…

访问权限修饰符

修饰符同一个类中同包不同类不同包的子类不同包的无关类
private可用
缺省可用可用
protected可用可用可用
public可用可用可用可用

面试常见

final和static对比:

static知识点介绍
static代码块当JVM加载类时,static代码块会且只会被执行一次。
可用于优化程序性能。
实例代码块在每次创建对象时,都会自动执行。
static方法static方法中不能使用this和super关键字。
静态内部类静态内部类的创建不需要依赖外部类的创建,
不能使用外部类的非static成员变量和方法。
静态变量被所有对象共享。
访问方式直接使用类名。
final知识点介绍
final量不可变常量,一旦创建,则不可修改。
如果是引用类型的变量,则不能再指向另一个对象。
final方法不能被子类重写(类中的所有private方法,都隐式的被final修饰)。
final类不能被继承,其中所有方法也默认被final修饰
不能修饰构造方法
使用场景把方法锁定,避免任何继承类修改该方法的含义。
提高效率,早期会将final方法转为内嵌调用(已过时)。

接口和抽象类对比:

接口知识点
抽象类知识点

容器


http://www.mrgr.cn/news/83102.html

相关文章:

  • python-leetcode-文本左右对齐
  • 万界星空科技质量管理QMS系统具体功能介绍
  • donet (MVC)webAPI 的接受json 的操作
  • Redis Stream
  • 点赞模块的实现思路
  • 使用LinkedList手撕图的邻接表
  • UnityRenderStreaming使用记录(五)
  • 本地缓存:Guava Cache
  • Ubuntu平台虚拟机软件学习笔记
  • Linux驱动学习之第二个驱动程序(LED点亮关闭驱动程序-分层设计思想,使其能适应不同的板子-驱动程序模块为多个源文件怎么写Makefile)
  • 【深度学习】布匹寻边:抓边误差小于5px【附完整链接】
  • 【vue3封装element-plus的反馈组件el-drawer、el-dialog】
  • docker搭建atlassian-confluence:7.2.0
  • XS5037C一款应用于专业安防摄像机的图像信号处理芯片,支持MIPI和 DVP 接口,内置高性能ISP处理器,支持3D降噪和数字宽动态
  • Onedrive精神分裂怎么办(有变更却不同步)
  • 【Redis源码】 RedisObject结构体
  • 单片机-定时器中断
  • formik 的使用
  • 202305 青少年软件编程等级考试C/C++ 一级真题答案及解析(电子学会)
  • ESP32编译和双OTA分区问题
  • Ubuntu更改内核
  • 使用LinkedList手撕图的邻接表
  • eNSP之家----ACL实验入门实例详解(Access Control List访问控制列表)(重要重要重要的事说三遍)
  • (五)WebGL中vertexAttribPointer方法的使用详解
  • Linux系统中解决端口占用问题
  • STM32内置Flash