最近有小伙伴在后台留言,让我写一篇负载均衡的文章,说网上文章其实已经很多了,每次都觉得某某文章讲的不错,可是一旦过段时间,啥都不记得了。那今天我们就用生活中的故事来聊聊负载均衡。文章中部分可能有点啰嗦,但是为了更好能让大家理解,我也是拼了,真真切切的想让大家掌握知识。什么是负载均衡?负载均衡,英文名称为Load Balance,其含义就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,
在以前文章中,我们把Mybatis源码阅读的整个流程梳理了一遍。今天,我们来详细聊聊,Mybatis是如何解析配置文件的。这是今天分析的流程图:还是从案例开始。demo案例 public static void main(String[] args) { String resource = "mybatis-config.xml"; InputStream inpu
字数:3620,阅读耗时:4分35秒最近群里一位兄弟在面试中被问到:「MySQL的架构体系是什么」。虽然他搞java开发好几年了,也一直使用的是MySQL数据库,但是面对这个问题依然是一脸懵逼,还以为面试官要问索引、慢查询、性能优化之类的(因为这些都是网上找点面试题背过了)。但这位面试官不按套路出牌,这位兄弟当场就是脸红耳赤的,心想nnd居然会这么问。其实面试中面试官的问题有千千万,有的问题确实
一位小伙伴来问一道谷歌的笔试题,关于单链表操作的,问到底有多少种解决方案,今天我们就来聊聊。题目的大致意思是:假设存在一个无序单链表,将重复结点去除后,并保原顺序。去重前:1→3→1→5→5→7去重后:1→3→5→7顺序删除通过双重循环直接在链表上执行删除操作。外层循环用一个指针从第一个结点开始遍历整个链表,然后内层循环用另外一个指针遍历其余结点,将与外层循环遍历到的指针所指结点的数据域相同的结点
有位小朋友最近正在为年后换工作做准备,但是遇到一个问题,觉得很不可思议的一道笔试题。然后我把这道题发到技术群里,发现很多人居然不知道,很多都是连蒙带猜的说。感觉很有必要写一篇文章来说道说道。奇怪的笔试题阅读下面这段代码,请写出这段代码的输出内容:import java.util.ArrayList;import java.util.Iterator;import java.util.*;publi
starter背景Spring Boot目前已经变成了后端开发这必备技能之一,其中一个主要原因是Spring Boot中有个非常重要的机制(starter机制)。starter能够抛弃以前繁杂的配置,将其统一集成进starter,使用的时候只需要在maven中引入对应的starter依赖即可,Spring Boot就能自动扫描到要加载的信息并启动相应的默认配置。starter让我们摆脱了各种依赖库
背景前段时间在我的技术群里,大家讨论起了为什么UserMapper.java是个接口,没有具体实现类,而我们可以直接调用其方法?关于这个问题,我之前面试过一些人,很多人是这么回答的:1.我领导叫我们使用Mybatis,大家都这么用就这么用了(没想过,反正就这么用)。2.虽然我不知道具体是怎么实现的,但我觉得肯定是……(此处略去若干的漫天猜想),但是也不对啊,难道是……(再次略去若干似懂非懂)。3.
废话少说,直接开整:第1组:JDK、JRE、JVM的关系范围关系:JDK>JRE>JVM。具体见下图:第2组:.java文件与.class文件的关系这两者的关系需要两张图才能说明白:第3组:class文件与JVM的关系JVM通过类加载机制,把class文件装载进JVM中,然后JVM解析class文件的内容,于是就有了类加载过中的链接、初始化等。第4组:类加载器关系一张图来说明:第5组:
你尽管输出,我使劲总助攻!
java程序员面试连环炮系列第五篇,欢迎关注
想更好的应对面试,还是需要不断学习不断总结,下面我们来分析三道面试题。 涨薪必备的面试小抄下面是一道入门级面试题,这道题基本上都是问初级的小伙伴比较多,但如果你是中级,或者高级。我觉得未必都能回答上来。说说 Java语言有哪些特点尽量答出以下几个关键词:1)简单易学。Java有丰富的类库,能够通过静态方法封装,降低API的学习成本,提高工作效率。2)面向对象。这个也是Java最重要的特性,jav
###1.类与对象有哪些区别?类是一个抽象的概念,是对某一事物的描述;而对象是类的实例,是实实在在存在的个体。比如:“男人”就是一个类(一个概念),而老田(田维常)就是实实在在的一个“对象”。注意:对象中又有类对象,即Class对象,但是类对象始终还是对象,不是类,这两个概念别搞混淆了。2.Java 中可以多继承吗?Java 中只能单继承,但可以实现多接口,并且支持多层继承。3.Java 中为什么
最近老是有小伙伴问类和Object相关的问题,感觉还是很多人对此不是很明白,那我们今天就干掉这两个怪物。类介绍Java 程序是由若干个类组成的,类也是面向对象编程思想的具体实现。以下为类的定义:public class User { //私有属性 private Long userId; private String name; private Integer age;
为什么要用线程池呢?下面是一段创建线程并运行的代码:for (int i = 0; i < 100; i++) { new Thread(() -> { System.out.println("run thread->" + Thread.currentThread().getName()); userService.updateUser(..
概述模板模式就是定义一个操作中的算法骨架,然后将一些步骤延迟到子类中。模板方法使得子类在不改变算法的结构即可重定义该算法的某些步骤。点击这里:一份10万字的面试小抄使用场景喝茶水我们都知道泡茶基本步骤(算法骨架)有:烧水、泡茶、喝茶水。整个过程中很关键的步骤是泡茶,泡茶需要跑什么茶呢?泡多久?(留给子类自己去实现)。API写过API接口的码友们都知道,写API一般有四个步骤:参数解析、参数校验、处
昨晚上有朋友私下问我,他的简历投了好家公司,并且都说在招人,却面试机会都不给一个,还有这位朋友他说他曾经因为跳槽太频繁,导致直接被叫回去等通知。他说其实每次跳槽都是一次成长, 但是最后他把简历发给我看了看,然后我问了他几个技术问题后,发现他的技能并没有成长,其实从他的简历上就能看出没多大成长。没有收到面试机会,其实和他的简历和履历都是息息相关的。工作这么多年,我也面试过几百个求职者,我也为东家推荐
在我们这个行业里,每天都有很多人在跳槽,也有很多人在犹豫着是否应该跳槽。另外,由于受疫情的影响,今年找工作相对来说确实没有往年乐观,网上很多也称今年将是有史以来最难就业年,那么今天我们就来聊聊关于你是否应该跳槽了。背景对于1到5年工作经验的技术人员跳槽涨薪还是不错的,因为公司愿意为你的潜力买单并培养你。但是随着工年的增长,你会慢慢发现跳槽没那么容易了,随之来的便是薪资增长很难。你对薪资的期望越高公
即将进入金三银四的黄金时段,所以很多人已经开始准备自己的面试抱佛脚了。今天我整理了6道关于tomcat的核心面试题以及参看答案,看完对于绝大多数人应对面试妥妥的。1、Tomcat的缺省端口是多少,怎么修改?默认端口为8080,可以通过在tomcat安装包conf目录下,service.xml中的Connector元素的port属性来修改端口。2、tomcat 有哪几种Connector 运行模式(
获取:10万字的面试小抄面试的时候,面试官只要看到你简历的上写的有Zookeeper(熟悉、掌握)之类,那你至少要准备接下来的11连问。NO1:说说zookeeper是什么?ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现(Chubby是不开源的),它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,
背景介绍Apache Tomcat 是Java Servlet、JavaServer Pages (JSP)、Java表达式语言和Java的WebSocket技术的一个开源实现 ,通常我们将Tomcat称为Web容器或者Servlet容器 。tomcat各版本和相应规范的映射关系:下载地址https://tomcat.apache.org/download-90.cgi下载到本地并解压:进入主目录
现在是微服务盛行时代,说不准哪一天领导就会让你对一个大项目进行重构。大项目的痛点:编译慢、发布繁琐等。就像下面这张图:真的不敢动呀,一不小心就坍塌了。比如说我们用户系统,我们可以这么重构(这里只是举例,每个项目拆分目的可能不同)。user-system拆分成:user-webuser-serviceuser-daouser-common我们对其拆分后很有可能存在多个子项目中同时依赖某个jar包,如
老铁昨天下午问我什么时候讲讲Maven插件:于是老田搞到大半夜终于写了一篇maven的插件,今天分享给大家。想进一步详聊了请加我微信tj20120622,进群和大家一起聊技术。Maven 是一个执行插件的框架,每一个任务实际上是由插件完成的。那么我们今天就来聊聊Maven插件。什么是Maven插件?Maven 实际上只是Maven插件集合的核心框架。换句话说,插件是执行大部分实际操作的地方。插件用
今天有位微信好友私下问我:mvn install怎么好像把mvn compile的活也干了,所以我平时都是使用mvn install就ok了。奇怪的是,为什么还要搞个mvn compile呢?听了这位朋友这么说,我想起了,我刚刚开始使用mvn的时候,仿佛也是这样的。我老大就是这么教我的,我就这么用,感觉蛮爽的...有时候看到大佬们使用mvn ....一长串命令的时候,就会蒙圈了,这是什么命令?什么
前两天在一个技术群,有人还在问maven中groupId、artifactId、version这些关键字的含义是什么,于是,我觉得还是很有必要来聊聊Maven中的这些核心概念。成功不是将来才有的,而是从决定去做的那一刻起,持续累积而成。今天我们来学习Maven中的核心概念。了解了这些核心概念后,我们后面就可以更深层次的学习和使用Maven。坐标坐标的概念来自百度百科能够确定一个点在空间的位置的一个
写代码一定要规范操作吗?网上很多相关的讨论与回答。在此,举个例子说明吧:有次我被临时借调到另一个项目组,去帮忙赶一个需求。写代码的时候我犯了一个最蠢的错误,就是按自己的配置对代码做了格式化。全部写完并提交代码后的那天中午我去医院了。下午接了那个项目组组长一个电话,问我提交的代码做了哪些改动。我报了几个路径,并告诉了他我的修改标记。第二天到公司后,组长告诉我因为我的代码格式与组内规范不一样,导致合并
最近,小师妹给我发消息,说她在某个项目中看到了Maven,感觉还挺小巧精致的,很有兴趣深入学习一下,问我有没有什么快速入门的教程~刚好自己也在整理Maven相关的材料,那就拿出来一起交流一下吧。今天主要聊聊Maven的快速入门,很多人可能会觉得很简单,但相信您认真看完的话还是会有新滴收获的。基本介绍概念Maven字面义和准确的发音:Maven是Apache下面的一个java开发的开源项目,官网地址
学编程怎么能不学算法?程序员面试的时候,算法也是必问内容。有个很著名的公式:程序=数据结构+算法。——一个公式展示出了程序的本质。这个公式对计算机科学的影响程度足以类似物理学中爱因斯坦的“E=MC^2”。算法,从字面意义上解释,就是用于计算的方法,通过该这种方法可以达到预期的计算结果。目前,被广泛认可的算法专业定义是:算法是模型分析的一组可行的,确定的,有穷的规则。通俗的说,算法也可以理解为一个解
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号