- 博客(55)
- 收藏
- 关注
原创 Java异常处理
Java异常处理是程序健壮性的重要保障,核心在于 "精准捕获、合理处理、优雅释放"。掌握异常的体系结构、处理关键字的使用方法,以及自定义异常的技巧,能大幅提升代码的可靠性和可维护性。◦ 常见示例:NullPointerException(空指针异常)、ArithmeticException(算术异常,如除零)、IndexOutOfBoundsException(下标越界异常)。• 多个 catch 块捕获的异常类型需遵循 "子类在前,父类在后" 的顺序(否则父类会覆盖子类,导致子类catch块无法执行)。
2026-01-08 23:23:44
804
原创 python与Java差别
执行速度 相对较慢,解释执行无预编译优化,依赖解释器实时解析,CPU密集型任务表现较弱 速度较快,JVM(Java虚拟机)优化成熟(如即时编译JIT),字节码执行效率高,高性能场景优势明显。内存管理 自动垃圾回收(GC),机制简单,无需开发者手动干预,内存占用相对较高 自动垃圾回收(分代回收机制),GC优化更精细,内存分配与释放效率高,资源管控更精准。核心定位 以“开发效率”为核心,多场景快速适配,强调“少写多做” 以“稳定高性能”为核心,面向企业级应用,强调“严谨可控”
2026-01-05 10:45:49
645
原创 Java构造函数
Java构造函数是类的特殊方法,用于创建对象时初始化成员变量,方法名必须与类名完全一致,且没有返回值类型(包括void也不能写)。若类中未显式定义任何构造函数,编译器会自动生成一个无参、空实现的默认构造函数;支持方法重载,即一个类可以有多个构造函数,参数列表(类型、个数、顺序)不同,用于灵活初始化对象。◦ 子类构造函数默认通过super()调用父类的无参构造函数,也可手动指定调用父类的有参构造。◦ 构造函数中可以用this()调用本类的其他构造函数,且该语句必须是构造函数的第一条语句。
2026-01-03 22:44:43
509
原创 ArrayList 底层
扩容的本质是创建新数组 + 复制原数组元素,通过 Arrays.copyOf(elementData, newCapacity) 方法实现,该方法会创建一个长度为新容量的新数组,并将原数组的元素全部复制到新数组中,最后将 elementData 引用指向新数组。在 Java 集合框架中,ArrayList 是 List 接口的动态数组实现类,位于 java.util 包下,兼具数组随机访问高效的特性与动态扩容的灵活性,是日常开发中最常用的集合之一。若触发扩容,需复制数组,时间复杂度 O(n)。
2026-01-03 07:17:57
339
原创 jdk内存配置
◦ -XX:MaxPermSize(JDK 7及以前)/ -XX:MaxMetaspaceSize(JDK 8及以后):方法区最大大小,如 -XX:MaxMetaspaceSize=512m。◦ -XX:PermSize(JDK 7及以前)/ -XX:MetaspaceSize(JDK 8及以后):方法区初始大小,如 -XX:MetaspaceSize=256m。◦ -Xms:堆内存初始大小,建议与 -Xmx 设为相同值避免运行时动态扩容,如 -Xms2g。1. 堆内存核心参数。
2026-01-02 14:05:30
260
原创 jdk内存配置优化
JVM内存分为堆内存(新生代、老年代)、非堆内存(元空间、直接内存),核心配置参数围绕内存分区大小、GC策略展开。-XX:SurvivorRatio 新生代中Eden与Survivor区比值 如-XX:SurvivorRatio=8表示Eden:S0:S1=8:1:1,根据对象存活率调整。-XX:NewRatio 新生代与老年代比值 如-XX:NewRatio=2表示老年代:新生代=2:1,高并发短生命周期对象场景可调大新生代比例。-Xmx 堆最大内存 单机场景建议设为物理内存的1/4~1/2;
2026-01-01 01:41:22
411
原创 Java多线程死锁排查
System.out.println(Thread.currentThread().getName() + " 持有锁A,等待锁B");System.out.println(Thread.currentThread().getName() + " 持有锁A,等待锁B");System.out.println(Thread.currentThread().getName() + " 持有锁B,等待锁A");核心原理:jps 获取Java进程ID,jstack 打印线程堆栈信息,定位死锁线程与锁资源。
2026-01-01 01:38:10
316
原创 2025计算机科技六大趋势
会用行业AI工具”已成为职场基础技能,无需编程基础的“AI提示词工程”“行业AI工具应用”学习,3个月即可上手兼职变现。企业AI训练电费成本减少30%,城市通过AI优化电网调度降低碳排放,“AI能源管理师”“低碳数据中心运维”等岗位享受政策培训补贴与就业扶持,入行门槛低且前景稳定。摄影爱好者可开发专属AI修图模型,宝妈能定制儿童故事生成工具上架变现,零基础者跟着GitHub开源项目教程,就能搭建简单AI应用,“AI创客”时代正式到来。2025年的计算机科技,正在完成从“技术炫技”到“实用赋能”的转变。
2025-12-31 07:56:08
473
原创 深入了解Java反射机制
深入理解Java反射机制:动态编程的核心利器在Java的静态类型体系中,反射机制堪称“打破规则”的存在。它允许程序在运行时获取类的完整结构信息(属性、方法、构造器等),并能动态调用类的成员、创建对象实例,极大地提升了代码的灵活性与扩展性。Java反射的核心类库位于 java.lang.reflect 包,其底层实现完全依赖于 Class 类——当一个类被JVM加载后,会生成一个唯一的 Class 对象,该对象包含了类的所有元数据,是反射操作的“入口钥匙”。一、反射的核心操作步骤反射的使用遵循固定的流程,从获
2025-12-30 10:04:06
337
原创 Java字符编码与字符流
• UTF-8:可变长度编码,1-4个字节表示一个字符,兼容ASCII码,是跨平台开发的首选编码,能完美支持中文、英文等所有字符。若使用不支持中文的编码(如ISO-8859-1)读取UTF-8格式的中文文件,字节数据无法正确映射为字符,会出现?• ISO-8859-1:单字节编码,仅支持ASCII码表中的字符,无法表示中文等多字节字符,常用于处理纯英文文本。字符编码的本质是字节与字符的映射规则,不同编码方案决定了如何将字符转换为二进制字节,以及如何将字节还原为字符。// 逐字符读取,返回-1表示读取结束。
2025-12-30 09:46:05
358
原创 Java网络IO模型
从最初的阻塞式 IO(BIO),到基于通道缓冲区的非阻塞 IO(NIO),再到封装优化后的Netty 框架,每一次技术迭代都围绕着 “更高并发、更低开销” 这一核心目标。在实际开发中,没有最好的技术,只有最适合场景的技术,根据业务需求选择合适的 IO 模型,才能实现性能与开发效率的平衡。• 多路复用选择器:Selector 是 NIO 的灵魂,允许一个线程管理多个 Channel,通过监听 Channel 的就绪事件(读就绪、写就绪),实现单线程处理多连接,大幅降低线程开销。
2025-12-30 00:10:37
1271
原创 Java输入输出流
Java I/O 流是用于实现程序与数据源(文件、网络、内存等)之间数据传输的核心机制,基于流的方向和处理数据类型可分为四大基础类型,同时提供字节流、字符流两套核心 API。◦ 字节流:以字节(8bit)为单位处理数据,可操作任意类型文件(文本、图片、视频等),是所有流的基础。◦ 输出流:将程序数据写入数据源,顶层父类为 OutputStream(字节)、Writer(字符)。◦ 字符流:以字符(16bit)为单位处理数据,专为文本文件设计,可避免中文等字符的乱码问题。// 写入缓冲区数据。
2025-12-30 00:08:35
334
原创 c++与Java谁的性能更胜一筹
Java 的 StringBuilder 虽解决了 String 不可变导致的频繁内存拷贝问题,但仍受 JVM 内存管理机制约束,扩容时需申请新的堆内存空间,额外开销更高。测试逻辑:初始化存储 1~1000000 整数的集合(C++ 为 vector<int>,Java 为 ArrayList<Integer>),循环遍历集合并累加所有元素,统计遍历与计算的总耗时。• CPU 密集型场景:C++ 凭借静态编译、底层优化的优势,性能远超 Java,适合高性能计算、游戏引擎、操作系统内核等场景。
2025-12-30 00:06:18
390
原创 Java集合框架
java.util.Collections:集合的工具类,提供静态方法实现集合的排序、反转、线程安全包装、查找最值等操作(注意区分:Collection是接口,Collections是工具类)。核心定位:Java集合框架是存储/管理/操作一组数据的容器体系,替代原生数组的短板,提供动态扩容、增删改查、排序、筛选等丰富功能,是开发必备、面试高频的核心知识点。System.out.println("键:" + entry.getKey() + ",值:" + entry.getValue());
2025-12-29 09:08:24
715
原创 Java面向对象编程
② 成员变量+常量;面向对象编程(OOP)是Java的灵魂核心,核心思想是:将现实世界的事物抽象为「类」,用「对象」表示具体事物,通过对象的属性和行为完成业务逻辑,核心追求:代码复用、解耦、易扩展。将类的属性私有化(private),隐藏内部实现细节,仅通过对外暴露的Getter/Setter方法访问和修改属性,同时可在方法中添加数据校验,保证数据合法性。通过extends关键字,让子类继承父类的非私有属性和方法,子类可直接复用父类代码,同时能扩展专属的属性/方法,Java规定:单继承、多层继承、多实现。
2025-12-29 08:52:24
692
原创 Java核心知识点与:类与对象+集合框架
集合顶层是接口(Collection/List/Set/Map),底层是实现类(ArrayList/HashMap),开发中通常用接口引用指向实现类对象,完美体现多态思想,提升代码扩展性。所有集合(ArrayList/HashMap/HashSet)都是Java类,使用时必须通过new关键字创建对象,才能调用其方法(add/remove/get)。• static:修饰的属性/方法属于类本身,而非对象,可直接通过「类名.属性/方法」调用,无需创建对象。
2025-12-29 08:21:41
918
原创 Java都要学那些知识
1. SSM框架(基础核心,入门首选):Spring(IOC容器、DI依赖注入、AOP面向切面、声明式事务)、SpringMVC(请求映射、参数绑定、拦截器、异常统一处理)、MyBatis(SQL映射、动态SQL、分页插件PageHelper、逆向工程)、SSM整合开发(核心,必练)。1. JVM虚拟机(核心重难点):JVM内存结构(堆、栈、方法区、程序计数器)、类加载机制(加载/链接/初始化)、双亲委派模型、垃圾回收(GC)核心(垃圾回收算法、垃圾收集器G1/ZGC)、内存溢出与内存泄漏排查。
2025-12-29 00:02:37
869
原创 Java的面向对象
面向对象思想的本质,是将现实世界中的事物抽象为程序中的对象,用对象的行为和属性映射现实逻辑,让代码更贴合人类的思维方式,同时实现高内聚、低耦合的工程化开发目标。继承是指一个类(子类/派生类)可以继承另一个类(父类/超类)的属性和方法,子类在复用父类代码的基础上,可新增自身独有的属性与方法,或重写父类的方法实现个性化逻辑。掌握Java面向对象,并非单纯记住封装、继承、多态的语法规则,更重要的是建立面向对象的思维方式:学会将现实世界的业务逻辑,抽象为程序中的类与对象,用类的层级、对象的交互映射业务关系。
2025-12-29 00:00:20
532
原创 一文吃透Java图书管理系统:从架构设计到项目落地,附完整核心实现(新手友好+企业级规范)
它覆盖Java开发核心技术栈,整合了数据库设计、业务逻辑开发、分层架构落地、接口设计、异常处理、数据校验等核心知识点,既适合零基础开发者夯实JavaSE、SSM/Spring Boot基础,也能通过功能拓展实现企业级进阶(权限管控、高并发、分布式),做到「入门能落地,进阶能拔高」。图书管理系统看似是一个「入门级」项目,但其背后涵盖了Java后端开发的所有核心知识点,从基础的CRUD、数据库设计,到进阶的分层架构、权限管控、性能优化,再到企业级的微服务、分布式、智能化,可挖掘的深度与广度远超想象。
2025-12-28 00:18:53
473
原创 Java虚拟线程(Project Loom)深度解析:从原理到实战,解锁高并发编程新范式
从早期的Thread线程,到JUC线程池、CompletableFuture异步编程,Java的并发模型历经多次迭代,但始终未能突破「平台线程与操作系统线程1:1绑定」的核心桎梏——I/O密集型场景下线程阻塞、资源利用率低,高并发场景下服务器内核数限制并发上限,线程池参数调优陷入两难,这些痛点长期困扰着后端开发者。JVM会在内部维护虚拟线程的调度队列,当某个虚拟线程发生I/O阻塞、休眠、锁等待时,JVM会立即将其对应的平台线程「释放」,调度其他就绪的虚拟线程执行,不会导致底层OS线程阻塞。
2025-12-28 00:13:44
921
原创 Java三大核心热点专题笔记
Java 21是3年一遇的LTS长期支持版本,企业生产环境主流选型,从「并发性能、代码简洁性、开发效率」重构Java开发范式,后端开发者必备核心技能。大模型时代,Java+AI 是后端开发者高薪核心竞争力,Java成为企业级AI应用落地的核心载体,无需Python也能做AI开发。云原生是Java后端标配能力,从「容器化部署」升级为「原生云适配」,企业技术选型核心方向,中大厂面试必考。▌核心考点:模式匹配不是「语法糖」,是Java向简洁化、现代化迈进的核心标志,企业代码规范强制要求。
2025-12-28 00:10:14
275
原创 2025-2026 Java核心技术热点全景解析:从LTS革新到生态跃迁,筑牢后端技术核心竞争力
作为Java生态每3年一次的重磅LTS版本,Java 21自发布以来已完成生态全面适配,成为企业生产环境的主流选择,其带来的特性革新并非简单的功能叠加,而是从代码简洁性、并发性能、开发效率三个维度,颠覆了Java传统的开发与运行逻辑,堪称「十年一遇的版本升级」,也是当下Java领域最核心的技术热点。Java从未止步于「后端开发」,2025年的技术热点中,云原生深化、AI开发融合、国产化适配三大方向尤为突出,不仅是当下企业技术选型的核心考量,更是Java未来十年的发展边界,也是开发者必须布局的技术赛道。
2025-12-28 00:08:38
607
原创 你的笔记本电脑,大概率在“裸奔”
计算机领域的知识具备极强的逻辑性、关联性、迭代性,从编程语言的语法细节、框架源码的核心思路,到项目排错的完整流程、算法题的解题推演,再到技术选型的利弊分析,每一类内容都有专属的记录逻辑。在程序员的日常里,笔记本是承载技术沉淀、思路推演、知识复盘的核心载体,但绝大多数人的笔记本,都处在「裸奔」的危险状态——无规范、无体系、无复用性,看似记满了内容,实则杂乱无章,关键时刻查不到、用不上,最终沦为食之无味的电子废纸。毕竟在计算机领域,真正的成长,从来都是厚积薄发的过程,而一本好的笔记,就是最好的「积」。
2025-12-28 00:06:22
319
原创 AI时代是否还需要程序员
像MapReduce、Transformer模型这类突破性的技术和架构,都源于人类程序员的创造性思考,面对无先例的全新开发需求时,这种创造力是AI无法企及的。程序员需作为“最后守门人”,审核、测试AI生成的代码,排查安全风险,尤其在金融、医疗等对安全性要求极高的领域,这一角色不可或缺。3. 衔接需求与落地:编程的核心难点常是把产品经理、客户的模糊需求转化为可落地的技术方案。程序员能通过沟通提炼核心需求,再结合业务场景拆解成具体功能,这一需求解读与抽象转化能力,是依赖数据训练的AI难以具备的。
2025-12-27 01:12:37
379
原创 网络安全与技术应用投期刊攻略
传统网络安全算法在工程落地中存在执行效率低、适配性差、高并发场景下稳定性不足等问题,而Java语言具备跨平台、面向对象、多线程及安全机制完善的特性,成为实现网络安全算法的主流开发语言,基于Java实现高效、可靠的网络安全算法,对提升网络安全防护能力具有重要现实意义。二是拓展算法应用场景,完成在分布式网络安全系统中的落地验证。2. 工程应用类Java算法(易中,审稿宽松):Java实现的安全系统算法优化(如日志分析、权限控制、数据脱敏算法)、分布式/高并发场景下的Java算法落地(如云安全平台的调度算法)。
2025-12-27 00:59:54
955
1
原创 计算机技术文章发表全攻略
punumber=6287639操作。投稿无公开官网,可通过知网投稿链接https://navi.cnki.net/knavi/journals/WLAQ/detail查询投稿方式。• IEEE Transactions on Multimedia:SCI一区TOP,IF=8.4,审稿3个月,主攻多媒体技术、信号处理、AI融合方向,国人发文占比87.8%,审稿友好。• 《计算机工程与应用》:CSCD核心,审稿1个月,版面费1500元左右,半月刊承载量大,全计算机方向收稿,录用率超60%,可加急出刊。
2025-12-27 00:54:13
425
原创 封神30年,Java凭什么仍是2025年程序员的黄金赛道?
电商赛道中,阿里HSF分布式框架、京东交易中台,全靠Java支撑每日数十亿级交易量,双十一的流量洪峰里,Java永远是最核心的底气;一边是Python、Go的高歌猛进,一边是Java在企业级赛道的坚不可摧,这个走过三十载的编程语言,非但没有落幕,反而在云原生、大数据、AI时代完成了史诗级进化,成为程序员稳赚不亏的黄金选择。三十年来,无数新兴语言登场,却始终无法撼动Java的核心地位——它从不追逐短暂的风口,却总能在时代变革中站稳脚跟,用稳定性、生态力、进化力,成为企业最信任的伙伴,成为程序员最靠谱的选择。
2025-12-27 00:21:48
545
原创 快手程序技术问题
快手图像团队落地的视频超分辨率功能,虽实现30%带宽节省、画质清晰度提升2倍的业务目标,却在灰度阶段暴露出致命的Native层内存泄漏问题:低端机型(Redmi 9A/荣耀畅玩系列)调用功能10分钟内内存暴涨100MB+,FPS从60骤降至25,ANR率飙升45%,直接触发线上故障红线。LeakCanary/Profiler等主流工具,核心能力均围绕Java堆内存设计,仅能跟踪Java对象的引用链与生命周期,对Native层手动malloc/free的内存完全无感知;
2025-12-26 00:07:42
841
原创 Java项目内存泄漏排查全流程
本文详细介绍了Java内存泄漏排查的全流程。首先区分内存泄漏与内存溢出的区别,强调持续内存增长和GC无法回收是核心判断依据。其次列举必备工具,包括JDK命令、MAT分析工具等,并给出关键JVM配置参数。核心排查流程分为6步:确认异常进程、分析堆快照、追溯引用链、定位代码问题、应急修复和预防机制建立。文章重点分析了静态集合、未关闭资源、单例滥用等常见泄漏场景,并提供修复方案。最后针对特殊场景给出进阶技巧,强调内存泄漏排查是系统性工程,需要结合工具使用和代码分析。全文提供可落地的解决方案,帮助开发者从根源解决内
2025-12-26 00:01:23
1293
原创 Java技术文章大纲:从基础到高级应用
模块化系统与Jigsaw项目 函数式编程与Stream API 记录类与模式匹配语法 HTTP客户端与新版API特性。Java的基本语法与面向对象编程 数据类型、变量与运算符详解 控制流语句与异常处理机制 集合框架与泛型的使用场景。多线程基础与线程安全 Java并发工具包核心组件 锁机制与原子操作实现原理 并发设计模式与最佳实践。主流IDE功能对比与技巧 构建工具与依赖管理 单元测试与集成测试框架 持续集成与部署流水线。
2025-12-25 22:17:13
267
原创 Typora代码块痛点破解方案技术文章大纲
(注:每个技术方案需包含具体操作步骤、配置示例及预期效果说明)在YAML Front Matter中添加PDF导出配置。扩展包并修改Typora主题文件。使用Docker容器统一渲染环境。通过CSS变量动态适配系统主题。高性能渲染引擎替代默认处理器。分割超大代码块为多个。
2025-12-24 11:00:07
274
原创 对象序列化的概念与定义
序列化的基本概念:将对象转换为可存储或传输的格式反序列化的定义:将序列化后的数据恢复为原始对象核心目的:跨平台、跨语言的数据交换与持久化。
2025-12-24 10:58:12
128
原创 利用 DeepSeek 进行信息检索
在使用 DeepSeek 之前,先梳理自己的工作需求,比如需要处理大量数据、撰写报告、优化代码,或者进行市场调研。对于需要撰写技术文档、商业计划或会议纪要的用户,DeepSeek 能根据提供的关键点自动生成初稿。输入需求或问题描述,DeepSeek 能提供可行的解决方案,甚至解释代码逻辑,帮助提升开发效率。输入任务列表,它能自动分类优先级,提供时间管理建议,优化日常工作流程。输入业务问题或市场数据,它可提供趋势预测、风险评估或策略建议,帮助做出更明智的商业决策。
2025-11-25 10:59:42
371
原创 Hajiset技术解析
重申 Hajiset 的价值与适用边界。鼓励读者进一步探索的资源(官方文档、论文等)。注:内容需根据 Hajiset 的实际技术细节调整,若为虚构概念可补充具体假设。
2025-10-28 09:03:35
310
原创 存储的技术大纲
存储技术的定义与重要性存储技术的发展历程(从传统存储到现代存储)存储技术的主要分类(块存储、文件存储、对象存储)存储技术的核心挑战与机遇如何根据业务需求选择合适的存储方案。
2025-10-28 09:01:12
215
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅