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

    Java 面试高频问题之 JVM

    3.2 Java 中的对象引用 3.3 判断对象是否为垃圾 3.4 需要 GC 的内存区域 3.5 回收垃圾对象内存的算法 3.5 垃圾回收器 4. 若一个对象具有强引用,就 相当于生活中必备的物品,垃圾回收器绝对不会回收它,当内存空间不足时,JVM 宁愿抛出 OOM 错误,也不会随意回收具有强引用的对象来解决内存不足问题,因此强引用是造成 Java 由于使用的是 标记 - 清除算法,所以会 导致收集结束后产生大量空间碎片; G1 收集器 G1(Garbage-First)收集器是 面向服务器的垃圾回收器,主要针对配备多个处理器和大内存的机器,以极高频率满足 4. Java 类加载机制 JVM 把描述类的数据从 Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型,这就是虚拟机的类加载机制。 /p/5261a62e4d29

    47721发布于 2020-12-11
  • 来自专栏从流域到海域

    Java面试高频问题汇总 线程池专题

    Runnable接口和Callable接口的区别 Runnable自Java 1.0以来一直存在,但Callable仅在Java 1.5中引入,目的就是为了来处理Runnable不支持的用例。 线程池如何创建 《阿里巴巴Java开发手册》中强制线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式,这中强制要求的目的在于让写的同学更加明确线程池的运行规则,

    70520发布于 2020-09-18
  • 来自专栏从流域到海域

    Java面试高频知识点总结 part4

    整理自各种各样的面经、博客等,对问题的回答博主自身优化过。 Java为什么不支持多继承,使用多继承的坏处是什么? 钻石问题(菱形继承)所引发的二义性问题: 假设类B和类C都继承自类A,且都重写了类A的某一个方法,而现在又有类D继承自类A和类B,那么此时类D会继承B、C的该同名方法,那么类D继承的该方法究竟是来自类 这就是为什么Java利用接口来变相实现多重继承,接口中的方法都是未实现的,不会出现歧义问题Java中什么情况下会出现内存泄露? Java中有8种情况会出现内存泄露: 静态集合类:HashMap、LinkedList等。如果这些容器是静态的,那么它们的声明周期与程序一致,则容器中的对象在程序结束之前将不能被释放。 参考 java中内存泄露8种情况的总结

    41710发布于 2020-11-12
  • 来自专栏简尚

    Linux学习,高频问题

    21天打卡 ,从Linux服务器 及 Linux环境下部署,开始 。后续的多数打卡,基于Linux 环境 。

    69410发布于 2021-04-29
  • 来自专栏后端架构师

    面霸篇:高频 Java 基础问题(核心卷一)

    Lambda 允许把函数作为一个方法的参数(函数作为参数传递到方法中),使用 Lambda 表达式使代码更加简洁,但是也不要滥用,否则会有可读性等问题,《EffectiveJava》作者 JoshBloch 面向对象是模型化的,你只需抽象出一个类,这是一个封闭的盒子,在这里你拥有数据也拥有解决问题的方法。需要什么功能直接使用就可以了,不必去一步一步的实现,至于这个功能是如何实现的,管我们什么事? 这是面向对象编程的一种设计原则,对于每一种设计原则,我们需要掌握它的设计初衷,能解决哪些编程问题,有哪些应用场景。 Error 此类错误一般表示代码运行时 JVM 出现问题。通常有 Virtual MachineError(虚拟机运行错误)、NoClassDefFoundError(类定义错误)等。 对象引用类型 public static void main(String[] args) { int[] arr = { 1, 2, 3, 4, 5 }; System.out.println

    59811发布于 2021-09-15
  • 来自专栏程序源代码

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

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

    35330发布于 2021-08-10
  • 来自专栏从流域到海域

    面试Python高频问题汇总

    functools.wraps可以解决函数被装饰后__name__变量变成用于装饰的函数的问题

    58820发布于 2020-09-03
  • 来自专栏Java开发

    应届生面试高频 Java 基础问题及详细答案解析

    在整理过程中,我选取了Java基础中极为高频且关键的问题,涵盖数据类型、关键字、核心类等关键领域。不仅给出精准答案,还搭配简洁示例助你理解。希望这份总结能助力你从容应对面试。 应届生面试最爱问的几道Java基础问题(含答案) 一、Java有哪些数据类型? Java数据类型分为基本数据类型和引用数据类型。 若你还想补充更多Java基础问题,或者对答案的详细程度有新要求,都能随时告诉我 。 应届生,Java 面试,Java 基础,面试问题,面试答案,Java 集合,Java 多线程,JVM,Java 并发,Java 异常,Java IO,Java 反射,Java 注解,Java 常用类,Java 基础高频问题

    37810编辑于 2025-06-19
  • 来自专栏IT技术订阅

    dubbo+zk面试高频问题

    存在慢的提供者累积请求问题,比如:第二台机器很慢,但没挂,当请求调到第二台时就卡在那,久而久之,所有请求都卡在调到第二台上。 最少活跃调用数 相同活跃数的随机,活跃数指调用前后计数差。 ** dubbo序列化:阿里尚未开发成熟的高效java序列化实现,阿里不建议在生产环境使用它 hessian2序列化(默认推荐):hessian是一种跨语言的高效二进制序列化方式。 java序列化:主要是采用JDK自带的Java序列化实现,性能很不理想。 【面试题】- Zookeeper分布式锁(文件系统、通知机制)** 有了zookeeper的一致性文件系统,锁的问题变得容易。锁服务可以分为两类,一个是保持独占 ,另一个是控制时序 。 4、注册watcher getData 、 exists 、 getChildren。 5、触发watcher create 、 delete 、 setData。

    57820编辑于 2022-06-23
  • 来自专栏labuladong的算法专栏

    高频面试系列:单词拆分问题

    先说句题外话,前文 动态规划核心框架详解 说,标准的动态规划问题一定是求最值的,因为动态规划类型问题有一个性质叫做「最优子结构」,即从子问题的最优解推导出原问题的最优解。 单词拆分 I 首先看下力扣第 139 题「单词拆分」: 函数签名如下: boolean wordBreak(String s, List<String> wordDict); 这是一道非常高频的面试题 找到一个单词匹配 s[i..i+len) // ... } } 设wordDict的长度为M,字符串s的长度为N,那么这段代码的最坏时间复杂度是O(MN)(for 循环O(M),Java 我们刚才以排列组合的视角思考这个问题,现在我们换一种视角,思考一下是否能够把原问题分解成规模更小,结构相同的子问题,然后通过子问题的结果计算原问题的结果。 再加上 Java 中用+拼接字符串的效率并不高,且还要消耗备忘录去存储所有子问题的结果,所以这个算法的时间复杂度并不比回溯算法低,依然是指数级别。

    98210编辑于 2022-09-01
  • 来自专栏IT杂谈学习

    Topk问题!(面试高频常考)

    前言 当你准备面试技术岗位时,经常会遇到一类问题,被称为Top-K问题。这些问题要求你找到数据集中的前K个最大或最小元素。这些问题出现在各种面试中,包括软件工程、数据科学和机器学习等领域。 这篇博客将为你提供有关Top-K问题的全面指南,包括常见的问题类型、解决方法以及一些面试技巧。 ️什么是Top-k问题? 在面试中,你可能会遇到多种Top-K问题的变体,这些问题要求你设计一个高效的算法来解决它们。 ️常见的Top-K问题类型 ☁️寻找Top-K最大元素 这是最常见的Top-K问题之一。 你可以使用哈希表或优先队列等数据结构来解决这个问题。 ️解决Top-K问题的方法 解决Top-K问题的方法主要是取决于问题类型和数据集的大小。 全篇总结 Top-K问题是技术面试中的常见问题,涉及多种类型的数据集和解决方法。通过理解问题类型、选择适当的数据结构和算法,以及经常练习编码,面试中便可以轻松地解决这些问题

    80810编辑于 2024-01-22
  • 来自专栏Java开发

    2025 年最新 Java 校招面试高频问题及详细答案汇总

    Java校招面试问题通常涵盖Java基础、并发编程、JVM、框架等方面,以下是一些常见问题及答案:Java基础Java语言有哪些特点?简单性:语法简洁,去除了C++中指针、多重继承等复杂易错特性。 ThreadLocal的原理和内存泄漏问题如何避免?原理:每个线程持有独立的ThreadLocalMap,Key为弱引用的ThreadLocal对象。 ├── Book.java│ └── BookService.java└── book.impl/ ├── module-info.java 示例:筛选和转换数据import java.util.Arrays;import java.util.List;import java.util.Map;import java.util.stream.Collectors ", "Joshua Bloch"), new Book("4", "Clean Code", "Robert C.

    55810编辑于 2025-06-26
  • 来自专栏Java开发

    应届生面试高频 Java 基础问题及实操示例详解

    一、Java数据类型有哪些?Java数据类型分为基本数据类型和引用数据类型。基本数据类型:整数类型:byte(1字节)、short(2字节)、int(4字节)、long(8字节)。 浮点类型:float(4字节,需在字面量后加f或F,如float f = 3.14f;)、double(8字节,如double d = 3.1415926;)。 StaticImportExample { public static void main(String[] args) { double result = sqrt(pow(3, 2) + pow(4, 实操示例:使用Java NIO.2 API进行文件操作Java 7引入了NIO.2 API,提供了更简洁、更高效的文件操作方式:import java.io.IOException;import java.nio.file.Files 应届生,Java 面试,Java 基础,面试高频问题Java 集合,Java 多线程,Java 异常处理,Java 并发编程,JVM,Java IO,NIO,Spring 基础,MySQL, 数据结构

    24110编辑于 2025-06-19
  • 来自专栏Python爬虫与算法进阶

    【面试高频问题】线程、进程、协程

    并发解决了程序排队等待的问题,如果一个程序发生阻塞,其他程序仍然可以正常执行。 不过线程和线程之间由于某些资源是独占的,会导致锁的问题。例如Python的GIL多线程锁。 协程的好处: 无需线程上下文切换的开销 无需原子操作锁定及同步的开销 方便切换控制流,简化编程模型 高并发+高扩展性+低成本:一个CPU支持上万的协程都不是问题。所以很适合用于高并发处理。

    1.8K20发布于 2019-06-17
  • 来自专栏DPDK VPP源码分析

    带你应付TCPUDP高频面试问题

    有点措手不及,很多知识点都没有来得及准备,而在面试中经常被问到TCP和UDP的一些细节问题。于是就有了本篇文章的总结。是参考和复制了很多前辈的总结。希望准备跳到互联网公司的程序员都能顺利通过面试。 扩散问题: 既然 IP 层会分片,为什么 TCP 层还需要 MSS 呢? 4. #编辑内核文件/etc/sysctl.conf,加入以下内容: net.ipv4.tcp_syncookies = 1 表示开启SYN Cookies。 当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭; net.ipv4.tcp_tw_reuse = 1 表示开启重用。

    70420编辑于 2023-03-07
  • 来自专栏前端时空

    高频前端开发面试问题

    每个domain最多只能有20条cookie,每个cookie长度不能超过4KB,否则会被截掉。 2.安全性问题。如果cookie被人拦截了,那人就可以取得所有的session信息。 YUI Compressor 是一个用来压缩 JS 和 CSS 文件的工具,采用Java开发。 使用方法: //压缩JS java -jar yuicompressor-2.4.2.jar --type js --charset utf-8 -v src.js > packed.js //压缩CSS java -jar yuicompressor-2.4.2.jar --type css --charset utf-8 -v src.css > packed.css 详情请见:你需要掌握的前端代码性能优化工具 2、安全问题 AJAX暴露了与服务器交互的细节。 3、对搜索引擎的支持比较弱。 4、破坏了程序的异常机制。 5、不容易调试。

    1.9K10编辑于 2022-09-22
  • 来自专栏面试经验贴

    分享13个高频面试问题

    本科/研究生期间在实验室/实习单位参与了XX项目,是否上线,担任什么角色,解决什么问题,遇到过什么问题。另外,在本科期间/研究所期间参与校内XX活动(技术之外有点爱好,点到为止)。 2 请问你有什么优点缺点 这个问题还是比较坑的,别上来就是优点能干大事儿,缺点太热爱打游戏。。。 当领导一个社团或者一个小组的时候,又是会因为太过和善显得魄力不足;有时候不怎么会拒绝别人,以后得多多改善 3 你还有什么问题要问? 是了解你对工作的期许。 我是否需要做一些相应的准备工作,或者说在这段时间我该如何安排时间,请问有什么建议吗 请问公司的工作时间一般是怎样得z 实习(使用)期间的考核标准是怎样的 公司架构和工作架构也可以了解 公司发展和规划(有发展我们也就有发展) 4 我当初面试滴滴的时候被问了这个问题,我说完以后,HR马上来一句,如果你未来的主管是这样的性格怎么办?OMG,? 7 你最擅长的技术方向是什么?

    85210发布于 2020-06-05
  • 来自专栏宇宙之_一粟

    Java高频面试题 -- 静态

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

    62221发布于 2020-10-26
  • 来自专栏csdn

    Java高频面试之集合篇

    Java 中常用的容器有哪些? ArrayList 和 LinkedList 的区别? ArrayList 是基于数组实现的,LinkedList 是基于链表实现的. } ArrayList从集合头部位置新增元素花费的时间415 LinkedList从集合头部位置新增元素花费的时间12 从中间开始插 public static void addFromMidTest4ArrayList /** * 1.计算新容量 * 2.计算新阈值 * 3.根据新容量创建新数组,并将新数组赋值给table * 4.将老数组中的元素转移到新数组 */ final HashMap.Node<K, 为了利用&运算计算节点在数组中的下标 HashMap 多线程死循环问题? HashMap 的 get 方法能否判断某个元素是否在 map 中? 4.

    21610编辑于 2024-04-10
  • 来自专栏Java经验之谈

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

    问题导读 一、MyBatis中的#{}和${}有哪些区别? 二、你常用的MyBatis标签有哪些? 正经回答: -- #{} <select id="userLogin" parameterType="<em>java</em>.util.Map" resultMap="userResMap"> select id, 4、<set> set标签一般用在update语句中,set标签与where标签类似,当我们在update语句里碰到多个字段相关的问题。 不同点 1、映射关系 MyBatis 是一个半自动映射的框架,配置Java对象与sql语句执行结果的对应关系,多表关联关系配置简单 Hibernate 是一个全表映射的框架,配置Java对象与数据库表的对应关系 每日小结 今天我们复习了面试中常考的Mybatis三个问题,你做到心中有数了么? 对了,如果你的朋友也在准备面试,请将这个系列分享给他,如果他认真对待,肯定会感谢你的!!

    58750发布于 2021-08-16
领券