什么是设计模式? Christopher Alexander 说过:“每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使...
![240](https://cdn2.jianshu.io/assets/default_avatar/7-0993d41a595d6ab6ef17b19496eb2f21.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
什么是设计模式? Christopher Alexander 说过:“每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使...
背景知识 同步、异步、阻塞、非阻塞 首先,这几个概念非常容易搞混淆,但NIO中又有涉及,所以总结一下。 同步:API调用返回时调用者就知道操作的结果如何了(实际读取/写入了多...
对于浏览器缓存,相信很多开发者对它真的是又爱又恨。一方面极大地提升了用户体验,而另一方面有时会因为读取了缓存而展示了“错误”的东西,而在开发过程中千方百计地想把缓存禁掉。那么...
现象 应用系统中的关键服务绝大部分都会是对数据库的依赖。 当多个进程同时操作同一个数据,会产生资源争抢,数据一致性的问题。 如果只有一个数据库服务器,数据一致性问题也就不存在...
前言 由于历史原因,集中式架构多用于传统银行、电信等行业。主机资源集中在大型主机或小型机上。集中式架构下,包括操作系统,中间件,数据库等“基础软件” 均为闭源商用系统。集中式...
前言 不少在传统行业摸爬滚打的程序员越来越焦虑了,有些甚至睡不着觉。为什么?传统行业的程序员们每天进行的都是业务代码的编写,接触不到更新更好的技术;公司的效益并不好,如未达到...
引言 几乎每个面试的程序员都会碰到Spring相关的面试问题,或浅或深。你都是如何回答面试官的问题的?——我不知道,我一般会通过手写一个Spring来加深自己的印象。 目标 ...
前言 程序员一门心思钻研技术其实是一件很蠢的事情。 因为大部分人并不是那1%的天才,也完全没办法做到十年如一日地钻研技术,至于光靠兴趣驱动,未免太过理想。 如何解决 那么,如...
前言 为什么需要RPC,而不是简单的HTTP接口? 刚开始还是菜鸟的时候,时常把RPC和HTTP搞混淆,本身概念还没理解清楚,心里就浮躁的不行,导致闹出了不少笑话。 什么是R...
为什么是kafka? 在我们大量使用分布式数据库、分布式计算集群的时候,是否会遇到这样的一些问题: 我们想分析下用户行为(pageviews),以便我们设计出更好的广告位我想...
前言 今天是1024程序员节,中国500w+的程序员今天可以享受一天专属的节日,网络上也有各种庆祝方式: 一些公司祭出了“程序员鼓励师” 一些公司给程序员放了个“假” 还有公...
前言 大家应该知道AOP编程首先要选择它感兴趣的连接点----即切入点(Point cut),那么,AOP能对切入点做什么样的编程呢? 我们先将代理模式下的某个连接点细化,你...
引言 ArrayList,LinkedList,Vector,CopyOnWriteArrayList 底层实现原理和四个集合的区别是什么?为什么工作中会常用ArrayLis...
前言 有多少人在使用Spring框架时,很多时候不知道或者忽视了多线程的问题? 因为写程序时,或做单元测试时,很难有机会碰到多线程的问题,因为没有那么容易模拟多线程测试的...
前言 如果说Spring最核心的东西是什么,那就非Beans组件莫属了,Bean对于Spring的意义就象OOP对于Java的意义一样。 今天要讲的是Spring中的...
前言 做技术的,一定不能放弃技术。在精进技术的同时完善其他方面的能力,十年如一日。不忘初心,方得始终。 正文 本文是看到阿里巴巴系统架构师黄勇的采访记录有感而发,如有侵权,请...