微信号:importnew

介绍:伯乐在线旗下账号,专注Java技术分享,包括Java基础技术、进阶技能、架构设计和Java技术领域动态等.

没有 Redis 也能支撑 “ 小米在印度把亚马逊搞挂了 ” 事件的

2018-01-10 12:38 ImportNew

(点击上方公众号,可快速关注)


本文精选了 ImportNew 2017年12月份的15篇热门文章。其中有技术分享,行业资讯和面试经验。


注:以下文章,点击标题即可阅读



《 没有 Redis 也能支撑 “ 小米在印度把亚马逊搞挂了 ” 事件的秒杀解决方案


本文介绍小米秒杀方案的详细架构,以及在架构上的优化点。在没有Redis的情况下也可以支撑大并发量。



《 Getter & Setter :使用还是废弃 》


为什么我们要使用私有的实例变量呢?因为我们不希望其他类直接的依赖于这些变量。而且在心血来潮时,我们还可以灵活的修改变量类型和实现。然而,为什么程序员们都自动在对象中加入getter和setter方法,以此对外暴露私有变量,就如同这些变量是公有的一样。



《 Java RESTful 框架的性能比较 》


在微服务流行的今天,我们会从纵向和横向分解代码的逻辑,将一些独立的无状态的代码单元实现为微服务,可以将它们发布到一些分布式计算单元或者Docker中,并在性能需要的时候及时地创建更多的服务单元。如何在Java生态圈选择一个轻量级的RESTful框架?可以参考一些其他人的经验, 比如我翻译的: 最好的8个 Java RESTful 框架。



《 Redis 分布式锁的正确实现方式( Java 版 ) 》


分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将详细介绍如何正确地实现Redis分布式锁。



《 你真的很熟分布式和事务吗 》


分布式系统中,如何判断一个节点(node)是否存活?kafka这样认为:

此节点和zookeeper能喊话;此节点如果是个从节点,必须能够尽可能忠实地反映主节点的数据变化。



《 5 亿整数的大文件,怎么排 


给你1个文件bigdata,大小4663M,5亿个数,文件中的数据随机,一行一个整数,现在要对这个文件进行排序,怎么搞?



 面试的角度诠释 Java 工程师(一)


面试的目的不是让考官知道你怎么样,而是让你自己清楚自己怎么样。也就是说你会什么、能够做什么!举个例子,如果你去面试Java工程师,你至少要会该职位的职能,而不是只会面面试、做做笔试题。所以,这就是我写这篇文章的初衷!



《 为什么 Java 不支持多重继承 》


James Gosling在1995年2月发表了一篇名为”Java概览”的Java白皮书,文章解释了Java不支持多重继承的原因。没有谁比James Gosling更有资格来谈论这个这个话题了。这篇文章将为你介绍他对于Java不支持多重继承的看法。



《 谁将使用 JDK 9?为什么 JDK 9 在生产环境中很少被采用 》


你有迁移到 JDK 9 的计划吗,是怎么样的?你已经在生产环境中使用 JDK 9 了吗,或者只是在观望中?这篇文章将介绍几个 JDK 9 在生产环境中很少被采用的关键原因。



《 一份从 0 到 1 的 Java 项目实践清单 》


前段时间,接了个新项目。只有一些idea在业务需求方脑海里,然后就开始需求讨论,然后就开始做事了。项目不复杂,但是由于是用JAVA语言实现(这相对来说是我的薄弱点),对我个人显得比较有意义。总结下来,其实也就是一个项目清单。



《 聊一聊 Spring 中的线程安全性 》


Spring作为一个IOC/DI容器,帮助我们管理了许许多多的“bean”。但其实,Spring并没有保证这些对象的线程安全,需要由开发者自己编写解决线程安全问题的代码。



《 Java 中不同的并发实现的性能比较 


正如即将上映的星球大战那样,Java 8的并行流也是毁誉参半。并行流(Parallel Stream)的语法糖就像预告片里的新型光剑一样令人兴奋不已。现在Java中实现并发编程存在多种方式,我们希望了解这么做所带来的性能提升及风险是什么。从经过260多次测试之后拿到的数据来看,还是增加了不少新的见解的,这里我们想和大家分享一下。



《 Spring 接口支持返回多种格式 》


本文介绍使用SpringMVC的后端服务如何通过配置来支持多种返回值类型。



《 ArrayList 底层数组扩容原理 》


本文将深入介绍ArrayList 底层数组扩容原理,并且引入了时间复杂度来分析。



《 Netty 实现原理浅析 


本文将主要分析Netty实现方面的东西。对于Netty使用者来说,Netty提供了几个典型的example,并有详尽的API doc和guide doc,本文的一些内容及图示也来自于Netty的文档,特此致谢。


往期热文回顾


8月:《 高并发下的下单功能设计:15 篇热文回顾

7月:《 简述 Docker :15 篇热文回顾 》

6月:《 Kafka 基本原理 :15 篇热文回顾 》

5月:《 Java 之父加入 AWS :15 篇热文回顾 》


看完本文有收获?请转发分享给更多人

关注「ImportNew」,提升Java技能

 
ImportNew 更多文章 大型网站系统与 Java 中间件实践 如何编写相对标准的后端项目 (一)组织与运行 Java 回顾 ( Revisiting Java ) 商业项目中最受欢迎的 7 种编程语言,Java 上榜 深入分析 ConcurrentHashMap 1.8 的扩容实现
猜您喜欢 怎样才能叫高级程序员? 面试|50w元红包抽奖问题 为什么原生应用开发者需要关注Flutter? 免费教材丨第三十九期:业界大牛中文教学视频《深度学习:基础》第17-20讲 报销不用贴发票,这么爽的事你敢想吗?