![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA社招
文章平均质量分 84
丘山一郎
这个作者很懒,什么都没留下…
展开
-
剑指offer刷题记录 其他、回溯
剑指Offer(十一):二进制中1的个数绝对最佳答案及分析:public class Solution { public int NumberOf1(int n) { int count = 0; while(n!= 0){ count++; n = n & (n - 1); } return count; }}答案正确:恭喜!您提交的程序通过了所有的测试用例分原创 2021-04-25 16:37:24 · 146 阅读 · 0 评论 -
Mybatis高频面试题——计算机网络
一、#{}、${}区别#{}是预编译处理,KaTeX parse error: Expected ‘EOF’, got ‘#’ at position 21: …串替换。 Mybatis在处理#̲{}时,会将sql中的#{}替…{}时,就是把${}替换成变量的值。使用#{}可以有效的防止SQL注入,提高系统安全性。二、请说说MyBatis的工作原理在学习 MyBatis 程序之前,需要了解一下 MyBatis 工作原理,以便于理解程序。MyBatis 的工作原理如下图1)读取 MyBatis 配原创 2021-04-18 11:42:49 · 365 阅读 · 1 评论 -
分布式事务、分布式锁
面试官心理分析只要聊到你做了分布式系统,必问分布式事务,你对分布式事务一无所知的话,确实会很坑,你起码得知道有哪些方案,一般怎么来做,每个方案的优缺点是什么。现在面试,分布式系统成了标配,而分布式系统带来的分布式事务也成了标配了。因为你做系统肯定要用事务吧,如果是分布式系统,肯定要用分布式事务吧。先不说你搞过没有,起码你得明白有哪几种方案,每种方案可能有啥坑?比如 TCC 方案的网络问题、XA 方案的一致性问题。分布式事务主要有5种解决方案:XA 方案TCC 方案本地消息表可靠消息最终一致性原创 2021-04-14 07:25:48 · 385 阅读 · 0 评论 -
MySQL 高频面试题目
一、一条SQL查询语句是如何执行的?(1)客户端与数据库建立连接(2)查询缓存,如果命中缓存,则立即返回存储在缓存中的数据。(3)解析器先进行词法分析,将SQL语句打碎成一个个单词,根据构词规则识别单词中的关键字和非关键字,接着进行语法解析,判断是否满足MySQL的语句,接着生成语法树。如果语法错误则返回(4)解释器是分析语法有没有错误,但是它无法知道数据库中有没有数据表和字段,预处理器根据MySQL规则进一步检查解析树是否合法。如检查表名,列名是否正确,是否有表权限等。(5)查询优化器对解析原创 2021-04-13 18:38:44 · 956 阅读 · 0 评论 -
剑指offer刷题记录 栈、递归、二叉搜素树
栈剑指Offer(五):用两个栈实现队列入队:push的时候,栈A入队列出队:pop的时候,如果栈B有值则pop,如果栈B无值则把A全push到Bimport java.util.Stack;public class Solution { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = new Stack<Integer>();原创 2021-04-24 17:48:28 · 97 阅读 · 0 评论 -
剑指offer 数组专题 刷题记录
剑指Offer(一):二维数组中的查找//二分查找public class Solution { public boolean Find(int target, int [][] array) { if(array.length==0||array==null){ return false; } for(int i=0;i<array.length;i++){ int begin=0;原创 2021-04-11 15:51:47 · 138 阅读 · 0 评论 -
剑指offer 二叉树专题 刷题记录
4、重建二叉树17、数的子结构18、二叉树的镜像22、从上往下打印二叉树24、二叉树中和为某一值的路径38、二叉树的深度39、平衡二叉树57、二叉树的下一个节点58、对称二叉树59、按之字形书序打印二叉树60、把二叉树打印成多行61、序列化二叉树...原创 2021-04-08 12:38:55 · 144 阅读 · 3 评论 -
Spring Cloud面试题目集锦
1、什么是Spring Cloud?Spring Cloud 就是微服务系统架构的一站式解决方案,它包括注册中心Eurake、负载均衡Ribbon、注册中心Spring Config、Histrix服务熔断、Gateway注册网关五大核心组件。2、微服务与SOA的区别?SOA的特点:1、系统集成:站在系统的角度,解决企业系统间的通信问 题,把原先散乱、无规划的系统间的网状结构,梳理成 规整、可治理的系统间星形结构,这一步往往需要引入 一些产品,比如 ESB、以及技术规范、服务管理规范; 这一步解决的原创 2021-04-06 11:59:20 · 289 阅读 · 0 评论 -
Rabbit MQ消息队列原理
一,MQ的三大特性异步: 同步是发出一个调用请求之后,在没有得到结果之前,就不返回,调用者主动等待这个调用结果。异步通信不需要客户端等待,可以减少客户端性能消耗,大大地提升用户的体验。**解耦:**降低系统的耦合性,(耦合的意思是模块间的紧密联系,修改一个模块,多个模块都需要修改)例如A系统向B,C,D三个系统发送消息,如果其中一个失败,那么导致整个逻辑失败。(火车退票为例,增库存,支付接口,系统API通知)**削峰:**电商系统中,有一个瞬间流量达到峰值的情况,普通服务器无法支撑百万或者千万级别的并原创 2021-03-16 21:49:36 · 1938 阅读 · 2 评论 -
Spring Cloud 面试总结
RestTemplate是Spring提供的用于发送HTTP请求的客户端工具,它遵循Restful原则,RestTemplate默认依赖JDK的Http连接工具HttpUrlConnection,你也可以替换不同的源,比如OkHttp、Apache HttpComponents 等等。。Feign是Spring Cloud组件中一个轻量级RESTful的HTTP服务客户端,Feign内置了Ribbon,用来做客户端负载均衡,去调用服务注册中心的服务。Feign的使用方式是:使用Feign的注解定义接口,调原创 2021-03-20 14:22:36 · 268 阅读 · 0 评论 -
JAVA高频面试题目集锦
一、equals()和==,以及HashCode()=号 如果是值引用,比较值是否相等; 如果是对象引用,比较对象内存地址是否相同equals()方法中,默认使用等号,如果说我们想要判断对象是否相等需要重写equals方法HashCode()Object 的 hashcode 方法是本地方法,也就是用 c 语言或 c++ 实现的,该方法通常用来将对象的 内存地址 转换为整数之后返回。一般情况下重写equals方法的同时需要重写HashCode,假如不重写HashCode会发生什么情况呢?以H原创 2021-03-28 23:37:34 · 669 阅读 · 0 评论 -
Spring Cloud Gateway
一、为什么需要网关?Spirng官方提供的组件,为了替代Zuul二、Spring Cloud Gateway的核心概念Routers路由可以配置多个路由,每个路由包括断言和Filter。断言:判断URL是否符合规范,符合则返回true;不符合则返回falseFilter:Prefilter:PostFilter:网关作用:授权,日志,限流...原创 2021-03-24 22:21:46 · 421 阅读 · 0 评论 -
Spring Cloud Hystrix
Hystrix 熔断触发降级熔断的三种状态:Closed状态:默认情况关闭,断路器关闭的,所有请求可以正常发起Open状态:当我们触发熔断以后,开启断路器,处于Open状态,后续5s的所有请求都不会发送到服务器Half-Open状态:每搁5s会尝试请求,如果5s之后,后续的请求过来后,它会发到远程服务器,如果发现能够正常接收请求,那断路器就变为Closed状态,如果请求结果失败就会继续返回到Open状态,尝试过程中就是Half-Open状态。降级触发的三种条件:熔断触发降级;请求超时原创 2021-03-23 21:01:54 · 465 阅读 · 0 评论 -
Spring Cloud Config
Spring Cloud Config和Spring Cloud Eurake相似,都有客户端和服务端。Spring Cloud Config的实现依赖于 git,将配置文件放到git上边;配置中心使用git pull的方式拉取到配置中心ConfigServer,但是,config server端更新之后,config client端无法自动更新,只有手动的去调用/actuator/refresh来实现更新。一、Spring Boot中run()方法的使用我们可以看到Spring Boot中ru原创 2021-03-22 23:49:43 · 143 阅读 · 1 评论 -
Spring Cloud Eureka源码分析
一、服务注册的入口第一种方式是,对实现了SmartLifeCycle接口的Bean,在Spring boot应用启动的时候最终调用DefaultLifeCycleProcessor.doStart()方法循环调用所有实现了SmartLifeCycle接口的Bean中的start方法;EurekaAutoServiceRegistration实现了SmartLifeCycle接口,其中start方法最终调用StatusChangeListener.notify进行服务状态变更的监听,而这个监听的方法受到事原创 2021-03-22 16:31:57 · 224 阅读 · 0 评论 -
Spring Cloud Eureka
Eureka 注册中心肯定需要配置多个服务节点的去中心化设计,没有主从的概念,每个注册中心互相注册,保证高可用,Eureka Server Client:Eureka ClientEureka是AP,没有主从,一旦有主从就会设计到主从的选举,同步,会造成一定的时间内不可用。CAP:C:表示一致性A:可用性P:分区容错性(集群节点/跨区域的高可用)Eureka自我保护机制:心跳失败的比率在15分钟之内,低于85%的节点,Eureka server会认为这个实例出现原创 2021-03-21 19:25:17 · 167 阅读 · 0 评论 -
Spring Cloud Open Feign源码分析
Open Feign(伪声明式RPC)面向接口的一种代理的封装,思考Feign要做到的事情参数的解析与装载针对制定的feignClient,生成动态代理针对FeignClient中的方法描述进行解析组装出一个Request对象,发起请求首先从@EnableFeignClients()注解进入@Import({FeignClientsRegistrar.class});FeignClientsRegistrar类实现了ImportBeanDefinitionRegistrar接口;动态的原创 2021-03-19 18:49:46 · 248 阅读 · 0 评论 -
Spring Cloud Ribbon源码分析(二) 列表更新
上节回顾:通过Ribbon集成之后,RestTemplate做了什么事情?RestTemplate本身是一个HTTP客户端,让我们更加简化的完成HTTP请求,但是因为集成Ribbon后需要对请求实现负载均衡,所以在RestTemplate真正发起HTTP请求之前做了一个拦截,这个拦截就是LoadBalancerInterceptor完成的,它的最终实现是RibbonLoadBlancerClient去进行拦截和处理,在拦截过程中分析了几个阶段,第一个阶段是初始化阶段,怎么对加了LoadBalancer的.原创 2021-03-19 15:17:43 · 246 阅读 · 0 评论 -
Spring Cloud Ribbon源码分析(一)
11原创 2021-03-18 14:57:55 · 199 阅读 · 0 评论 -
Spring IOC、DI、AOP以及Spring MVC面试原理
Spring IOC加载流程:Spring DI加载流程:Spring AOP面向切片编程:Spring Mvc加载流程:原创 2021-03-25 11:29:56 · 428 阅读 · 0 评论 -
2020秋招面试JVM虚拟机高频问题总结 问题+答案
下面是按jvm虚拟机知识点分章节总结的一些jvm学习与面试相关的一些东西。一般作为Java程序员在面试的时候一般会问的大多就是Java内存区域、虚拟机垃圾算法、虚拟垃圾收集器、JVM内存管理这些问题了。Java面试通关手册(Java学习指南)github地址(欢迎star和pull):https://github.com/Snailclimb/Java_Guide (GITHUB 五万多星)...原创 2019-08-27 10:04:58 · 809 阅读 · 2 评论