- 新版网站前后台即将上线,2019年将致力于提高文章质量,加大原创力度,打造一个更加舒适的阅读体验!
- 极客文库小编@勤劳的小蚂蚁,为您推荐每日资讯,欢迎关注!
- 新版网站前后台即将上线,2019年将致力于提高文章质量,加大原创力度,打造一个更加舒适的阅读体验!
- 如果有任何体验不佳的地方,欢迎向客服反馈!
接上篇,我们采用了领域驱动的开发方式,使用了充血模型,享受了他的好处,但是也不得不面对他带来的弊端。这个弊端在分布式的微服务架构下面又被放大。事务一致性事务一致性的问题在 Monolithic 下面不是大问题,在微服务下面却是很致命,我们回顾一下所谓的 ACID 原则Atomicity – 原子性,改变数据状态要么是一起完成,……继续阅读 » 勤劳的小蚂蚁 2天前 8浏览 0评论0个赞
1. API 与 SPI 分离 框架或组件通常有两类客户,一个是使用者,一个是扩展者, API(Application Programming Interface)是给使用者用的, 而 SPI(Service Provide Interface)是给扩展者用的, 在设计时,尽量把它们隔离开,而不要混在一起, 也就是说,使用者是看不……继续阅读 » 勤劳的小蚂蚁 2天前 9浏览 0评论0个赞
前言最近总有一些小伙伴问我,现在大二,想自学编程,但是不知道如何下手?不知道该学哪一门编程语言,c/c++?java?c#?还是 php?不知道 c++、Java、php 之间有什么区别?是不是学习 java 之前要学 c?学习了 Java 基础之后又该学什么?如果你也有这些疑问,那就继续看下去,如果没有就可以 return 了。……继续阅读 » 勤劳的小蚂蚁 2天前 9浏览 0评论0个赞
Java 的性能有某种黑魔法之称。部分原因在于 Java 平台非常复杂,很多情况下问题难以定位。然而在历史上还有一种趋势,人们靠智慧和经验来研究 Java 性能,而不是靠应用统计和实证推理。在这篇文章中,我希望拆穿一些最荒谬的技术神话。1.Java 很慢关于 Java 的性能有很多谬论,这一条是最过时的,可能也是最为明显的。确实,在上世纪……继续阅读 » 勤劳的小蚂蚁 2天前 7浏览 0评论0个赞
1基础篇01 面向对象→ 什么是面向对象面向对象、面向过程面向对象的三大基本特征和五大基本原则→ 平台无关性Java 如何实现的平台无关JVM 还支持哪些语言(Kotlin、Groovy、JRuby、Jython、Scala)→ 值传递值传递、引……继续阅读 » 勤劳的小蚂蚁 2天前 9浏览 0评论0个赞
前言霍夫曼编码 ( Huffman coding ) 是一种可变长的前缀码。霍夫曼编码使用的算法是 David A. Huffman 还是在 MIT 的学生时提出的,并且在 1952 年发表了名为《 A Method for the Construction of Minimum-Redundancy Codes 》的文章。编码这种编码的过……继续阅读 » 勤劳的小蚂蚁 2天前 7浏览 0评论0个赞
今天说一说现在比较流行的扫码登录的实现原理。需求介绍首先,介绍下什么是扫码登录。现在,大部分同学手机上都装有 qq 和淘宝,天猫等这一类的软件。而开发这些 app 的企业,都有他们相对应的网站。为了让用户在使用他们的网站时,登录更加方便和安全。这些企业提供了, 使用手机,扫一扫,就可以登录的服务。网页登录时的效果如下:有很多小伙伴可能会……继续阅读 » 勤劳的小蚂蚁 2天前 7浏览 0评论0个赞
随着移动互联网的爆发性增长,小明公司的电子商务系统访问量越来越大,由于现有系统是个单体的巨型应用,已经无法满足海量的并发请求,拆分势在必行。在微服务的大潮之中, 架构师小明把系统拆分成了多个服务,根据需要部署在多个机器上,这些服务非常灵活,可以随着访问量弹性扩展。世界上没有免费的午餐, 拆分成多个“微服务”以后虽……继续阅读 » 勤劳的小蚂蚁 2天前 7浏览 0评论0个赞
1. Java 堆空间发生频率:5 颗星造成原因无法在 Java 堆中分配对象吞吐量增加应用程序无意中保存了对象引用,对象无法被 GC 回收应用程序过度使用 finalizer。finalizer 对象不能被 GC 立刻回收。finalizer 由结束队列服务的守护线程调用,有时 finalizer 线程的处理能力……继续阅读 » 勤劳的小蚂蚁 2天前 8浏览 0评论0个赞
确保你在分布式系统中,努力实现这些微服务的最佳实践,例如监控和 REST 成熟度。使用微服务架构可以解决所有的软件架构的问题,对吗?当然,这是不对的。但是,使用微服务架构是有价值的。Hüseyin Babal 最近发表了一个观点,即微服务架构是无法解决所有的问题的。但是,使用微服务架构是构建现代软件架构的坚实基础。在过去的许多年里,我们都知道……继续阅读 » 勤劳的小蚂蚁 2天前 6浏览 0评论0个赞
大家可能都听过 JDK7 中的 HashMap 在多线程环境下可能造成 CPU 100%的现象,这个由于在扩容的时候 put 时产生了死链,由此会在 get 时造成了 CPU 100%。这个问题在 JDK8 中的 HashMap 获得了解决。其实 JDK7 中的 HashMap 在多线程环境下不止只有 CPU 100%这一共怪异现象,它还可能造成……继续阅读 » 勤劳的小蚂蚁 2天前 10浏览 0评论0个赞
MyBatis 令人喜欢的一大特性就是动态 SQL。 在使用 JDBC 的过程中, 根据条件进行 SQL 的拼接是很麻烦且很容易出错的。 MyBatis 动态 SQL 的出现, 解决了这个麻烦。MyBatis 通过 OGNL 来进行动态 SQL 的使用的。目前, 动态 SQL 支持以下几种标签:1 数据准备为了后面的演示, 创建了一个 M……继续阅读 » 勤劳的小蚂蚁 2天前 9浏览 0评论0个赞
一. 多线程的实现1.1 实现多线程的三种方式(1)继承 Thread 类(2)实现 Runnable 接口(3)使用 ExecutorService、Callable、Future 实现有返回结果的多线程实现 Runnable 和 Callable 接口的类只能当做一个可以在线程中运行的任务,不是真正意义上的线程,因……继续阅读 » 勤劳的小蚂蚁 2天前 10浏览 0评论0个赞
java 后端 1 年经验和技术总结(1)1.引言 毕业已经一年有余,这一年里特别感谢技术管理人员的器重,以及同事的帮忙,学到了不少东西。这一年里走过一些弯路,也碰到一些难题,也受到过做为一名开发却经常为系统维护和发布当救火队员的苦恼。遂决定梳理一下自己所学的东西,为大家分享一下。 经过一年意识到以前也有很多认识误区,比如: 偏爱收……继续阅读 » 勤劳的小蚂蚁 2天前 9浏览 0评论0个赞
在 select 语句中查询得到的是一张二维表, 水平方向上看是一个个字段, 垂直方向上看是一条条记录。作为面向对象的语言, Java 中的的对象是根据类定义创建的。 类之间的引用关系可以认为是嵌套的关系。在 mybatis 中, resultMap 节点定义了结果集和结果对象(JavaBean)之间的映射规则。本文主要讲解的是 result……继续阅读 » 勤劳的小蚂蚁 3天前 10浏览 0评论0个赞
作为曾经的北漂一员,在北京呆了十几年,前前后后经历了三家软件公司,周围绝大部分同事都属于北漂一族,毕竟土生土长的北京人数量相对还是比较少,对于年龄大的程序员就个人亲身一些经历分享给大家。1.北漂目标就是要扎根在北京皇城根下。有个同事在和媳妇都是做软件开发,媳妇主要做的是软件测试,同事做的是视频后台服务器开发,目标就是在北京能定居下来,想……继续阅读 » 勤劳的小蚂蚁 3天前 8浏览 0评论0个赞
1 前言DES 算法是一种常见的分组加密算法,由 IBM 公司在 1971 年提出。DES 算法是分组加密算法的典型代表,同时也是应用最为广泛的对称加密算法。本文将详细讲述 DES 的原理以及实现过程。1.1 明文明文是指没有经过加密的数据。一般而言,明文都是等待传输的数据。由于没有经过加密,明文很容易被识别与破解,因此在传输明文之前必……继续阅读 » 勤劳的小蚂蚁 3天前 9浏览 0评论0个赞
导读:Go 语言是近年来迅速发展的新编程语言,国内已经有大量公司从其他语言转换到 Go 语言。知乎作为国内 Python 语言大厂之一,也开启了切转换 Go 语言的大门。他们为何要做这样的转换?又是怎样转换的?碰到了什么问题?又是怎样解决这些问题的?本文作者一一为你解答。背景众所周知,知乎社区后端的主力编程语言是 Python。随着知乎……继续阅读 » 勤劳的小蚂蚁 3天前 11浏览 0评论0个赞
在面试环节中,面试官很喜欢问一些特别的题目,这些题目有着特殊的解法,如果回答的巧妙往往能在面试中加分。在这些题目中,位操作(Bit Operation)就是极具魅力的一种。今天,吴师兄就来分享 LeetCode 上几道跟 Bit Operation 有关的题目。题目一: 位 1 的个数LeetCode 上第 191 号问题:编写一个函数,……继续阅读 » 勤劳的小蚂蚁 3天前 9浏览 0评论0个赞
注:本文所有方法和示例基于 jdk1.8概述LinkedList 是一种可以在任何位置进行高效地插入和移除操作的有序序列,它是基于双向链表实现的,是线程不安全的,允许元素为 null 的双向链表。源码分析1. 变量/** * 集合元素数量 **/transient int size = 0;/** * 指向第一个节……继续阅读 » 勤劳的小蚂蚁 3天前 9浏览 0评论0个赞
引言你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用、通讯的问题而苦恼、挣扎?如果是,那么恭喜你,消息服务让你可以很轻松地解决这些问题。消息服务擅长于解决多系统、异构系统间的数据交换(消息通知/通讯)问题,你也可以把它用于系统间服务的相互调用(RPC)。本文将要介绍的 RabbitMQ ……继续阅读 » 勤劳的小蚂蚁 3天前 9浏览 0评论0个赞
spring boot 就是一个大框架里面包含了许许多多的东西,其中 spring 就是最核心的内容之一,当然就包含 spring mvc。spring mvc 是只是 spring 处理 web 层请求的一个模块。因此他们的关系大概就是这样:spring mvc < spring <springboot。理清 SpringB……继续阅读 » 勤劳的小蚂蚁 3天前 13浏览 0评论0个赞
接口隔离原则(ISP),The Interface Segregation Principle定义客户端不需要强迫依赖那些它们不需要的接口。类与接口的依赖应该建议在最小的接口上,也就是说接口应该最小化,不能建立在一个庞大的接口之上,接口合理地按功能职能分成更细的几个单一的子接口。如果一个接口定义并公布过多的方法,会导致所有的……继续阅读 » 勤劳的小蚂蚁 3天前 12浏览 0评论0个赞
1、并发队列的选择Java 的并发包提供了三个常用的并发队列实现,分别是:ArrayBlockingQueue、ConcurrentLinkedQueue 和 LinkedBlockingQueue 。ArrayBlockingQueue 是初始容量固定的阻塞队列,我们可以用来作为数据库模块成功竞拍的队列,比如有 10 个商品,……继续阅读 » 勤劳的小蚂蚁 3天前 11浏览 0评论0个赞