软件设计模式系列之二十五——访问者模式

访问者模式(Visitor Pattern)是一种强大的行为型设计模式,它允许你在不改变被访问对象的类的前提下,定义新的操作和行为。本文将详细介绍访问者模式,包括其定义、举例说明、结构、实现步骤、Java代码实现、典型应用场景、优缺点、类似模式以及最后的小结。

软件设计模式系列之十五——职责链模式

职责链模式(Chain of Responsibility Pattern)也称为责任链模式,是一种结构型设计模式,用于构建一条对象处理请求的责任链。在这个模式中,多个对象依次处理请求,直到其中一个对象能够处理该请求为止。职责链模式将请求的发送者和接收者解耦,允许多个对象都有机会处理请求,同时可以动...

PerfView专题 (第十三篇):洞察 .NET程序 的非托管句柄泄露

## 一:背景 ### 1. 讲故事 前几天写了一篇 `如何洞察 .NET程序 非托管句柄泄露` 的文章,文中使用 WinDbg 的 `!htrace` 命令实现了句柄泄露的洞察,在文末我也说了,WinDbg 是以侵入式的方式解决了这个问题,在生产环境中大多数情况下是不能走附加进程的模式,所以这也是

带团队后的日常思考(十五)

一、日常问题 1)CDN 异常 5 月中旬,发现图像异常的上报量比平时多了 10 多倍,日常 300 多,现在 4000 多。 但是看不到异常的错误码,不能确定是域名问题还是服务问题。还特地查看了错误分布的时间段,但并没有看出说明规律。 本来以为是证书的问题,因为正好那几天证书到期了,但是证书更新后

从零开始写 Docker(十三)---实现 mydocker rm 删除容器

本文为从零开始写 Docker 系列第十三篇,实现类似 docker rm 的功能,使得我们能够删除容器。 完整代码见:https://github.com/lixd/mydocker 欢迎 Star 推荐阅读以下文章对 docker 基本实现有一个大致认识: 核心原理:深入理解 Docker 核心

salesforce零基础学习(一百三十三)ListView的button思考

本篇参考: salesforce零基础学习(九十五)lightning out salesforce零基础学习(一百一十)list button实现的一些有趣事情 https://help.salesforce.com/s/articleView?language=en_US&id=sf.mass_

[转帖]面试必备!TCP协议经典十五连问!

https://juejin.cn/post/6983639186146328607 前言 TCP协议是大厂面试必问的知识点。整理了15道非常经典的TCP面试题,希望大家都找到理想的offer呀 公众号:捡田螺的小男孩 github地址,感谢每一颗star 1. 讲下TCP三次握手流程 开始客户端和

[转帖]《Linux性能优化实战》笔记(十五)—— 磁盘IO的工作原理

前一篇介绍了文件系统的工作原理,这一篇来看看磁盘IO的工作原理 一、 磁盘 1. 按存储介质分类 磁盘是可以持久化存储的设备,根据存储介质的不同,常见磁盘可以分为两类:机械磁盘和固态磁盘。 机械磁盘,也称为硬盘驱动器(Hard Disk Driver,HDD),主要由盘片和读写磁头组成,数据存储在盘

Django更换数据库和迁移数据方案

前言 双十一光顾着买东西都没怎么写文章,现在笔记里还有十几篇半成品文章没写完… 今天来分享一下 Django 项目切换数据库和迁移数据的方案,网络上找到的文章方法不一,且使用中容易遇到各类报错,本文根据 Django 官方文档和工作中的经验,稳定可靠,在博客中长期更新~ 如果你遇到同样的问题,阅读本

从源码入手详解ReentrantLock,一个比synchronized更强大的可重入锁

写在开头 随手一翻,发现对于Java中并发多线程的学习已经发布了十几篇博客了,多线程 是Java基础中的重中之重!因此,可能还需要十几篇博客才能大致的讲完这部分的知识点,初学者对于这部分内容一定要多花心思,不可马虎!今天我们继续来学习一个重要知识点:ReentrantLock ReentrantLo

离职攻略

# 离职攻略 ## 背景 ``` 因为一些原因, 离开了工作十五年的公司. 想着能够总结一下离职的过程,以及注意事项. 以及自己犯得几个错误. 希望其他人如果有类似的需求时别像我一样做出一些比较错误的步骤. 钱重要, 开心也很重要, 获得认可做出贡献也挺重要的. ``` ## 提离职之前 ``` 1

十分钟搞懂机器学习中的余弦相似性

在机器学习中,我们经常会使用余弦函数来计算向量之间的相似性。从推荐系统到自然语言处理,再到计算机视觉,余弦相似性在多种机器学习应用中都有其独特的价值。它不仅限于特定领域,而是几乎可以在任何需要比较向量相似度的场景下使用。

十大java应用服务器(web server)总结

java应用服务器(web server),是指运行java程序的web应用服务器软件,不包括nginx、Apache等通用web服务器软件。 一、Tomcat Tomcat是Apache 软件基金会的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。随

超越datetime:Arrow,Python中的日期时间管理大师

介绍 Arrow是一个Python库,它提供了一种合理且对人类友好的方法来创建、操作、格式化和转换日期、时间和时间戳。它实现了对datetime类型的更新,填补了功能上的空白,提供了一个智能的模块API,支持许多常见的创建场景。简单来说,它可以帮助您使用更少的导入和更少的代码来处理日期和时间。 Ar

告别Word,用Python打造你的专业简历!

今天给大家介绍下一个在纯 python 中构建简历的实用工具,工具的连接地址https://github.com/koek67/resume-builder/blob/main/readme.md 用法介绍 要求 Python 3.7 或更高版本(仅此而已!) 安装 整个库是一个单独的 python

[转帖]十个漂亮的数学定理赏析

https://www.bilibili.com/read/cv10762342?spm_id_from=333.999.0.0 原地址 十个漂亮的数学定理赏析 Beauty is the first test: there is no permanent place in the world fo

[转帖]十二、G1垃圾收集器

G1收集器是一款面向服务器的垃圾收集器,也是HotSpot在JVM上力推的垃圾收集器,并赋予取代CMS的使命。为什么对G1收集器给予如此高的期望呢?既然对G1收集器寄予了如此高的期望,那么他一定是有特别之处。他和其他的垃圾收集器有何不同呢?下面我们将从以下几个方面研究G1收集器。 一、为什么会诞生G

[转帖]十二要素应用宣言(12-Factor App)

https://www.jianshu.com/p/d08cba7349dc 从摩根·布鲁斯和保罗·A.佩雷拉的《微服务实战》这本书上得知十二要素应用宣言,网上搜索从infoQ搬迁至此。 十二要素应用宣言英文版,对应中文版。 简介 如今,软件通常会作为一种服务来交付,它们被称为网络应用程序,或“软件

[转帖]十年后数据库还是不敢拥抱NUMA?

https://zhuanlan.zhihu.com/p/387117470 导语 在2010年前后MySQL、PG、Oracle数据库在使用NUMA的时候碰到了性能问题,流传最广的这篇 MySQL – The MySQL “swap insanity” problem and the effect

[转帖]十大主流Nehalem服务器横评(多图)

https://server.51cto.com/article/201820.html 作者:佚名2010-05-25 09:52:27 运维服务器运维 除了我们的两台基准服务器之外,本次横向评测活动共有8个厂商的10款主流产品,它们都是基于Intel的Nehalem Xeon处理器,结果各有千秋