自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(100)
  • 收藏
  • 关注

原创 Python 自动化:节省时间,更智能地工作

Python 自动化可以节省您的时间、减少错误并让您专注于真正重要的事情。

2025-04-01 20:21:12 531

原创 2025 年每个开发人员都应该知道的 14 个 AI API

大家好,这里是!点击上方关注,添加“”,一起学习大厂前沿架构!AI API 彻底改变了机器学习融入应用程序的方式。如今,自然语言处理、视觉识别和生成式 AI 等顶级功能比以往任何时候都更容易获得。公司构建聊天机器人非常普遍,但他们需要理解人类的语言、生成图像或增强搜索功能。幸运的是,每项任务都有一个 AI API。

2025-03-31 15:09:44 351

原创 构建可扩展、可靠的网络抓取、监控和自动化应用程序的终极指南

在开始编码之前,至关重要的是要准确定义您希望通过自动化或网页抓取项目实现的目标。您是否需要抓取网站来收集重要数据(例如价格、产品可用性、内容)?您是否想自动执行原本需要手动执行的特定任务(例如,表单提交、数据输入)?您是否想监控网站变化以了解合规性、内容更新或竞争对手分析?拥有明确的目标有助于您确定应用程序的范围以及所需的管理或控制级别。对于最简单的情况,您可以从包含所抓取数据的 URL 和列的 Google 电子表格开始。

2025-03-28 19:00:19 1242

原创 无需托管即可通过移动设备访问您的 Localhost 网站!

大家好,这里是!点击上方关注,添加“”,一起学习大厂前沿架构!你有没有想过如何访问本地主机上的手机网页。所以今天我们将讨论如何在不实际托管的情况下在手机上查看同一网页。

2025-03-28 17:26:36 159

原创 开发人员为何难以提高工作效率?10 种行之有效的解决方法

开发人员是最具创新精神的问题解决者之一,但他们经常面临阻碍生产力的挑战。从干扰和不明确的要求到低效的工作流程,这些障碍可能会减缓进度并影响整体效率。在这篇博客中,我们将探讨开发人员面临的最大困难,并提供可行的解决方案来克服这些困难,确保更流畅、更高效的编码体验。

2025-03-28 17:22:48 881

原创 科技行业裁员分析:哪些技能仍然需求旺盛

在过去的一年里,据国外数据统计,超过15.2万名名科技员工失业。根据 Layoffs.fyi 的数据,仅到2025年2月中旬,就有近1万名名科技员工被解雇:我只想说,如果统计上国内的,那这个数据要翻十倍不止!

2025-03-12 14:35:54 606

原创 拥抱AI让你的项目具有响应能力

大家好,这里是!点击上方关注,添加“”,一起学习大厂前沿架构!关注发送【】(读yi不是L)获取JetBrains全家桶软件激活,精选文章有踩坑经验可供参考!在构建项目时,我会优先考虑功能、性能和设计,但确保其在所有设备上均具有响应性也同样重要。手动测试布局变化、损坏的UI和取出的媒体查询非常繁琐且运行。因此,我建立了一个人工智能代理来帮助我处理这个问题。该响应分析器代理扫描整个前端代码库,了解UI的结构,并生成详细的报告,重点介绍响应缺陷、其影响以及如何修复它们。

2025-03-12 14:23:33 711

原创 30分钟快速构建你的AI代理!

在 2025 年我们可以看到人工智能代理数量的增加。构建自己的代理可能很复杂,并且您需要遵循的所有概念、框架和实践可能会有点让人不知所措。好消息是,向您的应用程序添加代理很容易,我将向您展示如何操作。在本指南中,您将学习如何在短短 30 分钟内构建您的第一个 AI 代理,即使您对 AI 代理一无所知。让我们开始吧。

2025-03-06 14:29:42 616

原创 如何使用 AI 进行代码审查?

大家好,这里是!点击上方关注,添加“”,一起学习大厂前沿架构!代码审查是软件开发的基石。我们在这里分享知识、尽早发现错误并确保我们的代码符合最高标准。但说实话…传统的代码审查可能既运行又乏味,有时甚至会遗漏重点但关键的。进入人工智能代码审查时代,将会改变游戏规则,解决这些挑战将代码质量提升到新的高度。本文深入探讨了代码审查的常见陷阱,并探讨了 AI 工具彻底改变开发生命周期的每个如何阶段。我开发人员和审查人员的两个主要角度讨论AI在SDLC不同阶段的使用和影响。

2025-03-06 14:26:17 1069

原创 10 个你希望早点知道的 Git 命令

刚开始使用 Git 时,您可能会感到畏惧。大多数开发人员坚持使用 git add、git commit并且 git push,在大多数情况下,这就足够了 — 直到您遇到不知道如何解决的问题。现在,这 10 个 Git 命令可以为您节省时间和精力。

2025-03-04 15:12:51 332

原创 如何使用AI帮助突破CI/CD瓶颈?

大家好,这里是!点击上方关注,添加“”,一起学习大厂前沿架构!尽管 CI/CD 管道旨在加快开发和部署速度,但使用起来可能很困难。然而,由于手动设置、构建时间长和测试步骤复杂,它们已成为开发人员和团队的一大障碍。此外,资源使用不当往往会导致工作流程中断。AI可以简化开发和部署工作流程。它可以改进管道、自动化作业、预测故障并自行管理管道。现有的AI工具可以帮助将CI/CD从痛点转变为轻松。在本文中,您将了解 CI/CD 如何减缓开发人员的工作流程。

2025-03-04 15:08:02 385

原创 使用 DeepSeek-R1 和推理时间缩放自动生成 GPU 内核

大家好,这里是!点击上方关注,添加“”,一起学习大厂前沿架构!随着人工智能模型不断扩展其能力以解决更复杂的挑战,一种称为_测试时间缩放_或_推理时间缩放的新解决_正在出现。这种技术也称为_人工智能推理_或_长期思考_,通过在推理过程中分配额外的计算资源来评估可能的多种结果,然后选择最佳结果(神经网 络),从而提高模型性能。这使得人工智能能够以人类剖析复杂问题并单独解决它们,并以最终方案的方式制定策略并系统地复杂问题。

2025-02-25 09:26:57 302

原创 面试题-SpringBoot

这是开发人员最需要的功能。由于 Spring Boot 官方提供了大量的非常方便的开箱即用的 Starter ,包括 Spring Security 的 Starter ,使得在 Spring Boot 中使用 Spring Security 变得更加容易,甚至只需要添加一个依赖就可以保护所有的接口,所以,如果是 Spring Boot 项目,一般选择 Spring Security。一个比较笨的方法就是使用 word 或者 md 来维护接口文档,但是效率太低,接口一变,所有人手上的文档都得变。

2025-01-08 20:09:44 824

转载 官方大气,GitHub Copilot可以免费使用了!

相信作为开发者的各位童鞋们都清楚今年是什么最火,各位程序员都喜欢追的“星”,那就是2024最耀眼的星——“AI编程”。你没看错,就是几十块钱一年,虽然中间出现掉和超频吧,但是性价比还可以,和官方的价格那简直是天差地别!注册,但是小D奉劝各位,不要太过分,好的东西达到自己的诉求就行了,不要闹得最后大家都么得用!后来感觉官方价格太贵了,所以就转投了某宝的二道贩子那里,几十块钱可以买一年。回IDEA等待登录成功即可,小青蛙的脸正常了,接下来就是自己使用了。,界面就变了,不再是之前不给钱不让玩的高冷样子了。

2024-12-25 10:14:15 732

原创 JVM-类文件结构

一个类可能实现了多个接口,因此用接口索引集合来描述。name_index 是一个索引值,它指向常量池中一个 CONSTANT_Utf8_info 类型常量,此常量代表这个类(或接口)的全限定名,这里 name_index 值若为 0x0002,也即是指向了常量池中的第二项常量。类索引和父类索引用两个 u2 类型的索引值表示,它们各自指向一个类型为 CONSTANT_Class_info 的类描述符常量,通过该常量总的索引值可以找到定义在 CONSTANT_Utf8_info 类型的常量中的全限定名字符串。

2024-11-25 11:17:22 962

原创 JVM 性能调优

垃圾收集进行时,虚拟机虽然会对直接内存进行回收, 但是直接内存却不能像新生代、老年代那样,发现空间不足了就通知收集器进行垃圾回收, 它只能等老年代满了后 Full GC,然后“顺便”帮它清理掉内存的废弃对象。在 32 位 JDK 上,1.6G 分配给堆,还有一部分分配给 JVM 的其他内存,直接内存最大也只能在剩余的 0.4G 空间中分出一部分, 如果使用了 NIO,JVM 会在 JVM 内存之外分配内存空间,那么就要小心“直接内存”不足时发生内存溢出异常了。

2024-11-22 03:57:00 806

原创 JVM-内存分配与回收策略

JVM 规范中运行时数据区域中的方法区,在 HotSpot 虚拟机中也称为永久代(Permanet Generation),存放一些类信息、常量、静态变量等数据,当系统要加载的类、反射的类和调用的方法较多时,永久代可能会被占满,会触发 Full GC。值是否设置为允许担保失败, 如果是,那么会继续检查老年代最大可用的连续空间是否大于历次晋升到老年代对象的平均大小, 如果大于,将尝试进行一次 Minor GC,尽管这次 Minor GC 是有风险的;, 如果这个条件成立,Minor GC 可以确保是安全的;

2024-11-21 08:13:40 786

原创 JVM-HotSpot 虚拟机对象探秘

所有对象的存储空间都是在堆中分配的,但是这个对象的引用却是在堆栈中分配的。也就是说在建立一个对象时两个地方都分配内存,在堆中分配的内存实际建立这个对象,而在堆栈中分配的内存只是一个指向这个堆对象的指针(引用)而已。访问对象时,首先需要通过引用类型的变量找到该对象的句柄,然后根据句柄中对象的地址找到对象。对象所需内存的大小在类加载完成后便可完全确定,接下来从堆中划分一块对应大小的内存空间给新的对象。分配完内存后,为对象中的成员变量赋上初始值,设置对象头信息,调用对象的构造函数方法进行初始化。

2024-11-18 16:33:45 923

原创 关于Java类加问题我竟让面试官哑口无言

JVM 中区分不同类,不仅仅是根据类名,相同的 class 文件被不同的 ClassLoader 加载就属于两个不同的类(比如,Java中的Object类,无论哪一个类加载器要加载这个类,最终都是委派给处于模型最顶端的启动类加载器进行加载,如果不采用双亲委派模型,由各个类加载器自己去加载的话,系统中会存在多种不同的 Object 类)在 Java 的日常应用程序开发中,类的加载几乎是由 3 种类加载器相互配合执行的,在必要时,我们还可以自定义类加载器,来定制类的加载方式。

2024-11-13 15:29:11 897

原创 MySQL架构介绍

有一系列预处理,比如检查语句是否写正确了,然后是查询优化(比如是否使用索引扫描,如果是一个不可能的条件,则提前终止),生成查询计划,然后查询引擎启动,开始执行查询,从底层存储引擎调用API获取数据,最后返回给客户端。存储引擎层,存储引擎真正的负责了MySQL中数据的存储和提取,服务器通过API与存储引擎进行通信。在该层上引入了线程池的概念,为通过认证安全接入的客户端提供线程。然后,mysql默认使用的BTREE索引,并且一个大方向是,无论怎么折腾sql,至少在目前来说,mysql最多只用到表中的一个索引。

2024-11-12 11:59:15 331

原创 单点登录这么做,真好用!

每个动态密码卡都有一个唯一的密钥,该密钥同时存放在服务器端,每次认证时动态密码卡与服务器分别根据同样的密钥,同样的随机参数(时间、事件)和同样的算法计算了认证的动态密码,从而确保密码的一致性,从而实现了用户的认证。同样的密码每次使用 bcrypt 编码,密码暗文都是不一样的。但是有时要针对特定的用户、特定的应用进行二次密码校验的功能,防止关键系统的登录,导致的信息敏感泄露,比如财务系统或者个人工资账单,在实际工作中经常出现工作代理的情况,即使出现单点登录的密码泄露,二次密码也很好地保护敏感应用系统;

2024-11-04 14:22:46 654

原创 有了这个谁还用破解软件啊?

这个时候就需要你完全移除破解脚本了,再不行就卸载重装(最直接),当然如果你有专研精神,你可以仔细研究怎么一步一步彻底移除破解残留。需要哪里点哪里,再也不用那些繁琐的安装步骤了,官方的管理软件对软件和插件版本校验适配更好,非常推荐。非商业版免费使用,需要你登录你自己的JetBrains账号,登录上去之后就可以了。对于WebStorm安装完成后直接打开就行了,到注册弹窗这里就有变化了。Rider打开的时候可能会有相关提示,个人按需选择即可。软件进行安装/更新,非常方便,一键即可安装。

2024-10-28 09:31:59 461

原创 一篇文章告诉你什么是BloomFilter

缓存宕机、缓存击穿场景,一般判断用户是否在缓存中,如果在则直接返回结果,不在则查询db,如果来一波冷数据,会导致缓存大量击穿,造成雪崩效应,这时候可以用布隆过滤器当缓存的索引,只有在布隆过滤器中,才去查询缓存,如果没查询到,则穿透到db。我们写的这些早有大牛帮我们实现,还造轮子,真是浪费时间,No,No,No,我们学习过程中是可以造轮子的,造轮子本身就是我们自己对设计和实现的具体落地过程,不仅能提高我们的编程能力,在造轮子的过程中肯定会遇到很多我们没有思考过的问题,成长看的见~~(比如上图中的第 3 位)

2024-10-26 09:31:31 1101

原创 Mysql索引一篇就够了

因为非叶子结点只存储索引信息,其内部节点相同 B 树更小,如果把 key 存入同一盘块中,盘块所能包含的 key 越多,一次性读入内存中需要查找的 key 就越多,相对来说磁盘的 I/O次数就减少了。,如果建立 (a,b,c,d) 顺序的索引,d 就是用不到索引的,如果建立(a,b,d,c) 的索引则都可以用到,并且 a,b,d 的顺序可以任意调整。MySQL 索引使用的是 B 树中的 B+ 树,但索引是在存储引擎层实现的,而不是在服务器层实现的,所以不同存储引擎具有不同的索引类型和实现。

2024-10-25 10:12:12 912

原创 GitHub 竟然有这些骚操作,真是涨姿势

但是这样的搜索范围太大,且项目质量参差不齐,所以在搜索结果页,还可以通过 Languages 选择实现语言,Sort 选择排序规则(按 Star 数量、Fork 数量、最近更新时间等)。https://github.com/trending 可以按语言,日期范围(本天、本周、本月)查看热度,有好多可供学习的热门项目。有时候我们要请教大佬,让大佬帮忙看看代码,可以使用高亮功能,在 GitHub 或 GitLab 中找到自己的代码,url 地址后加。前往通知面板 About notifications。

2024-10-24 10:45:43 777

原创 程序员必须掌握的消息中间件-RabbitMQ

在绑定队列和交换器时指定一组键值对,当发送消息到交换器时,RabbitMQ 会获取到该消息的 headers(也是一个键值对的形式),对比其中的键值对是否完全匹配队列和交换器绑定时指定的键值对,如果完全匹配则消息会路由到该队列,否则不会路由到该队列。如果一个队列尚不存在,声明一个队列会创建它。Queue 是消息的容器,也是消息的终点。当多个消费者订阅同一个队列时,队列中的消息会被平均分摊(Round-Robin,即轮询)给多个消费者进行处理,而不是每个消费者都收到所有的消息并处理,这样避免消息被重复消费。

2024-10-23 09:09:55 1148

原创 程序员必须掌握的消息中间件-RocketMQ

设计(design)1 消息存储消息存储是RocketMQ中最为复杂和最为重要的一部分,本节将分别从RocketMQ的消息存储整体架构、PageCache与Mmap内存映射以及RocketMQ中两种不同的刷盘方式三方面来分别展开叙述。1.1 消息存储整体架构消息存储架构图中主要有下面三个跟消息存储相关的文件构成。(1) CommitLog:消息主体以及元数据的存储主体,存储Producer端写入的消息主体内容,消息内容不是定长的。单个文件大小默认1G ,文件名长度为20位,左边补零,剩余为起始

2024-10-21 17:31:07 1079

原创 程序员必须了解的消息队列之王-Kafka

是支持分区的(partition)、多副本的(replica),基于 ZooKeeper 协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于 hadoop 的批处理系统、低延迟的实时系统、storm/Spark 流式处理引擎,web/nginx 日志、访问日志,消息服务等等。许多消息队列所采用的"插入-获取-删除"范式中,在把一个消息从队列中删除之前,需要你的处理系统明确的指出该消息已经被处理完毕,从而确保你的数据被安全的保存直到你使用完毕。

2024-10-20 13:23:54 974

原创 浅谈消息队列及常见的消息中间件

所以,利用中间系统转储两个系统的通信内容,并在下游系统有能力处理这些消息的时候,再处理这些消息,是一套相对较通用的方式。所以,它并不需要专门的管理员,因为它提供了简单又使用的管理特性。如果你有更复杂的路由需求,可以将这些交换机组合起来使用,你甚至可以实现自己的交换机类型,并且当做。非持久订阅:订阅者为了接受消息,必须一直在线。可以使用消息队列的场景有很多,最常用的几种,是做。)基础上完成的,可复用的企业消息系统,是当前最主流的消息中间件之一。,而且可以非常容易的嵌入到企业的应用环境中,并有许多高级功能。

2024-10-19 15:38:47 1124

原创 常见的消息中间件看这一篇就够了

所以,利用中间系统转储两个系统的通信内容,并在下游系统有能力处理这些消息的时候,再处理这些消息,是一套相对较通用的方式。所以,它并不需要专门的管理员,因为它提供了简单又使用的管理特性。如果你有更复杂的路由需求,可以将这些交换机组合起来使用,你甚至可以实现自己的交换机类型,并且当做。非持久订阅:订阅者为了接受消息,必须一直在线。可以使用消息队列的场景有很多,最常用的几种,是做。)基础上完成的,可复用的企业消息系统,是当前最主流的消息中间件之一。,而且可以非常容易的嵌入到企业的应用环境中,并有许多高级功能。

2024-10-18 09:52:07 1229

原创 什么是 BloomFilter

缓存宕机、缓存击穿场景,一般判断用户是否在缓存中,如果在则直接返回结果,不在则查询db,如果来一波冷数据,会导致缓存大量击穿,造成雪崩效应,这时候可以用布隆过滤器当缓存的索引,只有在布隆过滤器中,才去查询缓存,如果没查询到,则穿透到db。我们写的这些早有大牛帮我们实现,还造轮子,真是浪费时间,No,No,No,我们学习过程中是可以造轮子的,造轮子本身就是我们自己对设计和实现的具体落地过程,不仅能提高我们的编程能力,在造轮子的过程中肯定会遇到很多我们没有思考过的问题,成长看的见~~(比如上图中的第 3 位)

2024-10-17 16:32:43 1084

原创 分享全网最全的ChatGPT资料

(DALL·E,Midjourney,ChatGPT,Stable Diffusion绘画)之后也会持续更新不错的AI网站(不会夹带私货,再说一遍,全程没有任何广告,也不会从中获利)全程没有任何广告,也不会从中获利,只是我个人觉得不错,所以将这些网站分享给大家!💰:有使用限制(全程没有任何广告,也不会从中获利)(DALL·E和Midjourney绘画)(自动获取YouTube视频的摘要或简介)(自动提取B站视频的中心思想或总结)(自动提取视频的中心思想或总结)(AI搜索,它只能告诉你答案)

2024-10-16 10:22:29 490

原创 并发专栏-CAS

从 Atomic 到 CAS❝CAS 知道吗,如何实现?讲一讲 AtomicInteger,为什么要用 CAS 而不是 synchronized?CAS 底层原理,谈谈你对 UnSafe 的理解?AtomicInteger 的ABA问题,能说一下吗,原子更新引用知道吗?CAS 有什么缺点吗? 如何规避 ABA 问题?前言Java 内存模型要保证可见性,原子性和有序性。在 JDK 5之前 Java 语言是靠 synchronized 关键字保证同步的,但 synchronized 是一种独

2024-10-15 15:04:55 683

原创 并发专栏-队列同步器 AQS 以及 Reentrantlock 应用

两个都是native本地方法。文章中反复提到过,使用多线程很重要的考量点是线程切换的开销,想象一下,如果采用非公平锁,当一个线程请求锁获取同步状态,然后释放同步状态,因为不需要考虑是否还有前驱节点,所以刚释放锁的线程在此刻再次获取同步状态的几率就变得非常大,所以就减少了线程的开销。这段代码被执行的条件是 failed 为 true,正常情况下,如果跳出循环,failed 的值为 false,如果不能跳出循环貌似怎么也不能执行到这里,所以只有不正常的情况才会执行到这里,也就是会发生异常,才会执行到此处。

2024-10-13 12:37:53 781

原创 Java 集合,你肯定也会被问到这些

方法表示在进行第一次初始化时会对其进行扩容,或者当该数组的实际大小大于其扩容阈值(第一次为0.75 * 16 = 12),这个时候在扩容的同时也会伴随的桶上面的元素进行重新分发,这也是JDK1.8版本的一个优化的地方,在1.7中,扩容之后需要重新去计算其Hash值,根据Hash值对其进行分发,但在1.8 版本中,则是根据在同一个桶的位置中进行判断(e.hash & oldCap)是否为0,重新进行hash分配后,该元素的位置要么停留在原始位置,要么移动到原始位置+增加的数组大小这个位置上。

2024-10-11 09:19:47 965

原创 Zookeeper面试这一篇就够了

(4)watcher event 异步发送 watcher 的通知事件从 server 发送到 client 是异步的,这就存在一个问题,不同的客户端和服务器之间通过 socket 进行通信,由于网络延迟或其他因素导致客户端在不通的时刻监听到事件,由于 Zookeeper 本身提供了 ordering guarantee,即客户端监听事件后,才会感知它所监视 znode发生了变化。待到同步结束,它也参与消息广播。因此,随着 zookeeper 的集群机器增多,读请求的吞吐会提高但是写请求的吞吐会下降。

2024-10-10 19:28:57 1122

原创 MySQL 三万字精华总结 + 面试100 问,和面试官扯皮绰绰有余

MySQL 三万字精华总结 + 面试100 问,和面试官扯皮绰绰有余❝写在之前:不建议那种上来就是各种面试题罗列,然后背书式的去记忆,对技术的提升帮助很小,对正经面试也没什么帮助,有点东西的面试官深挖下就懵逼了。个人建议把面试题看作是费曼学习法中的回顾、简化的环节,准备面试的时候,跟着题目先自己讲给自己听,看看自己会满意吗,不满意就继续学习这个点,如此反复,好的offer离你不远的,奥利给一、MySQL架构和其它数据库相比,MySQL 有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用

2024-10-08 09:19:14 643

原创 Java开发必知必会的一些工具

因为它结合了其他构建工具的最佳功能,例如它具有灵活性和对 Ant 的控制、Ivy 的依赖管理、Maven 的配置和插件的约定,最重要的是它在 Ant 之上使用 Groovy DSL。Kubernetes 也是采用混合云环境的重要工具,这意味着相同的代码可以在开发人员机器上运行,也可以在 AWS、GCP 和 Microsoft Azure 等不同的云环境中本地运行。其中一个工具是 JIRA,对于有经验的开发人员来说,这是必须知道的,特别是如果你的团队遵循 Sprint、Scrum 和看板等敏捷实践。

2024-10-05 09:44:08 1232

原创 在阿里工作是一种什么体验?

六险一金,股票,期权,公积金顶格交(最高单边能到8000+,顶许多人一个月工资了),这些待遇都是很好的,阿里的薪资在国内互联网的排名是数一数二的,对于表现好的员工,有时会发放股票期权奖励,甚至可能会比工资还要高。在经历了很多同一年毕业的同学实习过后即失业的惨痛经历后,我逐渐理解了团队同事的这句话:是的,熟悉整个研发流程,从系统设计,代码开发,测试联调,发布上线,问题排查都不仅是你的职责,还理所应得地该成为你的横向拓展能力。我来阿里工作已经一年了,回顾起自己的一年,最大的感受就是累,而累完了就是一种充实。

2024-10-04 11:54:05 872

原创 JVM类加载机制

JVM 中区分不同类,不仅仅是根据类名,相同的 class 文件被不同的 ClassLoader 加载就属于两个不同的类(比如,Java中的Object类,无论哪一个类加载器要加载这个类,最终都是委派给处于模型最顶端的启动类加载器进行加载,如果不采用双亲委派模型,由各个类加载器自己去加载的话,系统中会存在多种不同的 Object 类)在 Java 的日常应用程序开发中,类的加载几乎是由 3 种类加载器相互配合执行的,在必要时,我们还可以自定义类加载器,来定制类的加载方式。

2024-10-04 11:53:12 1467

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除