
spring
文章平均质量分 66
普通网友
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
CDN永远的神!成功解决了困惑我多年的GitHub访问太慢问题
我写技术文章画的图片是保存到 GitHub 的,没别的原因,就是因为免费,但是GitHub 访问的速度大家都懂的,访问的速度很慢。所以我会用 CDN 来加速图片的访问,也就是我的图床的方案是 GitHub + jsdelivr CDN,使用很简单,只需要把域名地址替换一下就行。那为什么访问 GitHub 会很慢呢?GitHub 离国内就近的服务器是在新加波,距离我这有 2600 公里,也就是说,访问 GitHub 上的一张图片,一个数据包就要走 2600 公里这么远!而且,互联网从逻辑上转载 2021-09-08 15:51:25 · 621 阅读 · 0 评论 -
So eazy!SpringBoot一键去除参数前后空格和XSS过滤实战解析
去除XSS字符串需要借助工具类 jsoup ,这里jsoup有一点需要注意的是,jsoup的功能可能有点太强大了,能把xss攻击的内容直接过滤掉了不说,也会对英文尖括号 <> 转义,到接口里面拿到的参数就变成了 <> ,存库里面的就是转义后的字符串了。取出来的时候需要转一下。比如前台传的参数传的是: 12<>3<script>alter('11111111')</script>455过滤处理了后,到后台接口里面就成了: [12<>转载 2021-09-08 15:48:52 · 557 阅读 · 0 评论 -
灵魂一击!详解Java中的IO输入输出流
什么是流?流表示任何有能力产生数据的数据源对象或者是有能力接收数据的接收端对象,它屏蔽了实际的I/O设备中处理数据的细节。IO流是实现输入输出的基础,它可以很方便地实现数据的输入输出操作,即读写操作。本片要点介绍流的定义和基本分类。 介绍文件字符流、字节流、转换流、合并流、打印流等使用。 介绍序列化的意义。 介绍两种自定义序列化方式。基本分类根据方向输入流:数据从外部流向程序,例如从文件中读取数据。输出流:数据从程序流向外部,例如向文件中写数据。 根据形式字符流:字符类文件,【.原创 2020-12-19 15:38:32 · 340 阅读 · 2 评论 -
干货来袭!美团强推SSM框架速成笔记,源码实战齐飞
SSM框架过时了?SSM框架一路走来已十余载,它保留了经典Java EE应用架构高度可扩展性和高度可维护性,对于大部分企业应用还是第一首选。但我最近在网上经常看到一些帖子说:现在企业中的主流是Spring Boot,传统的SSM框架已经过时了!对此我感到有些疑惑,这两个有什么冲突吗?现在很多企业还是在用SSM框架,Spring Boot也会结合其他的框架来使用,有场景和需求不照样能用?况且从目前的招聘需求来看,SSM依然是Java开发人员必备技能之一,怎么会过时了呢?那么如何更好更快的入门SSM框架原创 2020-12-18 15:38:59 · 366 阅读 · 5 评论 -
千万不要放弃源码阅读!就这一次阿里内部Spring源码笔记+脑图+视频精讲全部开源分享,手慢无!
优秀的人为何从未放弃阅读源码?无论基于什么样的原因,放弃阅读源码始终不是一个明智 的选择,因为你失去了一个跟大师学习的机会。而且,当你读过几个源码之后就会发现,它们的思想以及实现方式是相通的。这就是开源的好处。随着各种开源软件的发展,各家都会融合别家优秀之处来不断完善自己,这样,到最后的结果就是所有的开源软件从设计上或者实现上都会变得越来越相似,也就是说当你读完某个优秀源码后再去读另一个源代码,阅读速度会有很大提升。Spring源码笔记这一套Spring源码笔记共计分为三篇:核心实现、企业应用、原创 2020-12-17 15:16:08 · 266 阅读 · 1 评论 -
开发神技!阿里消息中间件进阶手册限时开源,请接住我的下巴
分布式消息中间件相信大家在实际工作中都用过消息中间件进行系统间数据交换,解决应用解耦、异步消息、流量削峰等问题,由此消息中间件的强大功能想必也不用我多说了!目前业界上关于消息中间件的实现多达好几十种,可谓百花齐放,所用的实现语言同样也五花八门。不管使用哪一个消息中间件,我们的目的都是实现高性能、高可用、可伸缩和最终一致性架构。再说面试假如面试官看你简历里写了MQ中间件的使用经验,你可能会被问到如下问题:1、你们公司生产环境用的是什么消息中间件? 2、为什么要在系统里引入消息中间件? 3、原创 2020-12-15 20:40:20 · 237 阅读 · 3 评论 -
扫盲帖:聊聊微服务与分布式系统
今天和大家聊一聊分布式系统的相关概念及其常见分布式组件和设计思想(不涉及计算机科学中分布式系统的技术理论之类的东西),之前为了准备这次的面试我是把市面上的很多分布式组件都看了一遍,我们公司所用的分布式组件基本也没出我了解的那个知识圈(公司用了Apollo我没提前了解,大E了)单体应用与集群单体应用、集群和微服务,这个标题一出你们可能就知道我想说啥了,emm,就是架构的演进过程,很多人可能都看过相关知识,不过我为了文章的完整性还是打算简单讲一讲。首先是单体应用,在一个业务的起步阶段,往往.原创 2020-12-15 15:02:46 · 469 阅读 · 2 评论 -
基于Dokcer搭建Redis集群(主从集群),冲就完了
本文基于 Docker + Redis 5.0.5 版本,通过 cluster 方式创建一个 6 个 redis 实例的主从集群,当然文章会指出相应的参数说明,这样即便是创建 9 个实例的集群方式也是一样的。1、拉取 Redis 镜像基于 Redis:5.0.5 版本,执行如下指令:dockerpullredis:5.0.52、创建 6 个 Redis 容器创建 6 个Redis 容器:redis-node1:6379 redis-node2:6380 redis-nod..原创 2020-12-11 16:54:11 · 248 阅读 · 1 评论 -
细节满满!Spring IOC容器源码分析最优解
前言许多文章都是分析的 xml 配置,但是现在 Spring Boot 开发多基于注解。本文从注解的角度分析 Spring IOC 容器源码。版本:Spring Boot:2.1.6.RELEASE Spring FrameWork:5.1.8.RELEASE Java 8BeanDefinitionBeanDefinition 接口定义了一个包含属性、构造器参数、其他具体信息的 bean 实例。public interface BeanDefinition extends ..原创 2020-12-11 16:49:04 · 303 阅读 · 0 评论 -
源码不止Spring!阿里首推源码成长笔记,深入底层不再蒙圈
前言今天来与大家聊一聊“SM”!咳咳咳不要想歪,是Spring+MyBatis源码!!!别的不说,我想先问大家一个问题:不会有人真的喜欢看源码吧!在我的认知里喜欢看源码的都是“变态”,都是大哥!现实中大多数人都是为了涨薪或者一些其他的原因才会去主动接触源码(手动狗头)。但是在现在互联网大势所趋下,源码阅读已经是一个优秀软件开发者必备的能力。如今绝大多数软件都是团队协作的成果,只有读懂别人的代码才能继续开发新的功能。即使是单兵作战,也需要读懂自己所写的旧代码,之后才能开展新的工作。那么该如何高效阅原创 2020-12-10 18:59:30 · 330 阅读 · 23 评论 -
先在职58后跳槽阿里,半年时间面了24+公司斩获11张意向Offer,太强了!
前言本内容来源于我16年毕业的学长,先在58,后阿里,如今准备跳槽了,以下内容为他的最近面试经历(以及每次面试前后总结的学习资料分享):我最近从大厂离职之后在合肥呆了个把月,之前已经准备了半个多月,从7月底开始投简历面试,目前是java高级职位,到现在为止已经面了24+公司了,手上也有一些意向offer。现在把跟面试官对垒的面试问题总体记录一下。希望能对正在准备面试的朋友以及面试有过失败经历的朋友有点帮助。需要文中的面试真题,面试分享总结,学习资料添加小助理vx:bjmsb2020即可百.原创 2020-12-10 16:25:33 · 372 阅读 · 3 评论 -
对症下药!美团内部疯传Java性能优化成长笔记终开源,性能问题从此一去不返
从我们迈入软件行业开始,性能的重要性就一再被强调。在读书时,我们学习了大量的计算机专业课程,花了大量的时间去讨论怎么让我们计算机系统获得比较好的性能。而当我们去找工作时,大部分的公司在笔试和面试时都会考一考算法,问一问算法复杂度。能写出比别的竞争者时间复杂度更低、性能更好的程序是应征者获得一份工作的关键。目前存在性能问题的系统,十之八九是由某一系统瓶颈导致的。只要找到该性能瓶颈,分析瓶颈的形成原因,对症下药,使用合理的方法解决系统瓶颈,就能从根本上提升性能。那么我们该如何才能做好性能调优?性能调优标原创 2020-12-10 16:10:03 · 235 阅读 · 3 评论 -
爱了爱了,百度首推Spring Boot成长笔记,基础+进阶+实战+源码全都有!
SpringBoot想必大家都知道使用SpringBoot的最大好处就是简化配置,它实现了自动化配置。它简化了Spring应用开发,不需要配置就能运行Spring应用,无论是简单的Web系统,还是构建复杂系统,都只需要少量配置和代码就能完成。这有点像每个公司基于Spring框架做的内部开发框架,不同的是,Spring Boot更完善、更强大。如何学习SpringBootSpringBoot作为一种实现约定大于配置的应用系统框架,不像Spring那样“地狱般的配置体验”,即使到现在还是一如既往的火原创 2020-12-10 15:58:25 · 373 阅读 · 3 评论 -
同是程序员凭什么你的薪资就比别人低?阿里Java“涨薪秘籍”首次公开,差距不止一点点!
前言可能有些人会常常有这样的感觉,同是开发有些人比我工资高却什么代码都不写呢?当我听到这个问题的时候第一次映入脑海的就是:工程师的分类。大家可以来看看Java工程师在招聘网站上的区分:初中级开发工程师一般的初中级开发工程师要求不是特别的高,很多都是要求你会在公司干活,然后能够对公司项目进行代码的编写,和业务的实现。一般要求熟悉 Spring boot,Spring等框架;熟悉dubbo框架、redis等; 熟悉Unix/Linux系统,精通数据库Oracle、MySQL 等的开发,精通SQL及原创 2020-12-10 15:35:58 · 300 阅读 · 13 评论 -
年轻人,你以为内存泄漏的时候其实问题可能只是在线程数上
John Miiler 是ebay团队的高级后端工程师,负责各种项目,包括结账和支付系统。作为公司摆脱单一业务的努力的一部分,他的团队正试图将业务逻辑一块一块地提取到单独的微服务中。他分享了他的团队如何解决在提取图像处理微服务时遇到的内存使用问题。最近提取的microservice是一种图像处理服务,它对图像进行大小调整、裁剪、重新编码和执行其他处理操作。这个服务是一个在Docker容器中使用springboot构建的Java应用程序,并部署到AWS托管的Kubernetes集群中。在实现该服务时,我们原创 2020-12-10 13:33:47 · 373 阅读 · 0 评论 -
细节爆炸!Github一夜爆火的SSM源码剖析手册也太香了吧
前言SSM作为目前主流的JavaEE企业级框架,可以说现在面试必被问到SSM的实现原理、架构设计,似乎不啃上几遍源码,都不好意思跟面试官交流。何况在面试“造火箭”、工作“螺丝钉”的大环境下,很多程序员虽然对框架使用得非常娴熟,但对底层原理及架构设计缺少足够的积累与认知,知其然却不知其所以然。我们学习的各种设计模式,最终都需要在源码中进行落地。当然,我们也需要从优秀的源码中挖掘设计模式及设计模式的应用场景,学习其中的设计艺术。所以,学习源码已经是大势所趋!如何高效阅读源码?面对复杂的类库继承关系、原创 2020-12-08 19:15:30 · 1193 阅读 · 23 评论 -
Java程序员2021必备学习路线,我靠这个在2020最后一个月斩获6张Offer!
国外有一个爆火的开发人员学习路线,目前已经收获了 131 k+ star,在所有仓库中排名第 9 。我司的一些技术大佬给应届生写学习路线的时候都是参考这个仓库来的。这仓库的名字叫做developer-roadmap。其包括的学习路线涵盖:前端、后端、DevOps、Android、React、PostgraSQL DBA。今天就主要为大家拆解一下“后端学习路线”!下图是中文翻译版本,基本涵盖了一个后端程序员必须要掌握的一些通用的后端知识,非常直观!你可以将其作为自己后端学.原创 2020-12-08 15:16:51 · 532 阅读 · 5 评论 -
耗时2个月肝完P8大佬私授的“全栈通关笔记”,终于在2020的最后一个月成功圆梦,斩获腾讯,阿里,美团等9个意向offer!
工作了11年,工作压力大,节奏快,但是从技术上确实得到了成长,尤其是当你维护与大促相关的系统的时候,熬到P8也费了不少心思,小编也是个爱学习的人,把这几年的工作经验整理成了一份完整的笔记。此笔记已助朋友拿到腾讯,阿里,美团等9个offer。由于细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!大致内容包括了: Java 集合、JVM、多线程、并发编程、设计模式、Spring全家桶、Java、MyBatis、ZooKeeper、Dubbo、Elasticse原创 2020-12-07 20:06:44 · 333 阅读 · 8 评论 -
肝完头秃系列!阿里终于把它们的高并发设计手册开源了(数据库+缓存+消息队列+分布式+维护全有!)
双十一已经过去挺久了,不知道大家的快递是否都收到了啊,买的过瘾不,虽然今年双十一又创造了一个新高,但是没有之前双十一那样的冲动,可能是因为今年活动方式改变的缘故,但是不知道大家最近在刷抖音的时候有没有发现这样一个视频:双十一之前,阿里进行各种突发状况的演练,为的就是保障大家的购物体验,但是,这展示的只是硬件资源方面的突击,但是软件方面呢?就像手机,同样8G内存,有的运行流畅,有的就不太行,大家都知道是操作系统的原因,同样的,软件也是这样,当硬件资源已经被保证之后的问题就是软件的东西,毕竟淘宝号称10亿用户,原创 2020-12-06 22:35:09 · 595 阅读 · 1 评论 -
百度大牛甩出Spring高阶手册全新演绎Spring 5新特性,原理+源码+实战三飞
Spring大家都知道Spring是为了降低企业应用开发的复杂性而创建的。Spring不是创造轮子,而是使现有的轮子运转得更好的工具。它方便各种框架集成,降低了JavaEE开发的难度。它的重要性想必不用我多说了,作为一位身处于2020年的Java程序员,从源码到实际开发,Spring这一块是我们绕不过去的坎。既然绕不过去,那就啃下他!对于Spring的学习,小编前段时间刚好在百度的一位大佬手上拿到一份Spring进阶宝典,看了之后,发现市面上的资料与其差距不止一点点!本着好东西就要拿出来分享的原则,原创 2020-12-04 13:58:07 · 1775 阅读 · 17 评论 -
不吹不黑,领域驱动设计与软件复杂度你真不一定能get到
软件开发领域中,软件复杂度是一个由来已久的话题,从软件的诞生到成熟再到消亡,或多或少总会伴随着软件复杂度的讨论。软件复杂度究竟从何而来?谈到软件复杂度,有三个话题不得不提及,他们分别是软件规模,软件结构,以及业务的变化。软件规模首先是软件规模,它涉及到软件本身的代码量,迭代时长以及迭代的次数/数量,以及该软件经手的开发者数量等。这几个要素都会对软件规模造成显著影响,可以回想一下自己接手别人祖传代码时那种忐忑不安、小心翼翼的心态,生怕因为自己的失误导致出现bug甚至背锅的情况;并且代码规模越..原创 2020-12-03 17:22:37 · 670 阅读 · 0 评论 -
SpringBoot中的定时任务的同步与异步你确定真的知道?
定时任务调度功能在我们的开发中是非常常见的,随便举几个例子:定时清除一些过期的数据,定时发送邮件等等,实现定时任务调度的方式也十分多样,本篇文章主要学习各种实现定时任务调度方式的优缺点,以便为日后选择的时候提供一定的参考。本篇要点介绍Timer实现定时任务。 介绍ScheduledExecutorService实现定时任务。 介绍SpringBoot使用SpringTask实现定时任务。 介绍SpringBoot使用SpringTask实现异步任务。Timer实现定时任务基于JDK自带的原创 2020-12-03 17:20:36 · 1512 阅读 · 0 评论 -
聊一聊我眼中的ThreadLocal(面试题形式总结)
这篇总结一下 ThreadLocal,主要的议题有:ThreadLocal 介绍 ThreadLocal 实现原理 ThreadLocal 内存泄漏分析 ThreadLocal 应用场景及示例最早听说 ThreadLocal 是18年还在实习的时候,那时候有一个要用到线程池的任务,有人说并发的问题也可以通过 ThreadLocal 来解决。但当时没有用到这玩意,只留下了个“可以用它来解决并发问题”的模糊印象。直到现在,我也会在项目中用到 ThreadLocal 了,但如果要详细的解释它的实现原创 2020-12-03 17:15:48 · 525 阅读 · 0 评论 -
备战金三银四!前阿里大牛整合“2021面试宝典”终开源!(涵盖百度/腾讯/小米/网易/搜狗/知乎/京东/360/瓜子等公司面试真题)
金九银十已经过去,小编总结了一些面试题目包含百度/腾讯/小米/网易/搜狗/知乎/京东/360/瓜子,现在放上来,由于是自己整理,所以涵盖不全面的话诸位请谅解。根据我这些年的面试经验来看,面试有一定的层次性,如bat级别公司每个点都会深入,而有些公司则只会问到表层,所以将每个领域都分为必须掌握和深入了解这两个部分。一、计算机网络基础部分TCP报头格式 UDP报头格式 TCP/UDP区别(不仅是宏观上的,最好能根据各自的机制讲解清楚) HTTP状态码(最好结合使用场景,比如在缓存命中时使用原创 2020-12-03 16:28:09 · 535 阅读 · 1 评论 -
备战一年五面阿里,终于在2020结束之际成功圆梦!鬼知道我这一年是怎么过来的!
在网上看到一份挺有代表性的阿里面经,跟大家分享一下~前言在接触Java之前我接触的比较多的是硬件方面,用的比较多的语言就是C和C++。到了大三我才正式选择Java方向,到目前为止使用Java到现在大概有一年多的时间,所以Java算不上很好。刚开始投递的时候,实习刚辞职,也没准备笔试面试,很多东西都忘记了。所以,刚开始我并没有直接就投递阿里,毕竟心里还是有一点点小害怕的。于是,我就想投递了几个不算大的公司来练手,就是想着刷刷经验而已或者说是练练手(ps: 还是挺对不起那些公司的)。面了一个月其他公司后原创 2020-12-03 16:20:34 · 487 阅读 · 2 评论 -
不打无准备的战!铁汁们是时候开始准备金三银四了!啃完这份Java面试考点大全你不进大厂我吃屏幕!
受疫情影响,今年似乎给人感觉时间比往年还要流逝得更快。显然,春节一过,我们又将迎来面试旺季金三银四。对于程序员来说,秋招的失利更意味着在金三银四要打一场“硬战”,可又有多少人做好了面试的准备呢?对于一线互联网公司的面试,你又了解多少呢?今天,一本《Java面试考点大全》全网首发,带你摸熟20+互联网公司的面试考点!由于篇幅有限,所以下文内容只会展现「Java面试考点大全」+「互联网面试真题」的部分内容及截图,需要完整版的朋友,一键三连文章,然后加小助理VX:bjmsb2020 获取!本文扼要原创 2020-12-02 21:26:41 · 540 阅读 · 3 评论 -
SpringBoot不止简单用,想要真正的精通SpringBoot,你得好好看看这份阿里大牛手码的SpringBoot源码手册
如果你在使用Sping Boot的过程中只是简单地“用",而不去思考其背后的实现逻辑与思想,即便用得再好,收获也是有限的-这样只能做到"手熟",并不能拥有“匠心"。更重要的是,如果不学习Spring Boot背后那些优秀的设计理念和实现方式,我们肯定不能真正用好Spring Boot。学习Spring Boot的设计理念和实现方式除了能够让开发人员从“手熟”的境界跨入“匠心"的境界,还能够让开发人员在其他业务场景中触类旁通地找到更加优秀的解决方案。同时,开发人员也能够了解代码和项目背后的深层逻辑,这会为原创 2020-12-02 20:06:52 · 474 阅读 · 7 评论 -
Github超火的后台权限管理系统项目实战PDF+源码开源分享
前言随着Spring Boot和Spring Cloud 的诞生和流行,集智慧于大成的Spring技术体系成为行业开发的首选之一。显而易见,在当今开发领域中,谁能更好地掌握这些主流开发技术,谁就能在跟别人竞争的时候多一些筹码,谁就能获得更好的就业机会、薪资报酬和发展空间。像我们做开发的,除了要掌握基础理论,最重要的还是要多实践,对于大多数人来说,最好的成长方式,就是能够进入优秀的项目,跟着优秀的前辈,产出优秀的代码。然而现实是,很多人并不能够进入优秀的项目,也无法跟着优秀的前辈学习优秀的代码。他们原创 2020-10-14 13:52:42 · 2363 阅读 · 32 评论 -
爱了爱了!阿里爆款Spring进阶宝典,涵盖其所有技术栈(源码+实战彻底玩转Spring框架)
前言我们都知道Spring是为了解决企业级应用开发的复杂性而创建的,使用Spring可以让简单的JavaBean实现之前只有EB才能完成的事情。但 Spring不仅仅局限于服务器端开发,任何Java应用都能在简单性、可测试性和松耦合等方面从 Spring中获益。可以说Spring对于Java的影响力是绝对的!也是我们Java程序员避不开的一项必备技术,今天这篇文章就通过一套阿里内部Spring进阶学习资料与大家来聊一聊Spring及相关技术实战与源码解析,希望能让大家对Spring框架有一个新的认知。原创 2020-10-13 13:48:25 · 2355 阅读 · 23 评论 -
灵魂一击!OAuth 2.0单元测试解决方案
为什么需要单元测试单元测试拥有保证代码质量、尽早发现软件 Bug、简化调试过程、促进变化并简化集成、使流程更灵活等优势。单元测试是针对代码单元的独立测试,核心是“独立”,优势来源也是这种独立性,而所面临的不足也正是因为其独立性:既然是“独立”,就难以测试与其他代码和依赖环境的相互关系。单元测试与系统测试是互补而非代替关系。单元测试的优势,正是系统测试的不足,单元测试的不足,又恰是系统测试的优势。不能将单元测试当做解决所有问题的万金油,而需理解其优势与不足,扬长避短,与系统测试相辅相成,实现测试的最大效益原创 2020-10-10 15:17:31 · 748 阅读 · 0 评论 -
基于SpringBoot2环境下的复杂业务下如何自定义实现
一、日志体系集成1、日志管理在系统的开发中,最关键的一个组件工具就是日志,日志打印方便问题排查,或者生产事故回溯,日志记录用来监控并分析系统性能点,并以此为依据,不断对系统进行优化;同时基于用户的操作日志,对用户行为进行分析,开发智能推荐的功能,或者进行营销投放,这在系统中都是常见且关键的业务流程。2、ELK日志体系在大型系统架构中,ELK的日志管理系统是系统必备功能,ELK-Stack是Elasticsearch、Logstash、Kiban三个开源软件的组合,通常用来做日志分析,实时数据原创 2020-09-10 17:13:43 · 509 阅读 · 0 评论 -
一个字,绝!不愧是阿里顶配的保姆级SpringSecurity笔记!
Spring SecuritySpring Security是spring采用AOP思想,基于servlet过滤器实现的安全框架。它提供了完善的认证机制和方法级的授权功能。是一款非常优秀的权限管理框架。在web应用开发中,安全无疑是十分重要的,选择Spring Security来保护web应用是一个非常好的选择。Spring Security 是spring项目之中的一个安全模块,可以非常方便与spring项目无缝集成。特别是在spring boot项目中加入spring security更是十原创 2020-09-09 17:27:39 · 608 阅读 · 2 评论 -
阿里巴巴禁止使用Apache Beanutils进行属性的copy的原因你真的知道嘛?
在日常开发中,我们经常需要给对象进行赋值,通常会调用其set/get方法,有些时候,如果我们要转换的两个对象之间属性大致相同,会考虑使用属性拷贝工具进行。如我们经常在代码中会对一个数据结构封装成DO、SDO、DTO、VO等,而这些Bean中的大部分属性都是一样的,所以使用属性拷贝类工具可以帮助我们节省大量的set和get操作。市面上有很多类似的工具类,比较常用的有1、Spring BeanUtils2、Cglib BeanCopier3、Apache BeanUtils4、Ap...原创 2020-09-08 15:01:14 · 639 阅读 · 0 评论 -
震碎认知!将原理融会贯通到顶点的SpringBoot实战项目
Spring Boot是什么?我们知道,从 2002 年开始,Spring 一直在飞速的发展,如今已经成为了在Java EE(Java Enterprise Edition)开发中真正意义上的标准,但是随着技术的发展,Java EE使用 Spring 逐渐变得笨重起来,大量的 XML 文件存在于项目之中。繁琐的配置,整合第三方框架的配置问题,导致了开发和部署效率的降低。2012 年 10 月,Mike Youngstrom 在 Spring jira 中创建了一个功能请求,要求在 Spring 框架原创 2020-09-03 20:34:35 · 625 阅读 · 0 评论 -
Spring Security增加OAuth2协议授权模式
一、什么是OAuth2协议?OAuth 2.0 是一个关于授权的开放的网络协议,是目前最流行的授权机制。数据的所有者告诉系统,同意授权第三方应用进入系统,获取这些数据。系统从而产生一个短期的进入令牌(token),用来代替密码,供第三方应用使用。由于授权的场景众多,OAuth 2.0 协议定义了获取令牌的四种授权方式,分别是: 授权码模式:授权码模式(authorization code)是功能最完整、流程最严密的授权模式。它的特点就是通过客户端的后台服务器,与"服务提供商"的认证服务器进原创 2020-09-02 14:53:39 · 977 阅读 · 2 评论 -
Java反射基础篇:你真的了解Java反射吗?
反射的思想及作用有反必有正,就像世间的阴和阳,计算机的0和1一样。天道有轮回,苍天...(净会在这瞎bibi)在学习反射之前,先来了解正射是什么。我们平常用的最多的 new 方式实例化对象的方式就是一种正射的体现。假如我需要实例化一个HashMap,代码就会是这样子。Map<Integer, Integer> map = new HashMap<>();map.put(1, 1);复制代码某一天发现,该段程序不适合用 HashMap 存储键值对,更倾向于用Lin原创 2020-08-28 14:56:50 · 727 阅读 · 0 评论 -
不会吧,有人用了两年Spring, 居然不知道包扫描是怎么实现的
Table of Contents如果你曾经使用过 Spring , 那你已经配过 包扫描路径吧,那包扫描是怎么实现的呢?让我们自己写个包扫描用途基于 Java 的反射机制,我们很容易根据 class 去创建一个实例对象,但如果我们根本不知道某个包下有多少对象时,我们应该怎么做呢?在使用 Spring 框架时,会根据包扫描路径来找到所有的 class , 并将其实例化后存入容器中。在我们的项目中也会遇到这样的场景,比如某个包为 org.example.plugins , 这个里面放着所有原创 2020-08-13 15:13:55 · 445 阅读 · 0 评论 -
SpringBoot实战:详解SpringBoot自动配置原理
SpringBoot 自动配置主要通过 @EnableAutoConfiguration, @Conditional, @EnableConfigurationProperties 或者 @ConfigurationProperties 等几个注解来进行自动配置完成的。@EnableAutoConfiguration 开启自动配置,主要作用就是调用 Spring-Core 包里的 loadFactoryNames(),将 autoconfig 包里的已经写好的自动配置加载进来。@Conditional 条.原创 2020-07-21 13:50:39 · 446 阅读 · 0 评论 -
2020 年九大顶级 Java 框架!别再用一些落后的技术了!
Java 创建于 1995 年,目前有 134861 个网站使用 Java,如 ESPN、SnapDeal、阿里巴巴等。在 24 年的发展历程中,Java 已经证明自己是用于自定义软件开发的顶级通用编程语言。Java 广泛应用于科学教育、金融、法律和政府等行业。在下面的饼图中,您可以看到 Java 语言在各个行业中的使用情况。这种开源编程语言是面向对象的,其目的是让应用程序开发人员编写的代码可以“一次编写,随处运行”(WORA)。这使得编译后的 Java 代码可以在每个支持 Java 的平台上运原创 2020-06-02 15:14:30 · 3421 阅读 · 0 评论 -
Spring Boot“内存泄漏”?一文教你如何排查!
为了更好地实现对项目的管理,我们将组内一个项目迁移到MDP框架(基于Spring Boot),随后我们就发现系统会频繁报出Swap区域使用量过高的异常。笔者被叫去帮忙查看原因,发现配置了4G堆内内存,但是实际使用的物理内存竟然高达7G,确实不正常。JVM参数配置是“-XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=256M -XX:+AlwaysPreTouch -XX:ReservedCodeCacheSize=128m -XX:InitialCodeCacheSiz原创 2020-06-01 19:38:53 · 1091 阅读 · 0 评论