- 泛型擦除 在编码阶段使用泛型时加上的类型参数,会被编译器在编译阶段去掉,这个过程叫做泛型擦除。 泛型主要用于编译阶段。在编译后生成的Java字节码文件中不包含泛型中的类型信息。例如,在编码时定义的List<Integer>和List<String>经过编译后统一为List。JVM读取的只是List,由泛型附加的类型信息对JVM来说是不可见的。Java核心技术卷I解释: 无论何时定义一... 泛型擦除 在编码阶段使用泛型时加上的类型参数,会被编译器在编译阶段去掉,这个过程叫做泛型擦除。 泛型主要用于编译阶段。在编译后生成的Java字节码文件中不包含泛型中的类型信息。例如,在编码时定义的List<Integer>和List<String>经过编译后统一为List。JVM读取的只是List,由泛型附加的类型信息对JVM来说是不可见的。Java核心技术卷I解释: 无论何时定义一...
- 1、单例模式简介单例模式是保证系统实例唯一性的重要手段。单例模式首先通过将类的实例化方法私有化来防止程序通过其他方式创建该类的实例,然后通过提供一个全局唯一获取该类实例的方法帮助用户获取类的实例,用户只需要也只能通过调用该方法获取类的实例。单例模式的设计保证了一个类在整个系统中同一时刻只有一个实例存在,主要被用于一个全局类的对象在多个地方被使用并且对象的状态是全局变化的场景下。同时,单例模... 1、单例模式简介单例模式是保证系统实例唯一性的重要手段。单例模式首先通过将类的实例化方法私有化来防止程序通过其他方式创建该类的实例,然后通过提供一个全局唯一获取该类实例的方法帮助用户获取类的实例,用户只需要也只能通过调用该方法获取类的实例。单例模式的设计保证了一个类在整个系统中同一时刻只有一个实例存在,主要被用于一个全局类的对象在多个地方被使用并且对象的状态是全局变化的场景下。同时,单例模...
- 1、工厂模式简介工厂模式(Factory Pattern)是最常见的设计模式,该模式属于创建型模式,它提供了一种简单、快速、高效且安全创建对象的方式。工厂模式在接口中定义了创建对象的方法,而将创建对象的具体过程在子类中实现,用户只需通过接口创建需要的对象即可,不用关注对象的具体创建过程。同时,不同的子类可可根据需求灵活实现创建对象的不同方法。通俗地讲,工厂模式的本质就是用工厂方法代替new... 1、工厂模式简介工厂模式(Factory Pattern)是最常见的设计模式,该模式属于创建型模式,它提供了一种简单、快速、高效且安全创建对象的方式。工厂模式在接口中定义了创建对象的方法,而将创建对象的具体过程在子类中实现,用户只需通过接口创建需要的对象即可,不用关注对象的具体创建过程。同时,不同的子类可可根据需求灵活实现创建对象的不同方法。通俗地讲,工厂模式的本质就是用工厂方法代替new...
- 1、代理模式简介代理模式指为对象提供一种通过代理的方式来访问并控制该对象行为的方法。在客户端不适合或者不能够直接引用一个对象时,可以通过该对象的代理对象来实现对该对象的访问,可以将该代理对象理解为客户端和目标对象之间的中介者。在现实生活中也能看到代理模式的身影,比如企业会把五险一金业务交给第三方人力资源公司去做,因为人力资源公司对五险一金业务更加熟悉。在代理模式下有两种角色,一种是代理者,... 1、代理模式简介代理模式指为对象提供一种通过代理的方式来访问并控制该对象行为的方法。在客户端不适合或者不能够直接引用一个对象时,可以通过该对象的代理对象来实现对该对象的访问,可以将该代理对象理解为客户端和目标对象之间的中介者。在现实生活中也能看到代理模式的身影,比如企业会把五险一金业务交给第三方人力资源公司去做,因为人力资源公司对五险一金业务更加熟悉。在代理模式下有两种角色,一种是代理者,...
- 前言多线程编程是现代软件开发中不可或缺的一部分。然而,随着线程数量的增加,我们需要确保线程之间的安全协调和资源共享。Semaphore(信号量)是一种强大的工具,用于实现多线程并发控制。在本文中,我们将深入探讨Semaphore的工作原理,示范如何使用Semaphore来解决常见的并发问题,并提供代码示例。 什么是Semaphore?Semaphore是一个用于控制对共享资源的访问的同步工... 前言多线程编程是现代软件开发中不可或缺的一部分。然而,随着线程数量的增加,我们需要确保线程之间的安全协调和资源共享。Semaphore(信号量)是一种强大的工具,用于实现多线程并发控制。在本文中,我们将深入探讨Semaphore的工作原理,示范如何使用Semaphore来解决常见的并发问题,并提供代码示例。 什么是Semaphore?Semaphore是一个用于控制对共享资源的访问的同步工...
- 当你需要在不改变原始列表的情况下将一个列表的元素添加到另一个列表中时,你可以使用Java函数中的来源list添加到目标list。这在多种情况下都可能会被使用到,例如:数据合并:当你需要将两个或多个列表中的数据合并成一个列表时,可以使用来源list添加到目标list的方法。数据筛选:当你需要根据某些条件从一个列表中筛选出符合条件的元素,并将它们添加到另一个列表中时,可以使用来源list添加到目... 当你需要在不改变原始列表的情况下将一个列表的元素添加到另一个列表中时,你可以使用Java函数中的来源list添加到目标list。这在多种情况下都可能会被使用到,例如:数据合并:当你需要将两个或多个列表中的数据合并成一个列表时,可以使用来源list添加到目标list的方法。数据筛选:当你需要根据某些条件从一个列表中筛选出符合条件的元素,并将它们添加到另一个列表中时,可以使用来源list添加到目...
- 欢迎来到我的技术博客!今天,我们将深入探讨 Java 中一个非常关键的并发编程组件 - AbstractQueuedSynchronizer(AQS)。AQS 是 Java 并发编程中的核心,它为我们提供了构建各种锁和同步器的基础。在这篇文章中,我们将解析 AQS 的源代码,深入了解其工作原理,并通过代码示例演示其用法。希望你会喜欢并从中受益! AQS 简介在深入源码之前,让我们先简要了解一... 欢迎来到我的技术博客!今天,我们将深入探讨 Java 中一个非常关键的并发编程组件 - AbstractQueuedSynchronizer(AQS)。AQS 是 Java 并发编程中的核心,它为我们提供了构建各种锁和同步器的基础。在这篇文章中,我们将解析 AQS 的源代码,深入了解其工作原理,并通过代码示例演示其用法。希望你会喜欢并从中受益! AQS 简介在深入源码之前,让我们先简要了解一...
- 职业使然,之前我自己试用并给小伙伴们推荐过不少大模型相关的产品,这些产品看起来牛逼plus,但是它们要么对国内有限制,要么是申请制/邀请制,自己没个资想搞个账号去体验一下都难如登天,忍不住吐槽某大厂虽然早早的对外宣布面向全民开发,但实际上提交了手机号码还在等待排队上车,掐指一算,有半个多月了吧,我的一纸申请终究是石沉大海。 不过这也容易理解,训练大模型是一件非常烧钱的事情,顶级的GPU不但非... 职业使然,之前我自己试用并给小伙伴们推荐过不少大模型相关的产品,这些产品看起来牛逼plus,但是它们要么对国内有限制,要么是申请制/邀请制,自己没个资想搞个账号去体验一下都难如登天,忍不住吐槽某大厂虽然早早的对外宣布面向全民开发,但实际上提交了手机号码还在等待排队上车,掐指一算,有半个多月了吧,我的一纸申请终究是石沉大海。 不过这也容易理解,训练大模型是一件非常烧钱的事情,顶级的GPU不但非...
- 在当今的数据交换和存储领域,XML和JSON无疑是两种最常用的数据格式。XML以其树状结构和可扩展性在全球范围内得到了广泛应用,而JSON则以它的轻量级和易读性赢得了开发者的喜爱。在很多时候,我们需要在这两种格式之间进行转换,以便利用它们各自的优点来解决数据共享、数据处理以及数据存储等问题。在本文中,我们将探讨如何用Java实现XML转换为JSON。将XML转换为JSON:算法概述将XML转... 在当今的数据交换和存储领域,XML和JSON无疑是两种最常用的数据格式。XML以其树状结构和可扩展性在全球范围内得到了广泛应用,而JSON则以它的轻量级和易读性赢得了开发者的喜爱。在很多时候,我们需要在这两种格式之间进行转换,以便利用它们各自的优点来解决数据共享、数据处理以及数据存储等问题。在本文中,我们将探讨如何用Java实现XML转换为JSON。将XML转换为JSON:算法概述将XML转...
- AI绘画关于SD,MJ,GPT,SDXL百科全书 面试题分享点我直达 2023Python面试题 2023最新面试合集链接 2023大厂面试题PDF 面试题PDF版本 java、python面试题 项目实战:AI文本 OCR识别最佳实践 AI Gamma一键生成PPT工具直达链接 玩转cloud Studio 在线编码神器 玩转 GPU AI绘画、AI讲话、翻译,GPU点亮AI想象空间 史... AI绘画关于SD,MJ,GPT,SDXL百科全书 面试题分享点我直达 2023Python面试题 2023最新面试合集链接 2023大厂面试题PDF 面试题PDF版本 java、python面试题 项目实战:AI文本 OCR识别最佳实践 AI Gamma一键生成PPT工具直达链接 玩转cloud Studio 在线编码神器 玩转 GPU AI绘画、AI讲话、翻译,GPU点亮AI想象空间 史...
- 引言垃圾回收(Garbage Collection,GC)是现代编程语言中的一个重要话题,特别是在Java、C#等高级编程语言中,它们提供了自动内存管理的特性。垃圾回收的目标是有效地管理内存,释放不再使用的对象以避免内存泄漏,并提高应用程序的性能。在垃圾回收的实践中,我们通常会遇到两种类型的垃圾回收:Minor GC 和 Full GC。本文将深入探讨这两种垃圾回收类型,提供代码示例,帮助... 引言垃圾回收(Garbage Collection,GC)是现代编程语言中的一个重要话题,特别是在Java、C#等高级编程语言中,它们提供了自动内存管理的特性。垃圾回收的目标是有效地管理内存,释放不再使用的对象以避免内存泄漏,并提高应用程序的性能。在垃圾回收的实践中,我们通常会遇到两种类型的垃圾回收:Minor GC 和 Full GC。本文将深入探讨这两种垃圾回收类型,提供代码示例,帮助...
- 深度解析 JVM 垃圾回收算法:优化 Java 应用性能的关键 引言Java虚拟机(JVM)作为一种广泛使用的运行环境,其垃圾回收算法对于Java应用程序的性能和稳定性至关重要。在本文中,我们将深度解析JVM垃圾回收算法,探讨不同算法的工作原理、优缺点,并通过示例代码演示如何选择和优化垃圾回收器,从而使您的Java应用火起来! 目录垃圾回收概述1.1 什么是垃圾回收?1.2 垃圾回收的重要... 深度解析 JVM 垃圾回收算法:优化 Java 应用性能的关键 引言Java虚拟机(JVM)作为一种广泛使用的运行环境,其垃圾回收算法对于Java应用程序的性能和稳定性至关重要。在本文中,我们将深度解析JVM垃圾回收算法,探讨不同算法的工作原理、优缺点,并通过示例代码演示如何选择和优化垃圾回收器,从而使您的Java应用火起来! 目录垃圾回收概述1.1 什么是垃圾回收?1.2 垃圾回收的重要...
- 引言随着现代应用程序的复杂性不断增加,Java应用程序的性能监控和分析变得尤为重要。JVM性能监控工具是我们的得力助手,它们可以帮助我们追踪内存使用、线程情况、垃圾回收等关键指标,从而更好地了解应用程序的健康状况。本文将介绍一些常用的JVM性能监控工具,并详细展示它们的用法,以便帮助你更好地监控和优化Java应用程序。 工具一:VisualVM 简介VisualVM是一款免费且功能强大的J... 引言随着现代应用程序的复杂性不断增加,Java应用程序的性能监控和分析变得尤为重要。JVM性能监控工具是我们的得力助手,它们可以帮助我们追踪内存使用、线程情况、垃圾回收等关键指标,从而更好地了解应用程序的健康状况。本文将介绍一些常用的JVM性能监控工具,并详细展示它们的用法,以便帮助你更好地监控和优化Java应用程序。 工具一:VisualVM 简介VisualVM是一款免费且功能强大的J...
- 过去,编写代码一直是一项单调乏味且耗时的工作。尤其是在失业风险日益严峻的情况下,对于年过35的程序员来说,面临更大的挑战。然而,随着人工智能的介入,情况有所改变,给程序员们带来了新的活力和创意,同时开启了提高工作效率的新途径。人工智能代码生成模型和编程助手因为具备快速生成代码结构、优化算法以及提供智能建议的能力,为程序员们提供了有效的帮助。这种智能辅助不仅可以显著减少重复劳动,还能释放创造力... 过去,编写代码一直是一项单调乏味且耗时的工作。尤其是在失业风险日益严峻的情况下,对于年过35的程序员来说,面临更大的挑战。然而,随着人工智能的介入,情况有所改变,给程序员们带来了新的活力和创意,同时开启了提高工作效率的新途径。人工智能代码生成模型和编程助手因为具备快速生成代码结构、优化算法以及提供智能建议的能力,为程序员们提供了有效的帮助。这种智能辅助不仅可以显著减少重复劳动,还能释放创造力...
- 引言在软件开发的过程中,错误是不可避免的。为了提高代码质量和开发效率,我们需要借助一些工具来帮助我们查找错误和进行静态分析。本篇博客将介绍一些常用的工具,它们能够简化调试流程、提供实时反馈并提供有价值的静态分析结果。 工具列表下面是几个常用的工具,它们都在错误查找和静态分析方面表现出色: 1. LintersLinters 是一类用于静态代码分析的工具,通过检查代码中潜在的问题和不符合编码... 引言在软件开发的过程中,错误是不可避免的。为了提高代码质量和开发效率,我们需要借助一些工具来帮助我们查找错误和进行静态分析。本篇博客将介绍一些常用的工具,它们能够简化调试流程、提供实时反馈并提供有价值的静态分析结果。 工具列表下面是几个常用的工具,它们都在错误查找和静态分析方面表现出色: 1. LintersLinters 是一类用于静态代码分析的工具,通过检查代码中潜在的问题和不符合编码...
上滑加载中
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
回顾中
热门标签