a+b=c,处理器一步搞定,Java虚拟机为啥要四步?
基于栈的运行方式 Java虚拟机的执行过程基于字节码指令,可以将其视为对操作系统的一种抽象模拟。Java虚拟机具有自己的指令集和运行环境,包括堆(Heap)、栈(Stack)、方法区(Method Area)等。因此,Java虚拟机的指令操作流程与处理器的指令操作流程有许多相似之处,主要包括取指令、 ...
Hello World背后藏着什么秘密?一行代码看懂Java的“跨平台”魔法
Java虚拟机(Java Virtual Machine,JVM)是Java生态的基石,不仅承载着“一次编写,随处运行”的核心使命,还通过即时编译优化机制,弥合抽象层与性能间的差距。字节码的通用性虽带来效率损耗,但Java虚拟机借助动态探测热点代码、分层编译策略和即时优化技术,不断弥补抽象造成的性能 ...
我的代码出现幻觉?说好的a = 1; x = b,怎么成了x = b; a = 1?
有序性:代码执行的幻觉 前面讲到通过缓存一致性协议,来保障共享变量的可见性。那么是否还有其他情况,导致对共享变量操作不符合预期结果。可以看下面的代码: private int a, b; private int x, y; public void test() { Thread t1 = new T ...
我的代码背叛了我?为什么 a=1, b=2,最后x和y都等于0?
随着多核架构的普及,并发编程已成为开发者不可或缺的核心技能。在学习过程中,开发者常会遇到这样的困惑:正确编写的单线程代码,为何在并发环境下可能瞬间失效?看似有序的语句执行后,为何结果却混乱不堪?这些问题,都指向了编程领域的一个关键课题——内存模型。 本文以Java语言为例,剖析共享数据在并发环境中的 ...
书本大纲:从芯片、分布式到云计算AI时代
并发编程艺术 内存模型——连接代码与硬件的契约 以可见性、有序性、原子性为基础,通过happens - before规则和volatile/synchronized同步机制,探讨处理器优化与并发安全的关系,介绍多线程程序底层运行逻辑。 并发原语——在混沌中建立秩序 对比Java与Golang并发哲学 ...
书本介绍:技术札纪——有限硬件与无限计算的权衡艺术
在当前技术飞速发展的时代,开发者面临着一个看似无法调和的难题:一边是有限的硬件与资源,另一边是无限增长的计算与业务需求。如何在秩序、效率和弹性之间做出明智的权衡,不仅是技术的考验,更是一门决策的艺术。本书,便是对这门艺术的思考与记录。 ...
企业可观测性架构分析(聚焦架构优化、业务有效应用与效率提升)
当前文档为博主分析当前公司可观测性相关能力过程中痛点与架构的思考,希望能为广大博友带来一些架构帮助与借鉴 注:为避免企业信息泄漏相关信息会进行脱敏,如后续公司均以fsdm来代替,相关平台与技术细节做模糊与省略处理等。如有细节探讨可联系博主 一、背景与目标 分析fsdm当前可观测性建设现状,识别核心痛 ...
号码生成系统的创新实践:游戏周周乐幸运码设计
作者: vivo 互联网服务器团队- Zhang Jing 本文以游戏周周乐的幸运码为切入点,针对其生成过程中涉及的随机性、唯一性及高并发等特点,设计了一种基于号段+子码的创新架构。该方案不仅在生成速度上表现突出,还显著提升了存储效率,同时降低了扩容成本,为类似的号码生成系统提供了设计上的新思路和启 ...
一文掌握 HarmonyOS5 模拟器与真机调试技巧
DevEco Studio 的预览器可以提供高效的 UI 实时反馈,但要进行全面的功能测试、性能分析及硬件相关功能调试,仍需在模拟器或真机上运行应用。 ...
【HarmonyOS5】DevEco Studio 使用指南:代码阅读与编辑功能详解
前言 DevEco Studio 是一款功能强大的开发工具,支持 ArkTS、JavaScript、TypeScript 等多种语言,具备智能代码补全、语法高亮、实时错误检查等特性,极大提升了鸿蒙应用的开发效率。本文将详细介绍 DevEco Studio 的代码阅读与编辑功能,帮助开发者更高效地进行 ...
【HarmonyOS 5开发入门】DevEco Studio安装配置完全指南
前言 随着华为鸿蒙OS的快速发展,越来越多的开发者开始关注并投入到这个新兴的生态系统中。作为开发鸿蒙OS应用的第一步,安装并配置好DevEco Studio开发环境至关重要。本文将详细介绍如何下载、安装和初步配置DevEco Studio,帮助你快速进入鸿蒙应用开发的世界。 下载开发工具 访问华为官 ...
性能指标: 并行编程: 加速比和阿姆达尔定律(俄勒冈州立大学讲义)
加速比的定义 加速比 如果使用n个内核,则 Speedup(n)为 T1 是一个内核的执行时间,Tn 是 n 个内核的执行时间。P1 是一个内核的性能,Pn 是 n 个内核的性能。 注意,Speedup(n)应大于 1。 效率 最大值为1 阿姆达尔定律(Amdahl's Law) 阿姆达尔定律是一个 ...
POB 面向老板编程—现实驱动的新型编程范式
面向老板编程(Programming Oriented to Boss,POB)。面向领导编程不是消极对抗,而是在技术理性与管理艺术间寻找动态平衡的生存智慧。
正如Lunix之父Lunus Torvalds所说:"Talk is cheap. Show me the PPT." 在这个需求变幻莫测的... ...
题目集8~9总结性Blog
一、前言 对这两次题目集的总结: 这两次题目集相较于上次迭代作业来说,在题目量和难度上都做了下调。但要求我们在理解题目意思、设计好程序结构、掌握并运用知识这三方面有一定的要求。涉及到类的继承与多态,抽象类的设计和抽象方法的灵活运用。以及面向对象的几种程序设计的原则(单一职责原则、里氏代换原则、开闭原 ...
《Head First设计模式》读书笔记 —— 单例模式
《Head First设计模式》读书笔记 相关代码:Vks-Feng/HeadFirstDesignPatternNotes: Head First设计模式读书笔记及相关代码 用来创建独一无二的,只能有一个实例的对象的入场券 为什么需要单件模式 有些对象只能有一个实例 线程池、缓存、对话框、设备的驱 ...
C语言一点五编程实战:纯 C 的模块化×继承×多态框架
本文探讨在C语言中模拟面向对象编程(OOP)的"一点五编程"技术,通过函数指针、结构体嵌套和二级指针强制转换实现类、接口与多态。开发流程分声明(接口/类结构体、类型转换函数)、实现(方法绑定、初始化)和使用三阶段,强调方法集指针必须位于类结构体首地址以实现动态绑定。该方法将硬件驱动与业务逻辑解耦,结... ...
领域驱动设计实战:聚合根设计与领域模型实现
本文提供低成本可落地的领域驱动设计(DDD)实战方案,以服装企业 ERP 采购与库存管理为非电商案例,演示如何通过聚合根、领域服务等核心概念实现业务建模与技术落地。内容涵盖:
需求分析:明确采购 / 库存上下文业务规则,标记暂弃需求,遵循 DDD 实体、聚合根等设计原则;
技术实现:采用 JPA、... ...
《Head First设计模式》读书笔记 —— 工厂
《Head First设计模式》读书笔记 相关代码:Vks-Feng/HeadFirstDesignPatternNotes: Head First设计模式读书笔记及相关代码 除了new操作符外,还有更多制造对象的方法 “实例化”这个活动不应该总是公开地进行 初始化经常造成“耦合”问题 实例化的问题 ...
《Head First设计模式》读书笔记 —— 装饰者模式
《Head First设计模式》读书笔记 相关代码:Vks-Feng/HeadFirstDesignPatternNotes: Head First设计模式读书笔记及相关代码 给爱用继承的人一个全新的设计眼界 本节用例 Starbuzz咖啡因迅速扩展,准备更新订单系统,以合乎其饮料供应需求 原有类设 ...