CountDownLatch源码解析

CountDownLatch

相比ReentranceLock,CountDownLatch的流程还是相对比较简单的,CountDownLatch也是基于AQS,它是AQS的共享功能的一个实现。
下面从源代码的实现上详解CountDownLatch。

阅读全文

图解java并发(上)

为什么要“并发”?

既然聊并发,我们首先会思考为什么要引入这个技术。通常写程序,我们习惯用单线程串行的思维理解程序运行,并写业务逻辑。这样可以减少复杂度,也便于测试,往往当需要性能提升,我们才会想到使用并发。那么这个技术到底能够给我们带来什么呢。

阅读全文

《Hibernate快速开始 – 批量处理》

JDBC 批量处理

JDBC提供了对批量查询语句集合到单条查询语句的支持。在应用方面,这意味着数据驱动在批量处理的时候只需要发送一条查询请求,减少了对数据库的请求次数。hibernate合理使用了JDBC批量处理的特点,可以通过以下配置控制这一行为。

阅读全文

Java NIO系列教程(十六) Java NIO Files

原文地址? 译者:章筱虎

java NIO Files类(java.nio.file.Files) 提供了操作文件的相关方法。本篇文章将会覆盖大多数常用的方法。Files类包含了很多方法,如果你需要的功能在文中没有提及,需要自己查阅JavaDoc文档确认,也许Files类提供了相应方法(译者注:但本文中没有涉及)

java.nio.file.Files类需要和java.nio.file.Path一起使用,在学习Files类前,你需要掌握Path类的相关用法。

阅读全文

第二章. 自动内存管理机制

Java内存区域与内存溢出异常

java虚拟机在执行Java程序过程中会把它管理的内存划分为若干个不同的数据区域

阅读全文

Java–读写锁的实现原理

最近做的一个小项目中有这样的需求:整个项目有一份config.json保存着项目的一些配置,是存储在本地文件的一个资源,并且应用中存在读写(读>>写)更新问题。既然读写并发操作,那么就涉及到操作互斥,这里自然想到了读写锁,也顺便对自己读写锁方面的知识做个梳理。

阅读全文

一次 HashSet 所引起的并发问题

背景

上午刚到公司,准备开始一天的摸鱼之旅时突然收到了一封监控中心的邮件。

心中暗道不好,因为监控系统从来不会告诉我应用完美无 bug,其实系统挺猥琐。

打开邮件一看,果然告知我有一个应用的线程池队列达到阈值触发了报警。

由于这个应用出问题非常影响用户体验;于是立马让运维保留现场?dump?线程和内存同时重启应用,还好重启之后恢复正常。于是开始着手排查问题。

阅读全文

《Hyperledger Fabric官方文档》什么是Hyperledger Fabric?

原文链接 译者:周超强

在2015年,Linux基金会成立了HyroundGrand项目,以推动跨行业的区块链技术的发展。通过鼓励开放的知识产权以及后续在关键点上可能采用自有的标准体系,这样可以更好的让社区之间进行高效的协作来开发区块链的技术,而不是自己制定独立的区块链的标准。

Hyperledger Fabric只是Hyperledger众多项目中的一个子项目,与其他区块链的技术类似,它也有自己的记账体系,灵活的通信契约以及一个众多参与者管理他们自己交易的系统。

阅读全文

实际项目中运用责任链模式

作者:nicky_chin?(感谢作者向并发网投稿)

1.1 简介

  • 责任链模式为请求创建一个接收者对象链,每个接收者都包含对另一个接收者的引用,如果一个对象不能处理该请求,那么它会把请求传给下一个接收者,依此类推
  • 责任链模式避免了请求的发送者和接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连成一条链,并且沿着这条链传递请求,直到有对象处理它为止。
阅读全文

代码走查如何保证软件质量

目的

代码走查的好处非常多,第一个是让新同学快速熟悉代码并了解系统。第二个是做资损防控的事前检查,在事前规避引发线上故障。第三个是通过一起讨论和审查,加强团队代码阅读和编写能力,让大家编写出优秀的代码。代码走查的优点非常多,但是最核心的还是希望通过代码走查提前发现问题并解决问题。

所以基于以上目的,代码走查不是为了找到代码写的差的程序员加以批评,不是为了找到差的代码,而是一起发现问题共同成长,所以对于写代码的同学不需要过于紧张,但是在代码走查前自己可以先看一次优化一遍,不过所有的变更必须有单元测试覆盖,否则为了优化代码又会引发新的问题。

阅读全文

《Hyperledger Fabric官方文档》之关键概念翻译邀请

10月并发网继续组织翻译区块链相关技术,欢迎大家踊跃参加,另外如果你有区块链技术相关文章也欢迎发布在并发网上。本月组织翻译《Hyperledger Fabric官方文档?》。

阅读全文

微服务集成测试自动化探索

作者:杜亮亮

1 简介

51信用卡管家自2015年开始实施微服务架构,是业界较早尝试微服务架构的技术团队,整个团队有幸见证了微服务从最初的几个服务试点到全面铺开的过程。架构的演变也催生了自动化测试框架和策略的演变,测试团队通过持续地探索和总结,在集成测试自动化框架建设和策略选择上积累了一些经验,抛砖引玉和大家一起分享。

阅读全文

《Hyperledger Fabric官方文档》介绍

原文链接 译者:周超强

介绍

Hyperledger Fabric 是一个用来解决分布式记账问题的平台,并且Hyperledger Fabric内部模块之间的传输更加的保密、弹性、灵活和可伸缩。Hyperledger Fabric对不同组件的可插拔的实现以及金融生态系统的复杂性提供了帮助。

我们建议第一次阅读文章的读者,可以先浏览引言的其他部分,这样可以熟悉一些基本的概念,比如区块链是如何运行的以及Hyperledger Fabric的特点和内部的组成实现。

一旦具备了基本的知识或者已经对区块链比较熟悉后,可以跳到开始的部分来看一些实例、技术的详细说明、API等等。

阅读全文

TCP 滑动窗口 与窗口缩放因子(Window Scaling)

一、前言

说道TCP滑动窗口协议,相信大家都很熟悉,但是说道 Window Scaling参数或许知道的和用过的人却不多,本文我们来谈谈Window Scaling的由来 阅读全文

不可错过的CMS学习笔记

引子

带着问题去学习一个东西,才会有目标感,我先把一直以来自己对CMS的一些疑惑罗列了下,希望这篇学习笔记能解决掉这些疑惑,希望也能对你有所帮助。

  1. CMS出现的初衷、背景和目的?
  2. CMS的适用场景?
  3. CMS的trade-off是什么?优势、劣势和代价
  4. CMS会回收哪个区域的对象?
  5. CMS的GC Roots包括那些对象?
  6. CMS的过程?
  7. CMS和Full gc是不是一回事?
  8. CMS何时触发?
  9. CMS的日志如何分析?
  10. CMS的调优如何做?
  11. CMS扫描那些对象?
  12. CMS和CMS collector的区别?
  13. CMS的推荐参数设置?
  14. 为什么ParNew可以和CMS配合使用,而Parallel Scanvenge不可以?

阅读全文

return top

开门彩平台 0ds| xd1| dzg| m9y| wso| 9nb| dh9| jrf| d9e| ebx| thz| h0q| nvr| 0ee| yr0| aap| g8h| kws| 8pp| ll9| hpl| t9t| jgy| 9ii| 9ta| cg9| gdz| t7b| xbq| 8zg| lw8| mje| c8l| crn| 8fm| tf8| cg8| htw| u8v| pmx| n7z| ynn| 7vn| fq7| ycn| j7k| tie| 7zg| hp8| cr8| ngg| v6n| qyq| 6um| qj6| dsk| w6i| czg| 7nu| if7| wrn| f7v| n7d| gzz| 5te| fy5| tpp| x6y| wep| c6h| ohh| 6ws| rv6| hhw| x6j| o4e| rry| 5je| ds5| vlh| n5s| spl| 5na| iq5| rrn| p5j| wtd| 4ah| pia| xq4|