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

    Java 面试高频问题之 JVM

    GC 机制 推荐阅读: 深入理解 JVM 的内存结构及 GC 机制[1] JVM 垃圾回收[2] 浅析 JAVA 的垃圾回收机制(GC)[3] 3.1 什么是 GC? 若一个对象具有强引用,就 相当于生活中必备的物品,垃圾回收器绝对不会回收它,当内存空间不足时,JVM 宁愿抛出 OOM 错误,也不会随意回收具有强引用的对象来解决内存不足问题,因此强引用是造成 Java 优点:解决了 标记-清理 算法存在的内存碎片问题; 缺点:仍需要进行局部对象移动,一定程度上降低了效率; ? 由于使用的是 标记 - 清除算法,所以会 导致收集结束后产生大量空间碎片; G1 收集器 G1(Garbage-First)收集器是 面向服务器的垃圾回收器,主要针对配备多个处理器和大内存的机器,以极高频率满足 JVM 调优 6.1 JVM 调优常用参数 -Xms2g:初始化堆大小为 2g -Xmx2g:堆最大内存为 2g -XX:NewRatio=4:设置年轻和老年代的内存比例为 1:4 -XX:SurvivorRatio

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

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

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

    70520发布于 2020-09-18
  • 来自专栏简尚

    Linux学习,高频问题

    1、弄一个Linux环境 可 模拟器、可虚拟机、可云服务器、可Mac 但,未接触的新人,分不清差异性 参考文章 http://istester.com/linux/384.html 2、部署Mysql 星球帖子,见 https://t.zsxq.com/Fyvn2Z3 https://t.zsxq.com/vVjeM37 https://t.zsxq.com/qnu3FiE 3、对Linux命令不熟悉 参考文章 21天,搞定软件测试从业者必备的Linux命令(完整篇) 最后, 给大家的建议 https://t.zsxq.com/AIIyBI2 这几年的实践结果,21天打卡,通过 题目设计、打卡环境建设

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

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

    = 127; Integer b2 = 127; System.out.println(a2 == b2); // true } 面向对象 ❝面向对象与面向过程的区别是什么? 这是面向对象编程的一种设计原则,对于每一种设计原则,我们需要掌握它的设计初衷,能解决哪些编程问题,有哪些应用场景。 Error 此类错误一般表示代码运行时 JVM 出现问题。通常有 Virtual MachineError(虚拟机运行错误)、NoClassDefFoundError(类定义错误)等。 (num1, num2); System.out.println("num1 = " + num1); System.out.println("num2 = " + num2); } 因为,a、b 中的值,只是从 num1、num2 的复制过来的。 也就是说,a、b 相当于 num1、num2 的副本,副本的内容无论怎么修改,都不会影响到原件本身。

    59811发布于 2021-09-15
  • 来自专栏从流域到海域

    面试Python高频问题汇总

    functools.wraps可以解决函数被装饰后__name__变量变成用于装饰的函数的问题。 = myThread(2, "Thread-2", 2) # 开启新线程 thread1.start() thread2.start() thread1.join() thread2.join() print -1 Thread-2: Wed Apr 6 11:46:51 2016 Thread-2: Wed Apr 6 11:46:53 2016 Thread-2: Wed Apr 6 11:46:55 = myThread(2, "Thread-2", 2) # 开启新线程 thread1.start() thread2.start() # 添加线程到线程列表 threads.append(thread1 -1: Wed Apr 6 11:52:59 2016 Thread-2: Wed Apr 6 11:53:01 2016 Thread-2: Wed Apr 6 11:53:03 2016 Thread

    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
  • 来自专栏程序源代码

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

    “ 关键字: java 学习 每日 高频 面试题 每日高频面试题 ,一起冲进大厂" 导读: 大家好,我是程序源代码,算算入行的时候我已算入行10以上的老兵了,毕业在北京北漂8年,13年回到省会石家庄 JDK:Java Development Kit 的简称,可以理解成Java 开发工具包,它提供了 Java 的开发环境和运行环境。 JRE:Java Runtime Environment 的简称,可以理解成Java 运行环境,它为 Java 的运行提供了所需环境。 具体来说 JDK 其实包含了 JRE,同时还包含了编译 Java 源码的编译器 Javac,还包含了很多 Java 程序调试和分析的工具(jconsole)。 在安装JDK时我们一般会发现在安装好的目录下会有两个重要的文件夹bin、lib,其实bin文件夹就是java程序运行时环境、lib文件夹就是java程序运行时需要的资源。

    41640发布于 2021-07-16
  • 来自专栏IT技术订阅

    dubbo+zk面试高频问题

    存在慢的提供者累积请求问题,比如:第二台机器很慢,但没挂,当请求调到第二台时就卡在那,久而久之,所有请求都卡在调到第二台上。 最少活跃调用数 相同活跃数的随机,活跃数指调用前后计数差。 ** dubbo序列化:阿里尚未开发成熟的高效java序列化实现,阿里不建议在生产环境使用它 hessian2序列化(默认推荐):hessian是一种跨语言的高效二进制序列化方式。 java序列化:主要是采用JDK自带的Java序列化实现,性能很不理想。 【面试题】- Zookeeper分布式锁(文件系统、通知机制)** 有了zookeeper的一致性文件系统,锁的问题变得容易。锁服务可以分为两类,一个是保持独占 ,另一个是控制时序 。 2、watcher event异步发送watcher的通知事件从server发送到client是 异步 的,这就存在一个问题,不同 的客户端和服务器之间通过socket进行通信,由于 网络延迟或其他因素导致客户端在不通的时刻监听到事件

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

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

    单词拆分 I 首先看下力扣第 139 题「单词拆分」: 函数签名如下: boolean wordBreak(String s, List<String> wordDict); 这是一道非常高频的面试题 长度为N的字符串s中共有N - 1个「缝隙」可供切割,每个缝隙可以选择「切」或者「不切」,所以s最多有O(2^N)种切割方式,即递归树上最多有O(2^N)个节点。 找到一个单词匹配 s[i..i+len) // ... } } 设wordDict的长度为M,字符串s的长度为N,那么这段代码的最坏时间复杂度是O(MN)(for 循环O(M),Java 不过即便你优化这段代码,总的时间复杂度依然是指数级的O(2^N * N^2),是无法通过所有测试用例的,那么问题出在哪里呢? 再加上 Java 中用+拼接字符串的效率并不高,且还要消耗备忘录去存储所有子问题的结果,所以这个算法的时间复杂度并不比回溯算法低,依然是指数级别。

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

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

    前言 当你准备面试技术岗位时,经常会遇到一类问题,被称为Top-K问题。这些问题要求你找到数据集中的前K个最大或最小元素。这些问题出现在各种面试中,包括软件工程、数据科学和机器学习等领域。 void minHeapify(int arr[], int n, int i) { int smallest = i; int l = 2 * i + 1; int r = 2 * i + 2; if (l < n && arr[l] < arr[smallest]) smallest = l; if (r < n && arr[r] < minHeapify(arr, n, smallest); } } void buildMinHeap(int arr[], int n) { for (int i = n / 2 = 0; i < k; i++) printf("%d ", arr[i]); } int main() { int arr[] = {1, 23, 12, 9, 30, 2,

    80810编辑于 2024-01-22
  • 来自专栏Java经验之谈

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

    问题导读 一、你对Redis的持久化了解吗? 追问-1:能否说一下Redis持久化有几种方式? 二、聊一下Redis的内存淘汰机制吧 三、Redis为什么是单线程的? ? 2、AOF--Append Only File: 将Redis执行的每次写命令记录到单独的日志文件中,当重启Redis会重新将持久化的日志中文件恢复数据。 ? 优点: 1、绝大部分请求是纯粹的内存操作(非常快速) 2、采用单线程,避免了不必要的上下文切换和竞争条件 3、非阻塞IO优点: 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是

    41320发布于 2021-08-17
  • 来自专栏Java开发

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

    Java校招面试问题通常涵盖Java基础、并发编程、JVM、框架等方面,以下是一些常见问题及答案:Java基础Java语言有哪些特点?简单性:语法简洁,去除了C++中指针、多重继承等复杂易错特性。 ThreadLocal的原理和内存泄漏问题如何避免?原理:每个线程持有独立的ThreadLocalMap,Key为弱引用的ThreadLocal对象。 book.impl/com/example/book/impl/*.java# 运行应用java --module-path mods -m book.impl/com.example.book.impl.Main2 11 Basics", "John Doe"), new Book("2", "Spring Boot in Action", "Jane Smith"), 1] }}2.

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

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

    一、Java数据类型有哪些?Java数据类型分为基本数据类型和引用数据类型。基本数据类型:整数类型:byte(1字节)、short(2字节)、int(4字节)、long(8字节)。 实操示例:使用Java NIO.2 API进行文件操作Java 7引入了NIO.2 API,提供了更简洁、更高效的文件操作方式:import java.io.IOException;import java.nio.file.Files ;import java.nio.file.Path;import java.nio.file.Paths;import java.util.List;public class NIO2Example 10到Java 17的新特性,包括var关键字、Record类、静态导入、try-with-resources语句和NIO.2 API等。 应届生,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 呢? 客户端收到服务器的确认请求后,此时,客户端就进入FIN-WAIT-2(终止等待2)状态,等待服务器发送连接释放报文(在这之前还需要接受服务器发送的最后的数据)。 4. 为什么客户端最后还要等待2MSL? MSL(Maximum Segment Lifetime),报文的最长生命周期,默认是windows 2分钟,Linux 60s,可以进行设置。 ,接着给出回应报文,并且会重启2MSL计时器。

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

    高频前端开发面试问题

    解决方法: 使用CSS中的clear:both;属性来清除元素的浮动可解决2、3问题,对于问题1,添加如下样式,给父元素添加clearfix样式: .clearfix:after{content: `<iframe>`优点: 解决加载缓慢的第三方内容如图标和广告等的加载问题 Security sandbox 并行加载脚本 2. YUI Compressor 是一个用来压缩 JS 和 CSS 文件的工具,采用Java开发。 如何解决跨域问题? 详情请见:JavaScript学习总结(七)Ajax和Http状态字 1. 通过异步模式,提升了用户体验 2. 2、安全问题 AJAX暴露了与服务器交互的细节。 3、对搜索引擎的支持比较弱。 4、破坏了程序的异常机制。 5、不容易调试。

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

    分享13个高频面试问题

    个人简介 做了哪些项目,解决了什么问题 技术之外有点其他爱好也不错 做项目/实习的体会 未来期许 您好,我叫XX,本科毕业于XX,老家也是XX,现在是XX的研究生。 本科/研究生期间在实验室/实习单位参与了XX项目,是否上线,担任什么角色,解决什么问题,遇到过什么问题。另外,在本科期间/研究所期间参与校内XX活动(技术之外有点爱好,点到为止)。 2 请问你有什么优点缺点 这个问题还是比较坑的,别上来就是优点能干大事儿,缺点太热爱打游戏。。。 当领导一个社团或者一个小组的时候,又是会因为太过和善显得魄力不足;有时候不怎么会拒绝别人,以后得多多改善 3 你还有什么问题要问? 是了解你对工作的期许。 我当初面试滴滴的时候被问了这个问题,我说完以后,HR马上来一句,如果你未来的主管是这样的性格怎么办?OMG,? 7 你最擅长的技术方向是什么?

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

    Java高频面试题 -- 静态

    由于它不是在Java中按对象定义的,因此可以节省内存。 2. 为什么用Java创建静态变量不是一个好习惯? 答:静态变量是类的所有对象共有的。 如果创建了新对象,则无需测试静态变量的值。 Java中静态方法的目的? 答:Java提供了静态方法的功能来在类级别创建行为。 静态方法是类的所有对象所共有的。 我们不需要创建类的任何对象来调用静态方法。 为什么在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 是基于链表实现的. 为了利用&运算计算节点在数组中的下标 HashMap 多线程死循环问题? HashMap 的 get 方法能否判断某个元素是否在 map 中? 2. HashTable 是线程安全的,HashMap 不是。 3. HashMap 线程不安全,ConcurrentHashMap 线程安全. 2. 数组是 HashMap 的主体,链表则是为了解决哈希冲突而存在的; 2.

    21610编辑于 2024-04-10
  • 来自专栏csdn

    Java高频面试之Mysql篇

    mysql是一个c/s架构的数据库管理系统, 客户端可以是图形化界面,也可以是命令行或者java等程序 服务端由一下组成部分 连接管理器:管理连接,管理线程,验证身份,获取权限 缓存(sql字符串为key 那就只能先把最大空间分配好了,避免放不下的问题发生,这样实际上对于真实数据较短的varchar确实会造成空间的浪费。 InnoDB 默认隔离界别不会出现幻读演示 开启会话1->会话1读取->开启会话2->会话2插入一条数据->提交会话2->会话1读取(结果在会话2提交前后会话1读取到的是一致的) 会话1 mysql# MySQL 问题排查都有哪些手段? 重现问题:如果能够重现问题,可以通过创建测试环境并重现问题来进一步分析和调试。这可能需要使用适当的测试数据和配置,并且可能需要模拟特定的负载。 这些指标可以提供有关数据库负载、性能问题和资源利用情况的宝贵信息。 硬件和操作系统层面的排查:如果性能问题不仅限于 MySQL,还可能涉及硬件或操作系统层面的问题

    34510编辑于 2024-04-10
领券