面试
文章平均质量分 78
Java世界上最好的语言
学习Java不秃头
展开
-
重磅!阿里首推内部“SpringCloudAlibaba项目文档”这细节讲解,神了!
Spring Cloud Alibaba为分布式应用开发提供了一站式解决方案。它包含开发分布式应用程序所需的所有组件,可以轻松地使用Spring Cloud开发应用程序。使用Spring Cloud Alibaba,只需添加一些注解和少量配置,即可将Spring Cloud应用连接到Alibaba的分布式解决方案中,并使用Alibaba中间件构建分布式应用系统。正是基于这些原因,我们有必要来学习SpringCloud Alibaba技术。那如何学习呢?市面上对于SpringCloud Alibaba原创 2021-05-12 17:12:52 · 129 阅读 · 0 评论 -
基于springboot工程做mybatis框架的整合实现
整合MyBatis的初步分析概述Mybatis是一个优秀的持久层框架,底层基于JDBC实现与数据库的交互。并在JDBC操作的基础上做了封装和优化,它借助灵活的SQL定制,参数及结果集的映射方式,更好的适应了当前互联网技术的发展。Mybatis框架的简单应用架构如图所示:在当今的互联网应用中项目,mybatis框架通常会由spring框架进行资源整合,作为数据层技术实现数据交互操作。准备工作第一步:创建项目module,例如:第二步:添加依赖mysql 驱动依赖<dependency转载 2021-02-06 10:29:48 · 297 阅读 · 0 评论 -
Spring Boot 接口如何做限流?面试官问起如何作答
阅读目录:1. 前言2. 算法介绍-计数器法3. 算法介绍-滑动窗口4. 算法介绍-漏桶算法5. 算法介 绍-令牌桶算法前言在一个高并发系统中对流量的把控是非常重要的,当巨大的流量直接请求到我们的服务器上没多久就可能造成接口不可用,不处理的话甚至会造成整个应用不可用。那么何为限流呢?顾名思义,限流就是限制流量,就像你宽带包了1个G的流量,用完了就没了。通过限流,我们可以很好地控制系统的qps,从而达到保护系统的目的。本篇文章将会介绍一下常用的限流算法以及他们各自的特点。算法介绍计数器转载 2021-02-05 14:24:26 · 321 阅读 · 0 评论 -
Tomcat配置以及如何在Eclipse中启动
如何安装和配置Tomcat8Apache Tomcat是目前最常见和流行的基于java的web容器。在本文中,我将向您展示如何安装tomcat8并调整配置文件。Tomcat的主要优点是占地面积小,配置简单,社区参与历史悠久。通常,开发人员可以在5到10分钟(包括tomcat下载时间)内启动并运行一个功能强大的Tomcat安装。Tomcat只需要很少的开箱即用配置就可以在开发机器上运行良好,但是它也可以进行显著的调优,以便在高负载、高可用性的生产环境中运行良好。您可以创建大型Tomcat集群来可靠地处理转载 2021-02-04 14:33:42 · 4983 阅读 · 0 评论 -
面试官:Spring 创建Bean 时是怎样判断条件的?
我们在 Spring/ Spring Boot Starter 或者一些框架的源码里经常能看到类似如下的注解声明,可能作用在类上,也可能在某个方法上:@ConditionalOnProperty(name = "spring.cloud.refresh.enabled", matchIfMissing = true) @ConditionalOnProperty(prefix = "management.metrics.export.atlas", name = "enabled", havingV转载 2021-02-03 15:15:42 · 202 阅读 · 0 评论 -
JVM类加载与双亲委派机制被打破
前言前文已经讲了虚拟机将java文件编译成class文件后的格式: JVM虚拟机Class类文件研究分析java文件经过编译,形成class文件,那么虚拟机如何将这些Class文件读取到内存中呢?加载的时机JVM 会在程序第一次主动引用类的时候加载该类,被动引用时并不会引发类加载的操作。也就是说,JVM 并不是在一开始就把一个程序就所有的类都加载到内存中,而是到不得不用的时候才把它加载进来,而且只加载一次。一个类的生命周期如图所示:上图中的加载、验证、准备、初始化、卸载这几个步骤是相转载 2021-02-02 15:03:30 · 217 阅读 · 0 评论 -
SpringBoot 如何解决项目启动时初始化资源
前言:在我们实际工作中,总会遇到这样需求,在项目启动的时候需要做一些初始化的操作,比如初始化线程池,提前加载好加密证书等。今天就给大家介绍一个 Spring Boot 神器,专门帮助大家解决项目启动初始化资源操作。这个神器就是 CommandLineRunner,CommandLineRunner 接口的 Component 会在所有 Spring Beans 都初始化之后,SpringApplication.run() 之前执行,非常适合在应用程序启动之初进行一些数据初始化的工作。正文:接下来.转载 2021-02-01 16:40:47 · 138 阅读 · 1 评论 -
SpringBoot 轻松整合 RocketMq,得劲
前言使用Spring Boot 可以非常方便、快速搭建项目,使我们不用关心框架之间的兼容性,适用版本等各种问题,我们想使用任何东西,仅仅添加一个配置就可以。提示:以下是本篇文章正文内容,下面案例可供参考一、技术介绍1.消息队列是什么?消息队列中间件是分布式系统中重要的组件,主要解决应用耦合、异步消息、流量削锋等问题。实现高性能、高可用、可伸缩和最终一致性架构。2.RocketMq是什么?RocketMQ 是一个队列模型的消息中间件,具有高性能、高可靠、高实时、分布式的特点。它是一个采用 Jav转载 2021-01-27 11:42:15 · 251 阅读 · 0 评论 -
应届双非一本水硕,杭州三面字节,等hr面,虐慌!分享面经和刷过的面试题
头脑发热,四肢发凉,恍恍惚惚,面试字节跳动,base杭州,经过123面,为大家送上半凉面经……作为一名无实习,双非一本水硕的应届生,好不容易求得一个字节的面试,将面试经历分享给大家,焦急等结果中…………前后大概面了一个月,太长了,不按123面的顺序写了,想起什么写什么。(PS:有没有大佬告知一下,三面算法题只给了个思路能过吗…问题基本答上来了)JAVA基础:1. hashMap put的过程2. concurrentHashMap 扩容,为什么是线程安全的3. 线程池,七大参数,底层怎么实现原创 2021-01-25 17:18:55 · 286 阅读 · 2 评论 -
乐观锁这么重要,看我们如何2步手动实现(极其重要,面试必问)
java多线程中的锁分类多种多样,其中有一种主要的分类方式就是乐观和悲观进行划分的。这篇文章主要介绍如何自己手写一个乐观锁代码。不过文章为了保证完整性,会从基础开始介绍。一、乐观锁概念说是写乐观锁的概念,但是通常乐观锁和悲观锁的概念都要一块写。对比着来才更有意义。1、悲观锁概念悲观锁:总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞,直到它拿到锁。比如 synchronized 就是一个 悲观锁&nb转载 2021-01-25 10:49:07 · 201 阅读 · 0 评论 -
基础必看——深入了解gradle和maven的区别
深入了解gradle和maven的区别gradle和maven都可以用来构建java程序,甚至在某些情况下,两者还可以互相转换,那么他们两个的共同点和不同点是什么?我们如何在项目中选择使用哪种技术呢?一起来看看吧。gradle和maven的比较虽然gradle和maven都可以作为java程序的构建工具。但是两者还是有很大的不同之处的。我们可以从下面几个方面来进行分析。可扩展性Google选择gradle作为android的构建工具不是没有理由的,其中一个非常重要的原因就是因为gradle够灵活。转载 2021-01-21 11:11:34 · 1210 阅读 · 0 评论 -
SpringBoot 之配置全局异常处理器捕获异常
1.前言任何系统,我们不会傻傻的在每一个地方进行异常捕获和处理,整个系统一般我们会在一个的地方统一进行异常处理,spring boot全局异常处理很简单;介绍前先说点题外话,我们现在开发系统,都是前后端完全分离的,后端只提供RESTfull API,禁止涉及任何界面,什么thymeleaf、JSP那些后端模板,是绝对禁止使用的,那些东西请扔垃圾箱,不要浪费大好青春去研究,那是堕落;前端则负责界面相关,常用Vue;如果公司还没前后端分离,还在thymeleaf还在前后端一起写,那你还是早做跳槽打算吧,他.转载 2021-01-20 10:07:32 · 409 阅读 · 0 评论 -
带着源码做项目实践,妥妥的干货——java开发贪食蛇小游戏
一、实验内容1、实现贪吃蛇游戏基本功能,屏幕上随机出现一个“食物”,称为豆子,上下左右控制“蛇”的移动,吃到“豆子”以后“蛇”的身体加长一点,得分增加,“蛇”碰到边界或,蛇头与蛇身相撞,蛇死亡,游戏结束。为游戏设计初始欢迎界面,游戏界面,游戏结束界面。二、贪食蛇游戏逻辑架构三、贪食蛇开发流程1、准备开发环境(1)打开eclipse。图片音频resource链接: https://pan.baidu.com/s/1nm_v…提取码: jfdv2、设计游戏图纸3、画出白布窗口frame转载 2021-01-19 10:07:07 · 231 阅读 · 0 评论 -
SpringBoot中的异步任务、邮件以及定时任务
异步任务背景在我们的业务处理中,比如处理完成需要3s才能完成,但是我们需要如果要让用户等3s,则体验非常差,所以我们采用异步的方式去处理,可以通过线程池来处理 ,但是还要写线程,而springboot中已经默认提供了这种能力 ,我们只要开启即可使用。具体使用创建项目我们只要创建一个基本的springboot项目,然后只要添加web的依赖即可。<dependency> <groupId>org.springframework.boot</groupId&g转载 2021-01-18 10:45:12 · 139 阅读 · 0 评论 -
2021,大厂架构师纯手写【MySQL面试笔记】重出江湖,锤爆38K月薪,你值得拥有
MySQL 作为主流的数据库,是各大厂面试官百问不厌的知识点,但是需要了解到什么程度呢?仅仅停留在 建库、创表、增删查改等基本操作的水平可不够。在面试后端开发的时候,一连几个问题,简直会被问到一脸懵逼。MySQL 语句怎么优化?分库,分表都适合哪些场景?讲讲 InnoDB 如何使用 B+ 树存储的?一般来说,准备 MySQL 面试 ,无非要从这几块进行准备:查询、存储、事务、锁和性能调优。不少朋友苦于搜集资料耗时耗力,很难 cover 住面试官的考核角度。为了能让大家在准备面试时少走弯路,这里特别熬原创 2021-01-15 15:06:42 · 198 阅读 · 0 评论 -
2021,大厂架构师纯手写MySQL面试笔记,重出江湖,锤爆38K月薪,你值得拥有
MySQL 作为主流的数据库,是各大厂面试官百问不厌的知识点,但是需要了解到什么程度呢?仅仅停留在 建库、创表、增删查改等基本操作的水平可不够。在面试后端开发的时候,一连几个问题,简直会被问到一脸懵逼。MySQL 语句怎么优化?分库,分表都适合哪些场景?讲讲 InnoDB 如何使用 B+ 树存储的?一般来说,准备 MySQL 面试 ,无非要从这几块进行准备:查询、存储、事务、锁和性能调优。不少朋友苦于搜集资料耗时耗力,很难 cover 住面试官的考核角度。为了能让大家在准备面试时少走弯路,这里特别熬原创 2021-01-15 15:07:38 · 120 阅读 · 0 评论 -
腾讯员工大夸鹅厂,工作4年,年薪21W到150W,网友:我可能待的假鹅厂
世界著名实业家、哲学家稻盛和夫说过:要想度过一个充实的人生,只有两种选择:一种是“从事自己喜欢的工作”,另一种是“让自己喜欢上工作”。工作不是一种消费,而是一种投资,只有爱上了自己的工作,才能给自己的未来增值。近日,某位腾讯员工在职场论坛脉脉上大肆夸赞了鹅厂一番,引发网友们的热议。到底是怎么回事呢?原贴如下:楼主表示自己所在岗位是腾讯PCG,资产过千万。如果不去确认真假,单看文字,也是令网友羡慕不已。@爱奇艺员工:股票涨幅可观呀@luyizhan:3真足以让公司牛逼,就这一条足以也有人认转载 2021-01-14 21:22:47 · 577 阅读 · 0 评论 -
搞懂这道百度面试题:Spring 中 Bean 的生命周期
前言这其实是一道面试题,是我在面试百度的时候被问到的,当时没有答出来(因为自己真的很菜),后来在网上寻找答案,看到也是一头雾水,直到看到了《Spring in action》这本书,书上有对Bean声明周期的大致解释,但是没有代码分析,所以就自己上网寻找资料,一定要把这个Bean生命周期弄明白! 网上大部分都是验证的Bean 在面试问的生命周期,其实查阅JDK还有一个完整的Bean生命周期,这同时也验证了书是具有片面性的,最fresh 的资料还是查阅原始JDK!!!一、Bean 的完整生命周期转载 2021-01-14 16:43:16 · 205 阅读 · 0 评论 -
一文带你了解数据库隔离级别和锁之间的联系
前言隔离级别和数据库锁之间有什么关联呢本文就和大家聊聊这两者之间的联系,希望对大家有帮助!聊聊两者之间的联系在具体聊之前,咱先记住一句话: 数据库事务有不同的隔离级别,不同的隔离级别对锁的使用是不同的,锁的应用最终导致不同事务的隔离级别。首先来了解下有哪四种隔离级别读未提交:(Read Uncommitted)读已提交(Read Committed) 大多数数据库默认的隔离级别重复读(Repeatable-Read) mysql数据库所默认的级别序列化(serializable)四种转载 2021-01-13 15:09:26 · 229 阅读 · 0 评论 -
毕设、实战练习——springboot 搭建访客管理系统
项目介绍springboot搭建的访客管理系统,针对高端基地做严格把控来访人员信息管理,用户后端可以设置多个管理员帐号,给予不同部门的管理层使用,用户管理可以增加/修改内部成员的基本信息,需要到访的人员必须通过进入程序,在访客预约里面提交预约申请,预约后管理员可查询预约记录以及访客出入记录。项目适用人群正在做毕设的学生,或者需要项目实战练习的Java学习者开发环境jdk 8intellij ideatomcat 8.5.40mysql 5.7所用技术springbootmybat转载 2021-01-11 21:37:54 · 299 阅读 · 0 评论 -
年末回顾手撕Java面试知识体系:基础+缓存+框架+微服务+MQ+性能优化+Dubbo等
随着Java框架的逐渐成熟,其功能越来越强大,使用越来越简便,其使用范围越来越广,使用人数也越来越多。Java在带来方便的同时,无形中也带了不便,作为软件开发的王牌语言,各企业对Java程序员的要求也不断的提升,所以,求职面试成了Java程序员们最头疼又不得不面对的现实。为了给广大Java程序员面试提供最贴心的指导,作者搜集整理了大量Java程序员面试的资料并整理出的文档,希望能对广大Java程序员的面试具有一定的指导意义。求职者在面试中的常见问题 同样作为软件开发出身的我,身边有朋友,也有同事。在和他们原创 2021-01-11 21:15:21 · 96 阅读 · 0 评论 -
Java内存泄漏检测库LeakCanary介绍,了解?
LeakCanary:Android和Java的内存泄漏检测库。java.lang.<a href="http://javakk.com/tag/outofmemoryerror" title="查看更多关于 OutOfMemoryError 的文章" target="_blank">OutOfMemoryError</a> at android.graphics.Bitmap.nativeCreate(Bitmap.java:-2) at andr转载 2021-01-08 10:33:36 · 258 阅读 · 0 评论 -
金三银四有点慌?Redis面试受阻?GiT好评,阿里核心笔记/实战书籍/面试专题/脑图助你轻松上岸
作为同时具备高性能、高可靠和高可扩展性的典型键值数据库,Redis不仅功能强大,而且稳定,理所当然地成为了大型互联网公司的首选。众多大厂在招聘的时候,不仅会要求面试者能简单地使用Redis,还要能深入地理解底层实现原理,并且具备解决常见问题的能力。可以说,熟练掌握Redis已经成为了技术人的一个必备技能。但是,在学习和使用Redis的过程中,总不可避免地遇见一些棘手的问题,比如:Redis的key和数据结构应该怎么设计?有什么最佳实践?Redis集群如何均衡数据?又如何横向扩展?怎么保证数据的一原创 2021-01-07 21:35:51 · 98 阅读 · 1 评论 -
Java面试必考题——ArrayList常见知识点
写在之前对于ArrayList的面试题目网上比较多,但是大多数从ArrayList的数据结构出发,比如查找、修改的等效率问题分析,本篇文章想从并发的角度入手,给大家讲讲ArrayList的并发问题该如何回答。面试回顾通常容器之类的问题由于比较基础,一般在一面考察的比较多,同时这也成为决定能否进入二面的关键因素。面试官:我看你简历上面写能够熟练掌握Java基础知识,平时有使用过哪些容器呢?我:面试官您好,一般工作中使用的比较多的有ArrayList、LinkedList、HashSet、hashMa转载 2021-01-07 15:47:43 · 166 阅读 · 0 评论