自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 收藏
  • 关注

原创 spring boot+vue实现爬取各大平台每日热榜数据功能

案例功能效果图爬去数据的平台页面这个案例能爬取的平台太多了,我没有全部截图出来,想看的你们自己下载源码自己跑起来!爬取的热榜数据效果图环境介绍前端:vue+h5后端:springboot+webMagicjdk:1.8及以上数据库:mysql完整源码获取方式源码获取方式:点击这里,暗号CSDN!如果你在运行这个代码的过程中有遇到问题,请加小编微信xxf960513,我拉你进对应微信学习群!!帮助你快速掌握这个功能代码!核心代码介绍pom.xml<!-- https:/

2020-12-23 20:40:47 31972 1

原创 字符串拼接还在用StringBuilder?快试试Java8中的StringJoiner吧,真香!

为什么会新增这样一个string辅助类?原有的stringbuilder太死板,不支持分割,如果想让最终的字符串以逗号隔开,需要这样写StringBuilder sb = new StringBuilder();IntStream.range(1,10).forEach(i->{ sb.append(i+""); if( i < 10){ sb.append(",") }});是不是太死板了,不好用,StringJoiner怎样写呢?Stri

2021-02-24 15:18:39 233

原创 爽!一个注解,搞定 SpringBoot 操作日志

来源:blog.csdn.net/weixin_43954303/article/details/113781801使用方式基本使用源码此组件解决的问题是:「谁」在「什么时间」对「什么」做了「什么事」本组件目前针对 Spring-boot 做了 Autoconfig,如果是 SpringMVC,也可自己在 xml 初始化 bean使用方式基本使用maven依赖添加SDK依赖 <dependency> <groupId>io.gi

2021-02-23 15:23:41 937

原创 RabbitMQ高可用介绍

1.全局图HAproxy 来做 RabbitMQ 负载均衡和高可用,用 Keepalived 来保证 HAproxy 的高可用。客户端通过VIP建立通信链路;通信链路通过Keeaplived的Master节点路由到对应的HAProxy之上;HAProxy通过负载均衡算法将负载分发到集群中的各个节点之上。正常情况下客户端的连接通过图中左侧部分进行负载分发。当Keepalived的Master节点挂掉或者HAProxy挂掉无法恢复,那么Backup提升为Master,客户端的连接通过图中右侧部分进行负载分

2021-02-22 20:35:27 290

原创 在 Java 中如何优雅地判空

来源:blog.imuxuan.com/archives/86判空灾难NullPointerException作为搬砖党的一族们,我们对判空一定再熟悉不过了,不要跟我说你很少进行判空,除非你喜欢NullPointerException。不过NullPointerException对于很多猿们来说,也是Exception家族中最亲近的一员了。Wowo为了避免NullPointerException来找我们,我们经常会进行如下操作。if (data != null) { do sth.}

2021-02-21 14:38:14 254

原创 基于SSM框架实现的支付宝支付功能

来源:https://urlify.cn/aYrmIr前言本教程详细介绍了如何使用ssm框架实现支付宝支付功能。本文章分为两大部分,分别是「支付宝测试环境代码测试」和「将支付宝支付整合到ssm框架」,详细的代码和图文解释,自己实践的时候一定仔细阅读相关文档,话不多说我们开始。本教程源代码:https://github.com/OUYANGSIHAI/sihai-maven-ssm-alipay一、支付宝测试环境代码测试下载电脑网站的官方demo:下载:https://docs.open.a

2021-02-20 14:48:50 660

原创 Spring 中经典的 9 种设计模式,看看你还不会哪个?赶紧学~

来源:blog.csdn.net/caoxiaohong10051.简单工厂(非23种设计模式中的一种)2.工厂方法3.单例模式4.适配器模式5.装饰器模式6.代理模式7.观察者模式8.策略模式9.模版方法模式Spring中涉及的设计模式总结1.简单工厂(非23种设计模式中的一种)实现方式:BeanFactory。Spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得Bean对象,但是否是在传入参数后创建还是传入参数前创建这个要根据具体情况来定

2021-02-18 14:31:29 110

原创 MyBatis 的执行流程,写得太好了叭!

前言MyBatis可能很多人都一直在用,但是MyBatis的SQL执行流程可能并不是所有人都清楚了,那么既然进来了,通读本文你将收获如下:1、Mapper接口和映射文件是如何进行绑定的2、MyBatis中SQL语句的执行流程3、自定义MyBatis中的参数设置处理器typeHandler4、自定义MyBatis中结果集处理器typeHandlerPS:本文基于MyBatis3.5.5版本源码。概要在MyBatis中,利用编程式进行数据查询,主要就是下面几行代码:SqlSession ses

2021-02-03 15:26:13 124

原创 Jenkins + 钉钉 + SpringBoot 极简入门,一键打包部署项目

摘要: 原创出处 http://www.iocoder.cn/Jenkins/install/ 「芋道源码」欢迎转载,保留摘要,谢谢!概述快速入门邮件通知钉钉通知彩蛋推荐阅读如下 Jenkins 文章:《芋道 Spring Boot 持续交付 Jenkins 入门》《芋道 Spring Cloud 持续交付 Jenkins 入门》 对应 labx-16概述目前国内绝大多数的团队,都采用 Jenkins 实现持续集成与持续发布。那么 Jenkins 是什么?在《Jenkins 用户文档

2021-02-02 15:45:33 421

原创 有些线程跑着跑着就不见了

1、三思后再写代码!!!图片2、从世界上搜索喜欢你的人!!!图片3、代码没写完,哪里有脸睡觉!!!图片4、程序员的 Home 键!!!图片5、编程是一门艺术!!!图片6、云 ~~~~ 雨!!!图片7、程序人生!!!图片8、只有极客才懂!!!图片9、黑客的世界!!!图片10、黑~~~人!!!图片11、PHP 专属!!!图片12、程序 ~ 代码!!!图片13、我就是一个极客!!!图片14、CODE!!!图片15、源代码!!!图片16、CODE PART

2021-02-01 19:44:39 4820

原创 老夫整理的1000行MySQL学习笔记传授有缘人

以下为本人当年初学MySQL时做的笔记,也从那时起没再更新过,但还是囊括了基本的知识点,有时还翻出来查查。是不是干货,就看亲们了~```bash/* 启动MySQL */net start mysql/* 连接与断开服务器 */mysql -h 地址 -P 端口 -u 用户名 -p 密码/* 跳过权限验证登录MySQL */mysqld --skip-grant-tables-- 修改root密码密码加密函数password()update mysql.user set passw

2021-01-30 14:58:41 114

原创 Spring Boot实战:整合Redis、MyBatis,封装RedisUtils工具类

创建 Spring Boot 项目在线创建方式网址:https://start.spring.io/然后创建Controller、Mapper、Service包SpringBoot整合Redis引入Redis依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</art

2021-01-29 16:49:31 154

原创 一个最简单的消息队列,带你理解 RabbitMQ!

RabbitMQ 简述RabbitMQ是一个消息代理:它接受并转发消息。您可以将其视为邮局:当您将要把寄发的邮件投递到邮箱中时,您可以确信Postman 先生最终会将邮件发送给收件人。在这个比喻中,RabbitMQ是一个邮箱,邮局和邮递员,用来接受,存储和转发二进制数据块的消息。队列就像是在RabbitMQ中扮演邮箱的角色。虽然消息经过RabbitMQ和应用程序,但它们只能存储在队列中。队列只受主机的内存和磁盘限制的限制,它本质上是一个大的消息缓冲区。许多生产者可以发送到一个队列的消息,许多消费者可以尝

2021-01-28 21:29:17 111

原创 骚操作!Intellij IDEA 居然还藏着这些实用小技巧 !

blog.csdn.net/linsongbin1/article/details/80211919看到了一篇关于 IDEA 小技巧的文章,很实用!分享一下~概述Intellij IDEA真是越用越觉得它强大,它总是在我们写代码的时候,不时给我们来个小惊喜。出于对Intellij IDEA的喜爱,我决定写一个与其相关的专栏或者系列,把一些好用的Intellij IDEA技巧分享给大家。本文是这个系列的第一篇,主要介绍一些你可能不知道的但是又实用的小技巧。我最爱的【演出模式】我们可以使用【Prese

2021-01-27 14:49:23 119

原创 一次神奇的 sql 查询经历,group by 慢查询优化记录

一、问题背景现网出现慢查询,在500万数量级的情况下,单表查询速度在30多秒,需要对sql进行优化,sql如下:我在测试环境构造了500万条数据,模拟了这个慢查询。简单来说,就是查询一定条件下,都有哪些用户的,很简单的sql,可以看到,查询耗时为37秒。说一下app_account字段的分布情况,随机生成了5000个不同的随机数,然后分布到了这500万条数据里,平均来说,每个app_account都会有1000个是重复的值,种类共有5000个。二、看执行计划可以看到,group by字段上我

2021-01-26 19:41:10 94 1

原创 Java架构师工作8年还没有理解透彻的Leader选举

作者 | 王磊来源 | Java中文社群(ID:javacn666)正式开始之前,我们先来看下 MySQL 服务器的配置和版本号信息,如下图所示:图片“兵马未动粮草先行”,看完了相关的配置之后,我们先来创建一张测试表和一些测试数据。– 如果存在 person 表先删除DROP TABLE IF EXISTS person;– 创建 person 表,其中 username 字段可为空,并为其设置普通索引CREATE TABLE person (id INT PRIMARY KEY auto_

2021-01-25 20:35:25 106

原创 再见 Win10系统!下一代操作系统要来了!!

据最新消息称,Windows 10X有望于春季结束前向OEM厂商推送。起初微软希望为双屏设备打造专属的Windows 10X体验,但现实表明它更可能在单屏PC上展开试点。此外与常规的 Windows 10 操作系统相比,“X”主要在视觉上有更大的变化。通常情况下,Windows 10 的开始菜单是从左下角开始唤出的。但Windows 10X的“开始菜单”,却是在屏幕中间悬浮的,对于很多用户来说,这是很不适应的。此外,Windows 10X主推原生、渐进式 Web 应用(PWA)、以及可快捷调用的网站应

2021-01-24 21:23:09 94

原创 一次非常有意思的 SQL 优化经历:从 30248.271s 到 0.001s

场景我用的数据库是mysql5.6,下面简单的介绍下场景课程表create table Course(c_id int PRIMARY KEY,name varchar(10))数据100条学生表:create table Student(id int PRIMARY KEY,name varchar(10))数据70000条学生成绩表SCCREATE table SC( sc_id int PRIMARY KEY, s_id int,

2021-01-20 15:34:23 71

原创 阿里 Nacos 惊爆,安全漏洞以绕过身份验证(附修复建议)

来源:github.com/alibaba/nacos/issues/4701一、漏洞详情二、漏洞影响范围三、漏洞复现三、 修复建议BugFix大家好,我是threedr3am,我发现nacos最新版本1.4.1对于User-Agent绕过安全漏洞的serverIdentity key-value修复机制,依然存在绕过问题,在nacos开启了serverIdentity的自定义key-value鉴权后,通过特殊的url构造,依然能绕过限制访问任何http接口。通过查看该功能,需要在applic

2021-01-19 14:40:57 1526 2

原创 美团面试官:生成订单后一段时间不支付订单会自动关闭的功能该如何实现?

正文如下:业务场景我们以订单功能为例说明下:生成订单后一段时间不支付订单会自动关闭。最简单的想法是设置定时任务轮询,但是每个订单的创建时间不一样,定时任务的规则无法设定,如果将定时任务执行的间隔设置的过短,太影响效率。还有一种想法,在用户进入订单界面的时候,判断时间执行相关操作。方式可能有很多,在这里介绍一种监听 Redis 键值对过期时间来实现订单自动关闭。实现思路在生成订单时,向 Redis 中增加一个 KV 键值对,K 为订单号,保证通过 K 能定位到数据库中的某个订单即可,V 可为任意值。假

2021-01-18 21:05:11 235

转载 【保姆级教程】SpringBoot单元测试,文末介绍Postman的基本使用

一、 单元测试的概念概念:单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。在Java中单元测试的最小单元是类。单元测试是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。执行单元测试,就是为了证明这 段代码的行为和我们期望是否一致。单元测试引用:众所周知,通过spring initialize创建的Spring Boot项目会在Maven中自动携带很多starter依赖:其中包含了一个名为spring-boot-sta

2021-01-17 17:32:12 326 1

原创 Spring Boot 集成 JUnit5,更优雅单元测试!

为什么使用JUnit5JUnit4被广泛使用,但是许多场景下使用起来语法较为繁琐,JUnit5中支持lambda表达式,语法简单且代码不冗余。JUnit5易扩展,包容性强,可以接入其他的测试引擎。功能更强大提供了新的断言机制、参数化测试、重复性测试等新功能。ps:开发人员为什么还要测试,单测写这么规范有必要吗?其实单测是开发人员必备技能,只不过很多开发人员开发任务太重导致调试完就不管了,没有系统化得单元测试,单元测试在系统重构时能发挥巨大的作用,可以在重构后快速测试新的接口是否与重构前有出入。简介

2021-01-15 21:03:44 232

原创 这四种情况下,才是考虑分库分表的时候!

数据库瓶颈不管是IO瓶颈还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载的活跃连接数的阈值。在业务service来看,就是可用数据库连接少甚至无连接可用,接下来就可以想象了(并发量、吞吐量、崩溃)。IO瓶颈第一种:磁盘读IO瓶颈,热点数据太多,数据库缓存放不下,每次查询会产生大量的IO,降低查询速度->分库和垂直分表第二种:网络IO瓶颈,请求的数据太多,网络带宽不够 ->分库CPU瓶颈第一种:SQl问题:如SQL中包含join,group by, o

2021-01-14 15:03:56 125

原创 虎牙二面:说说你对 Java “零拷贝”的理解?

正文如下:前言从字面意思理解就是数据不需要来回的拷贝,大大提升了系统的性能;这个词我们也经常在java nio,netty,kafka,RocketMQ等框架中听到,经常作为其提升性能的一大亮点;下面从I/O的几个概念开始,进而在分析零拷贝。I/O概念1.缓冲区缓冲区是所有I/O的基础,I/O讲的无非就是把数据移进或移出缓冲区;进程执行I/O操作,就是向操作系统发出请求,让它要么把缓冲区的数据排干(写),要么填充缓冲区(读);下面看一个java进程发起read请求加载数据大致的流程图:进程发起

2021-01-13 20:34:18 89

原创 最常用的4 大软件架构,你们公司用哪种?

如果一个软件开发人员,不了解软件架构的演进,会制约技术的选型和开发人员的生存、晋升空间。这里我列举了目前主要的四种软件架构以及他们的优缺点,希望能够帮助软件开发人员拓展知识面。一、单体架构单体架构比较初级,典型的三级架构,前端(Web/手机端)+中间业务逻辑层+数据库层。这是一种典型的Java Spring mvc或者Python Drango框架的应用。其架构图如下所示:单体架构单体架构的应用比较容易部署、测试, 在项目的初期,单体应用可以很好地运行。然而,随着需求的不断增加, 越来越多的人加入

2021-01-12 15:53:02 404 1

原创 Spring 如何实现 AOP,请不要再说 cglib 了!

来源:juejin.im/post/6844903970658320391从注解入手找到对应核心类画核心类类图,猜测核心方法读重点方法,理核心流程总结从注解入手找到对应核心类最近工作中我都是基于注解实现 AOP 功能,常用的开启 AOP 的注解是 @EnableAspectJAutoProxy,我们就从它入手。上面的动图的流程的步骤就是:@EnableAspectJAutoProxy --> AspectJAutoProxyRegistrar -->AopConfigUtil

2021-01-08 15:40:16 169

原创 虎牙面试官:String长度有限制吗?是多少?我:这太...

来源:www.toutiao.com/i6893014573322863111前言话说Java中String是有长度限制的,听到这里很多人不禁要问,String还有长度限制?是的有,而且在JVM编译中还有规范,而且有的家人们在面试的时候也遇到了。本人就遇到过面试的时候问这个的,而且在之前开发的中也真实地遇到过这个String长度限制的场景(将某固定文件转码成Base64的形式用字符串存储,在运行时需要的时候在转回来,当时文件比较大),那这个规范限制到底是怎么样的,咱们话不多说先䁖䁖去。String

2021-01-07 15:10:25 119

原创 SpringBoot 配置 ELK 环境

来源:sevenyuan.cn为什么要用ELK简单画了一下架构图ElasticSearchLogstashKibana整合Spring+Logstash踩坑记录在看大型网站的中间件技术,对于Elasticsearch有点兴趣,所以将配置流程记录了一下为什么要用ELKELK实际上是三个工具,Elastricsearch + LogStash + Kibana,通过ELK,用来收集日志还有进行日志分析,最后通过可视化UI进行展示。一开始业务量比较小的时候,通过简单的SLF4J+Logg.

2021-01-06 14:22:27 195 1

原创 美团面试官:给你一个亿的keys,Redis如何统计?

图片正文如下:不知你大规模的用过Redis吗?还是仅仅作为缓存的工具了?在Redis中使用最多的就是集合了,举个例子,如下场景:签到系统中,一天对应一系列的用户签到记录。电商系统中,一个商品对应一系列的评论。交友系统中,某个用户的一系列的好友。Redis中集合的特点无非是一个Key对应一系列的数据, 但是数据的作用往往是为了统计的,比如:交友系统中,需要统计每天的新增好友,以及双方的共同好友。电商系统中,需要统计评论列表中的最新评论。签到系统中,需要统计连续一个月的签到的用户数量。大型互联

2021-01-05 16:15:11 200

原创 Spring Boot 解决跨域问题的 3 种方案

前后端分离大势所趋,跨域问题更是老生常谈,随便用标题去google或百度一下,能搜出一大片解决方案,那么为啥又要写一遍呢,不急往下看。问题背景:Same Origin Policy,译为“同源策略”。它是对于客户端脚本(尤其是JavaScript)的重要安全度量标准,其目的在于防止某个文档或者脚本从多个不同“origin”(源)装载。它认为自任何站点装载的信赖内容是不安全的。当被浏览器半信半疑的脚本运行在沙箱时,它们应该只被允许访问来自同一站点的资源,而不是那些来自其它站点可能怀有恶意的资源。注:具

2021-01-04 16:07:44 76

原创 基于 SpringBoot,来实现MySQL读写分离技术

前言首先思考一个问题:在高并发的场景中,关于数据库都有哪些优化的手段?常用的有以下的实现方法:读写分离、加缓存、主从架构集群、分库分表等,在互联网应用中,大部分都是读多写少的场景,设置两个库,主库和读库。主库的职能是负责写,从库主要是负责读,可以建立读库集群,通过读写职能在数据源上的隔离达到减少读写冲突、 释压数据库负载、保护数据库的目的。在实际的使用中,凡是涉及到写的部分直接切换到主库,读的部分直接切换到读库,这就是典型的读写分离技术。本篇博文将聚焦读写分离,探讨如何实现它。目录一: 主从数据源的

2021-01-03 19:36:52 109

原创 Java 项目权威排名:Nacos 未上版,Gradle 排名第二,Maven 排名 28

https://github.com/ossf/criticality_score 发布了开源项目排名,下载地址:https://commondatastorage.googleapis.com/ossf-criticality-score/index.html我在这里选出我感兴趣,而且和公众认知不大一致的排名。Spring生态这点毫无疑问,Spring生态是Java开发的实际标准规范。基于“事件驱动架构”的Spring Cloud Stream项目也上榜了,这才是微服务解耦的正确姿势。g

2020-12-31 13:56:41 185 2

原创 不愧是程序员写出的骚代码啊,我服了!!!

神秘代码今天给大家看个有意思的东西!不仅有意思,还能学到知识。话题从两行(准确的说是一行)神奇的代码聊起:// main.c#include <stdio.h>int main[] = { 232,-1065134080,26643,12517440,4278206464,12802064,(int)printf };这是一段C++代码,猜猜看编译运行后,会输出什么?可能,你会问:这TM连main函数都没有,能编译成功?还真能!咱们分别在Windows平台下的Visual

2020-12-30 21:31:53 3274 1

原创 推荐几个 JVM 内存工具,建议收藏!

jmapJDK自带了一些工具可以帮助我们查看JVM运行的堆内存情况,常用的是jmap命令jmap -heap   打印堆的使用情况那么,从这个输出中我们也可以大致看出堆的结构,分为Young Generation (年轻代) 和 Old Generation (老年代)Young Generation又被划分为:Eden Space , From Space 和 To Space可以看到这里To区是干净的,还未被使用,From区已经使用了95%了jmap -histo[:live]   打印

2020-12-29 20:30:05 371

原创 项目实战经验之Springboot 整合微信小程序实现登录与增删改查

项目描述:在微信小程序中通过与Springboot操作数据库实现简单的增删改查,其中我是用springboot整合mybatis-plus 和mysql使用的开发前准备1.1 前置知识java基础SpringBoot简单基础知识1.2 环境参数开发工具:IDEA基础环境:Maven+JDK8主要技术:SpringBoot、lombok、mybatis-plus、mysql 、微信小程序SpringBoot版本:2.2.62.开发者服务器项目结构:2.1 初始配置(1)pom.x

2020-12-28 21:09:41 554

原创 高赞回答:为什么高级程序员不必担心自己的技术过时?

来自:r6d.cn/VmjU程序员是吃青春饭的吗?等我们老了,技术过时了,公司有什么理由不裁掉我们,去雇一些既有活力、薪资要求又低的年轻人呢?这个老生常谈的问题困扰着诸多渐入中年的程序员。本文告诉你如何增强自己的核心竞争力,在知识飞速更新的行业中站稳脚跟,跨过“初级工程师”和“高级工程师”之间的鸿沟。正文我曾在 CS 职业论坛/r/cscareerquestions 上回答了一个问题,该回答描述了我在程序员职业道路早期必须要涉足的几个领域,并就此引申出我为什么认为高级程序员不必担心自己的技术会过时。

2020-12-27 15:51:33 133

原创 拥抱 Java 8 并行流:执行速度飞起 !

前言在 Java7 之前,如果想要并行处理一个集合,我们需要以下几步 1. 手动分成几部分 2. 为每部分创建线程 3. 在适当的时候合并。并且还需要关注多个线程之间共享变量的修改问题。而 Java8 为我们提供了并行流,可以一键开启并行模式。是不是很酷呢?让我们来看看吧并行流认识和开启并行流什么是并行流: 并行流就是将一个流的内容分成多个数据块,并用不同的线程分别处理每个不同数据块的流。例如有这么一个需求:有一个 List 集合,而 list 中每个 apple 对象只有重量,我们也知道 app

2020-12-25 17:13:41 94 1

原创 阿里三面:为什么HashMap底层树化标准的元素个数是8?

一般的面试题对于HashMap,我们再熟悉不过了,日常开发最常用的Java集合类就是它了,而且面试的时候对于HashMap知识点基本是必问的,就拿我之前的面试经历来看,问的最多的无非是这么几个:HashMap的底层存储结构是怎样的啊?线程安全吗?为什么不安全?1.7和1.8版本的HashMap有什么区别?1.7的有什么隐患,什么原因导致的?hashcode是唯一的吗?插入元素的时候怎么比较的?跟HashTable,ConcurrentHashMap有什么区别?对于这些问题,如果你看过一些博客,

2020-12-22 17:13:15 332 1

原创 快到年底了,总结一篇JVM11组关系的全貌

废话少说,直接开整:第1组:JDK、JRE、JVM的关系JDK中包含JRE,也包括JDK,而JRE也包括JDK。范围关系:JDK>JRE>JVM。具体见下图:第2组:.java文件与.class文件的关系这两者的关系需要两张图才能说明白:第3组:class文件与JVM的关系JVM通过类加载机制,把class文件装载进JVM中,然后JVM解析class文件的内容,于是就有了类加载过中的链接、初始化等。第4组:类加载器关系一张图来说明:第5组:方法区、堆、栈之间到底有什

2020-12-21 16:21:11 104

原创 Google 开源的 Guava 工具库,太强大了~

目前Google Guava在实际应用中非常广泛,本篇博客将以博主对Guava使用的认识以及在项目中的经验来给大家分享!正如标题所言,学习使用Google Guava可以让你快乐编程,写出优雅的JAVA代码!以面向对象思想处理字符串:Joiner/Splitter/CharMatcherJDK提供的String还不够好么?也许还不够友好,至少让我们用起来还不够爽,还得操心!举个栗子,比如String提供的split方法,我们得关心空字符串吧,还得考虑返回的结果中存在null元素吧,只提供了前后tri

2020-12-21 14:02:21 2146 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除