Java 基础知识总结

java SE 基础知识指南 36. Lock(上):相比Java synchronized,JUC Lock有什么优势?19. io类库:http://java.io类库如此庞大,怎么才能全面系统的掌握它?51. 线程状态:为何synchronized和Lock这两种锁对应的线程状态不同?34. synchronized(上):线程释放锁之后,如何通知其他线程获取锁?13. HashMap(上):为何HashMap中数组的大小必须是2的幂次方?37. Lock(中):如何使用AQS(抽象队列同步器)实现JUC Lock? 阅读详情

在面试过程中 Java 有很多面试题需要我们进行总结记忆,今天我们就来总结一下 java 基础中常见的面试题

1. 接口的意义:规范、扩展和回调

2. 抽象类的意义:为其子类提供一个公共的类型,封装子类中的重复内容,定义抽象方法,子类虽然有不同的实现,但是定义是一致的

3. 内部类的作用:

1)内部类可以用多个实例,每个实例都有自己的状态信息,并且与其他外围对象的信息相互独立

2)在单个外围类中,可以让多个内部类以不同的方式实现同一个接口,或者继承同一个类

3)创建内部类对象的时刻并不依赖外围类对象的创建

4)内部类并没有令人迷惑的 “is-a” 关系,它就是一个独立的实体

5)内部类提供了更好的封装,除了该外围类,其他类都不能访问

4. 父类的静态方法能否被子类重写?

不能

子类继承父类后,用相同的静态方法和非静态方法,这时非静态方法覆盖父类中的方法(即方法重写),父类的该静态方法被隐藏(如果对象是父类则调用该隐藏方法),另外子类可以继承父类的静态与非静态方法

5. Java 虚拟机的特性

       Java 语言的的一个非常重要的特点就是与平台的无关性,而使用 Java 虚拟机是实现这一特点的关键,一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码,而引入 Java 语言虚拟机后,Java 语言在不同平台上运行时不需要重新编译,Java 语言使用模式 Java 虚拟机屏蔽了与具体平台相关的信息,使得 Java 语言编译程序只需要生成在 Java 虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行,Java 虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行


6. Java 基本数据类型

       变量就是申请内存来存储值,也就是说,当创建变量的时候,需要在内存中申请空间,内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来存储该类型数据,因此通过定义不同类型的变量,可以在内存中存储整数、小数或者字符,Java 的两大数据类型:内置数据类型,引用数据类型

内置数据类型:Java 语言提供了八种基本类型,六种数字类型(4 个整数型,2 个浮点型),一种字符类型,还有一种布尔型


byte:

  • byte 数据类型是 8 位、有符号的,以二进制补码表示的整数;
  • 最小值是 -128(-2^7);
  • 最大值是 127(2^7-1);
  • 默认值是 0;
  • byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一;
  • 例子:byte a = 100,byte b = -50。

short:

  • short 数据类型是 16 位、有符号的以二进制补码表示的整数
  • 最小值是 -32768(-2^15);
  • 最大值是 32767(2^15 - 1);
  • Short 数据类型也可以像 byte 那样节省空间。一个 short 变量是 int 型变量所占空间的二分之一;
  • 默认值是 0;
  • 例子:short s = 1000,short r = -20000。

int:

  • int 数据类型是 32 位、有符号的以二进制补码表示的整数;
  • 最小值是 -2,147,483,648(-2^31);
  • 最大值是 2,147,483,647(2^31 - 1);
  • 一般地整型变量默认为 int 类型;
  • 默认值是 0 ;
  • 例子:int a = 100000, int b = -200000。

long:

  • long 数据类型是 64 位、有符号的以二进制补码表示的整数;
  • 最小值是 -9,223,372,036,854,775,808(-2^63);
  • 最大值是 9,223,372,036,854,775,807(2^63 -1);
  • 这种类型主要使用在需要比较大整数的系统上;
  • 默认值是 0L;
  • 例子: long a = 100000L,Long b = -200000L。
    "L" 理论上不分大小写,但是若写成 "l" 容易与数字 "1" 混淆,不容易分辩。所以最好大写。

float:

  • float 数据类型是单精度、32 位、符合 IEEE 754 标准的浮点数;
  • float 在储存大型浮点数组的时候可节省内存空间;
  • 默认值是 0.0f;
  • 浮点数不能用来表示精确的值,如货币;
  • 例子:float f1 = 234.5f。

double:

  • double 数据类型是双精度、64 位、符合 IEEE 754 标准的浮点数;
  • 浮点数的默认类型为 double 类型;
  • double 类型同样不能表示精确的值,如货币;
  • 默认值是 0.0d;
  • 例子:double d1 = 123.4。

boolean:

  • boolean 数据类型表示一位的信息;
  • 只有两个取值:true 和 false;
  • 这种类型只作为一种标志来记录 true/false 情况;
  • 默认值是 false;
  • 例子:boolean one = true。

char:

  • char 类型是一个单一的 16 位 Unicode 字符;
  • 最小值是 \u0000(即为 0);
  • 最大值是 \uffff(即为 65,535);
  • char 数据类型可以储存任何字符;
  • 例子:char letter = 'A';。
  • 引用类型:
    • 在 Java 中,引用类型的变量非常类似于 C/C++ 的指针。引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型,比如 Employee、Puppy 等。变量一旦声明后,类型就不能被改变了。
    • 对象、数组都是引用数据类型。
    • 所有引用类型的默认值都是 null。
    • 一个引用变量可以用来引用与任何与之兼容的类型。
    • 例子:Site site = new Site("Runoob")。
7. 简单介绍 JVM 工作过程

JVM 是一台抽象的计算机,就像真实的计算机那样,它们会先将 .java 文件编译成 .class 文件(.class 文件就是字节码文件),然后用它的解释器来加载字节码。


Windows下Fortran调用CGNS库的完整踩坑实录:从HDF5、CMake到VS2019+IVF2020的保姆级配置 本文详细记录了在Windows环境下使用Fortran调用CGNS库的完整配置过程,涵盖HDF5安装、CMake配置、VS2019与IVF2020集成等关键步骤。通过实战经验分享,帮助开发者解决常见编译错误和链接问题,实现高效的Fortran与CGNS库集成。 阅读详情

相关推荐

GT-suite v2016的下载和安装

1 写在前面 GT-suite 是一款用来做内燃机仿真的软件。在安装过程中遇到很多问题,网上的安装教程也大都抄来抄去,试着安装了几遍都没有成功。最终在贴吧一个老哥的帖子里找到了解决办法,但是老哥的帖子也不是很详细,所以做了这个详细版本的教程。 GT-suite v2016安装包: 链接:https://pan.baidu.com/s/1JZPgJ8_-J-L8rV84-eHedQ 提取码:uj...

kisssshot的博客 3万+

java基础知识_什么才是java的基础知识?

作者:晓风轻来源:https://zhuanlan.zhihu.com/p/28615617近日里,很多人邀请我回答各种j2ee开发的初级问题,我无一都强调java初学者要先扎实自己的基础知识,那什么才是java的基础知识?又怎么样才算掌握了java的基础知识呢?这个问题还真值得仔细思考。我做j2ee开发已经超过十载,作为过来人,心路历程估计和大家差不多。编码的前几年,很长一段时间觉得java简单...

weixin_39846898的博客 180

从零复刻平衡小车(基于STM32F1)

平衡小车(基于STM32F1)

Legendyyy的博客 5041

Java基础知识总结

Java基础知识总结 PDF版下载链接:《Java基础知识总结》。  一:java概述: 1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具和jre。 2,JRE:Java Runtime Environment,java程序的运行环境,java运行的所需的类库+JVM(java虚拟机)。 3,配置环境变量:让java

BriskLyer的博客 2877

搭建微信机器人的方案都在这了!

功能超级强大,虽不支持二次开发,但已有的功能足够个人使用,可惜官方作品已被腾讯告死,好在市面上还流落着不少破解版,有需要的自行搜索。可惜的是,微信官方已不准许新的微信号再使用 web 登录,这就直接从源头扼杀了 web 协议的微信机器人,虽说老的微信号还是能凑合着用,不过部分功能也受限。所以,这些都属于 PC 端的微信机器人。无论是 PC 端还是手机端,用 hook 方式实现的最大缺点就是要和某一个版本的微信客户端进行绑定,如果框架本身不对最新版本的微信适配,那使用的时候就无法升级到最新版本的微信。

weixin_47246330的博客 1万+

Keil5安装包别乱下!手把手教你从官网精准下载C51/V960和MDK5,并完成2032年有效注册(避坑网络资源失效)

本文详细介绍了如何从Keil官网安全下载C51 V9.60和MDK5开发环境,并提供2032年有效注册的完整指南。通过验证安装包完整性、自定义安装路径和长期激活方案,帮助开发者避开网络资源陷阱,搭建稳定的STM32开发环境。

weixin_26886855的博客 532

Java基础知识

标识符: 用来标识类名、对象名、变量名、方法名、类型名、数组名、文件名的有效字符序列。合法的标识符:关键字:Java语言中已经赋予了特定含义的变量:程序运行期间可以被改变的量。在程序中使用变量,必须先创建它并为它取一个名字,并且指明它能够存储信息的类型,这称为“变量声明”,也叫容器的创建。变量的使用:Java 中的注释有三种:Java中的循环语句同c++与c中类似,共有三个for(初始化表达式;条件表达式;迭代语句) { 循环体语句; }whil

qq_62632865的博客 1756

华为OD技术面八股文_C++_02

汇总华为OD面试C++方面计数八股文真题,提供详细解答。

qq_45776114的博客 766

Java基础知识脑图总结

Java基础知识脑图总结 Java基础知识.png

疾风知劲草,智者必怀仁 377

Isaac Sim 入门教程(四)强化学习策略训练宇树人形机器人四足机器人示例

isaac_sim_policy_example Extension 是在 Isaac Sim 中部署 Isaac Lab 强化学习策略的一个框架和一组辅助函数。有关在 Isaac Sim 中训练和构建策略的详细信息,请访问在 Isaac Sim 中部署策略。该扩展程序默认已启用。如果被禁用,可在扩展管理器中搜索 isaacsim.robot.policy.example 重新启用。要运行下面的示例,请激活 “视窗”>“示例”>“机器人示例”,这将打开 “机器人示例 ”选项卡。

机器人控制与仿真应用 3926

【32】C# WinForm入门到精通 ——打开文件OpenFileDialog 【属性、方法、事件、实例、源码】

本文介绍了WinForm开发中OpenFileDialog控件的关键属性及其应用。OpenFileDialog是.NET Framework提供的文件对话框控件,主要用于选择、打开文件操作。文章详细讲解了11个核心属性:AddExtension(自动补全扩展名)、AutoUpgradeEnabled(外观升级)、CheckFileExists/CheckPathExists(文件/路径存在验证)、DefaultExt(默认扩展名)、DereferenceLinks(解析快捷方式)、FileName/File

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 1534

JAVA基础知识总结

java的基础知识总结

wei980704的博客 309

漫画安全HIDS、EDR、NDR、XDR

漫画安全HIDS、EDR、NDR、XDR

墨痕诉清风的博客 3446

JAVA基础知识图解

JAVA基础知识图解

qq_42895153的博客 219

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

java基础知识

JAVA 基础知识

Paradise丶GeMinI的博客 385

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

java基础知识总结

java 基础包含语法、面向对象,异常处理、文件操作等方面。

yvya_的博客 3169

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Java基础知识梳理

Java基础知识梳理上图的放大图

学习是快乐的~ 404

java基础知识二

java基础知识二

qq_44616158的博客 1764

Java基础知识思维导图

两套Java基础知识的思维导图

AthlenaA的博客 1280

【快速复习】Java 基础知识

Java 的基础知识,用于快速复习,突击面试。

2301_79732484的博客 1452

java反射基础知识总结

java反射基础知识总结

笔杆__的博客 339

java基础知识大纲

java基础知识图解

仰望与追逐的博客 319

JAVA基础知识思维导图

JAVA基础知识思维导图

weixin_44459907的博客 375

JAVA SE 基础知识框架

JAVA SE 基础知识框架

不速之客的博客 285
上一篇: Java 阿里官方代码规范标准手册终极版下载
下一篇: Android 全面解析 Handler 异步消息处理机制
QDJdeveloper
博客等级 码龄11年 108粉丝 49原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值