• 如何判断对象能否回收?引用计数与可达性分析解析
    如何判断对象能否回收?引用计数与可达性分析解析
    判断一个对象是否可回收,核心在于其能否被程序的活跃部分引用。若对象无法从GCRoots触达且无强引用,则被视为垃圾。主要依赖引用计数法和可达性分析法。引用计数法因循环引用问题易导致内存泄漏,如A引用B且B引用A时,计数永不归零,对象无法回收。现代JVM多采用可达性分析法,从GCRoots(如栈变量、静态属性、常量、JNI引用、活跃线程)出发遍历对象图,不可达对象被回收。为避免STW,现代GC采用并发标记,结合增量更新或SATB策略处理并发修改,辅以读屏障等技术,实现低延迟回收。
    文章 · java教程   |  2个月前  |   355浏览 收藏
  • 对象内存布局详解:头、数据与对齐
    对象内存布局详解:头、数据与对齐
    JVM中对象内存布局由对象头、实例数据和对齐填充三部分组成,对象头存储MarkWord和类型指针,实例数据按字段大小排序存放以优化对齐,对齐填充保证对象大小为8字节倍数以提升访问效率。
    文章 · java教程   |  2个月前  |   性能优化 对象头 对象内存布局 实例数据 对齐填充 211浏览 收藏
  • Java类组合与聚合实现方法解析
    Java类组合与聚合实现方法解析
    组合是强关联,生命周期依赖,如Car与Engine;聚合是弱关联,对象可独立存在,如Department与Employee。
    文章 · java教程   |  2个月前  |   java 面向对象编程 聚合 组合 类关系 111浏览 收藏
  • Java方法重载规则与使用技巧
    Java方法重载规则与使用技巧
    方法重载允许同一类中多个同名方法存在,只要参数列表不同即可;例如print(String,int)与print(int,String)因参数顺序不同构成重载;调用时根据传参类型、数量和顺序匹配,优先基本类型而非包装类,更具体类型优先于父类,静态方法同样支持重载。
    文章 · java教程   |  2个月前  |   342浏览 收藏
  • Java数组转集合的快捷方法
    Java数组转集合的快捷方法
    使用Arrays.asList()可将数组转为List,但返回的是固定大小的集合,不支持增删操作;若需修改应包装为ArrayList;基本类型数组需通过Stream转换。
    文章 · java教程   |  2个月前  |   ArrayList 基本类型数组 Arrays.asList() Java数组转集合 固定大小集合 226浏览 收藏
  • Java匿名内部类全解析
    Java匿名内部类全解析
    匿名内部类是在声明时直接创建实例且无名称的子类,常用于继承类或实现接口。它通过“new父类(){}”或“new接口(){}”语法定义,可重写方法或实现接口逻辑,如用于线程任务或事件监听。它不能定义构造器,只能继承一个类或实现一个接口,可访问外部类成员及final或“事实上的final”局部变量。尽管代码简洁,但可读性差,现多被Lambda表达式替代,尤其在函数式接口中。理解匿名内部类有助于掌握Java面向对象特性。
    文章 · java教程   |  2个月前  |   195浏览 收藏
  • Java反射获取父类和接口方法全解析
    Java反射获取父类和接口方法全解析
    Java反射可通过Class对象获取类的直接父类和实现接口。使用getSuperclass()获取直接父类,若为Object、基本类型或数组则返回null;通过getInterfaces()获取直接实现的接口数组,不包含父类实现的接口。示例显示Dog类获取Animal父类,Duck类获取Swimmable接口及父类Bird实现的Flyable接口。需递归遍历继承链才能获取全部父类与接口信息。
    文章 · java教程   |  2个月前  |   118浏览 收藏
  • Java高效找最大最小值技巧解析
    Java高效找最大最小值技巧解析
    本教程详细阐述了如何在Java中使用循环结构,从用户输入的一系列数字中准确找出最大值和最小值。文章将深入分析常见的逻辑错误,提供正确的变量初始化策略和循环内的比较方法,帮助开发者编写出高效且鲁棒的代码,以处理数值序列的极值查找问题。
    文章 · java教程   |  2个月前  |   244浏览 收藏
  • Java秒杀优化:Redis与Lua脚本实战指南
    Java秒杀优化:Redis与Lua脚本实战指南
    秒杀系统核心技术挑战包括瞬时流量洪峰、库存原子性与一致性、用户体验与公平性、系统容错与降级、风控与反作弊。1.瞬时流量洪峰导致数据库连接池耗尽、锁竞争严重;2.库存操作需保证不超卖且最终一致,传统数据库性能瓶颈明显;3.需设计排队机制、快速响应及防刷策略提升用户体验;4.系统局部故障不能影响整体可用性;5.需识别拦截恶意请求确保公平。Redis通过库存预热、原子操作、Lua脚本、分布式锁、消息队列、布隆过滤器等手段有效应对上述挑战。
    文章 · java教程   |  2个月前  |   205浏览 收藏
  • Linux安装OpenJDK及环境变量设置方法
    Linux安装OpenJDK及环境变量设置方法
    答案:安装OpenJDK并配置环境变量需先通过包管理器安装,再查找安装路径,然后设置JAVA_HOME和PATH变量,最后验证。具体为:Ubuntu/Debian用apt安装openjdk-17-jdk,CentOS/Fedora用dnf或yum安装java-17-openjdk-devel;通过update-alternatives--configjava获取路径;在~/.bashrc中添加exportJAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64等语句;执行s
    文章 · java教程   |  2个月前  |   Linux 环境变量 安装 JAVA_HOME OpenJDK 273浏览 收藏
  • Linux多版本JDK安装与切换方法
    Linux多版本JDK安装与切换方法
    通过update-alternatives可管理多JDK版本:先安装JDK至/usr/local/java,配置环境变量,用--install注册java和javac命令,再用--config或--set切换版本,最后验证java-version。
    文章 · java教程   |  2个月前  |   Linux jdk 切换 update-alternatives 多版本 233浏览 收藏
  • Java转义字符大全及使用技巧
    Java转义字符大全及使用技巧
    Java中的转义字符以反斜杠开头,用于表示特殊字符。①\n实现换行,适用于多行文本输出;②\t添加制表符,用于文本对齐;③\\表示实际反斜杠,常用于Windows路径;④\"和\'分别在字符串中包含双引号和单引号,避免语法错误;⑤\r为回车符,常与\n配合使用;⑥\b删除前一字符,可模拟输入效果;⑦\f为换页符,用于打印分页;⑧\uXXXX表示Unicode字符,支持中文等国际字符显示。掌握这些转义序列有助于正确处理字符串格式与特殊字符输出。
    文章 · java教程   |  2个月前  |   474浏览 收藏
  • HashSet和TreeSet怎么选?
    HashSet和TreeSet怎么选?
    需要有序存储和范围查询选TreeSet,基于红黑树实现,支持自然或自定义排序,但插入删除查找时间复杂度为O(logn);只需快速判断元素是否存在则选HashSet,基于哈希表实现,操作平均O(1),性能更高且内存占用小,但不保证顺序。
    文章 · java教程   |  2个月前  |   424浏览 收藏
  • Java强制类型转换教程详解
    Java强制类型转换教程详解
    强制类型转换用于显式转换数据类型,包括基本类型转换可能造成精度丢失,如double转int;引用类型需用instanceof确保安全向下转型,避免ClassCastException。
    文章 · java教程   |  2个月前  |   337浏览 收藏
  • 接口本质与Java开发应用解析
    接口本质与Java开发应用解析
    接口是行为的抽象规范,定义“能做什么”而非“如何做”,通过分离行为与实现支持多态、解耦、多重能力组合及框架扩展,提升系统灵活性与可维护性。
    文章 · java教程   |  2个月前  |   java 接口 多态 解耦 抽象 161浏览 收藏
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    543次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    516次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    500次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    485次学习
  • Golang深入理解GPM模型
    Golang深入理解GPM模型
    Golang深入理解GPM调度器模型及全场景分析,希望您看完这套视频有所收获;包括调度器的由来和分析、GMP模型简介、以及11个场景总结。
    474次学习
查看更多
AI推荐
  • ChatExcel酷表:告别Excel难题,北大团队AI助手助您轻松处理数据
    ChatExcel酷表
    ChatExcel酷表是由北京大学团队打造的Excel聊天机器人,用自然语言操控表格,简化数据处理,告别繁琐操作,提升工作效率!适用于学生、上班族及政府人员。
    3213次使用
  • Any绘本:开源免费AI绘本创作工具深度解析
    Any绘本
    探索Any绘本(anypicturebook.com/zh),一款开源免费的AI绘本创作工具,基于Google Gemini与Flux AI模型,让您轻松创作个性化绘本。适用于家庭、教育、创作等多种场景,零门槛,高自由度,技术透明,本地可控。
    3428次使用
  • 可赞AI:AI驱动办公可视化智能工具,一键高效生成文档图表脑图
    可赞AI
    可赞AI,AI驱动的办公可视化智能工具,助您轻松实现文本与可视化元素高效转化。无论是智能文档生成、多格式文本解析,还是一键生成专业图表、脑图、知识卡片,可赞AI都能让信息处理更清晰高效。覆盖数据汇报、会议纪要、内容营销等全场景,大幅提升办公效率,降低专业门槛,是您提升工作效率的得力助手。
    3457次使用
  • 星月写作:AI网文创作神器,助力爆款小说速成
    星月写作
    星月写作是国内首款聚焦中文网络小说创作的AI辅助工具,解决网文作者从构思到变现的全流程痛点。AI扫榜、专属模板、全链路适配,助力新人快速上手,资深作者效率倍增。
    4566次使用
  • MagicLight.ai:叙事驱动AI动画视频创作平台 | 高效生成专业级故事动画
    MagicLight
    MagicLight.ai是全球首款叙事驱动型AI动画视频创作平台,专注于解决从故事想法到完整动画的全流程痛点。它通过自研AI模型,保障角色、风格、场景高度一致性,让零动画经验者也能高效产出专业级叙事内容。广泛适用于独立创作者、动画工作室、教育机构及企业营销,助您轻松实现创意落地与商业化。
    3833次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码