首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏刷题笔记

    Java高频面试题笔记

    本文链接:https://blog.csdn.net/shiliang97/article/details/103171069 额,java学校的课刚结课,发现我啥也不会,正好,学习一下java的面试常考题

    45210发布于 2019-12-03
  • 来自专栏宇宙之_一粟

    Java高频面试题 -- 静态

    由于它不是在Java中按对象定义的,因此可以节省内存。 2. 为什么用Java创建静态变量不是一个好习惯? 答:静态变量是类的所有对象共有的。 如果创建了新对象,则无需测试静态变量的值。 Java中静态方法的目的? 答:Java提供了静态方法的功能来在类级别创建行为。 静态方法是类的所有对象所共有的。 我们不需要创建类的任何对象来调用静态方法。 为什么在Java中将main方法标记为静态方法? 答:Java中的main方法被标记为静态,因此JVM可以调用它来启动程序。 如果main方法不是静态的,那么Java进程将调用哪个构造函数? 因此,在Java中将主要方法标记为静态是众所周知的约定。 但是,如果我们去除static,那将会有歧义。 Java进程可能不知道要调用哪个类的方法来启动程序。 答:不,从Java 7开始,您需要main()方法来执行程序。 在Java的早期版本中,有一种解决方法可用于使用静态块执行。 但是现在这个差距已经缩小。 7.

    71921发布于 2020-10-26
  • 来自专栏宇宙之_一粟

    Java高频面试题----继承

    2. 解释一下继承的概念 3. Java中所有类的父类是什么? 4. 为什么Java不支持多重继承? 5. 在面向对象的概念中,“组成”是什么意思? 为什么Java中没有指针? 8. 为什么Java中没有指针的概念,然而我们还是会得到空指针异常NullPointerException? 9. super关键字的作用? 答:不可以,Java不允许在构造函数中一起使用super()和this()方法。 根据Java规范,super()或this()方法必须是构造函数中的第一条语句。 11. Java中的对象克隆是什么意思? 答:Object.clone()方法用来在Java中创建一个对象的拷贝。它的行为就像一个复制构造函数。

    59121发布于 2020-10-26
  • 来自专栏程序源代码

    【程序源代码】java 每日高频面试题【day2

    “ 关键字: java 学习 每日 高频 面试题 每日高频面试题 ,一起冲进大厂" 导读: 大家好,我是程序源代码,算算入行的时候我已算入行10以上的老兵了,毕业在北京北漂8年,13年回到省会石家庄 所以这个暑假(虽然我没有暑假)我准备用60天时间,把Java面试中的面试题看一看,从头复习一遍。计划是每天1-3题的形式学一遍(希望自己能坚持下来)。   JDK:Java Development Kit 的简称,可以理解成Java 开发工具包,它提供了 Java 的开发环境和运行环境。 JRE:Java Runtime Environment 的简称,可以理解成Java 运行环境,它为 Java 的运行提供了所需环境。 具体来说 JDK 其实包含了 JRE,同时还包含了编译 Java 源码的编译器 Javac,还包含了很多 Java 程序调试和分析的工具(jconsole)。

    50240发布于 2021-07-16
  • 来自专栏宇宙之_一粟

    Java高频面试题——基础篇

    Java高频基础面试题 1. JDK和JRE有什么区别? JDK:Java Development Kit的简称,Java开发工具包,它提供了Java程序的开发环境和运行环境,同时包括编译Java程序的编译器和调试器。 JRE:Java Runtime Environment的简称,Java运行环境,JRE提供Java程序运行所需的环境(运行库和JVM,不包括编译器),注:JDK工具包括JRE。 2. 什么是Java Virtual Machine(JVM)? Java Virtual Machine(JVM)是一个抽象的计算机,能够执行Java字节码。能针对不同的软件和硬件提供不同的JVM。 Java 编译器将 Java 程序编译成虚拟机能够识别的二进制代码,这种代码称为字节码(Bytecode)。

    43931发布于 2020-10-26
  • 来自专栏Java经验之谈

    Java高频面试题- 每日三连问?【Day2】 — Redis篇2

    2、AOF--Append Only File: 将Redis执行的每次写命令记录到单独的日志文件中,当重启Redis会重新将持久化的日志中文件恢复数据。 ? 优点: 1、绝大部分请求是纯粹的内存操作(非常快速) 2、采用单线程,避免了不必要的上下文切换和竞争条件 3、非阻塞IO优点: 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是

    52020发布于 2021-08-17
  • 来自专栏波波烤鸭

    Java面向对象高频面试题

      金三银四正是跳槽涨薪的好时节,波哥给大家整理了很多面试高频的问题,助力大家找到更好的工作哦,点点关注,感谢支持。 面向对象面试题 1.谈谈你对面向对象思想的理解? java中不支持多继承,一个类最多只能有一个父类。而在java中多继承是通过接口实现的。 (-IntegerCache.low)]; // 否则创建一个新的Integer对象 return new Integer(i); }   提醒:越是貌似简单的面试题 用最有效的方法计算2乘以8?   2 << 3(左移3位,相当于乘以2的3次方) 11. 构造器是否可以被重写?   构造器不能被继承,因此是不能被重写的,但是我们可以重载构造器 12. ; import java.util.Date; /** * 原型类:被克隆的类型 * 深度克隆测试 * @author dengp * */ public class User2 implements

    57830编辑于 2022-04-13
  • 来自专栏宇宙之_一粟

    Java高频面试题----面向对象篇

    抽象(Abstraction) 封装(Encapsulation) 继承(Inheritance) 多态(Polymoriphism) 2. 面向对象编程语言和基于对象编程语言有什么区别? 在Java中,定义为对象中的实例变量的对象引用的默认值是什么? Java中所有的实例变量的对象引用默认为null。 4. 为什么需要构造器? 默认情况下,Java为每个对象提供默认的构造函数。如果我们重载了一个构造函数,那么必须实现这个默认的构造函数。 5. 为什么Java类中需要默认构造器? Java中的构造器返回的值是什么? 答:当我们用Java调用构造函数时,它返回由它创建的对象。这就是我们用Java创建新对象的方式。 7. 构造函数可以继承吗? 为什么Java类中需要默认构造器? 如果没有定义其他构造函数,则默认构造函数是Java会自动生成的无参构造函数。 根据Java规范,如果类中没有重载的构造函数,它将提供一个默认的构造函数。

    59041发布于 2020-10-26
  • 来自专栏呱牛笔记

    腾讯 Java 高频面试题详解总结(转)

    2、当final关键字修饰方法时 当一个方法被final关键字修饰时,则父类的该方法不能被子类所覆盖。《Java编程思想》中提到: 使用final方法的原因有两个。 参考资料:  《Java编程思想》 ▲ 14 Java 线程和操作系统的线程是怎么对应的?Java线程是怎样进行调度的? ▲ 8 简述 Spring AOP 的原理 ▲ 6 简述 synchronized,volatile,可重入锁的不同使用场景及优缺点 ▲ 2 简述 Java 的 happen before 原则 什么是 2)两个操作之间存在happens-before关系,并不意味着Java平台的具体实现必须要按照happens-before关系指定的顺序来执行。 MySingleton2a.getInstance(); System.out.println("第二次取得实例(改进懒汉式)"); MySingleton2a s2 = MySingleton2a.getInstance

    70520编辑于 2023-05-02
  • 来自专栏项目文章

    15道大厂Java高频面试题(一)

    2Java有⼏种数据类型 Java 中有 8 种基本数据类型: byte:8 位整数,范围 -128 到 127。 short:16 位整数,范围 -32,768 到 32,767。 int:32 位整数,范围 -2^31 到 2^31-1。 long:64 位整数,范围 -2^63 到 2^63-1。 float:32 位浮点数,符合 IEEE 754 标准。 public static void main(String[] args) { Animal animal1 = new Dog(); Animal animal2 = new Cat(); animal1.makeSound(); // 输出 Dog barks animal2.makeSound(); // 输出 Cat meows } } 在这个例子中,animal1 和 animal2 都是 Animal 类型的引用,但它们实际指向 Dog 和 Cat 对象,因此调用 makeSound 方法时会有不同的输出

    75610编辑于 2024-11-17
  • 来自专栏从流域到海域

    Java面试高频面试题汇总 IO专题

    Java中的I/O模型 在JDK1.4之前,基于Java的所有socket都是使用阻塞I/O(BIO),JDK1.4提供了非阻塞I/O(NIO)功能,虽然称为NIO但实际上底层模型是I/O多路复用, 在Java1.4中引入了NIO框架,对应java.nio包,提供了Channel,Selector,Buffer等抽象。它支持面向缓冲,基于通道的I/O操作方法。 AIO(Asynchronous I/O):AIO也就是NIO 2,与Java1.7中引入,它是异步非阻塞的IO模型。

    65030发布于 2020-09-18
  • 来自专栏宇宙之_一粟

    Java高频面试题——基础篇(继续更新)

    Java高频面试题——基础篇 3. JVM会分配哪些不同类型的内存区域? 在Java中,JVM将内存分配给不同的进程,方法和对象。 程序计数寄存器:该存储区包含当前正在执行的Java虚拟机指令的地址。 本地方法栈:该区域保留用于应用程序中使用的所有本机方法。 4. 什么是JIT? 即时编译器(Just In Time,也称为JIT编译器)用于提高Java的性能。 默认情况下启用。 它是在执行时(而不是更早)完成的。 Java通过将JIT编译器包含在JVM中来普及其使用。 Java平台与其他平台有何不同? Java是与平台无关的语言。 Java编译器将Java代码转换为可由JVM解释的字节代码。 JVM为世界上几乎所有流行的平台编写。 Java字节码可以相同的方式在任何受支持的平台上运行。 与其他语言一样,需要为特定平台编译的库才能运行。

    48841发布于 2020-10-26
  • 来自专栏项目文章

    15道大厂Java高频面试题(二)

    catch (IOException | ClassNotFoundException e) { e.printStackTrace(); } } } 2、 String s1 = "hello"; String s2 = "world"; // 字符串常量池中的内容 String s3 = // 由于字符串常量池中已经存在"hello",所以s1和s2引用的是同一个对象 System.out.println(s1 == s2); // 输出: true 比较引用 System.out.println(s1 == s2); // 输出: true,因为s1和s2指向字符串常量池中的同一个对象 System.out.println (p1.hashCode() == p2.hashCode()); // 输出: true } } 15、介绍一下hashcode() hashCode() 方法是Java中的一个非常重要的方法

    78920编辑于 2024-11-26
  • 来自专栏从流域到海域

    Java面试高频面试题汇总 锁专题

    Java的ReentrantLock和synchronized都是可重入锁。 公平锁和非公平锁 公平锁(Fair) 加锁前检查是否有排队等待的线程,优先排队等待的线程,先到先得。 Java中的synchronized是非公平锁,ReentrantLock默认的lock方法采用的是非公平锁。 Java读写锁有对应的接口java.concurrent.locks.ReadWriteLock,也有具体的实现ReentrantReadWriteLock。 共享锁和独占锁 java并发包提供的加锁模式分为共享锁和独占锁。 独占锁 独占锁模式下,每次只能有一个线程能持有锁,ReentrantLock就是以独占方式实现的互斥锁。 java的并发包提供了ReadWriteLock,读-写锁。它允许一个资源可以被多个读操作访问。

    1.2K30发布于 2020-09-18
  • 来自专栏宇宙之_一粟

    Java高频面试题----static关键字

    由于它不是在Java中按对象定义的,因此可以节省内存。 2. 为什么在Java中创建静态变量不是一个好习惯? 答:静态变量是类的所有对象共有的。 如果创建了新对象,则无需测试静态变量的值。 讲一下Java静态方法的作用? 答:Java提供了静态方法的功能,可以在类级别创建行为。 静态方法是类的所有对象所共有的。 我们不需要创建类的任何对象来调用静态方法。 为什么在Java中将main方法标记为静态方法? 答:Java中的main方法被标记为静态,因此JVM可以调用它来启动程序。 如果main方法不是静态的,那么Java进程将调用哪个构造函数? 因此,在Java中将主要方法标记为静态static是众所周知的约定。 但是,如果我们去除static,那将会有歧义。 Java进程可能不知道要调用哪个类的方法来启动程序。 因此,此约定有助于Java进程识别类中作为参数传递给Java进程的程序的启动代码。 5. 在什么情况下我们使用静态块? 有时,有一个具有静态成员变量的类。 这些变量需要一些复杂的初始化。

    86441发布于 2020-10-26
  • 来自专栏宇宙之_一粟

    2020Java高频面试题--Java知识点汇总

    Java高频面试题 1. JDK和JRE有什么区别? JDK:Java Development Kit的简称,Java开发工具包,它提供了Java程序的开发环境和运行环境,同时包括编译Java程序的编译器和调试器。 JRE:Java Runtime Environment的简称,Java运行环境,JRE提供Java程序运行所需的环境(运行库和JVM,不包括编译器),注:JDK工具包括JRE。 2. Java编译器javac编译Java代码,而JVM java运行该代码。 javac HelloWorld.java java HelloWorld 7. Java中的类加载器是怎么工作的? 因此,它相当于2个字节。

    75151发布于 2020-10-26
  • 来自专栏Java经验之谈

    Java高频面试题- 每日三连问?【Day5】 — MyBatis篇2

    追问-2:一级缓存和二级缓存的使用顺序? 二、MyBatis的分页原理是什么? 三、MyBatis如何实现一对多复杂查询? 01 了解MyBatis的一级缓存、二级缓存吗? ? -- 二级缓存 --> </settings> 2、该select语句所在的Mapper,配置<cache> 或<cached-ref>节点 <mapper namespace="com.xxxx.dao.TaskDao select> </mapper> 3、该select语句的参数 useCache=true <select id="selectXXXX" resultMap="task" parameterType="<em>java</em>.util.Map " useCache="true"> 追问-2:一级缓存和二级缓存的使用顺序?

    65740发布于 2021-08-16
  • 来自专栏MySQL入坑记

    JAVA高频216道面试题+答案!!面试必备

      写在前面,这篇内容是从一位江湖高手那里得来的,可以说是我看到过的最全的一篇JAVA语言面试题+答案了!!哈哥花了一通宵整理了出来,包括每题的答案和有深度的扩展文章推荐。 本文JAVA面试相关的216到面试题我基本上消化掉了,放我手里太可惜,陈哈哈必须要开源出来,能帮一个是一个。   现在程序员找工作愈来愈难,打工人不易,只是希望让家里人过得好点,爹妈别这么累。 原因有三个:第一,我想为每一个为梦想时刻准备着的“有心人”,尽一份自己的力量,提供一份高度精华的 Java 面试清单;第二,目前市面上的面试题不是答案不准确就是内容覆盖面太窄,所以提供一份经典而又准确的面试题是非常有必要的 或许这份面试题还不足以囊括所有 Java 问题,但有了它,我相信你一定不会“败”的很惨,因为有了它,足以应对目前市面上绝大部分的 Java 面试了,因为这篇文章不论是从深度还是广度上来讲,都已经囊括了非常多的知识点了 简单来说:如果你需要运行 Java 程序,只需安装 JRE 就可以了,如果你需要编写 Java 程序,需要安装 JDK。 2. == 和 equals 的区别是什么?

    2.5K42发布于 2021-10-13
  • 来自专栏捡田螺的小男孩

    高频面试题Java程序占用 CPU 过高怎么排查

    这个问题可以说是 Java 面试的高频面试题了,有很多面试官都喜欢问这个问题,问题可能是下面这样的。 线上一台服务器 CPU 使用率100% 了,如果你碰到这样的情况,如何排查并找到问题原因? 排查步骤 第一步,使用 top 找到占用 CPU 最高的 Java 进程 在真实环境中,首先要确认是不是 Java 程序造成的,如果有系统监控工具,可能会直接在预警信息里告诉你是有哪个进程造成的,但也有可能不知道 如果是在面试场景中,这个问题可能不需要确认,毕竟 Java 面试,面试官可能直接就告诉你是 Java 占用的 CPU 过高。 使用 top命令发现占用 CPU 99.7% 的线程是 Java 进程,进程 PID 为 13731。 ,我们用jstack命令将第一步找到的 Java 进程的线程栈保存下来。

    1.7K30发布于 2021-01-27
  • 来自专栏Java架构师必看

    Java 基础高频面试题(2021年最新版)

    前言 网上的 Java 基础面试题文章有非常多,但是大部分都比较老了。 很多题目早已不是当前的热门题目,没有必要在这些题目上花太多时间。 很多答案放现在已经不准确,可能会误导新人。 因此,我花了几天时间整理了一些时下高频Java 基础题目,并反复斟酌,给出符合当前版本的解析。 Java 基础 Java 基础高频面试题(2021年最新版) 一道有意思的“初始化”面试题 集合(HashMap) Java 集合框架高频面试题(2021年最新版) 面试阿里,HashMap Mybatis 面试题:mybatis 中的 DAO 接口和 XML 文件里的 SQL 是如何建立关系的? 虚拟机面试题精选(二) Java虚拟机面试题精选(一) 分布式 面试必问的分布式锁,你懂了吗?

    88420发布于 2021-06-17
领券