捉虫大师 捉虫大师
3年前
踩了个DNS解析的坑,但我还是没想通
hello大家好,我是小楼。最近踩了个DNS解析的小坑,虽然问题解决了,但排查过程比较曲折,最后还是有一点没有想通,整个过程分享给大家。背景最近负责的服务要置换机器。置换机器可能很多小伙伴不知道是干啥,因为大家平时接触不到,我简单解释一下什么是机器置换以及为什么需要机器置换。机器置换通俗地讲就是更换机器,把服务从一台机器迁移到另一台上去。为什么要机器置换呢
Dubbo架构设计与源码解析(三)责任链模式
责任链模式是设计模式中简单且常见的设计模式,可能我们日常中也会经常应用责任链模式,dubbo中的责任链模式将灵活性发挥的很充分。
御弟哥哥 御弟哥哥
4年前
HashMap深度解析:一文让你彻底了解HashMap
前言HashMap是Map族中最为常用的一种,也是JavaCollectionFramework的重要成员。本文首先给出了HashMap的实质并概述了其与Map、HashSet的关系,紧接着给出了HashMap在JDK中的定义,并结合源码分析了其四种构造方式。最后,通过对HashMap的数据结构、实现原理、源码实现三
LeeFJ LeeFJ
2年前
Foxnic-Web 代码生成 (2) —— 代码生成的配置类
上一节,我们已经讲述了代码生成的基本步骤,但是对细节部分并未展开。利用FoxnicGenerator包进行代码生成的方式是多种多样的,我们这里提到的配置类这是其中一种,例如在FoxnicEAM项目里,有很多的代码生成非使用配置类来完成的。  我们优先选择配置类讲解,显然配置类有其优势。首先,配置类按数据表隔离,一数据表一模块一个配置类。其次,在配置类内部,按配置对象的不同,分别在不同的方法内进行配置代码的编写。例如,配置模型时在configModel方法内编写配置代码,配置字段时在configFields方法内编写配置代码。  那么,代码生成的配置为什么要用Java类,而不是用Json、XML或YML呢?首先,不管是Json、XML或YML、Java,都是在编辑器敲文本。那么哪一种方式敲文本是最方便的呢,自然是Java了,因为有开发工具强大的支持。
灯灯灯灯 灯灯灯灯
4年前
阿里二面必备考题之Java并发!全面解析
一、使用线程有三种使用线程的方法:实现Runnable接口实现Callable接口继承Thread类实现Runnable和Callable接口的类只能当做一个可以在线程中运行的任务,不是真正意义上的线程,因此最后还需要通过Thread来调用。可以理解为任务是通过线程驱动从而执行的。实现Runnable接口cpublicclass
Stella981 Stella981
3年前
40 道 Java 并发编程高频面试题解析
1、多线程有什么用?一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡。所谓"知其然知其所以然","会用"只是"知其然","为什么用"才是"知其所以然",只有达到"知其然知其所以然"的程度才可以说是把一个知识点运用自如。OK,下面说说我对这个问题的看法:1)发挥多核CPU的优势随着工业的进步,现在的
Stella981 Stella981
3年前
Android 插件化原理解析——Activity生命周期管理
在Java平台要做到动态运行模块、热插拔可以使用ClassLoader技术进行动态类加载,比如广泛使用的OSGi技术。在Android上当然也可以使用动态加载技术,但是仅仅把类加载进来就足够了吗?Activity,Service等组件是有生命周期的,它们统一由系统服务AMS管理;使用ClassLoader可以从插件中创建Activit
Stella981 Stella981
3年前
Dubbo源码解析之SPI(一):扩展类的加载过程
Dubbo是一款开源的、高性能且轻量级的JavaRPC框架,它提供了三大核心能力:面向接口的远程方法调用、智能容错和负载均衡,以及服务自动注册和发现。Dubbo最早是阿里公司内部的RPC框架,于2011年开源,之后迅速成为国内该类开源项目的佼佼者,2018年2月,通过投票正式成为Apache基金会孵化项目。目前宜信公司内部也有不少项目在使用Dub
Stella981 Stella981
3年前
Fescar分布式事务实现原理解析探秘
前言fescar发布已有时日,分布式事务一直是业界备受关注的领域,fescar发布一个月左右便受到了近5000个star足以说明其热度。当然,在fescar出来之前,已经有比较成熟的分布式事务的解决方案开源了,比较典型的方案如LCN(https://github.com/codingapi/txlcn)的2pc型无侵入事务,目前lcn已发展到5.
Stella981 Stella981
3年前
CSS前端经典面试题及解析——小白入门必备
1.CSS选择器的优先级是如何计算的?浏览器通过优先级规则,判断元素展示哪些样式。优先级通过4个维度指标确定,我们假定以a、b、c、d命名,分别代表以下含义:1.a表示是否使用内联样式(inlinestyle)。如果使用,a为1,否则为0。2.b表示ID选择器的数量。3.c表示类选择器、属性