- 博客(1284)
- 资源 (14)
- 收藏
- 关注

原创 Java基础知识面试题(2021年最新版,持续更新...)整理
Java面试总结(2021优化版)已发布在个人微信公众号【Java精选】,根据读者的反馈优化了部分答案存在的错误,同时根据最新面试总结和读者的建议,删除了低频问题,并添加了一些常见面试题,对文章进行了精简优化,目前约2000+道面试题,欢迎大家关注,关注后回复Java面试,即可获取最新面试资料!????????【Java精选】专注程序员推送一些Java开发知识,包括基础知识、各大流行框架、大数据技术、数据库、面试题、面试经验、职业规划以及优质开源项目等。其中一部分由小编总结整理,另一部分来源于网络上优质
2021-11-04 21:44:50
9113
13

原创 你懂的!Java程序员跳槽的首选面试题最新合集(2021下半年),初中高级程序员!
考虑到大家找工作时的困难,大家可以看看这个小程序内涵大量整理好的面试题(含答案),下面只是列举了部分面试题题目。具体答案大家可以在微信中搜索小程序:Java精选面试题。面向对象编程有哪些特征?JDK、JRE、JVM 之间有什么关系?如何使用命令行编译和运行 Java 文件?Java 中常用的集合有哪些?进程与线程之间有什么区别?什么是 JVM?数据库中什么是事务?MySQL 事务都有哪些特性?MyBatis 是什么框架?什么是 Redis?什么是 Spring 框架?什么是 Spri
2021-10-14 15:05:26
826

原创 Spring Cloud 从入门到精通(一)Nacos 服务中心初探
什么是Nacos?Nacos是阿里巴巴开源的项目,是一个更易于帮助构建云原生应用的动态服务发现、配置管理和服务管理平台。英文全称 Dynamic Naming and Configuration Service,Na为naming/nameServer即注册中心,co为configuration即注册中心,service是指该注册/配置中心都是以服务为核心。Nacos功能介绍1、动态配置服务:动态配置服务让您能够以中心化、外部化和动态化的方式管理所有环境的配置。动态配置消除了配置变更时重新部署应用和服
2021-07-29 10:49:12
498
1

原创 Spring Cloud 从入门到精通(二)集成 Nacos 构建微服务实现服务注册
阿里巴巴开源 Nacos 定位是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos 支持的功能包括服务发现,集成配置中心,和服务数据管理。本篇文章主要向大家分享关于 Spring Cloud Alibaba 集成 Nacos 框架来实现服务注册。服务注册是指项目启动的时候,生产者将当前服务自身的信息地址注册到Nacos server 注册中心。创建Maven项目新建discovery-nacos-provider-demo01命名的项目。Maven项目搭建完成后,整体目录结构如下
2021-07-29 10:45:36
259

原创 2021年面试,整理全网初、中、高级常见Java面试题附答案
面试题答案见微信小程序 “Java精选面试题”,3000+道面试题。内容持续更新中包含基础、集合、并发、JVM、Spring、Spring MVC、Spring Boot、Spring Cloud、Dubbo、MySQL、Redis、MyBaits、Zookeeper、Linux、数据结构与算法、项目管理工具、消息队列、设计模式、Nginx、常见 BUG 问题、网络编程等。————————————————面向对象编程有哪些特征?一、抽象和封装类和对象体现了抽象和封装抽象就是解释类与对象之间关系的词
2021-05-26 16:19:11
2240
3
转载 【场景题】记录一次Nacos导致的CPU飙高问题
前言今天下午突然 出现 测试环境 cpu飙高,干到了 60%,其他项目 响应时间明显变长。。。有点吓人,不想背锅。项目背景出问题的项目是 需要连接各个不同nacos 和不同的 namespace 进行对应操作的 一个项目,对nacos的操作都是httpClient 调用的api接口,httpClient方法 没有问题,不用质疑这个。定位问题首先 这 cpu高了,直接top -Hp 看看定位到 进程...
2023-03-23 22:00:23
33
转载 你还在手写join联表查询?MyBatis-Plus这样写太香了!
众所周知,mybatis plus 封装的 mapper 不支持 join,如果需要支持就必须自己去实现。但是对于大部分的业务场景来说,都需要多表 join,要不然就没必要采用关系型数据库了。那么有没有一种不通过硬 SQL 的形式,通过框架提供 join 能力呢?答案是,可以有。经过一段时间的插眼排眼操作,成功的封装了一个 jar 包。本文讲讲它的用法。使用方法安装Maven<depende...
2023-03-23 22:00:23
37
转载 面试官问:跨库多表存在大量数据依赖问题,有哪些解决方案?
业务场景曾经设计的一个供应链系统中,存在商品、销售订单、采购这三个服务,它们的主数据的部分结构如下所示在设计这个供应链系统时,我们需要满足以下两个需求根据商品的型号/分类/生成年份/编码等查找订单;根据商品的型号/分类/生成年份/编码等查找采购订单初期的方案是这样设计的:严格按照的微服务划分原则将商品相关的职责存放在商品系统中。因此,在查询订单与采购单时,如果查询字段包含商品字段,需要按照如下顺序...
2023-03-22 22:00:13
19
转载 闻风丧胆的 foreach ,别再乱用了!
近日,项目中有一个耗时较长的Job存在CPU占用过高的问题,经排查发现,主要时间消耗在往MyBatis中批量插入数据。mapper configuration是用foreach循环做的,差不多是这样。(由于项目保密,以下代码均为自己手写的demo代码)<insertid="batchInsert"parameterType="java.util.List">insert...
2023-03-22 22:00:13
27
转载 CTO:再写if-else,逮着罚款1000块!
设计更好的软件,替换 If-Else 的 5 种方法。入门到高级示例让我直接说这句话:If-Else 通常是一个糟糕的选择。它导致设计复杂,代码可读性差,并且可能导致重构困难。但是,If-Else 已成为事实上的代码分支解决方案,这确实是有道理的。这是向所有有抱负的开发人员讲授的第一件事。不幸的是,许多开发人员从来没有前进到更合适的分支策略。有些人的口头禅是:If-Else 是一把锤子,一切都是钉...
2023-03-21 22:00:26
4
转载 面试官问:一台服务器最大能支持多少条TCP连接?问到一大片!
一、一台服务器最大能打开的文件数1、限制参数我们知道在Linux中一切皆文件,那么一台服务器最大能打开多少个文件呢?Linux上能打开的最大文件数量受三个参数影响,分别是:fs.file-max (系统级别参数):该参数描述了整个系统可以打开的最大文件数量。但是root用户不会受该参数限制(比如:现在整个系统打开的文件描述符数量已达到fs.file-max ,此时root用户仍然可以使用ps、ki...
2023-03-21 22:00:26
20
转载 Java淘宝秒杀脚本(已自测)
开场白我的室友如花是个貌美如花的黄花大闺女,这不是放假,大家都在宿舍幻想未来,只有如花在睡觉,突然,如花原地炸起,说了一句:“我要学习用java写一个淘宝秒杀脚本!!!”大家一脸茫然的看着如花,脚本是什么?我赶紧上网查了一下。脚本是利用某种固定的描述性语言,根据一定的格式编写的可执行文件,很多种编程语言都可以编写脚本,比如下面就是用java写的一个淘宝秒杀脚本↓我的天,这么厉害?我这么爱学习的人必...
2023-03-17 22:00:42
98
转载 11.8K Star!一款超美观强大Nginx可视化管理界面!
今天给大家介绍一款 Nginx 可视化管理界面,非常好用,小白也能立马上手。nginx-proxy-manager 是一个反向代理管理系统,它基于 NGINX,具有漂亮干净的 Web UI。还可以获得受信任的 SSL 证书,并通过单独的配置、自定义和入侵保护来管理多个代理。它是开源的,斩获 11.8K 的 Star 数。特征基于 Tabler(https://tabler.github.io/) ...
2023-03-17 22:00:42
81
转载 我把SpringBoot banner换成了美女,老板说工作不饱和,建议安排加班!
一:banner.txt在SpringBoot项目的resources目录下新建一个banner.txt文本文件,然后将启动Banner粘贴到此文本文件中,启动项目即可。二:在线制作banner很多公司的banner为自己公司的名称或者产品名称,所以通过文本获取banner是必要的,这里介绍几个在线制作banner的网站:1. http://patorjk.com/software/taag/Bi...
2023-03-15 22:00:16
18
转载 面试官问:Java中使用try-catch捕获异常会影响性能吗?
不知道从何时起,传出了这么一句话:Java中使用try catch 会严重影响性能。然而,事实真的如此么?我们对try catch 应该畏之如猛虎么?一、JVM 异常处理逻辑Java 程序中显式抛出异常由athrow指令支持,除了通过 throw 主动抛出异常外,JVM规范中还规定了许多运行时异常会在检测到异常状况时自动抛出(效果等同athrow), 例如除数为0时就会自动抛出异常,以及大名鼎鼎的...
2023-03-15 22:00:16
28
转载 SpringBoot 代码混淆真香,再也不用担心反编译代码泄露...
编译简单就是把代码跑一哈,然后我们的代码 .java文件 就被编译成了 .class 文件反编译就是针对编译生成的 jar/war 包 里面的 .class 文件 逆向还原回来,可以看到你的代码写的啥。比较常用的反编译工具 JD-GUI ,直接把编译好的jar丢进去,大部分都能反编译看到源码:那如果不想给别人反编译看自己写的代码呢?怎么做?混淆该篇玩的代码混淆 ,是其中一种手段。Java技术进阶路...
2023-03-12 22:00:34
120
转载 学会IDEA的这个功能,就可以丢掉Postman了
前言接口调试是每个软件开发从业者必不可少的一项技能,一个项目的的完成,可能接口测试调试的时间比真正开发写代码的时间还要多,几乎是每个开发的日常工作项。所谓工欲善其事必先利其器,在没有尝到IDEA REST真香之前,postman(chrome的一款插件)确实是一个非常不错的选择,具有完备的REST Client功能和请求历史记录功能。但是当使用了IDEA REST之后,postman就可以丢了,因...
2023-03-12 22:00:34
42
转载 面试官:Spring中的@Cacheable缓存注解,你真的了解吗?
1 什么是缓存第一个问题,首先要搞明白什么是缓存,缓存的意义是什么。对于普通业务,如果要查询一个数据,一般直接select数据库进行查找。但是在高流量的情况下,直接查找数据库就会成为性能的瓶颈。因为数据库查找的流程是先要从磁盘拿到数据,再刷新到内存,再返回数据。磁盘相比于内存来说,速度是很慢的,为了提升性能,就出现了基于内存的缓存。这种基于内存的缓存,由于无法跟磁盘频繁进行存储,所以无法保证数据的...
2023-03-09 22:00:19
83
转载 公司入职一个阿里大佬,把SpringBoot项目启动从420秒优化到了40秒!
0. 背景公司 SpringBoot 项目在日常开发过程中发现服务启动过程异常缓慢,常常需要6-7分钟才能暴露端口,严重降低开发效率。通过 SpringBoot 的 SpringApplicationRunListener 、BeanPostProcessor 原理和源码调试等手段排查发现,在 Bean 扫描和 Bean 注入这个两个阶段有很大的性能瓶颈。通过 JavaConfig 注册 Bean...
2023-03-09 22:00:19
173
转载 面试官问:什么是雪花算法?啥原理?附Java实现!
SnowFlake 算法,是 Twitter 开源的分布式 ID 生成算法。其核心思想就是:使用一个 64 bit 的 long 型的数字作为全局唯一 ID。在分布式系统中的应用十分广泛,且 ID 引入了时间戳,基本上保持自增的,后面的代码中有详细的注解。这 64 个 bit 中,其中 1 个 bit 是不用的,然后用其中的 41 bit 作为毫秒数,用 10 bit 作为工作机器 ID,12 b...
2023-03-08 22:00:42
28
转载 新来了个同事,代码命名规范是真优化呀!代码如诗!
工作多年后,越发觉得代码整洁真的是太重要了!尤其是在团队开发中,写出优雅工整的代码,能让同事更乐于跟你合作。下面,将通过命名、类、函数、测试这四个章节,使我们的代码变得整洁。1.为什么要保持代码整洁?不整洁的代码随着时间的增加而增加时,生产力会随之降低. 导致的结果就是:代码不易扩展或扩展容易引发其他问题程序崩溃加班增加公司成本(加人) 甚至可能造成公司倒闭 一图胜千言1.1 所以从一开始就要保持...
2023-03-08 22:00:42
42
转载 针对 jar 和 vue 的一键自动化部署工具,界面友好,操作简单(已开源)
前言easy-jenkins是一款对vue和jar的部署工具,操作简单,实行一键部署,内部结构采用流水线形式架构,每次部署,时时提供部署过程,部署记录,界面友好简洁,使用方便,符合用户常规操作easy-jenkins面向分支形式,无需登录,默认分支为jenkins,每个分支可以配置多个数据源,切换不同分支可以管理不同数据源easy-jenkins采用本地存储的结构无需配置数据库,简单易上手提示:以...
2023-03-07 22:00:09
64
转载 面试官问:BIO、NIO、AIO之间区别是什么?
今天这是我在教室分享的一道面试题,怕忘记了自己花时间去研究了一下,看了大量的资料后整理的,不收藏你们就亏了哟。面试题:BIO,NIO,AIO的区别?这是个网络编程的面试题:在讲 BIO,NIO,AIO 之前先来回顾一下这样几个概念:同步与异步,阻塞与非阻塞。同步自己的理解:也就是必须一件一件事做,等前一件做完了才能做下一件事(提交请求->等待服务器处理->处理完返回 这个期间客户端浏...
2023-03-07 22:00:09
47
转载 EasyExcel带格式多线程导出百万数据(实测好用)
前言以下为结合实际情况作的方案设计,导出阈值以及单sheet页条数都可以根据实际情况调整大佬可直接跳过新手教程,直接查看文末代码背景说明针对明细报表,用户会选择针对当前明细数据进行导出,便于本地或者线下进行处理或者计算等需求。不过一般在这种大数据量的导出任务下,会引发以下问题:响应时间较慢;内存资源占用过大,基本上一个大数据量的导出会消耗可视化服务的所有资源,引起内存回收,其它接口无响应;考虑到单...
2023-03-05 22:00:26
276
转载 面试官问:从MySQL读取100w数据进行处理,应该怎么做?
背景大数据量操作的场景大致如下:数据迁移数据导出批量处理数据在实际工作中当指定查询数据过大时,我们一般使用分页查询的方式一页一页的将数据放到内存处理。但有些情况不需要分页的方式查询数据或分很大一页查询数据时,如果一下子将数据全部加载出来到内存中,很可能会发生OOM(内存溢出);而且查询会很慢,因为框架耗费大量的时间和内存去把数据库查询的结果封装成我们想要的对象(实体类)。举例:在业务系统需要从 M...
2023-03-05 22:00:26
123
转载 公司新来了一个同事,把权限系统设计的炉火纯青!
思维导图如下:RBAC 全称为基于角色的权限控制,本段将会从什么是 RBAC,模型分类,什么是权限,用户组的使用,实例分析等几个方面阐述 RBAC.思维导图绘制思维导图如下什么是 RBACRBAC 全称为用户角色权限控制,通过角色关联用户,角色关联权限,这种方式,间阶的赋予用户的权限,如下图所示对于通常的系统而言,存在多个用户具有相同的权限,在分配的时候,要为指定的用户分配相关的权限,修改的时候也...
2023-03-01 22:00:38
89
转载 面试官问:Java反射机制是什么?我没有回答上来!
一.概念反射就是把Java的各种成分映射成相应的Java类。Class类的构造方法是private,由JVM创建。反射是java语言的一个特性,它允程序在运行时(注意不是编译的时候)来进行自我检查并且对内部的成员进行操作。例如它允许一个java的类获取他所有的成员变量和方法并且显示出来。Java 的这一能力在实际应用中也许用得不是很多,但是在其它的程序设计语言中根本就不存在这一特性。例如,Pasc...
2023-03-01 22:00:38
55
转载 不要再封装各种Util工具类了,这个神级框架你值得拥有!
今天给大家推荐一个非常好用的Java工具类库,企业级常用工具类,基本都有,能避免重复造轮子及节省大量的开发时间,非常不错,值得大家去了解使用。Hutool谐音 “糊涂”,寓意追求 “万事都作糊涂观,无所谓失,无所谓得” 的境界。Hutool 是一个 Java 工具包,也只是一个工具包,它帮助我们简化每一行代码,减少每一个方法,让 Java 语言也可以 “甜甜的”。Hutool 最初是我项目中 “u...
2023-02-27 22:00:59
118
转载 SpringBoot打包部署时,打包成jar和war有什么不同?
首先给大家来讲一个我们遇到的一个奇怪的问题:1. 我的一个springboot项目,用mvn install打包成jar,换一台有jdk的机器就直接可以用java -jar 项目名.jar的方式运行,没任何问题,为什么这里不需要tomcat也可以运行了?2. 然后我打包成war放进tomcat运行,发现端口号变成tomcat默认的8080(我在server.port中设置端口8090)项目名称也必...
2023-02-27 22:00:59
116
转载 面试官问:为什么MySQL不推荐使用子查询和join?
1.对于mysql,不推荐使用子查询和join是因为本身join的效率就是硬伤,一旦数据量很大效率就很难保证,强烈推荐分别根据索引单表取数据,然后在程序里面做join,merge数据。2.子查询就更别用了,效率太差,执行子查询时,MYSQL需要创建临时表,查询完毕后再删除这些临时表,所以,子查询的速度会受到一定的影响,这里多了一个创建和销毁临时表的过程。3.如果是JOIN的话,它是走嵌套查询的。小...
2023-02-26 22:00:45
55
转载 SpringBoot项目@Value注解太强大了,使用者无不称赞!
一、前言在日常开发中,经常会遇到需要在配置文件中,存储List或是Map这种类型的数据。Spring 原生是支持这种数据类型的,以配置List类型为例,对于.yml文件配置如下:test:list:-aaa-bbb-ccc对于.properties文件配置如下所示:test.list[0]=aaatest.list[1]=bbbte...
2023-02-23 22:00:55
66
转载 Mybatis-Plus 开发提速器:mybatis-plus-generator-ui 你确定不了解一下?
前言在基于Mybatis的开发模式中,很多开发者还会选择Mybatis-Plus来辅助功能开发,以此提高开发的效率。虽然Mybatis也有代码生成的工具,但Mybatis-Plus由于在Mybatis基础上做了一些调整,因此,常规的生成工具生成的代码还有一些不太符合预期。而且对于多数据库的支持不是很好。因此,我们需要一款支持高度定制化,带图形UI页面,能适配多数数据库的基础程序生成框架。本文就介绍...
2023-02-21 22:01:00
318
1
转载 @Configuration和@Component的区别 ,别再瞎用了!
一句话概括就是 @Configuration 中所有带 @Bean 注解的方法都会被动态代理,因此调用该方法返回的都是同一个实例。理解:调用@Configuration类中的@Bean注解的方法,返回的是同一个示例;而调用@Component类中的@Bean注解的方法,返回的是一个新的实例。注意:上面说的调用,而不是从spring容器中获取! 见最下面的示例 1 及 示例 2下面看看实现的细节。@...
2023-02-21 22:01:00
44
转载 SpringBoot使用Sa-Token-Quick-Login插件实现快速登录认证
一、解决的问题Sa-Token-Quick-Login 可以为一个系统快速的、零代码注入一个登录页面试想一下,假如我们开发了一个非常简单的小系统,比如说:服务器性能监控页面, 我们将它部署在服务器上,通过访问这个页面,我们可以随时了解服务器性能信息,非常方便然而,这个页面方便我们的同时,也方便了一些不法的攻击者,由于这个页面毫无防护的暴露在公网中,任何一台安装了浏览器的电脑都可以随时访问它!为此,...
2023-02-12 22:00:11
92
转载 快速交付神器:阿里官方低代码引擎开源了!
LowCodeEngine是由阿里巴巴钉钉团队开源的低代码引擎, 该引擎全面遵循《阿里巴巴中后端前端基础构建协议规范》和《阿里巴巴中后端前端素材协议规范》。兼容主流浏览器:Chrome >= 80,Edge >= 80,safari和firefox 最近 2 个 版本。特性???? 提炼自企业级低代码平台的面向扩展设计的内核引擎,奉行最小内核,最强生态的设计理念???? 开箱即用的高质量生态...
2023-02-12 22:00:11
214
转载 SpringBoot常用注解@ConfigurationProperties、松散绑定、数据校验
@ConfigurationProperties源码分析@ConfigurationProperties主要作用就是将prefix属性指定的前缀配置项的值绑定到这个JavaBean上 ,通过指定的前缀,来绑定配置文件中的配置,通过如下源码可以看出, 如果你想绑定和验证一些外部属性,可以将它添加到类定义或@Configuration类中的@Bean方法上。标注在类上@Data//使用该注解需要...
2023-02-08 22:00:36
86
转载 美团面试官问Java线程池,这样的回答让他竖起了大拇指!
这周我投递出了简历,岗位是java后端开发工程师。这周美团面试官给我进行了面试。面试过程中他问了线程池,今天详细讲一讲Java线程池。线程池线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价。start();//创建一定数量的线程池,进行线程循环stop();//停止所有线程循环,回收所有资源addTask();//添加任务Excutor...
2023-02-01 22:00:43
68
转载 阿里的又一款数据高效同步工具DataX,真香!
有个项目的数据量高达五千万,但是因为报表那块数据不太准确,业务库和报表库又是跨库操作,所以并不能使用 SQL 来进行同步。当时的打算是通过 mysqldump 或者存储的方式来进行同步,但是尝试后发现这些方案都不切实际:mysqldump:不仅备份需要时间,同步也需要时间,而且在备份的过程,可能还会有数据产出(也就是说同步等于没同步)存储方式:这个效率太慢了,要是数据量少还好,我们使用这个方式的时...
2023-02-01 22:00:43
176
转载 再见了 Shiro!
前言作为一名后台开发人员,权限这个名词应该算是特别熟悉的了。就算是java里的类也有 public、private 等“权限”之分。之前项目里一直使用shiro作为权限管理的框架。说实话,shiro的确挺强大的,但是它也有很多不好的地方。shiro默认的登录地址还是login.jsp,前后端分离模式使用shiro还要重写好多类;手机端存储用户信息、保持登录状态等等,对shiro来说也是一个难题。在...
2023-01-31 22:00:23
92
转载 这8种java异步实现方式,性能炸裂!
异步执行对于开发者来说并不陌生,在实际的开发过程中,很多场景多会使用到异步,相比同步执行,异步可以大大缩短请求链路耗时时间,比如:发送短信、邮件、异步更新等,这些都是典型的可以通过异步实现的场景。什么是异步?首先我们先看一个常见的用户下单的场景:在同步操作中,我们执行到 发送短信 的时候,我们必须等待这个方法彻底执行完才能执行 赠送积分 这个操作,如果 赠送积分 这个动作执行时间较长,发送短信需要...
2023-01-31 22:00:23
732
图书管理系统-附前后台源码(Java版)
2021-11-24
固定资产管理系统-后台源码和移动端源码(Java版)
2021-11-24
JDK1.8_64位绿色版真实有效
2018-09-18
memcached-session-manager.rar
2015-04-03
SAP+R3+IDES+4.71+中文版下载地址
2015-01-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人