学习笔记

记录开发中的磕磕绊绊一起成长!

共收录文章 16

使用 1Panel 从零部署 Halo 博客系统

摘要: 本文介绍了在云服务器上部署Halo服务的步骤。首先购买推荐使用Ubuntu 20.04系统的云服务器,并开通记录服务器公网IP地址。然后配置域名解析,将域名与服务器IP地址关联。接着安装1Panel面板,并在其后台配置Halo服务,包括安装Halo管理插件、配置域名及HTTPS证书。最后访问配置的域名,即可看到Halo初始化页面并填写相关信息。

0
0
25

深入解析 Java HashSet 底层原理

这篇文章对 HashSet 和 HashMap 进行了详细的解释,包括它们的类结构、关键字段以及源代码分析。文章指出,HashSet 是只要 Key,不要 Value 的 HashMap,实际数据都存储在 HashMap 的 map.put(e, PRESENT) 中,其中 PRESENT 是一个固定占位符。文章还详细解读了 HashMap 的 putVal() 方法,包括初始化 table、定位桶位置、插入数据、覆盖重复 key、树化过程以及扩容等。同时,文章使用了流程图、注释和“大白话”解释来帮助读者理解。总之,这是一篇非常好的文章,适合从 0 开始逐步了解 HashSet 的小伙伴。

0
1
61

深入解析 Java HashMap 底层原理

非常抱歉,我无法直接生成流程图。但我可以按照你的要求描述一下HashMap的扩容流程,并以文字形式呈现: 扩容流程: 1. 检查当前table是否已初始化。如果没有初始化,根据构造函数的初始容量进行初始化。如果已经初始化,则进入下一步。 2. 计算新的容量。如果旧容量大于等于最大值(MAXIMUM_CAPACITY),则将阈值设置为Integer.MAX_VALUE并返回旧table。否则,旧容量翻倍作为新的容量。 3. 计算新的阈值。如果旧阈值大于0,将新阈值设置为旧阈值的两倍。否则,使用默认初始容量和负载因子计算新阈值。 4. 创建新的table数组。 5. 将旧table中的元素重新散列到新的table中。遍历旧table的每个桶,对于每个非空的桶: a. 如果桶中只有一个节点,直接将该节点放到新table的对应位置。 b. 如果桶是红黑树,则进行树的分裂操作,将树中的节点分配到新table的两个位置。 c. 如果桶中有多个节点(链表),则需要将链表分成两部分,一部分放在旧容量的位置,另一部分放在“旧容量+新容量”的位置。这是为了保证在扩容后,原本在同一个桶中的元素在新table中仍然保持相邻的关系。 6. 将新table赋值给table字段,完成扩容。 希望这个描述能够帮助你理解HashMap的扩容流程。如果你需要更详细的流程图,可以尝试使用流程图工具(如Visio、ProcessOn等)根据这个描述进行绘制。

1
1
123

Java 工厂设计模式详解

文章摘要: 本文主要介绍了工厂设计模式,包括简单工厂模式、工厂方法模式和抽象工厂模式。工厂设计模式是创建型模式之一,通过将对象的创建过程封装在工厂类中,使得代码更加灵活、可扩展和易于维护。文章详细阐述了每种工厂模式的定义、类图、代码示例以及优缺点。简单工厂模式通过工厂类创建产品对象,但扩展困难。工厂方法模式定义了一个创建对象的接口,由子类决定实例化哪个类,符合开闭原则。抽象工厂模式提供了一组产品的创建接口,可以确保同一产品族的产品一起被创建。根据实际需求,可以选择不同的工厂模式来提高系统的灵活性、可扩展性和可维护性。

1
0
54

Lit框架超深度使用指南

摘要:本文介绍了Lit框架,一个由Google维护的轻量级Web组件库,基于Web Components标准构建。文章首先概述了Lit的基本概念和技术定位,强调了其轻量级、高效、原生Web Components支持和简单API设计的特性。然后,文章详细阐述了Lit的环境搭建与工程化、核心机制、高级开发模式以及其他资源。其中,核心机制部分解释了Lit的响应式系统原理、模板引擎黑盒解析、样式隔离方案等。高级开发模式部分介绍了自定义指令开发、服务端渲染(SSR)、状态管理集成等。最后,文章提供了官方资源和社区资源的链接,并介绍了工具集合,邀请读者一同入驻腾讯云开发社区。

3
1
105

重生之设计模式:策略模式

摘要: 本文介绍了策略模式的概念及其在软件开发中的应用。策略模式允许在运行时根据不同的条件选择不同的算法或行为,解决了直接在代码中使用大量if-else或switch-case分支逻辑导致的问题。文章以一个智能客服系统为例,详细阐述了如何使用策略模式实现多AI服务的动态调用。文章还介绍了策略模式的优点和缺点,以及适用场景。

4
2
170

分布式事务详解:从入门到精通

摘要: 本文介绍了分布式事务的基本概念,包括其定义、背景及核心技术。随着微服务架构的普及,分布式事务成为确保多个独立服务协同完成业务操作的关键。分布式事务涉及跨不同节点或服务的事务操作,旨在确保数据在不同系统间的一致性和业务的完整性。为实现这一目标,有多种技术和方法被采用,如XA协议、Spring框架的分布式事务管理、TCC模式和基于MQ的消息可靠传输等。这些技术和方法通过确保事务的原子性、一致性、隔离性和持久性,为分布式系统提供稳定可靠的事务处理机制。

5
1
315

Java Flux流 从0到精通

摘要: 本文介绍了Flux框架在数据处理中的应用,通过将其比喻为家庭水管、快递站、外卖骑手等元素来简化理解。文章介绍了Flux的基本操作和核心特性,包括数据流的产生、订阅和处理等过程。同时,通过类比杂志订阅的四种信号和背压危机处理,展示了Flux在处理数据时的灵活性和智能性。文章还介绍了Flux在实战中的应用,如外卖平台订单系统,展示了Flux在实际场景中的效果和价值。最后,作者总结到Flux就像一个智能水管网络,可以根据需求调控数据流,实现优秀的响应式系统。

2
1
228

零基础Java使用Playwright获取网站截图教程

摘要: 本文介绍了使用Microsoft开发的跨浏览器自动化测试工具Playwright进行网页截图的方法。文章首先简要介绍了Playwright的特点和优势,随后详细描述了如何在Java开发环境中使用Playwright进行网页截图。文章给出了基础截图示例,并解释了高级参数的使用。此外,文章还提到了多浏览器的支持情况,并给出了异步API的使用示例。最后,文章提供了扩展学习建议,包括访问官方文档、设备模拟、网络拦截、视频录制等。

1
0
110

重生之设计模式:创建型模式的启示录

非常精彩的摘要总结,尤其是针对设计模式以及单例模式进行了深入的剖析和解释。此外,关于设计模式的使用场景以及枚举在单例模式中的应用也非常实用。不过此段摘要并未完整呈现所有的设计模式内容,希望后续的总结可以继续丰富设计模式的其它方面,例如其他结构型和行为型设计模式的具体应用场景和实现方式等。此外,如果继续深化对设计模式实际应用中的案例解析和对比,将更加有助于读者理解和掌握设计模式在实际开发中的价值和重要性。期待后续的摘要继续精彩呈现!

1
0
87
1 2

欢迎来到Handsome的站点,为您导航全站动态

24 文章数
4 分类数
37 评论数
24标签数

访问统计

51统计Logo