Dojo
话题
新佳
订阅
极道
元认知
元逻辑
元设计
元编程
元语言
并发编程指南
Spring Boot的并发编程
使用Spring Boot构建服务时,我们必须处理并发!通常有这样的误解:由于使用Servlet,而Servlet背后是一个线程池支持,线程池会为每个请求分配的新线程,请求之间不存在冲突,因此无需考虑并发性,本文提供一些关于处理Spring Boot中多线程处理的实用建议。
以并行思维方式思考
许多软件开发人员试图建立可扩展系统时往往会遇到困难。也许这是因为,最简单和最明显的解决方案往往无法扩展; 这可能解释了为什么这些方案有时被称为“幼稚”的解决方案。 一旦你了解并行一些基本概念和准则,在任何情况下,就会编写可伸缩扩展的代码,最重要的是Amda
Golang实时GC的理论与实践总结
本文是总结Go语言的低延迟垃圾回收机制GC突出之处。 Pusher是一个简单的托管API,通过WebSockets集成到网络和移动应用程序或任何其他互联网连接的设备上,实现快速,轻松,安全地将实时双向功能。每天,Pusher实时发送数十亿条消息:从源发送信
使用LMAX/Disruptor构建高扩展性的交易引擎的经验分享
Koinex的贸易引擎使用LMAX架构的许多原则设计。这使我们能够在高峰时段承受大量负荷。在快速增长的财务系统中,清洁和可扩展架构的重要性对于更好的可扩展性和更快的执行非常重要。LMAX架构帮助我在Koinex设计多个实时应用程序,这些应用程序并不具有显著的事务性。虽然不可能
Spring Boot线程安全指南
Spring控制器/服务/单单例是线程安全的吗?答案是它取决于作用域: 决定组件线程安全性的主要因素是其作用域Scope。 哪个Spring作用域是线程安全的?为了回答这个
性能从哪里入手进行提升?
性能提升有两个地方:数据库和应用程序。使用各种数据库优化的语句或者在我们应用代码中使用编程语言特性进行优化。 本周正好有三篇文章涉及这两个方面:关系数据库层提升:
生产中的Vertx - Teemo Tech Blog
Vert.x是一个非常高性能的库,用于实现低延迟服务。它的
如何避免死锁和活锁? - simar
死锁只能在并发(多线程)程序中发生,其中同步(使用锁)线程访问一个或多个共享资源(变量和对象)或指令集(临界区)。活锁时当我们试图避免死锁时会使用异步锁定时发生的,其中多个线程对同一组锁的竞争写操作,为了避免获取锁定,允许其他线程第一个到达的获得锁,等待最终释放锁定后再继续,这容易造
Java直接内存对齐(Memory Alignment)
内存对齐意味将数据类型写入到内存地址时是按照它们大小切割的,内存对齐会带来性能提升,是Java性能提升的黑技术。内存对齐定义(n是2的乘幂): boolean nAligned = (address%n) == 0; 如果内存地址是n字节的倍数,
如何实现Spring boot应用并行调用?
在我们的一个财务项目中,我们遇到了性能问题,其中一些问题是由于多次连续调用造成的,实际上,我们做了很多单独的同步调用。 例如,我们进行了三个调用来获取一些信息:客户信息、账户信息和他的投资选择,在我们的这个例子中,当发生这些调用之后,我们需要使用调用结果,
使用TLA +进行分布式系统的建模与调试设计
这篇文章讲述了为什么要对系统进行建模,并使用TLA +框架详尽地测试这些模型/设计。在第一部分中,我将讨论为什么建模您的设计是重要和有益的,在第二部分我将解释为什么TLA +是一个非常合适的建模框架,特别是对于分布式和并发系统。 建
Skynet对几个Actor 协程和Future进行1M线程并发性能测试
Skynet分别在OSx windows和Linux下测试了几个Actor、协程/通道和Future/promise进行1M线程并发性能测试 Macbook 12" '2015, Core M, OS X的测试结果:</
高并发处理
高并发处理从哪些方面入手?如业务场景为秒杀。如果保证稳定性呢。请大牛赐教!
在Java中本地进行线程间数据传输的三种方式和源码展示
在线程之间进行通信或发信号时首先想到的是java.lang.Object类方法:wait,notify和notifyAll。这是最基本和最广泛认可的概念,但本博客并非讲这些。JVM实例上运行的线程缺少强大的预设模型,就像在UNIX中进行交互通信一样,尽管有一些第三方框架可以帮助我们实
揭开Kotlin协程的神秘面纱
Kotlin协程提供了一种新的异步执行方式,但直接查看库函数可能会有点混乱,本文中尝试揭开协程的神秘面纱。 让我们从基础开始吧,假设有一个名为launch可以用来启动协程
Clojure软件事务存储器
多核或多CPU使得并发的要求更加迫切,传统使用锁来管理并发,遗憾的是已被证明不太理想,因为它们经常导致死锁、饥饿、竞争和容易出错。在这篇文章中,我们将探讨如何利用Clojure的软件事务存储器(STM)来更好地利用现代硬件。 Clojure
Java多线程傻瓜入门介绍
现代计算机能够同时执行多个操作。在硬件改进和更智能的操作系统的支持下,多个操作的功能使您的程序在执行速度和响应速度方面运行得更快。编写利用这种功能的软件既迷人又棘手:它要求您了解计算机引擎盖下发生的情况。 进程和线程:以正确
代码审查清单:Java并发 - Roman Leventov
在Apache Druid社区,我们目前正在准备一份详细的清单,以便在代码审查期间使用。我决定将清单的一部分作为媒体上的帖子发布,以收集更多关于清单项目的想法。希望有人会发
上页
下页
关闭