
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
单例模式的两种实现(饿汉模式简单安全,懒汉模式需双重检查+volatile保证线程安全)阻塞队列的特性及生产者消费者模型(解耦+削峰填谷的关键工具)阻塞队列的手动实现(基于锁和条件变量的经典并发编程实践)掌握这些基础知识,是深入学习多线程编程的基础。实际开发中,JDK提供了丰富的并发工具类(如等),理解其底层原理能帮助我们更好地运用它们解决实际问题。
拿到一道题,怎么判定用哪种双指针?看数组是否有序 / 能否排序如果数组是有序的,或者要求找满足某个数值关系的组合(如两数、三数之和、盛水容器)优先考虑模板一:左右夹逼指针。如果数组是无序的,且要求原地修改数组、删除特定元素、或者是在链表中(如判断环、找中点)优先考虑模板二:快慢同向指针。消灭无意义的嵌套:只要看到题目需要“通过两层循环不断比对两两元素”,就可以用两个指针对省掉一层for循环,将空间
定义:程序运行时偏离预期的非正常情况(如空指针、数组越界)与错误(Error)的区别:异常可处理,错误(如 OOM)通常无法恢复生活类比:用 “开车遇到爆胎(异常,可修复)” 和 “发动机报废(错误,无法修复)” 辅助理解场景:业务错误需要区分(如 “用户不存在异常”“余额不足异常”)实现步骤:继承 Exception(受检)或 RuntimeException(非受检)实现无参、带消息、带 ca
接口特性:List 是有序、可重复的线性表接口,继承自Collection。核心操作:支持通过下标进行增删改查,提供子列表视图等工具方法。实现类选择ArrayList适合查询,LinkedList适合频繁增删。下期将深入分析ArrayList与LinkedList的底层实现及性能差异。
同一个模型,在不同人手里,效果天差地别。有人能用它写出高质量的代码和研报,有人却只能得到废话连篇的回答。这其中的关键变量,就是提示词(Prompt)。提示词工程(Prompt Engineering)不仅仅是“说话”,它更像是一种自然语言编程。如何让AI精准理解你的意图?如何挖掘模型的最大潜力?本文将基于实战经验,为你总结6大核心技巧,助你从“随便问问”进阶为“提示词专家”。Zero-Shot(无
线程状态中BLOCKEDWAITING的区别。线程安全的本质是多线程对共享数据的并发修改,根源在于线程调度的随机性,辅以原子性、可见性、有序性问题。(保证原子性、可见性、有序性)和volatile(保证可见性、有序性)。标准库中线程安全类的特点及使用场景。多线程编程的核心是"控制并发",理解线程安全的本质和解决方案,是编写可靠并发程序的基础。







