2021年11月12日

Go defer 原理和源码剖析

摘要: Go 语言中有一个非常有用的保留字 defer,它可以调用一个函数,该函数的执行被推迟到包裹它的函数返回时执行。 defer 语句调用的函数,要么是因为包裹它的函数执行了 return 语句,到达了函数体的末端,要么是因为对应的 goroutine 发生了 panic。 在实际的 go 语言程序中, 阅读全文

posted @ 2021-11-12 14:11 编程宝库 阅读(507) 评论(0) 推荐(0) 编辑

2021年11月9日

Go语言并发模型 G源码分析

摘要: Go语言的线程实现模型,有三个核心的元素M、P、G,它们共同支撑起了这个线程模型的框架。其中,G 是 goroutine 的缩写,通常称为 “协程”。关于协程、线程和进程三者的异同,可以参照 “进程、线程和协程的区别”。 每一个 Goroutine 在程序运行期间,都会对应分配一个 g 结构体对象。 阅读全文

posted @ 2021-11-09 15:40 编程宝库 阅读(305) 评论(0) 推荐(0) 编辑

2020年11月11日

如何监控Android应用的网络性能

摘要: 背景 移动互联网时代,移动端极大部分业务都需要通过App和Server之间的数据交互来实现,所以大部分App提供的业务功能都需要使用网络请求。如果因为网络请求慢或者请求失败,导致用户无法顺畅的使用业务功能,会对用户体验造成极大影响。 此外,EMAS对外提供的APM之前并不包括网络监控功能,而网络性能 阅读全文

posted @ 2020-11-11 14:11 编程宝库 阅读(253) 评论(0) 推荐(0) 编辑

2020年11月8日

进程、线程和协程的区别

摘要: 在面试中,经常会有面试官问题“进程、线程和协程的区别”这个问题,这也是大学课程操作系统中最基本的知识。我们通常对此都说上几句,但细节又不是特别深入明了。我整理了一下相关的内容,加上自己的理解,与君共享。 阅读全文

posted @ 2020-11-08 07:50 编程宝库 阅读(434) 评论(2) 推荐(1) 编辑

2020年11月7日

微服务 - 如何进行服务限流和熔断

摘要: 微服务架构是将单个应用程序被划分成各种小而连接的服务,每一个服务完成一个单一的业务功能。相对于传统的单体服务,微服务具有隔离性、技术异构性、可扩展性以及简化部署等优点。通常一个应用由多个微服务组成,微服务之间的数据交互需要通过远过程调用的方式完成。 阅读全文

posted @ 2020-11-07 10:45 编程宝库 阅读(3060) 评论(1) 推荐(2) 编辑

2020年11月6日

码农和规矩

摘要: 说实话,作为码农,我很烦规矩,经常遇到文档、注释、规范等等各种各样的枷锁。Talk is cheap. Show me the code,这多好。 阅读全文

posted @ 2020-11-06 17:31 编程宝库 阅读(141) 评论(0) 推荐(0) 编辑

Java才是世界上最好的语言,Java在高频交易中替代C++

摘要: Java在享受简单性和面向业务的特性同时,仍然可以实现高性能和低延迟。虽然C++ 仍然可用于特定的底层组件,如驱动程序、数据库、编译器和操作系统,但大多数现实中都可以用Java来开发,包括象高频交易这样要求苛刻的应用。 阅读全文

posted @ 2020-11-06 07:56 编程宝库 阅读(1169) 评论(6) 推荐(1) 编辑

2020年11月5日

微服务 - 如何解决链路追踪问题

摘要: 微服务架构是将单个应用程序被划分成各种小而连接的服务,每一个服务完成一个单一的业务功能,相互之间保持独立和解耦,每个服务都可以独立演进。相对于传统的单体服务,微服务具有隔离性、技术异构性、可扩展性以及简化部署等优点。微服务架构在带来诸多益处的同时,也为系统增加了不少复杂性,如何进行链路追踪就是急需解决的问题。 阅读全文

posted @ 2020-11-05 17:17 编程宝库 阅读(1122) 评论(0) 推荐(2) 编辑

2009年7月24日

各种编程语言中的指针和引用

摘要: 最近在用VC6做一个项目,有的弟兄反映不太理解指针和引用的区别。从目前现况来看,现在的开发人员用惯了Java,C#等语言,距离操作系统底层越来越远了,以至于大部分人对C/C++中的一些东西早已淡忘。 说到指针,凡是学过c语言的人都不陌生,这是是c语言的精华所在。指针操作不仅高效,而且非常接近系统底层 阅读全文

posted @ 2009-07-24 12:59 编程宝库 阅读(2648) 评论(7) 推荐(0) 编辑

软件架构定义的流派

摘要: 什么是架构?如果你问五个不同的人,可能有会得到五种不同的答案”。这是现代软件开发之父,统一建模语言UML的创建者之一Ivar Jacobson博士曾说过的一段话。敏捷专家Martin Folwler在《企业应用架构模式》一文中,也表达了类似的看法:“很多人都试图给架构下定义,而这些定义本身却很难统一 阅读全文

posted @ 2009-07-24 11:27 编程宝库 阅读(4368) 评论(17) 推荐(3) 编辑

导航