上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 19 下一页
摘要: 题⽬描述 把⼀个数组最开始的若⼲个元素搬到数组的末尾,我们称之为数组的旋转。 输⼊⼀个⾮递减排序的数组的⼀个旋转,输出旋转数组的最⼩元素。 例如数组 {3,4,5,1,2} 为 {1,2,3,4,5} 的⼀个旋转,该数组的最⼩值为 1 。 NOTE:给出的所有元素都⼤于 0 ,若数组⼤⼩为 0 ,请 阅读全文
posted @ 2025-06-26 09:00 程序员Seven 阅读(3014) 评论(0) 推荐(0)
摘要: 题⽬描述 ⽤两个栈来实现⼀个队列,完成队列的 Push 和 Pop 操作。 队列中的元素为 int 类型。 思路及解答 栈的特性是先进后出 队列的特性是先进先出 有两个栈 stack1 , stack2 ; 如果有新的数据进⼊,那么我们可以直接 push 到 stack1 ; 如果需要取出数据,那么 阅读全文
posted @ 2025-06-25 09:00 程序员Seven 阅读(69) 评论(0) 推荐(0)
摘要: 题⽬描述 输⼊某⼆叉树的前序遍历和中序遍历的结果,请重建出该⼆叉树。假设输⼊的前序遍历和中序遍历的结果中都不含重复的数字。例如输⼊前序遍历序列{1,2,4,7,3,5,6,8} 和中序遍历序列{4,7,2,1,5,3,8,6} ,则重建⼆叉树并返回。 思路及解答 递归解决 看上⾯的图⽚,⾸先数据保证 阅读全文
posted @ 2025-06-24 09:00 程序员Seven 阅读(44) 评论(0) 推荐(0)
摘要: 类加载指的是把类加载到 JVM 中。把二进制流存储到内存中,之后经过一番解析、处理转化成可用的 class 类 二进制流可以来源于 class 文件,或通过字节码工具生成的字节码或来自于网络。只要符合格式的二进制流,JVM 来者不拒。 虚拟机遇到⼀条 new 指令时,⾸先将去检查这个指令的参数是否能 阅读全文
posted @ 2025-06-24 09:00 程序员Seven 阅读(280) 评论(0) 推荐(1)
摘要: JVM内存结构分为5大区域,程序计数器、虚拟机栈、本地方法栈、堆、方法区。 程序计数器是什么? 特点: 线程私有 CPU会为每个线程分配时间片,当当前线程的时间片使用完以后,CPU就会去执行另一个线程中的代码 程序计数器是每个线程所私有的,当另一个线程的时间片用完,又返回来执行当前线程的代码时,通过 阅读全文
posted @ 2025-06-19 09:00 程序员Seven 阅读(421) 评论(0) 推荐(3)
摘要: 题目描述 输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回)。 如输入{1,2,3}的链表如下图: 返回一个数组为[3,2,1] 0 <= 链表长度 <= 10000 示例1 输入: {1,2,3} 返回值: [3,2,1] 示例2 输入: {67,0,24,58} 返回值: 阅读全文
posted @ 2025-06-17 09:00 程序员Seven 阅读(31) 评论(0) 推荐(0)
摘要: 什么是CAS? CAS全称Compare And Swap,比较与交换,是乐观锁的主要实现方式。CAS在不使用锁的情况下实现多线程之间的变量同步。ReentrantLock内部的AQS和原子类内部都使用了CAS。 CAS算法涉及到三个操作数: 需要读写的内存值V。 进行比较的值A。 要写入的新值B。 阅读全文
posted @ 2025-06-16 09:00 程序员Seven 阅读(405) 评论(1) 推荐(1)
摘要: 题目描述 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为"We Are Happy",则经过替换之后的字符串为"We%20Are%20Happy"。 思路及解答 调⽤API函数 java ⾥⾯有可以直接使⽤的函数replace() ,直接写成下⾯这样即可通过。 public 阅读全文
posted @ 2025-06-13 09:00 程序员Seven 阅读(62) 评论(0) 推荐(0)
摘要: 简要回答 execute只能提交Runnable类型的任务,无返回值。submit既可以提交Runnable类型的任务,也可以提交Callable类型的任务,会有一个类型为Future的返回值,但当任务类型为Runnable时,返回值为null。 execute在执行任务时,如果遇到异常会直接抛出, 阅读全文
posted @ 2025-06-12 09:00 程序员Seven 阅读(407) 评论(0) 推荐(1)
摘要: 这段时间各种AI名词一波接一波的冲击着我的屏幕,Agent,MCP,FunctionCalling,RAG,它们都是什么东西 有人说Agent是智能体,那智能体又是什么呢? 有人说MCP是AI时代的USB协议,那么它可以接U盘吗? 它们到底都是什么意思? Prompt 2023年,OpenAI则刚发 阅读全文
posted @ 2025-06-10 09:00 程序员Seven 阅读(268) 评论(0) 推荐(1)
摘要: 简要回答 线程池是一种池化技术,用于预先创建并管理一组线程,避免频繁创建和销毁线程的开销,提高性能和响应速度 它几个关键的配置包括:核心线程数、最大线程数、空闲存活时间、工作队列、拒绝策略 主要工作原理如下: 当线程池里存活的线程数小于核心线程数corePoolSize时,这时对于一个新提交的任务, 阅读全文
posted @ 2025-06-09 09:00 程序员Seven 阅读(523) 评论(2) 推荐(4)
摘要: 题目描述 在⼀个⼆维数组中(每个⼀维数组的⻓度相同),每⼀⾏都按照从左到右递增的顺序排序,每⼀列都按照从上到下递增的顺序排序。请完成⼀个函数,输⼊这样的⼀个⼆维数组和⼀个整数,判断数组中是否含有该整数。 例⼦,输⼊⼀个数组: num[3][4] = [ 1 , 4 , 6 , 28 , 2 , 7 阅读全文
posted @ 2025-06-06 09:00 程序员Seven 阅读(76) 评论(0) 推荐(0)
摘要: 力扣链接 题意 给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输入: [3,2,1,5,6,4], k = 2 输出: 阅读全文
posted @ 2025-06-05 09:00 程序员Seven 阅读(96) 评论(0) 推荐(0)
摘要: 回答重点 synchronized 实现原理依赖于JVM 的 Monitor(监视器锁)和对象头(Object Header) synchronized 修饰代码块:会在代码块的前后插入 monitorenter 和 monitorexit 指令。可以把 monitorenter理解为加锁,moni 阅读全文
posted @ 2025-06-04 09:00 程序员Seven 阅读(399) 评论(0) 推荐(2)
摘要: find命令 - 根据路径和条件搜索指定文件 ind命令的功能是根据给定的路径和条件查找相关文件或目录,其参数灵活方便,且支持正则表达式,结合管道符后能够实现更加复杂的功能,是Linux系统运维人员必须掌握的命令之一。 find命令通常进行的是从根目录(/)开始的全盘搜索,有别于whereis、wh 阅读全文
posted @ 2025-06-03 09:00 程序员Seven 阅读(655) 评论(1) 推荐(2)
摘要: 多线程环境下,使用Hashmap进行put操作会造成数据覆盖,应该使用支持多线程的 ConcurrentHashMap。 HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进行put操作,调用了HashMap的putVal(),具体原因: 假设两个线程A、B都在进行put操作 阅读全文
posted @ 2025-05-30 09:00 程序员Seven 阅读(377) 评论(0) 推荐(1)
摘要: 题目描述 输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回)。 如输入{1,2,3}的链表如下图: 返回一个数组为[3,2,1] 0 <= 链表长度 <= 10000 示例1 输入: {1,2,3} 返回值: [3,2,1] 示例2 输入: {67,0,24,58} 返回值: 阅读全文
posted @ 2025-05-29 09:00 程序员Seven 阅读(70) 评论(0) 推荐(0)
摘要: cat命令 - 在终端设备上显示文件内容 cat命令来自英文词组concatenate files and print的缩写,其功能是在终端设备上显示文件内容。在Linux系统中有很多用于查看文件内容的命令,例如more、tail、head等,每个命令都有各自的特点。cat命令适合查看内容较少的纯文 阅读全文
posted @ 2025-05-27 09:00 程序员Seven 阅读(495) 评论(0) 推荐(0)
摘要: MV命令 - 移动或改名文件 mv命令来自英文单词move的缩写,中文译为“移动”,其功能与英文含义相同,能够对文件进行剪切和重命名操作。这是一个被高频使用的文件管理命令,需要留意它与复制命令的区别。cp命令是用于文件的复制操作,文件个数是增加的,而mv则为剪切操作,也就是对文件进行移动(搬家)操作 阅读全文
posted @ 2025-05-26 09:00 程序员Seven 阅读(226) 评论(0) 推荐(0)
摘要: 假设有一个 1G 大的 HashMap,此时用户请求过来刚好触发它的扩容.那么当前用户请求会被阻塞,因为 HashMap的底层是基于数组+链表(红黑树)来实现的,一旦它发生扩容,就需要新增一个比之前大2倍的数组,然后将元素copy到新的数组上 那么如何优化呢? 简要回答 此时可以借鉴 Redis 的 阅读全文
posted @ 2025-05-23 09:00 程序员Seven 阅读(136) 评论(0) 推荐(0)
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 19 下一页