XOR

JUC源码学习笔记7——FutureTask源码解析,人生亦如是,run起来才有结果

系列文章目录和关于我 一丶我们在哪里会使用到FutureTask 基本上工作中和Future接口 打交道比较多,比如线程池ThreadPoolExecutor#sumbit方法,返回值就是一个Future(实际上基本上就是一个FutureTask)。ThreadPoolExecutor#sumbit ......
源码 FutureTask 结果 笔记 人生

C# 正则表达式常用的符号和模式解析

〇、正则表达式的基本语法符号 若只简单匹配固定字符串,则无需任何修饰符,例如:需要匹配字符串 77,则可直接写:new Regex("77")。 下边例举一下常用的符号:(知道下面这些,一般的正则表达式便可清晰异常) 符号 释义 示例 1 示例 2 \ 转义字符,互相转换一个具有特殊功能的字符 和一 ......
正则 表达式 符号 常用 模式

toastr.js 便捷弹框怎么用?怎么本地化?

〇、简介 toastr.js 是一个非常简洁的弹窗消息插件,主要原因就是其脚本和样式文件较小。 并且可以根据自己的需求,修改样式文件,可以应用在多种不同的场景。 https://codeseven.github.io/toastr/ https://github.com/CodeSeven/toas ......
toastr js

从Spring中学到的【2】--容器类

容器类作为数据的载体,在Spring源码中随处可见。理解了容器类的概念,极大地8降低了我们的心智负担,从而关注更重要的代码逻辑与结构。 ......
容器 中学 Spring

Apache Kafka 移除 ZK Proposals

Zookeeper 和 KRaft 这里有一篇 Kafka 功能改进的 proposal 原文。要了解移除 ZK 的原因,可以仔细看看该文章。以下是对该文章的翻译。 动机 目前,Kafka 使用 Zookeeper 保存与分区(patitions)、brokers 相关的元数据,以及选举 Kafka ......
Proposals Apache Kafka ZK

一文搞懂JUC并发编程

一、JUC简介 Java5.0提供了java.util.concurrent包,简称JUC,即Java并发编程工具包。JUC更好的支持高并发任务。 具体的有以下三个包: java.util.concurrent java.util.concurrent.atomic java.util.concur ......
JUC

模型驱动设计的构造块(下)——DDD

3. 领域对象的生命周期 每个对象都有生命周期,如下图所示。对象自创建后,可能会经历各种不同的状态,直至最终消亡——要么存档,要么删除。当然很多对象是简单的临时对象,仅通过调用构造函数来创建,用来做一些计算,然后由垃圾收集器回收。这类对象没必要搞得那么复杂。但有些对象具有更长的生命周期,其中一部分时 ......
模型 DDD

1-微服务导论

微服务导论 SpringCloud是微服务的技术落地方案,微服务是分布式架构的一种,是为了解决项目发展过程中出现的各种问题而出现的新的项目架构方案。 项目中模块繁多,耦合度无法避免的变高,最好的方案就是对服务进行拆分:将一个大型项目根据模块拆分成不同的小模块项目,各司其职完成各自的功能。 单体应用适 ......
导论

All in one入门之All in one和三种PVE、ESXI、Windows Server方案

前言 All in one 前段时间,在某多多上花了446大洋弄了一台J4125准系统小主机,再花了一点钱买个杂牌msata和“全新”三星内存条,入坑了All in one。 All in one是什么呢?从英文直译为“多合一”,所谓的All in one就是将若干个设备的特殊功能赋予一个高性能设备 ......
All one Windows 方案 Server

Ventoy制作启动盘和使用VMware测试启动盘(论文版)

Ventoy是可用于制作启动U盘的开源工具,在占用少量引导分区容量后,其他空间依旧可以正常当一般的U盘读写文件。它的最大特点是只要将iso、win、img、efi等之类的镜像文件和引导文件移动到U盘中。比如导出微PE、杏雨梨云的可启动iso镜像文件,移动到U盘中,在启动时选择微PE、杏雨梨云任意一个... ......
Ventoy VMware 论文

Django模型层

模型层与ORM 一、初步认识ORM 1.什么是ORM 对象关系映射 能够让不会SQL语句的python程序员 使用python面向对象的语法来操作数据库 优势>>>:简单方便快捷 劣势>>>:效率可能会低 2.概念对接 类 表 对象 一条条数据 对象点名字 数据获取字段对应值 3.基本操作(增删改查 ......
模型 Django

为什么更推荐使用组合而非继承关系?

前言 最近在看公司项目的代码,看到了大量的继承体系,而且还是继承了多层,维护、阅读都十分的困难。在查阅了一些资料以后,包括《Effective Java》一书中的第16条提到“组合优先于继承”。那继承到底会暴露什么问题呢?为什么更推荐优先使用组合呢? 欢迎关注微信公众号「JAVA旭阳」交流和学习 继 ......

【架构设计】你的类足够“专一”吗

前言 软件设计SOLID原则中有一个最基础的原则就是单一职责原则,我想绝大部分的程序员都知道,而且都理解它的意思,甚至觉得很简单。但是往往“看懂”和“会用”是两回事,而“用好”更是难上加难。好比我们项目,一开始一直和大家强调类的单一职责,随着业务不断发展,不同的同事都往这个类“添砖加瓦”,最终导致一 ......
架构

正确理解和使用JAVA中的字符串常量池

前言 研究表明,Java堆中对象占据最大比重的就是字符串对象,所以弄清楚字符串知识很重要,本文主要重点聊聊字符串常量池。Java中的字符串常量池是Java堆中的一块特殊存储区域,用于存储字符串。它的实现是为了提高字符串操作的性能并节省内存。它也被称为String Intern Pool或String ......
常量 字符串 字符 JAVA

丧心病狂,竟有Thread.sleep(0)这种神仙写法?

前言 最近在网上看到了一段代码,让我感到很迷茫。他在代码中使用了 Thread.sleep(0),让线程休眠时间为0秒,具体代码如下。 int i = 0; while (i<10000000) { // business logic //prevent long time gc if (i % 3 ......
丧心病狂 写法 神仙 Thread sleep

90%的Java开发人员都会犯的5个错误

前言 作为一名java开发程序员,不知道大家有没有遇到过一些匪夷所思的bug。这些错误通常需要您几个小时才能解决。当你找到它们的时候,你可能会默默地骂自己是个傻瓜。是的,这些可笑的bug基本上都是你忽略了一些基础知识造成的。其实都是很低级的错误。今天,我总结一些常见的编码错误,然后给出解决方案。希望 ......
错误 人员 Java 90%

【架构设计】保持简单轻量设计的三个原则——DRY,KISS, YAGNI

前言 一个软件轻量简单的软件架构是非常重要的,它可以让我们花最小的代价就能满足业务上的需求。那如何保证轻量简单呢?那今天就和大家分享下这其中的秘密,也就是3个重要的指导原则,KISS原则,YAGNI原则和DRY原则,你们都知道并且理解吗? 欢迎关注微信公众号「JAVA旭阳」交流和学习 KISS原则 ......
轻量 架构 原则 三个 YAGNI

5个接口性能提升的通用技巧

前言 作为后端开发人员,我们总是在编写各种API,无论是为前端web提供数据支持的HTTP REST API ,还是提供内部使用的RPC API。这些API在服务初期可能表现不错,但随着用户数量的增长,一开始响应很快的API越来越慢,直到用户抱怨:“你的系统太糟糕了。” 我只是浏览网页。为什么这么慢 ......
接口 性能 技巧

【架构设计】你的应用该如何分层呢?

前言 最近review公司的代码,发现现在整个代码层级十分混乱,一个service类的长度甚至达到了5000多行。而且各种分层模型DTO、VO乱用, 最终出现逻辑不清晰、各模块相互依赖、代码扩展性差、改动一处就牵一发而动全身等问题。 我们在吸取了阿里巴巴的分层规范以及网上的一些经验后,重新梳理总结了 ......
架构

【架构设计】如何让你的应用做到高内聚、低耦合?

前言 最近review公司的代码,发现代码耦合程度特别高,修改一处,不知不觉就把其他地方影响到了,这就让我思考该如何让我们写的代码足够内聚,减少耦合呢? "高内聚、松耦合"是一个非常重要的设计思想,能够有效地提高代码的可读性和可维护性,缩小功能改动导致的代码改动范围。它可以用来指导不同粒度代码的设计 ......
架构

前端工程化筑基-Node/npm/babel/polyfill/webpack

前端搬砖框架:开发 ⇨ 构建 ⇨ 部署上线 ⇨ 摸鱼。本文对前端工程中的基本组件,如Node.js,npm,babel,polyfill,webpack等框架用图形化、简洁的语言进行了简单的介绍。 ......
前端 polyfill webpack 工程 babel

重学c#系列—— 反射深入一点点[三十三]

前言 在上一章中介绍了什么是反射: https://www.cnblogs.com/aoximin/p/16440966.html 正文 上一节讲述反射的基本原理和为什么要用反射,还用反射的优缺点这些。 其二者的本质是一致的,都是先获取到type(元数据)然后在进行创建实例。 下面那个好理解看下上面 ......

What's new in Dubbo 3.1.4 and 3.2.0-beta.3

在 12 月 22 日,Dubbo 3.1.4 和 3.2.0-beta.3 正式通过投票发布。本文将介绍发布的变化一览。 Dubbo 3.1.4 版本是目前 Dubbo 3 的最新稳定版本,我们建议所有的用户都升级到最新的稳定版本。Dubbo 3.2.0-beta.3 版本是目前 Dubbo 3 ......
Dubbo What beta new and

Apache Dubbo 官方正式发布 Spring 6 & Spring Boot 3 支持

Dubbo 简介 Apache Dubbo 是一款 RPC 服务开发框架,用于解决微服务架构下的服务治理与通信问题,官方提供了 Java、Golang 等多语言 SDK 实现。使用 Dubbo 开发的微服务原生具备相互之间的远程地址发现与通信能力, 利用 Dubbo 提供的丰富服务治理特性,可以实现 ......
Spring 官方 Apache Dubbo Boot

Triple 协议支持 Java 异常回传的设计与实现

作者:Apache Dubbo Contributor 陈景明 背景 在一些业务场景, 往往需要自定义异常来满足特定的业务, 主流用法是在catch里抛出异常, 例如: public void deal() { try{ //doSomething ... } catch(IGreeterExcep ......
Triple Java

Dubbo 3 之 Triple 流控反压原理解析

作者:顾欣 Triple 是 Dubbo 3 提出的基于 HTTP2 的开放协议,旨在解决 Dubbo 2 私有协议带来的互通性问题。Triple 基于 HTTP/2 定制自己的流控,支持通过特定的异常通知客户端业务层服务端负载高情况,保护了服务端被大流量击垮,提高系统高可用能力。 一、流控反压现状 ......
原理 Triple Dubbo

Proxyless Mesh 在 Dubbo 中的实践

背景 随着 Dubbo 3.1 的 release,Dubbo 在云原生的路上又迈出了重要的一步。在这个版本中添加了 Proxyless Mesh 的新特性,Dubbo Proxyless Mesh 直接实现 xDS 协议解析, 实现 Dubbo 与 Control Plane 的直接通信,进而实现 ......
Proxyless Dubbo Mesh

一阶段目标检测网络-RetinaNet详解

作者深入分析了极度不平衡的正负(前景背景)样本比例导致 one-stage 检测器精度低于 two-stage 检测器,基于上述分析,提出了一种简单但是非常实用的 Focal Loss 焦点损失函数,并且 Loss 设计思想可以推广到其他领域,同时针对目标检测领域特定问题,设计了 RetinaNet... ......
RetinaNet 阶段 目标 网络

万字长文详解 YOLOv1-v5 系列模型

yolov1 作者提出了一种新的目标检测方法 YOLO,之前的目标检测工作都是重新利用分类器来执行检测。作者的神经网络模型是端到端的检测,一次运行即可同时得到所有目标的边界框和类别概率。YOLO 架构的速度是非常快的,base 版本实时帧率为 45 帧,smaller 版本能达到每秒 155 帧,性... ......
长文 YOLOv1-v 模型 YOLOv1 YOLOv

万字长文解析Scaled YOLOv4模型(YOLO变体模型)

Scaled YOLOv4 模型最主要的贡献在于通过理论系统分析和实验证了模型缩放的原则,进一步拓展了 CSPNet 方法,并基于此设计了一个全新的 Scaled-YOLOv4,Scaled-YOLOv4 网络的卷积模块都有使用 CSP。总的感觉就是针对不同的 GPU 平台,根据作者分析出来的模型缩... ......
模型 长文 变体 Scaled YOLOv4