随笔分类 - java
摘要:构建分布式系统不需要复杂和容易出错。Spring Cloud 为最常见的分布式系统模式提供了一种简单且易于接受的编程模型,帮助开发人员构建有弹性的、可靠的、协调的应用程序。Spring Cloud 构建于 Spring Boot 之上,使得开发者很容易入手并快速应用于生产中。
阅读全文
摘要:
编程学习讲求的是动手能力,如果你在学习编程之前没有任何基础,那么建议先结合视频学习,有一定的基础之后再来看我推荐的这些书籍。书籍是我们梳理知识,夯实知识,扩充认知的途径。但绝不是编程入门学习的首选项,建议有一定基础或者有经验者再阅读本博客推荐的书籍。
阅读全文

摘要:
不得不佩服 SpringBoot 的生态如此强大,今天我给大家推荐几款 Gitee 上优秀的后台管理系统,小伙伴们再也不用从头到尾撸一个项目了。
阅读全文

摘要:RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。比如两个不同的服务 A、B 部署在两台不同的机器上,那么服务 A 如果想要调用服务 B 中的某个方法该怎么办呢?使用 HTTP请求 当然可以,但是可能会比较慢而且一些优化做的并不好。 RPC 的出现就是为了解决这个问题。
阅读全文
摘要:
经历过技术面试的小伙伴想必对这个两个概念已经再熟悉不过了!
我当年参加面试的时候,不夸张地说,只要问到分布式相关的内容,面试官几乎是必定会问这两个分布式相关的理论。
并且,这两个理论也可以说是小伙伴们学习分布式相关内容的基础了!
因此,小伙伴们非常非常有必要将这理论搞懂,并且能够用自己的理解给别人讲出来。
这篇文章我会站在自己的角度对这两个概念进行解读!
阅读全文

摘要:MyBatis 技术内幕系列博客,从原理和源码角度,介绍了其内部实现细节,无论是写的好与不好,我确实是用心写了,由于并不是介绍如何使用 MyBatis 的文章,所以,一些参数使用细节略掉了,我们的目标是介绍 MyBatis 的技术架构和重要组成部分,以及基本运行原理。
博客写的很辛苦,但是写出来却不一定好看,所谓开始很兴奋,过程很痛苦,结束很遗憾。要求不高,只要读者能从系列博客中,学习到一点其他博客所没有的技术点,作为作者,我就很欣慰了,我也读别人写的博客,通常对自己当前研究的技术,是很有帮助的。
尽管还有很多可写的内容,但是,我认为再写下去已经没有意义,任何其他小的功能点,都是在已经介绍的基本框架和基本原理下运行的,只有结束,才能有新的开始。写博客也积攒了一些经验,源码多了感觉就是复制黏贴,源码少了又觉得是空谈原理,将来再写博客,我希望是“精炼博文”,好读好懂美观读起来又不累,希望自己能再写一部开源分布式框架原理系列博客。
阅读全文
摘要:相信大家对 ZooKeeper 应该不算陌生。但是你真的了解 ZooKeeper 到底有啥用不?如果别人/面试官让你给他讲讲对于 ZooKeeper 的认识,你能回答到什么地步呢?
拿我自己来说吧!我本人曾经使用 Dubbo 来做分布式项目的时候,使用了 ZooKeeper 作为注册中心。为了保证分布式系统能够同步访问某个资源,我还使用 ZooKeeper 做过分布式锁。另外,我在学习 Kafka 的时候,知道 Kafka 很多功能的实现依赖了 ZooKeeper。
阅读全文
摘要:
好的命名习惯不仅能够提升开发效率,也能够提升团队之间的合作效率,而且一个好的命名规则在一定程度上提升 debug 效率,以及后期的维护成本。所以总的来说好的命名习惯是一本万利的,在工作中也更容易融入任何开发团队,使得工作更好进行。
阅读全文

摘要:
学会问问题非常重要,向别人提问,如果你问题问的精准那么你就能够快速的获得你的答案。特别是我们作为程序员,会问问题能够大幅提升我们的开发效率,而且一个好的问题别人也很乐意给你解答。如果你不学会聪明的问问题,那么久而久之别人就会对你问的问题感到反感。聪明的问问题也体现了一个人的学习能力,聪明的才能问出好问题,经常问出愚蠢问题,久而久之大家就会主观的认为你是一个愚蠢的人。读完了这篇文章你就会杜绝这种情况,也学会聪明的问问题,做一个聪明的人。
阅读全文

摘要:
计算机网络基础是我们认识计算机,了解计算机网络的入门学科,只要了解什么计算机网络,了解了信息怎么发送接收,我们才能更好的从事这个学科相关的职业。21世纪以来,网络越来越亲民,当下无论男女老幼都在使用网络,网络技术也得到了前所未有的普及。作为新青年和计算机网络相关专业从业者的我们,了解计算机网络的基础及原理势在必行。接下来带大家全面了解计算机网络基础。
阅读全文

摘要:
很多朋友,只知道缓存可以提高系统性能以及减少请求相应时间,但是,不太清楚缓存的本质思想是什么。
缓存的基本思想其实很简单,就是我们非常熟悉的空间换时间。不要把缓存想的太高大上,虽然,它的确对系统的性能提升的性价比非常高。
其实,我们在学习使用缓存的时候,你会发现缓存的思想实际在操作系统或者其他地方都被大量用到。 比如 CPU Cache 缓存的是内存数据用于解决 CPU 处理速度和内存不匹配的问题,内存缓存的是硬盘数据用于解决硬盘访问速度过慢的问题。 再比如操作系统在 页表方案 基础之上引入了 快表 来加速虚拟地址到物理地址的转换。我们可以把快表理解为一种特殊的高速缓冲存储器(Cache)。
回归到业务系统来说:我们为了避免用户在请求数据的时候获取速度过于缓慢,所以我们在数据库之上增加了缓存这一层来弥补。
阅读全文

摘要:
我们平时开发中不可避免的就是要存储时间,比如我们要记录操作表中这条记录的时间、记录转账的交易时间、记录出发时间等等。你会发现这个时间这个东西与我们开发的联系还是非常紧密的,用的好与不好会给我们的业务甚至功能带来很大的影响。所以,我们有必要重新出发,好好认识一下这个东西。
这是一篇短小精悍的文章,仔细阅读一定能学到不少东西!
阅读全文

摘要:
非常不错的总结,强烈建议保存下来,需要的时候看一看。
阅读全文

摘要:
事务是逻辑上的一组操作,要么都执行,要么都不执行。
事务最经典也经常被拿出来说例子就是转账了。假如小明要给小红转账1000元,这个转账会涉及到两个关键操作就是:将小明的余额减少1000元,将小红的余额增加1000元。万一在这两个操作之间突然出现错误比如银行系统崩溃,导致小明余额减少而小红的余额没有增加,这样就不对了。事务就是保证这两个关键操作要么都成功,要么都要失败。
阅读全文

摘要:为什么要使用索引?
1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。
2. 可以大大加快 数据的检索速度(大大减少的检索的数据量), 这也是创建索引的最主要的原因。
3. 帮助服务器避免排序和临时表。
4. 将随机IO变为顺序IO
5. 可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。
阅读全文
摘要:http://msdn.microsoft.com/zh-cn/library/ae5bf541(v=vs.80).aspx
阅读全文
摘要:在html页中添加视频的 7 种方式
阅读全文
摘要:超市需要处理大量的库存信息,还要时刻更新产品的销售信息,不断添加商品信息。面对不同种类的信息,需要合理的数据库结构来保存数据信息,需要有效的程序结构支持各种数据操作的执行。商店自动化的产品管理在欧美等国家早已经实现,也是零售业管理的基础。它最主要的特点是能够实时的和准确的控制店内的销售情况。如果可以能够实时掌握销售流程及销售情况,则可以有效地加速商品的周转率并提高服务质量,而且可以减少产品售价不符等所产生的问题。顾客的消费要求的是希望在超市购物中能基本上都能购得所需的商品,并且还要既保证商品质量还要享受优质,方便的服务。
阅读全文