Filter、Interceptor和Aspect对请求的拦截,有什么不同?
在使用SpringMVC开发RESTfulAPI的时候,我们经常会使用Java的拦截机制来处理请求,Filter是ServletApi过滤器,Interceptor则是Spring自带的拦截器,而Aspect切面是SpringAOP一个概念,主要的使用场景有:日志记录、事务控制和异常处理,该篇文章主
看完这篇Redis缓存三大问题,保你能和面试官互扯。
日常的开发中,无不都是使用数据库来进行数据的存储,由于一般的系统任务中通常不会存在高并发的情况,所以这样看起来并没有什么问题。一旦涉及大数据量的需求,如一些商品抢购的情景,或者主页访问量瞬间较大的时候,单一使用数据库来保存数据的系统会因为面向磁盘,磁盘读/写速度问题有严重的性能弊端,详细的磁盘读写原
使用 RestTemplate 进行第三方Rest服务调用
1.前言RestTemplate是Spring提供的一个调用Restful服务的抽象层,它简化的同Restful服务的通信方式,隐藏了不必要的一些细节,让我们更加优雅地在应用中调用Restful服务。但是在Spring5.0以后RestTemplate处于维护模式,不再进行新特性的开发,仅仅进行一些
一文读懂数据库事务
什么是事务根据维基百科的定义,一个数据库事务通常包含了一个序列的对数据库的读/写操作。它的存在包含有以下两个目的:1)为数据库操作序列提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法;2)当多个应用程序在并发访问数据库时,可以在这些应用程序之间提供一个隔离
互联网搜索核心组件:Lucene 20 岁生日啦
前言你用过Elasticsearch么?那你知道Elasticsearch底层是基于什么技术演化而来的么?相信用过ES并深入了解过ES的都知道,ES是基于Lucene,隐藏复杂性,提供简单易用的restfulapi接口、javaapi接口、其他语言的接口。现在Lucene从诞生到现在已经20年了,H
Spring 官方发起Spring Authorization Server 项目
Spring官方在近日发布了一则消息:将发起一个新的名为SpringAuthorizationServer[1]的项目。该项目是由SpringSecurity主导的一个社区驱动项目,旨在向Spring社区提供授权服务器支持。谈及缘由,大约十年前Spring官方同样发起了一个社区驱动的开源项目Spri
面试官再问currentHashMap,就将这篇文章甩给他
currentHashMap的介绍ConcurrentHashMap是线程安全并且高效的一种容器,我们就需要研究一下ConcurrentHashMap为什么既能够保证线程安全,又可以保证高效的操作。为什么使用ConcurrentHashMap,我们就需要和HashMap以及HashTable进行比较
程序员到底应该学习什么语言好?
程序员到底应该学习什么语言好?到底应该学习哪个技术方向呢?下面前端君就和老铁们聊一聊。一:看就业机会可能小伙伴儿们会想“兴趣”不应该是第一位吗?为什么说就业机会是第一位呢,因为就业机会决定了你能否在这一行坚持走下去,兴趣虽然重要,但就业是基础。举个例子:年轻人都喜欢打游戏,但真正将打游戏用来变现的却
Java 开发技巧:减少魔法值的使用
1.前言重构老代码中遇到了类似这种写法:publicvoidattend(Stringvalue){if("0".equals(value)){//todo}elseif("1".equals(value)){//todo}else{//todo}}脑壳疼!从Java语法上无懈可击,但是从业务上却让
亚马逊和脸书发布 TorchServe 解决Pytorch 模型的部署问题
4月21日官方发布,PyTorch用户可以使用TorchServe(PyTorch生态新的模型服务框架)来大规模部署经过训练的模型,而无需编写自定义代码。PyTorch是最初由Facebook创建的开源机器学习框架,由于其易用性在机器学习研究人员和数据科学家中广受欢迎。但是,在生产中部署和管理模型通
Java 中的观察者模式
----本文来源于RohitJoshi的《JavaDesignPatterns》一书的Chapter7:ObserverDesignPattern1,前言因为SpringBoot的事件监听机制是基于观察者(发布订阅)模式,因此在弄清开始SpringBoot的事件监听机制的源码分析前,先来学习下观察者
过滤数组中重复元素,你知道最优方案吗?
大家好,今天我们来研究一个比较常见的编码问题。假如现在给我们一个对象数组,它可以是整数数组和字符串数组,也可以是实现Comparable接口的任何对象。带着以下问题,我们来开始今天的文章:我们如何从数组中找到重复的元素?你能用O(n)复杂度来解决这个问题吗?不论在日常工作中,或者在面试中,这都是经常
Spring AOP失效之谜
什么是AOP1AOP(AspectOrientedProgramming),即面向切面编程,其是OOP(ObjectOrientedProgramming,面向对象编程)的补充和完善。在面向对象编程的世界中,我们很容易理解OOP的思想,简单来说,OOP引入封装、继承、多态等概念来建立一种对象层次结构
技术博主的工具箱分享
做技术的想走的远有几点,第一,需要持续学习。第二,需要提升自己在圈子里的影响力。尤其提升影响力最重要,无论是自己的收入和找工作的难易程度都是实实在在提升。提升自己的在编程圈的影响力最好的方式就是坚持写自己的技术博客。今天我就整理了一个写作工具箱,让你事半功倍的提高自己的博文技巧!!!OpenWrit
理解卷积神经网络中的四种卷积
卷积现在可能是深度学习中最重要的概念。正是靠着卷积和卷积神经网络,深度学习才超越了几乎其他所有的机器学习手段。这期我们一起学习下深度学习中常见的卷积有哪些?1.一般卷积卷积在数学上用通俗的话来说就是输入矩阵与卷积核(卷积核也是矩阵)进行对应元素相乘并求和,所以一次卷积的结果的输出是一个数,最后对整个
Intellij IDEA 美化指南
经常有人问我,你的IDEA配色哪里搞的,我会告诉他我自己改的。作为生产力工具,不但要顺手而且更要顺眼。这样才能快乐编码,甚至降低BUG率。上次分享了一些IDEA有用的插件,反响热烈。这次分享一些可以“美颜"的技巧。theme插件通过在插件市场搜索关键字theme你可以找到很多美化插件,挑选一款自己喜
浅谈数据库乐观锁、悲观锁
并发问题当程序中出现并发的问题时,我们就要有相应的手段保证数据的正确性,防止多个用户在操作数据的时候,出现和预期数据不一样的现象,产生脏数据,在数据库的层面如果没有做好并发控制,就可能导致脏读、幻读和不可重复读等问题,所以对于并发场景锁机制的应用是非常有效的,保证了数据的准确性。图片来源于网络以上的
学历,对于程序员来说,到底有重要?
前言每一个职场失意的程序员,都可能内心会想我是不是学历不够,是不是应该考虑提升下学历问题,也有很多大佬不屑于学历的提升,感觉是浪费时间,但是学历确实是你进入一个大公司的门槛,就拿我工作过的国家电网和东软集团来说吧,在国网中的软件开发人员其实有很多也是参加外聘进来的尤其是西北地区,但是基本学历都是本科
Java 泛型在哪些情况下无法使用
1.前言Java1.5引入了泛型来保证类型安全,防止在运行时发生类型转换异常,让类型参数化,提高了代码的可读性和重用率。但是有些情况下泛型也是不允许使用的,今天就总结一下编码中不能使用泛型的一些场景。2.基本类型无法直接使用泛型以下写法是错误的://errorMap<int,char>w
被吹的神乎其神的Python都能干什么
文末领取免费学习福利1.前言最近几年Python被吹的神乎其神,很多同学都不清楚Python到底能干什么就盲目去学习Python,今天小胖哥就Python的应用领域来简单盘点一下,让想学习Python的同学找对方向。2.Python的特点这里就谈谈自己的看法,首先Python是跨平台语言,语法很简洁