首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏程序源代码

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

    其实我感觉大家应该和我一样,都想有进入大厂工作毕竟生活需要理想,还需要苟且(挣高工资),其实现在大厂并不是特别容易进,作为一名好多年的Java选手,其实我感觉进入大厂,首先要把自己的技术和面试这两个重要点做好 最近这几天我一直在看java相关的基础,也在看一些面试相关的资源和视频,其实感觉不管什么技术面试,其实基础是很重要的。 所以这个暑假(虽然我没有暑假)我准备用60天时间,把Java面试中的面试题看一看,从头复习一遍。计划是每天1-3题的形式学一遍(希望自己能坚持下来)。   主要涵盖的知识点我简单列了一下,计划从这些方面出发进行学:Java基础知识、集合容器、并发编程、JVM、Spring全家桶、MyBatis等ORMapping框架、MySQL数据库、Redis缓存、RabbitMQ 4、循环等待条件:多个线程相互等待对方释放资源 2、如何预防死锁? 采用trylock(timeout)方法,设置线程的超时时间,通过程序判断线程主动退出,主动进行判断如果不用资源后释放占有的资源。

    43630发布于 2021-08-10
  • 来自专栏刷题笔记

    Java高频面试题笔记

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

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

    Java高频面试题 -- 静态

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

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

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

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

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

    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高频面试题- 每日三连问?【Day4】 — MyBatis篇

    正经回答: -- #{} <select id="userLogin" parameterType="<em>java</em>.util.Map" resultMap="userResMap"> select id, username = #{username} and password = #{password} </select> -- ${} <select id="userLogin" parameterType="<em>java</em>.util.Map <em>4</em>、<set> set标签一般用在update语句中,set标签与where标签类似,当我们在update语句里碰到多个字段相关的问题。 不同点 1、映射关系 MyBatis 是一个半自动映射的框架,配置<em>Java</em>对象与sql语句执行结果的对应关系,多表关联关系配置简单 Hibernate 是一个全表映射的框架,配置<em>Java</em>对象与数据库表的对应关系

    68650发布于 2021-08-16
  • 来自专栏波波烤鸭

    Java面向对象高频面试题

      金三银四正是跳槽涨薪的好时节,波哥给大家整理了很多面试高频的问题,助力大家找到更好的工作哦,点点关注,感谢支持。 面向对象面试题 1.谈谈你对面向对象思想的理解? java中不支持多继承,一个类最多只能有一个父类。而在java中多继承是通过接口实现的。 √ √ √ × default √ √ × × private √ × × ×   重点注意protected和default,protected相比较default多了一个不同包下面的子类可见 4. 150; System.out.println(f1==f2); System.out.println(f3==f4); } 输出结果:true,false 原因解释 (-IntegerCache.low)]; // 否则创建一个新的Integer对象 return new Integer(i); }   提醒:越是貌似简单的面试题

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

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

    Java中,定义为对象中的实例变量的对象引用的默认值是什么? Java中所有的实例变量的对象引用默认为null。 4. 为什么需要构造器? 默认情况下,Java为每个对象提供默认的构造函数。如果我们重载了一个构造函数,那么必须实现这个默认的构造函数。 5. 为什么Java类中需要默认构造器? 答:如果没有其他构造器定义的话,Java类默认构造器都是自动创建的无参构造器。 Java规范声明,如果类中没有重载的构造函数,它将提供一个默认的构造函数。 Java中的构造器返回的值是什么? 答:当我们用Java调用构造函数时,它返回由它创建的对象。这就是我们用Java创建新对象的方式。 7. 构造函数可以继承吗? 为什么Java类中需要默认构造器? 如果没有定义其他构造函数,则默认构造函数是Java会自动生成的无参构造函数。 根据Java规范,如果类中没有重载的构造函数,它将提供一个默认的构造函数。

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

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

    4、初始size为16,扩容:newsize = oldsize*2,size一定为2的n次幂 5、扩容针对整个Map,每次扩容时,原来数组中的元素依次重新计算存放位置,并重新插入 6、插入元素后才判断该不该扩容 4.Generational Collection(分代收集)算法 分代收集算法是目前大部分JVM的垃圾收集器采用的算法。它的核心思想是根据对象存活的生命周期将内存划分为若干个不同的区域。 4.Parallel Old收集器 是Parallel Scavenge收集器的老年代版本(并行收集器),使用多线程和Mark-Compact算法。 参考资料:  《Java编程思想》 ▲ 14 Java 线程和操作系统的线程是怎么对应的?Java线程是怎样进行调度的? (4)传递性:如果A happens-before B,且B happens-before C,那么A happens-before C。

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

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

    1、JVM、JRE、JDK之间的关系 JVM(Java Virtual Machine) 定义:JVM 是 Java 虚拟机,它是 Java 程序能够在不同平台上运行的基础。 类库:包含了 Java 程序运行所需要的类和 API,如 java.lang、java.util 等。 其他支持文件:如配置文件、支持 Java 程序运行的其他资源等。 组成: JRE:包括了 JVM 和 Java 类库,提供 Java 程序的运行环境。 开发工具:包括 Java 编译器、调试器、打包工具等,用于开发、测试和部署 Java 应用程序。 4、基本类型和包装类型的区别 Java 中的基本类型和包装类型有以下区别: 存储方式 基本类型直接存储值,如 int 存储整数值。 包装类型是基本类型的对象包装,存储的是对基本类型值的引用。 内存占用 基本类型占用固定的内存空间,例如:int 占用 4 字节。 包装类型则由于是对象类型,除了存储值外,还需要额外的内存开销用于存储对象的元数据。

    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高频面试题(二)

    Java中,这意味着将对象的状态转换成字节流,以便可以将其持久化到磁盘或通过网络发送到其他JVM实例。要使Java对象可序列化,该对象的类需要实现java.io.Serializable接口。 main(String[] args) { List<String> myList = new ArrayList<>(); // 使用myList } } 4、 System.out.println(s3); // 输出 "helloworld" // 使用String.intern()方法 String s4 = new String("hello").interned(); System.out.println(s4); // 输出 "hello" // 检查 s1和s4是否在字符串常量池中相同 System.out.println(s1 == s4); // 输出 true } } 8、String底层用的什么类型?

    79020编辑于 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提供了静态方法的功能,可以在类级别创建行为。 静态方法是类的所有对象所共有的。 我们不需要创建类的任何对象来调用静态方法。 4. 为什么在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程序的编译器和调试器。 程序计数寄存器:该存储区包含当前正在执行的Java虚拟机指令的地址。 本地方法栈:该区域保留用于应用程序中使用的所有本机方法。 4. 什么是JIT? Java平台与其他平台有何不同? Java是与平台无关的语言。 Java编译器将Java代码转换为可由JVM解释的字节代码。 JVM为世界上几乎所有流行的平台编写。 Java编译器javac编译Java代码,而JVM java运行该代码。 javac HelloWorld.java java HelloWorld 7. Java中的类加载器是怎么工作的?

    75251发布于 2020-10-26
  • 来自专栏MySQL入坑记

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

      写在前面,这篇内容是从一位江湖高手那里得来的,可以说是我看到过的最全的一篇JAVA语言面试题+答案了!!哈哥花了一通宵整理了出来,包括每题的答案和有深度的扩展文章推荐。 4. final 在 Java 中有什么作用? 5. Java 中的 Math. round(-1. 5) 等于多少? 6. String 属于基础的数据类型吗? 7. 原因有三个:第一,我想为每一个为梦想时刻准备着的“有心人”,尽一份自己的力量,提供一份高度精华的 Java 面试清单;第二,目前市面上的面试题不是答案不准确就是内容覆盖面太窄,所以提供一份经典而又准确的面试题是非常有必要的 或许这份面试题还不足以囊括所有 Java 问题,但有了它,我相信你一定不会“败”的很惨,因为有了它,足以应对目前市面上绝大部分的 Java 面试了,因为这篇文章不论是从深度还是广度上来讲,都已经囊括了非常多的知识点了 4. final 在 Java 中有什么作用? final 修饰的类叫最终类,该类不能被继承。 final 修饰的方法不能被重写。

    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 基础题目,并反复斟酌,给出符合当前版本的解析。 内容 链接地址 面试经验分享 921天,从小厂到入职阿里 两年Java开发工作经验面试总结 4Java 经验,阿里网易拼多多面试总结、心得体会 5 年 Java 经验,字节、美团 基础 Java 基础高频面试题(2021年最新版) 一道有意思的“初始化”面试题 集合(HashMap) Java 集合框架高频面试题(2021年最新版) 面试阿里,HashMap 这一篇就够了 虚拟机面试题精选(二) Java虚拟机面试题精选(一) 分布式 面试必问的分布式锁,你懂了吗?

    88420发布于 2021-06-17
  • 来自专栏Swift社区

    Java 8 中 20 个高频面试题及答案

    这些新特性不仅增强了 Java 的开发效率和功能性,‌也为面试中的 Java 8 相关问题提供了丰富的素材。‌ 在本教程中,我将分享 20 个顶级的 Java 8 编码和编程面试题及答案。 这些问题的答案涵盖了 Java 8 中的一些核心特性和改进,‌对于理解 Java 8 的新特性和如何使用它们非常有帮助 20 道高频题 问题 1:给定一个整数列表,使用 Stream 函数找出列表中所有的偶数 -> System.out.println(noDuplicateData)); } 输出: 1, 85, 6, 2, 3, 65, 45, 5662, 2582, 266, 666, 656 问题4: = list.size(); } 输入: nums = [1,2,3,1] 输出: true 输入: nums = [1,2,3,4] 输出: false 问题 12:如何使用 Java 8 Date (String args[]) { List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5); List<Integer>

    71400编辑于 2024-07-29
领券