JAVA ’ 目录归档

一致性 Hash 算法的实际应用

前言

记得一年前分享过一篇《一致性 Hash 算法分析》,当时只是分析了这个算法的实现原理、解决了什么问题等。

但没有实际实现一个这样的算法,毕竟要加深印象还得自己撸一遍,于是本次就当前的一个路由需求来着手实现一次。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 一致性 Hash 算法的实际应用

Java并发编程视频分享-第一期

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: Java并发编程视频分享-第一期


泥瓦匠:秒杀架构设计实践思路(一)

摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢!

本文内容
– 秒杀业务难点
– 秒杀架构理论
– 业务设计 & 总结

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 泥瓦匠:秒杀架构设计实践思路(一)

Spring Boot 2.0 配置图文教程

摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢!

本章内容

自定义属性快速入门
外化配置
自动配置
自定义创建 Starter 组件
摘录:读书是读完这些文字还要好好用心去想想,写书也一样,做任何事也一样

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: Spring Boot 2.0 配置图文教程

Spring Boot 2.0 的快速入门(图文教程)

摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢!

Spring Boot 2.0 的快速入门(图文教程)

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: Spring Boot 2.0 的快速入门(图文教程)

GoLang内存模型

一、前言

Go语言的内存模型规定了一个goroutine可以看到另外一个goroutine修改同一个变量的值的条件,这类似java内存模型中内存可见性问题(Java内存可见性问题可以参考拙作:Java并发编程之美一书)。

当多个goroutine并发同时存取同一个数据时候必须把并发的存取的操作顺序化,在go中可以实现操作顺序化的工具有高级的通道(channel)通信和同步原语比如sync包中的Mutex(互斥锁)、RWMutex(读写锁)或者和sync/atomic中的原子操作。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: GoLang内存模型

Java 核心系列教程

摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢!


关于Java核心技术学习积累的例子,是初学者及核心技术巩固的最佳实践。
包括基础语法,OOP,字符串,集合,IO,反射,线程,网络等。
未完成模块:java8,注解,fork/join,加解密等。欢迎fork,欢迎交流。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: Java 核心系列教程

招聘已从广告时代进入社交时代

最近一周内找到了很多优秀的候选人,并且一面通过七个左右,效果非常不错,很多人反馈招聘难,所以借此文分享下招聘的体会!

招聘已经从广告时代进入社交时代

很多人以为招聘是找到一个技术群发下招聘广告就会有人投简历,或者只要是顶级技术公司大家都会纷纷投简历进来,或者在朋友圈发一封高薪有诱惑的招聘广告就能收获到很多优秀的简历,但是很遗憾!我们都试过,能收获优秀的简历几乎没有。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 招聘已从广告时代进入社交时代

代码瘦身优化实践

史蒂夫.乔布斯说,”复杂的终极境界是简单“,同样的优雅的代码一定是精简明了,可读性好。


阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 代码瘦身优化实践

ForkJoinPool 探索

介绍

“分而治之“是理清思路和解决问题的一个重要的方法。大到系统架构对功能模块的拆分,小到归并排序的实现,无一不在散发着分而治之的思想。在实现分而治之的算法的时候,我们通常使用递归的方法。递归相当于把大的任务拆成多个小的任务,然后大任务等待多个小的子任务执行完成后,合并子任务的结果。一般来说,父任务依赖与子任务的执行结果,子任务与子任务之间没有依赖关系。因此子任务之间可以并发执行来提升性能。于是ForkJoinPool提供了一个并发处理“分而治之”的框架,让我们能以类似于递归的编程方式获得并发执行的能力。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: ForkJoinPool 探索

go并发编程之美(一)

一、前言

在Java中多线程之间是通过共享内存进行通信的,在go中多线程之间通信是基于消息的,go中的通道是go中多线程通信的基石。

在java中创建的线程是与OS线程一一对应的,而在go中多个协程(goroutine)对应一个逻辑处理器,每个逻辑处理器与OS线程一一对应。

每个线程要运行必须要在就绪状态情况下获取cpu,而操作系统是基于时间片轮转算法来调度线程占用cpu来执行任务的,每个OS线程被分配一个时间片来占用cpu进行任务的执行。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: go并发编程之美(一)

基于Java的轻量级异步编程框架

DActor

Introduction

DActor框架可同时支持同步和异步代码,简化在线异步代码的开发,用同步代码的思维来开发异步代码,兼顾异步代码的高并发、无阻塞和同步代码的易读性,可维护性。 基于协程思想设计 最大程度的降低阻塞,提高单个线程的处理能力,并可有效的降低线程数。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 基于Java的轻量级异步编程框架


《开源软件架构》中nginx章节

原文链接

nginx

Andrew Alexeev

nginx(发音为“engine x”)是由俄罗斯软件工程师Igor Sysoev编写的免费开源Web服务器。自2004年公开发布以来,nginx一直专注于高性能,高并发性和低内存消耗。Web服务器功能之上的其他功能,如负载均衡,缓存,访问和带宽控制,以及与各种应用程序高效集成的能力,有助于使nginx成为现代网站架构的不错选择。目前,nginx是互联网上第二大最受欢迎的开源Web服务器。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《开源软件架构》中nginx章节

11张PPT介绍Paxos协议


阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 11张PPT介绍Paxos协议

《nginx官方文档》设置哈希表

原文链接

nginx使用散列表来快速处理静态数据集,如服务器名称、 map 指令值、MIME类型、请求头名称。在开始和每次重新配置期间,nginx会选择哈希表的最小可能大小,这样存储具有相同哈希值的键的桶大小就不会超过配置的参数(哈希桶大小)。哈希表的大小用桶表示。表的大小会持续调整直到超过 hash max size 参数。大多数哈希表都有相应的指令来更改这些参数,例如,服务器名称哈希使用 server_names_hash_max_size 和 server_names_hash_bucket_size 指令。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《nginx官方文档》设置哈希表

return top