2018年12月13日

都9102年了,还不会Docker?10分钟带你从入门操作到实战上手

摘要: Docker是一种OS虚拟化技术,是一个开源的应用容器引擎。它可以让开发者将应用打包到一个可移植的容器中,并且该容器可以运行在几乎所有linux系统中(Windows10目前也原生支持,Win10前需要内置虚拟机),正所谓“一次打包,到处运行”。 阅读全文

posted @ 2018-12-13 09:49 公众号_Zack说码 阅读(1745) 评论(5) 推荐(5) 编辑

2018年12月12日

“过时”的SpringMVC我们到底在用什么?深入分析DispatchServlet源码

摘要: **Spring MVC**,官方名字其实是**Spring Web MVC**,Maven上的包名也是spring-webmvc。从Spring诞生以来,它就是一款基于Servlet Api的web架构。值得一提的是,在Spring5的时候,出了一款新的Web架构,Flux,是基于事件驱动模型(类似nodejs)做的。以后会写一篇来专门介绍一下Flux,敬请关注。 阅读全文

posted @ 2018-12-12 10:51 公众号_Zack说码 阅读(748) 评论(1) 推荐(1) 编辑

2018年12月10日

进阶的Redis之哈希分片原理与集群实战

摘要: 如果Redis只用复制功能做主从,那么当数据量巨大的情况下,单机情况下可能已经承受不下一份数据,更不用说是主从都要各自保存一份完整的数据。在这种情况下,数据分片是一个非常好的解决办法 阅读全文

posted @ 2018-12-10 10:01 公众号_Zack说码 阅读(7885) 评论(0) 推荐(0) 编辑

2018年12月8日

进阶的Redis之数据持久化RDB与AOF

摘要: 大家都知道,Redis之所以性能好,读写快,是因为Redis是一个内存数据库,它的操作都几乎基于内存。但是内存型数据库有一个很大的弊端,就是当数据库进程崩溃或系统重启的时候,如果内存数据不保存的话,里面的数据就会丢失不见了。这样的数据库并不是一个可靠的数据库。 阅读全文

posted @ 2018-12-08 14:55 公众号_Zack说码 阅读(506) 评论(1) 推荐(0) 编辑

2018年12月7日

浅谈分布式CAP定理

摘要: 互联网发展到现在,由于数据量大、操作并发高等问题,大部分网站项目都采用分布式的架构。而分布式系统最大的特点数据分散,在不同网络节点在某些时刻(数据未同步完,数据丢失),数据会不一致。 在2000年,Eric Brewer教授在PODC的研讨会上提出了一个猜想:一致性、可用性和分区容错性三者无法在分布式系统中被同时满足,并且最多只能满足其中两个! 阅读全文

posted @ 2018-12-07 09:41 公众号_Zack说码 阅读(495) 评论(0) 推荐(1) 编辑

2018年12月5日

Java异步编程——深入源码分析FutureTask

摘要: Java的异步编程是一项非常常用的多线程技术。 之前通过源码详细分析了ThreadPoolExecutor[《你真的懂ThreadPoolExecutor线程池技术吗?看了源码你会有全新的认识》](http://zackku.com/java-thread-threadpoolexecutor/)。通过创建一个ThreadPoolExecutor,往里面丢任务就可以实现多线程异步执行了。 但之前的任务主要倾向于线程池,并没有讲到异步编 阅读全文

posted @ 2018-12-05 09:53 公众号_Zack说码 阅读(444) 评论(1) 推荐(0) 编辑

2018年12月3日

一文了解JVM全部垃圾回收器,从Serial到ZGC

摘要: 《对象搜索算法与回收算法》介绍了垃圾回收的基础算法,相当于垃圾回收的方法论。接下来就详细看看垃圾回收的具体实现。上文提到过现代的商用虚拟机的都是采用分代收集的,不同的区域用不同的收集器。常用的7种收集器,其适用的范围如图所示 阅读全文

posted @ 2018-12-03 09:53 公众号_Zack说码 阅读(499) 评论(0) 推荐(1) 编辑

2018年11月30日

必知必会JVM垃圾回收——对象搜索算法与回收算法

摘要: 垃圾回收(GC)是JVM的一大杀器,它使程序员可以更高效地专注于程序的开发设计,而不用过多地考虑对象的创建销毁等操作。但是这并不是说程序员不需要了解GC。GC只是Java编程中一项自动化工具,任何一个工具都有它适用的范围,当超出它的范围的时候,可能它将不是那么自动,而是需要人工去了解与适应地适用。 阅读全文

posted @ 2018-11-30 09:33 公众号_Zack说码 阅读(632) 评论(0) 推荐(0) 编辑

2018年11月28日

从源码入手,一文带你读懂Spring AOP面向切面编程

摘要: AOP,Aspect Oriented Programming,面向切面编程。在很多时候我们写一些功能的时候,不需要用到继承这么重的方法,例如对每个方法在执行前打log,在没有AOP的情况下,我们只能对每个方法都写一句打log的语句。如果是一个复杂点的功能,那么将会产生许多重复的代码,而且会对模块之间有更多的耦合。 阅读全文

posted @ 2018-11-28 16:02 公众号_Zack说码 阅读(572) 评论(0) 推荐(0) 编辑

2018年11月27日

你真的完全了解Java动态代理吗?看这篇就够了

摘要: 动态代理看起来好像是个什么高大上的名词,但其实并没有那么复杂,直接从字面就很容易理解。动态地代理,可以猜测一下它的含义,在运行时动态地对某些东西代理,代理它做了其他事情。先不去搞清楚这个动态代理真正的含义,我们来举个生动的例子来理解下它到底做了什么。 阅读全文

posted @ 2018-11-27 17:25 公众号_Zack说码 阅读(520) 评论(0) 推荐(0) 编辑

导航