Java精选

其他

这30款IDEA宝贝插件,yyds!

代码智能提示还可以搜索相关代码的示例Codota还包含一个网站:https://www.codota.com/codeAlibaba
2023年1月5日
其他

SpringBoot 接口层统一加密解密

"crypto")@PropertySource("classpath:crypto.properties")@Data@EqualsAndHashCode@Getterpublic
2022年11月23日
其他

MyBatis 框架中动态 SQL 语句常用标签的基本用法,值得一看!

AND”关键字多余的错误SQL。这时我们可以使用where动态语句来解决。这个“where”标签会知道如果它包含的标签中有返回值的话,它就插入一个‘where’。此外,如果标签返回的内容是以AND
2022年11月7日
其他

基于 Spring Boot + Vue 实现的可视化拖拽编辑的大屏项目

Boot是一款开箱即用框架,让我们的Spring应用变的更轻量化、更快的入门。在主程序执行main函数就可以运行。你也可以打包你的应用为jar并通过使用java
2022年11月5日
其他

Spring Cloud Gateway 整合 sentinel 实现流控熔断

一、什么是网关限流:在微服务架构中,网关层可以屏蔽外部服务直接对内部服务进行调用,对内部服务起到隔离保护的作用,网关限流,顾名思义,就是通过网关层对服务进行限流,从而达到保护后端服务的作用。Sentinel
2022年10月29日
其他

在项目中使用Arrays.asList、ArrayList的subList,被老大点名批评~

修改原集合的结构,会引起ConcurrentModificationException异常比如,我们往原集合bookList中添加一个元素(结构性修改):List
2022年10月29日
其他

只会用 Spring Boot 创建微服务?这 4 种替代方案绝了!

的延迟初始化),那么你可以显著地减少启动时间。内存使用情况对于每个微服务,确定了以下内容:通过-Xmx参数,指定微服务所需的堆内存大小通过负载测试服务健康的请求(能够响应不同的请求)通过负载测试50
2022年10月28日
其他

Spring 6.0 堪称史上最强!新特性,惊爆了!

的可观察性https://www.yoodb.com/spring/spring-annotate.html……此外,团队称将在下周发布
2022年10月27日
其他

Java内部类有坑,100%内存泄露!

}}「断点调试」可以看到:内部类持有外部类的对象的引用,是以“this$0”这个字段来保存的。面试宝典:https://www.yoodb.com实例:不持有外部类「代码」package
2022年10月7日
其他

Spring Security 学习笔记,看了必懂!

httpServletRequest.getRequestDispatcher(url).forward(httpServletRequest,httpServletResponse);
2022年10月6日
其他

政府机构 5000 万台电脑将替换为国产 Linux

和开源软件来说是一个巨大的胜利,但对于戴尔、惠普等笔记本电脑/PC
2022年10月6日
其他

面试官被欺负:new Object()到底占用几个字节?

}}12345678910输出结果如下:最后的结果是16字节,没有问题,这是因为默认开启了指针压缩,那我们现在把指针压缩关闭之后再去试试。-XX:+UseCompressedOops
2022年10月4日
其他

被问 Linux 命令 su 和 sudo 的区别?当场懵了!

中的环境变量也跟着改变了。「总结」:具体使用哪种方式切换用户看个人需求:如果不想因为切换到另一个用户导致自己在当前用户下的设置不可用,那么用
2022年10月3日
自由知乎 自由微博
其他

面试官问:单核CPU支持Java多线程吗?

由于现在大多计算机都是多核CPU,多线程往往会比单线程更快,更能够提高并发,但提高并发并不意味着启动更多的线程来执行。更多的线程意味着线程创建销毁开销加大、上下文非常频繁,你的程序反而不能支持更高的TPS。时间片多任务系统往往需要同时执行多道作业。作业数往往大于机器的CPU数,然而一颗CPU同时只能执行一项任务,如何让用户感觉这些任务正在同时进行呢?
2022年10月2日
其他

Java 19 已至,虚拟线程 = 王炸!!

外部函数和内存API(预览阶段)Java程序可以通过该API与Java运行时之外的代码和数据进行互操作。通过高效地调用外部函数(即JVM之外的代码)和安全地访问外部内存(即不受JVM
2022年10月2日
其他

生产环境中MySQL上亿大表,如何优化?

这几个字段。Java新特性:https://www.yoodb.com/java/characteristic/java-8/java8-stream.html③根据最左前缀原则,select
2022年9月30日
其他

用不惯VMware?比它更快、更轻的虚拟机,横空出世!

好用是真的好用,但就是要付费呀!还不便宜,每次续费的时候我多多少少都有点心疼~~Multipass最近有读者给我推荐了一款虚拟机工具:Multipass,非常轻量级的虚拟机命令管理工具。运行环境支持
2022年9月30日
其他

别再写 main 方法测试了,太 Low!这才是专业 Java 测试方法!

测试项目构建JMH是内置Java9及之后的版本。这里是以Java8进行说明。为了方便,这里直接介绍使用maven构建JMH测试项目的方式。第一种是使用命令行构建,在指定目录下执行以下命令:$
2022年9月29日
其他

SpringBoot两种方式配置 SSL证书,实现HTTPS安全访问,懂了么?

文章目录使用JDK自带的工具生成证书使用FreeSSL提供的证书使用JDK自带的工具生成证书确保安装了JDK并正确配置了环境变量;进入你的JAVA_HOME目录中的bin目录;在这个目录下执行//
2022年9月29日
其他

Java14 处理 NullPointerException 新方式,真的太香了!

在Java语言中,处理空指针往往是一件很头疼的事情,一不小心,说不定就搞出个线上Bug,让你的绩效考核拿到3.25。最近新出的Java14,相信大家都有所耳闻,那么今天就来看看,面对NullPointerException,Java14有哪些更好的处理方式呢?1.传统的
2022年9月28日
其他

SpringBoot 设置定时任务,求求你别再写死了~,太low了!

之前写过文章记录怎么在SpringBoot项目中简单使用定时任务,不过由于要借助cron表达式且都提前定义好放在配置文件里,不能在项目运行中动态修改任务执行时间,实在不太灵活。经过网上搜索学习后,特此记录如何在SpringBoot项目中实现动态定时任务。因为只是一个demo,所以只引入了需要的依赖:
2022年9月27日
其他

SpringBoot + minio实现高性能存储服务,So Easy ~ Github Star 35K+

S3云存储服务兼容。使用MinIO构建用于机器学习,分析和应用程序数据工作负载的高性能基础架构。官网地址:https://min.io/文档地址:https://docs.min.io/一.
2022年9月27日
其他

线程池执行过程中遇到异常会发生什么,怎样处理?

线程遇到未处理的异常就结束了这个好理解,当线程出现未捕获异常的时候就执行不下去了,留给它的就是垃圾回收了。线程池中线程频繁出现未捕获异常当线程池中线程频繁出现未捕获的异常,那线程的复用率就大大降低了,需要不断地创建新线程。做个实验:public
2022年9月26日
其他

为什么程序员的女朋友或老婆颜值普遍都偏高?

最近在某论坛上有人发了这样一个帖子,引发了广泛讨论:为什么程序员娶的老婆都比男方好看?难道程序员有着特别的魅力?随后,发帖人列举了几个实例来增强自己的说服性:比如前年被毒妇瞿欣欣逼自杀的苏享茂,身价数亿,但是长相一言难尽,瞿欣欣的相貌虽然谈不上多好看但是也比苏高出几个档次。而作者工作的公司内部的各类以程序员为代表的各类技术性工种除了部分没有女友外,大部分程序员的女友或者妻子的长相都明显比男方高出两个档次。所以发帖人得出这样的结论:现在婚恋市场上,程序员是优质股,显然比其他男性竞争力更强。那么真的是这样么?我以前也做过程序员,所以这个问题还是有些发言权的。mybatis系列教程:https://www.yoodb.com/middleware/mybatis/architecture-design.html实际上,程序员这批人,普遍经济条件还可以,但和女生打交道的水平经验无限趋近为0。但是有意思的是,这种人莫名找到个好看女友的概率还不小,很多身边的程序员都遇到过“天上掉下个林妹妹“的奇遇。我曾经也为此羡慕困惑不已,感叹自己时运不佳,但是当我做了情感导师之后,两性观念愈发成熟,对于这类事的本质也看得越来越清楚。接下来,我就给你们分析分析这背后的原因。找个漂亮老婆的前提,也要有不错的收入,找工作推荐公众
2022年9月26日
其他

面试官问:select......for update 会锁表还是锁行?

update除了有查询的作用外,还会加锁呢,而且它是悲观锁。那么它加的是行锁还是表锁,这就要看是不是用了索引/主键。没用索引/主键的话就是表锁,否则就是是行锁。验证:建表sql//id为主键
2022年9月25日
其他

涉嫌简历造假,23届一位“offer大神”凉凉了!

我们很多互联网人在高谈阔论的时候,最喜欢谈格局这事。但笔者认为:人在追求某种东西的时候,往往是因为缺乏这个东西,比如金钱,比如爱情,比如知识……想要得到才不断地去谈论,你听那些喜欢在路演、PPT中讲格局的,这些人往往反而是没什么格局的。这是前几天,微博上爆料出来的一件事。事件发酵后,该部门一位助理小姐姐将自己的礼盒送给了这位实习生。看看,人家小姐姐是什么格局。Java新特性:https://www.yoodb.com/java/characteristic/java-8/java8-stream.html在职场,学历造假、职位头衔造假、薪资造假、离职原因造假、工作时间造假以及工作经历造假等都属于个人简历造假。其实简历造假这件事不难理解。谁不想拥有一份职位、收入、都称心的好工作…而如今残酷的社会竞争,当自身能力与工作经历不足时,真的很难获得这样的工作机会,这使得很多人的简历石沉大海…这就是大多数候选人选择简历造假的原因。但造假后被发现,这该如何是好呢?来吃瓜。今天,一篇名为《扒一扒23届西x简历造假王xx》的PDF文章莫名其妙地火起来了。面试宝典:https://www.yoodb.com这到底是一个什么瓜?(注:本文隐去所有真实身份)主要是某高校一名23届毕业生于xx,混迹于各大互联网群,因为summer和秋招offer无数,引起广大网友的怀疑与不满,最终被网友集体给扒了个底朝天。用网友的原话是这样介绍该女主的:xx,xx大学2019级本科,主要求职互联网运营、产品相关,偶尔求职快消及其他行业;投递虚构实习经历的简历,尝试获取summer和秋招offer,包括但不仅限于运营经历包装为pm经历、编造根本没去过的公司和实习;朋友圈及各大社交平台,虚构自己已经获得大量offer,获得虚荣感;因简历涉及大量隐私,笔者在这就不给大家曝光了。从网友列举出来的简历来看,涉及学历与奖项造假、学术造假、已发表的论文知网查无此文,bing查无此文;百度数据查询后,万网链接失效;万网官方查询后无此文;而更夸张的事是网友从获得的该应届生的实习简历居然有四个版本之多,就业范围之广、游离于各大厂之间,令网友咋舌,不但实习时间重复,更改更为严重。时间重复度如下。从上述图片可以明显看出,2021.11-2022.3,出现截然不同的两段实习【美团,内容产品组,策略产品经理】和【小红书,内容策略产品经理】此外,多段实习起始时间不一致,如2021.6-2021.10和2021.7-2021.10,2021.11-2022.2和2021.11-2022.3,虽差别不大,但实习经历一般不会进行时间的多次修改,因此实习经历存疑。2021.6-2021.10期间,多版简历显示该应届生在滴滴出行-金融事业部,一会又从事用户与产品运营,一会又从事用户增长产品经理;网友通过滴滴内部办公软件dc,查到该应届生实际为xx产品运营。为了避免title乱用的情况,网友查询到了该应届生实习的实际上级,同样是一个title【互联网xx运营】,最终证明本段实习其实为运营经历;实习经历凭空杜撰,公司查无此人,实习时间重复使得多位互联网求职者产生怀疑,因此大家寻求更为深度的实习考证。同期网易大神事业部在职员工表示不认识该应届生,简历上的内容与实际业务部作内容不符,且网易办公软件中找不到任何该应届生存在过的踪迹。通过腾讯内部isearch(可以查到已离职和在职的外包以及蓝牌实习生、正职),查无此人,代表该应届生从来没以任何意种方式加入过腾讯。此外,网友询问同时间在ieg同部门工作的同学,得知“架构没有她”、“不会有人同时支持海内外研究”,简历内容与实际工作也严重不符;2021.11-2022.2
2022年9月25日
其他

虾皮光速大裁员!上个厕所的功夫,瞬间查无此人...

昨日,虾皮在中国区开始大裁员。这家管理粗放、曾经疯狂扩招的互联网公司,在裁员上依旧甩出了种种「神操作」。今天,东南亚电商巨头虾皮(Shopee),再次「喜提」热搜。根据脉脉上的爆料,虾皮在9月19日的上午刚开了全员大会,下午就有人拿N+2赔偿走人。虾皮裁员现场更有员工表示,10:15开会,10:20结束,被约谈的同事
2022年9月24日
其他

JDK 19 / Java 19 正式GA

中的进程。虚拟线程避免了上下文切换的额外耗费,兼顾了多线程的优点,简化了高并发程序的复杂,可以有效减少编写、维护和观察高吞吐量并发应用程序的工作量。426:向量
2022年9月24日
其他

别再用 Date 了,死磕 Java8 新特性,18 种日期处理方式!

java.time.temporal用于更底层的操作。5)时区代表了地球上某个区域内普遍使用的标准时间。每个时区都有一个代号,格式通常由区域/城市构成(Asia/Tokyo),在加上与格林威治或
2022年9月21日
其他

SpringBoot项目超大文件上传时,如何实现秒传?

文件上传是一个老生常谈的话题了,在文件相对比较小的情况下,可以直接把文件转化为字节流上传到服务器,但在文件比较大的情况下,用普通的方式进行上传,这可不是一个好的办法,毕竟很少有人会忍受,当文件上传到一半中断后,继续上传却只能重头开始上传,这种让人不爽的体验。那有没有比较好的上传体验呢,答案有的,就是下边要介绍的几种上传方式秒传1、什么是秒传通俗的说,你把要上传的东西上传,服务器会先做MD5校验,如果服务器上有一样的东西,它就直接给你个新地址,其实你下载的都是服务器上的同一个文件,想要不秒传,其实只要让MD5改变,就是对文件本身做一下修改(改名字不行),例如一个文本文件,你多加几个字,MD5就变了,就不会秒传了。2、本文实现的秒传核心逻辑利用redis的set方法存放文件上传状态,其中key为文件上传的md5,value为是否上传完成的标志位。另外公众
2022年9月20日
其他

20k招的程序员,4行代码写3个NPE异常,服了!

channelNo.equals(o.getChannelNo())2、其实可以用java.uti包下的Objects类的equals方法Objects.equals(channelNo,
2022年9月20日
其他

重磅!Spring 官宣:换掉 JVM!

原生镜像的方式运行。为了更好地支持原生运行,Spring
2022年9月17日
其他

面试官:Kafka 为什么会丢消息?

个问题:如何知道有消息丢失?哪些环节可能丢消息?如何确保消息不丢失?图片1、如何知道有消息丢失?如何感知消息是否丢失了?可总结如下:他人反馈:
2022年9月17日
其他

MyBatis最牛逼 IDEA 插件,功能强大,帮你节省95%代码量!

下载安装地址:https://github.com/gejun123456/MyBatisCodeHelper-Pro安装Intellij最新插件MybatisCodeHelper-2.8.1-191-201,使用方法IDEA顶部菜单:Tools
2022年9月16日
其他

如何正确使用 ThreadLocal,你真的用对了吗?

前言当多线程访问共享且可变的数据时,涉及到线程间同步的问题,并不是所有时候,都要用到共享数据,所以就需要ThreadLocal出场了。ThreadLocal又称线程本地变量,使用其能够将数据封闭在各自的线程中,每一个ThreadLocal能够存放一个线程级别的变量且它本身能够被多个线程共享使用,并且又能达到线程安全的目的,且绝对线程安全,其用法如下所示:public
2022年9月15日
其他

做一个不崩溃的核酸系统有多难?

每天2000万,假设可以均摊到1小时(3600秒),那么每秒只有不到1万的并发量。假设数据量为10亿,也就是1G条记录;给每条记录16字节存储空间(身份证号编码为二进制,考虑地区/年份可以压缩,48位整数足矣;哪怕不压缩,64位整数也就是8个字节怎么都够了;剩下8个字节足够记录上次核酸检测时间、红黄码状态以及疫苗信息了)……换句话说,16G内存就够把全国所有数据放进内存;而我的PC机是32G内存;对服务器来说,256G甚至1T内存早在十几年前已是平常。然后,还可以根据身份证号前3位或者前6位(地区码)分散到多台服务器。也就是根据你的身份证信息,哪个省的就自动dispatch到对应省份的服务器处理。这样一台服务器只需储存1~2亿条信息就足够用了——20台16G内存的虚拟机实例,资源充足到足够你肆意挥霍的。然后,系统启动过程是:1、从数据库载入属于本服务器的所有信息(2~4亿条),这是个较为缓慢的过程。2、开始提供服务。前面提到过,哪怕按2000万次访问集中在1小时内完成这个最苛刻的指标,每秒也只需服务5556人。并发真题,公众
2022年9月15日
其他

小公司里用SpringBoot做MySQL分库分表,踩了一些坑!

/etc/my.cnf这里要注意server-id和主库以及其他从库都不能相同,否则后面将会配置不成功。2、重启Mysql服务这里有三个方法都能重启MySQL,最简单的无疑就是一关一开:net
2022年9月14日
其他

面试官:说一下SpringBoot的自动配置原理

Boot关于自动配置的源码在spring-boot-autoconfigure-x.x.x.x.jar中:当然,自动配置原理的相关描述,官方文档貌似是没有提及。不过我们不难猜出,Spring
2022年9月13日
其他

当字节跳动在美国输出中国式996。。。

Pappas),出任TikTok首席执行官,后者目前担任TikTok首席运营官,工作地点位于洛杉矶。美国员工说,这一举动进一步巩固了TikTok在东方的权力基础。美国人凯文·梅耶尔(Kevin
2022年9月12日
其他

MySQL 中,当 update 修改数据与原数据相同时会再次执行吗?

文主要测试MySQL执行update语句时,针对与原数据(即未修改)相同的update语句会在MySQL内部重新执行吗?测试环境1、MySQL5.7.252、Centos
2022年9月10日
其他

【Stackoverflow 问题】为什么资深的程序员都不用 “ ! = null " 做判空?

pattern(空对象模式)我们来改造一下类定义如下,这样定义findAction方法后,确保无论用户输入什么,都不会返回null对象
2022年9月10日
其他

程序员被辞退 12 天,前领导要求回单位讲清楚代码,结果懵了!

在大部分情况下,如果一个员工已经离职了,那么与原来公司是没有任何关系。而员工在离职前,只需要做的一件事就是把工作交接清楚,拿到相应的工资就可以了,辞职后公司的任何事情,基本上就与该员工无关。在职场论坛上看到这样一个帖子:程序员被公司辞退都
2022年9月9日
其他

有了 HTTP 协议,为什么还要 RPC 协议,两者有什么区别?

风格的服务接口。的确,对于在接口不多、系统与系统交互较少的情况下,解决信息孤岛初期常使用的一种通信手段;优点就是简单、直接、开发方便。利用现成的
2022年9月9日
其他

Feign 调用常见问题避坑指南

1.写在前面很多时候,我们在使用微服务框架的时候,就基本上少不了与feign打交道。毕竟服务之间的调用,基本上都不会用http调了,这样显得有点麻烦了,feign更方便了。而且feign,还自带了负载均衡的策略(ribbon提供),如果我们的服务是集群的,feign还能负载调用。面试宝典:https://www.yoodb.com这些估计大家都懂吧?不会还有人不懂吧?那这个要深入学习了。哈哈在用feign的日常中,难免会遇到些问题,那下面,我来总结下,我在项目开发中遇到的问题喽。哈哈,虽说不是大问题,但至少是点经验分享喽,希望可以帮助到大家。好啦,下面开始喽!!!2.
2022年9月8日
其他

MyBatis 批量插入别再乱用 foreach 了,5000 条居然花了 14 分钟...

sizes.它强调,当插入数量很多时,不能一次性全放在一条语句里。可是为什么不能放在同一条语句里呢?这条语句为什么会耗时这么久呢?我查阅了资料发现:Insert
2022年9月8日
其他

面试官:你了解 QPS、TPS、RT、吞吐量 这些高并发性能指标吗?

3七、最佳线程数、QPS、RT1、单线程QPS公式:QPS=1000ms/RT对同一个系统而言,支持的线程数越多,QPS越高。假设一个RT是80ms,则可以很容易的计算出QPS,QPS
2022年9月7日
其他

SpringBoot 注解 + 反射优雅的实现Excel导入导出,通用加强版!

errors.getAllErrors().stream().map(ExcelValidObjectError::getMessage).collect(Collectors.joining("
2022年9月7日
其他

构建 Java 镜像的 10 个最佳实践

maven:3.6.3-jdk-11-slim@sha256:68ce1cd457891f48d1e137c7d6a4493f60843e84c9e2634e3df1d3d5b381d36cRUN
2022年9月6日
其他

卧槽!外包员工上班戴耳机,竟被开除。。。

从ZH离开时,准备写点东西揭露下ZH对外包的一系列恶心措施,但是感觉蚍蜉撼树,什么也改变不了,自己倒霉就认了,最近流行向前看吗。但是今天又听到有同事被离场,心中光有怒火,还是无可奈何。思来想去,决定写点东西,如果能给那些准备去ZH(合肥)做外包的提个醒,也不算坏事。换句话说,ZH
2022年9月6日
其他

SpringCloud 微服务接口限流的两种方式

背景我想,大家平时接触最多的app就是淘宝、京东了吧!这些大的电商网站,每天处理的访问量都是亿级的。如果,不对系统中的各个接口进行保护,当并发访问量大时,系统就会发生故障。所以,保护好系统,就会用到缓存、降级和限流这三把利器。前面讲过了断路器Hystrix的熔断与降级;缓存可以使用内存里面的缓存队列、消息中间件、分布式缓存;限流可以使用Zuul来实现。通过限流,可以很好地控制系统的qps。每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。服务限流方法一:Zuul+RateLimiterRateLimiter是Guava提供的基于令牌桶算法的实现类,可以非常简单的完成限流特技,并且根据系统的实际情况来调整生成token的速率。至于令牌桶算法的基本流程,大家可以通过查询相关资料进行学习。给大家推荐一个讲解令牌桶算法的视频,个人觉得易于理解。https://www.bilibili.com/video/av26168532/
2022年9月5日