只有注册用户登录后才能阅读该文。 Read More
一、学习目标 了解秒杀的业务 掌握秒杀的设计思路及技术架构 掌握SpringCloud针对于秒杀业务的应用 掌握redis对于性能的提升作用 掌握RabbitMQ对于业务拆分异步的处理应用 二、了解秒杀的业务及使用的技术架构 2.1. 什么是秒杀 【秒杀】一词在网络的最早起源,应该要追溯到日本的综合 Read More
public HashedWheelTimer( //创建线程的线程工厂对象,每个时间轮对象持有一个线程 ThreadFactory threadFactory, //扇形块的时间间隔 long tickDuration, //tickDuration的单位 TimeUnit unit, //圆环上 Read More
1、Random LoadBalance 1.1 随机,按权重设置随机概率。 1.2 在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按概率使用权重后也比较均匀,有利于动态调整提供者权重。 1.3 源码分析 public class RandomLoadBalance extends Abst Read More
什么是时间管理 所谓的时间管理,本质上就是自我管理的过程,也就是在同样有限的时间内,整合好时间,实现学习以 及工作效率的最大化。 而自我管理的过程,再进一步就是如何分配好自己的精力去专注某一件事。但是实际上人的精力是有限 的,根据《深度工作》这本书上讲的一个观点是,如果按照一天8个小时来算工作时间, Read More
节点 角色说明 Provid 暴露服务的服务提供方 Consumer 调用远程服务的服务消费方 Registry 服务注册与发现的注册中心 Monitor 统计服务的调用次数和调用时间的监控中心 Container 服务运行容器 Dubbo涉及版本 2.7.7 ~ 2.7.8 Dubbo怎么去使用 Read More
Java领域的对象如何传输 基于socket进行对象传输 , 先举个简单的例子,写一个socket通信的代码 User public class User { private int id; private String name; public int getId() { return id; } Read More
一、Condition接口 任意一个Java对象,都拥有一组监视器方法(定义在java.lang.Object上),主要包括wait()、wait(long timeout)、notify()以及notifyAll()方法,这些方法与synchronized同步关键字配合,可以实现等待/通知模式。C Read More
java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。它包括两个类:Pattern和Matcher Pattern 一个Pattern是一个正则表达式经编译后的表现模式。 Matcher 一个Matcher对象是一个状态机器,它依据Pattern对象做为匹配模式 Read More
一、 为什么要使用ConcurrentHashMap 在并发编程中使用HashMap可能导致程序死循环。而使用线程安全的HashTable效率又非常低下,基于以上两个原因,便有了ConcurrentHashMap的登场机会。 (1)线程不安全的HashMap 在多线程环境下,使用HashMap进行 Read More
在开始正文之前,请你先思考几个问题: 你项目中有使用哪些 GOF 设计模式 说一说 GOF 23 种设计模式的设计理念 说说 Spring 框架中如何实现设计模式 假设我是面试官问起了你这些面试题,你该如何回答呢,请先思考一分钟。 好的,我们开始进入正题。设计模式实践里面提供了许多经久不衰的解决方案 Read More
MySQL在2016年仍然保持强劲的数据库流行度增长趋势。越来越多的客户将自己的应用建立在MySQL数据库之上,甚至是从Oracle迁移到MySQL上来。但也存在部分客户在使用MySQL数据库的过程中遇到一些比如响应时间慢,CPU打满等情况。阿里云RDS专家服务团队帮助云上客户解决过很多紧急问题。现将《ApsaraDB专家诊断报告》中出现的部分常见SQL问题总结如下,供大家参考。 Read More
Don Roberts 提出的一条重构准则:
第一次做某件事时只管去做;
第二次做类似的事时会产生反感,
但无论如何还是可以去做;第三次再做类似的事时,你就应该重构。
编码也是如此,当多次编写类似的代码时,我们需要考虑是否有一种方法能够提高编码速度,让编码速度“起飞”?高德地图技术专家陈昌毅(常意)多年来致力于敏捷开发,总结了一套编码的方法论,有助于程序员"快速、优质、高效"地进行编码。 Read More
作者:赐我白日梦 https://www.cnblogs.com/ZhuChangwu/p/11648911.html 为哪些方法代理? 实现自己动态代理,首先需要关注的点就是,代理对象需要为哪些方法代理? 原生JDK的动态代理的实现是往上抽象出一层接口,让目标对象和代理对象都实现这个接口,怎么把接 Read More
华丽转身是华而不实的假面具,我作为一名技术管理人员,建议大家不要轻易的转向管理岗位,坚持自己的技术才是根本。因为只有10%的技术专业人士具备相应的管理岗位所需要的特质,而更少的这样的人能够走到最后,管理岗位所做的工作不是技术人员所认为的非黑即白这样的事情,管理人员整个发展轨迹不仅仅需要自身能力、理念 Read More
对于不少有志创业的技术大牛,技术能力并非瓶颈,怎么找到靠谱的创业想法却让他们踩坑。 技术创业的门槛越来越高,商汤、旷世、寒武纪等AI独角兽聚集了众多技术人才,凭借着技术和人才的优势成为赛道领导者,这让很多技术大牛跃跃欲试。 懂商业的CEO+技术强的CTO仍是很好的创始团队组合,但很多成功技术创业公司 Read More
导读 Don Roberts 提出的一条重构准则: 编码也是如此,当多次编写类似的代码时,我们需要考虑是否有一种方法能够提高编码速度。作者多年来致力于敏捷开发,总结了一套编码的方法论,有助于程序员"快速、优质、高效"地进行编码。 方法1:手工编写代码 大多数刚学习 Java 的程序员,都会怀着一种崇 Read More
一、背景 为什么我们需要先学习MYSQL的基础架构先呢? 原因很简单,当我们需要了解一件事物的时候,我们只有站在宏观的层面,才能层层剥丝抽茧的去理解问题。举个例子,我们要看一个框架的源码,一开始就想进去研究,却发现找不着北,原因很简单,因为我们没有鸟瞰全貌,我们根本不知道入口在哪里。因此我们学习MY Read More
导读 查尔斯·狄更斯在《双城记》中写道:“这是一个最好的时代,也是一个最坏的时代。” 移动互联网的快速发展,出现了许多新机遇,很多创业者伺机而动;随着行业竞争加剧,互联网红利逐渐消失,很多创业公司九死一生。笔者在初创公司摸爬滚打数年,接触了各式各样的 Java 微服务架构,从中获得了一些优秀的理念, Read More
现在人工智能非常火爆,很多朋友都想学,但是一般的教程都是为博硕生准备的,太难看懂了。最近发现了一个非常适合小白入门的教程,不仅通俗易懂而且还很风趣幽默。所以忍不住分享一下给大家 1/0 前言 之前我们探讨过一个.class文件是如何被加载到jvm中的。但是jvm内又是如何划分内存的呢?这个内被加载到 Read More
现在人工智能非常火爆,很多朋友都想学,但是一般的教程都是为博硕生准备的,太难看懂了。最近发现了一个非常适合小白入门的教程,不仅通俗易懂而且还很风趣幽默。所以忍不住分享一下给大家 1/0 前言 jvm作为每个java程序猿必须了解的知识,博主推荐一本书《深入理解Java虚拟机》,以前博主在图书馆的时候 Read More
ConcurrentHashMap的简介 get操作源码 volatile登场 是加在数组上的volatile吗? 用volatile修饰的Node 总结 我们知道,ConcurrentHashmap(1.8)这个并发集合框架是线程安全的,当你看到源码的get操作时,会发现get操作全程是没有加任何 Read More
现在人工智能非常火爆,很多朋友都想学,但是一般的教程都是为博硕生准备的,太难看懂了。最近发现了一个非常适合小白入门的教程,不仅通俗易懂而且还很风趣幽默。所以忍不住分享一下给大家 问题的提出 在计算机科学领域,分布式一致性是一个相当重要且被广泛探索与论证问题,首先来看三种业务场景。 1、火车站售票 假 Read More
现在人工智能非常火爆,很多朋友都想学,但是一般的教程都是为博硕生准备的,太难看懂了。最近发现了一个非常适合小白入门的教程,不仅通俗易懂而且还很风趣幽默。所以忍不住分享一下给大家 每个优秀的程序员和架构师都应该掌握分库分表,这是我的观点。 移动互联网时代,海量的用户每天产生海量的数量,比如: 用户表 Read More