- 博客(16)
- 收藏
- 关注
原创 浅析Java8中的Stream API (1)
Stream APIStream API是什么?Stream API是Java8类库的核心,它能够应用在一组元素上一次执行的操作序列。Stream操作分为中间操作(StatelessOP、StatefulOP)或者最终操作(TerminalOP)两种,最终操作返回一特定类型的计算结果,而中间操作返回Stream本身,这样你我们就可以将多个操作串起来。 使用Stream的时候需要指定一个...
2018-07-30 23:21:37 544
原创 Spring源码浅析之Bean的创建(后篇)
在前篇中我们已经对Spring容器中的AbstractBeanFactory类作了简单的介绍。当Spring容器使用BeanFactory获取单例bean时,会从缓存中获取已经注册的bean实例,如果还未注册会创建该bean实例。对于原型bean,Spring容器总是会创建一个新的bean实例。 在本篇中我们将对AbstractBeanFactory类中createBean方法做简单的分析。在A...
2018-05-25 14:16:05 406
原创 Spring源码浅析之Bean的创建(前篇)
在Spring容器中,Bean的生命周期都是交由BeanFactory接口以及它的实现类处理的。 AbstractBeanFactory是BeanFactory接口的一个默认抽象实现类,他实现了BeanFactory接口的方法,并在此基础上进行了扩展。 Spring规定BeanFactory接口的实现类应该能尽可能的支持bean的标准生命周期。 一个Bean的标准生命周期如下(图片侵删): ...
2018-05-23 22:37:10 751
原创 Spring源码浅析之BeanDefinition
我们在spring源码中可以看到其是通过AbstractAutowireCapableBeanFactory这个类完成对bean的创建的。在以后的博客中,我会再详细介绍spring是如何创建一个bean的。 在这之前,我们需要对一些其他类有一个先入的了解,其中,在创建bean时反复出现的RootBeanDefinition类就是必须要先了解的类之一。 RootBeanDefinition类其实...
2018-05-17 19:10:44 3339
翻译 理解与入门LSTM网络模型
最近在实验室搞论文,研究的方向是时间序列的预测,接触到了LSTM模型,特地在此记录一下。 下面我翻译了colah大神的 Understanding LSTM Networks 博文,帮助自己理解。可以说看这篇文章就能对lstm模型有了一个大概的了解(渣英语):Recurrent Neural Networks 人们不会每次都从头开始思考问题。就像当你在阅读这篇文章时,你会根据以前对文字的理...
2018-04-24 14:59:22 1123
原创 记一次项目部署排错经历
之前在公司实习时,遇到过一个比较诡异的项目部署问题,特别记录下来,如果以后能够遇到同样问题,可以方便快速定位。 组内有内部项目需要部署在服务器虚拟机上,要求数据库和项目分两台虚拟机部署。 环境上有四台机子,三台服务器上的虚拟机,一台本地开发机,本体开发机为A,D,系统为windows,虚拟机为B,C,系统为Linux,Mysql装载B上,项目装在C上。 坑此坑次装完MySQL,允许远程连接,...
2018-04-17 10:36:13 473
原创 记一次阿里实习的面经
4.15已发offer。 简历年前就投递了,报的是蚂蚁金服的Java研发实习生。前前后后经历了六轮面试,整体难度不大但自己发挥的也不算很好,因为时间过去有点久,有些问题记不得了,只记录了大概的一些内容吧,具体流程如下:2.28简历评估面 年还没过完,没想到就接到了一面电话。当时还在沙发上看电视,一个小姐姐就打电话来说方不方便进行电话面试,整个人都是懵懵的,以为是约个时间,没想到直接开始了。...
2018-04-14 17:07:06 8964 5
原创 浅谈springMVC中的设计模式(5)——组合模式
相信大家在使用springMVC的时候,都或多或少需要对它进行配置,不管使用xml的方式还是Java注解的方式。今天我们就从springMVC的配置上,谈一谈其中一个很重要的设计模式:组合模式。定义 惯例我们先来看一看组合模式的定义:组合模式,将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。通俗的来说,就是讲一系列的对象组合在一个整体...
2018-04-06 17:21:33 5718
原创 浅谈springMVC中的设计模式(4)——建造者模式
建造者模式,对于后端开发人员来说应该是很熟悉的,我们比较常用的HttpClient框架在构建Client时就用到了建造者模式。定义 惯例先来看看建造者模式的定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。UriComponents 可以说建造者模式理解起来是比较的容易的。它就是将复杂类的构建与其本身解耦合,并在其构造类中完成对它不同形式的创建。 在sp...
2018-04-01 15:42:29 4493
原创 浅谈springMVC中的设计模式(3)——策略模式
在springMVC中,我们常常能看到策略模式的身影,其实策略模式在我们日常开发中也是十分常见的设计模式,先来看看它的定义:策略模式是指对一系列的算法定义,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。 使用策略模式有时候可以让我们的编码从繁琐难维护的if-else中解放出来。getDefaultStrategies 例如在DispatchS...
2018-03-25 14:44:18 8398 1
原创 浅谈springMVC中的设计模式(2)——适配器模式
在上一篇中我们说到了springMVC中的责任链模式,今天再来说说另一个在springMVC中用到的比较重要的设计模式——适配器模式。定义: 开始之前,先来看一下适配器模式的定义:适配器模式将某个类的接口转换成客户端期望的另一个接口表示,主的目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作.它主要分为三类:类适配器模式、对象的适配器模式、接口的适配器模式.这里不再累述.H...
2018-03-19 22:18:21 2169 2
原创 浅谈springMVC中的设计模式(1)——责任链模式
最近终于闲了下来,准备自己记录些东西。网上关于springMVC的资料很多,但关于设计模式的还有限,我就想把springMVC源码中的设计模式抽出来做成一个系列,简单的谈一下其中的实现原理,作为一种学习分享,以后有更深的感悟也会更新。 先从一张图对整个springMVC的运作流程有一个大致的了解,图片侵删。 HandlerExecutionChain 其中我们可以看到,在springMV...
2018-03-17 13:02:31 12709 3
原创 feign上使用摘要认证
这两天碰到一个需求,需要访问公司另一个服务的远程接口,日常也开始接触学习springcloud,想到了feign,比直接用httpclient要方便许多。但是一上手发现对方在请求时需要进行摘要认证,而feign找了半天只有简单的Basic认证。这两种认证的原理和区别就不说了。最终我找了些资料解决了这个问题,直接上代码吧。 首先引入依赖,注意这里得引入一个feign-httpclient,保证有一...
2017-12-07 21:47:57 1696
原创 maven的依赖范围控制(scope)
上次在整合sdk时遇到了jar包冲突的问题,今天接触到了公司前辈写的源码,看看有什么办法可以解决这个问题,发现了一个还不错的方式,就是从maven依赖的scope入手。maven提供的scope有一下几个:compile是默认的范围;如果没有提供一个范围,那该依赖的范围就是编译范围。编译范围依赖在所有的classpath 中可用,同时它们也会被打包。provided 依赖只有在当JDK 或者一个容器
2017-11-14 22:03:58 531
原创 解决依赖冲突
今天用springboot开发的时候,引入了公司的一个sdk,发现SDK中的logback与springboot中的logback产生了冲突,冲突原因可能是两者的版本不同。各种查资料,发现可以用maven把springboot中的logback给exclude出去,如图所示<exclusions> <exclusion> <artifactId>xxx</artifactId
2017-11-10 22:19:00 627
原创 事务的传播级别和隔离级别
Spring的7种事务传播级别(事务的控制范围):1) PROPAGATION_REQUIRED ,默认的Spring事务传播级别,使用该级别的特点是,如果上下文中已经存在事务,那么就加入到事务中执行,如果当前上下文中不存在事务,则新建事务执行。所以这个级别通常能满足处理大多数的业务场景。2)PROPAGATION_SUPPORTS ,该传播级别的特点是,如果上下文存在事务,则支持事务加入...
2017-10-28 00:11:01 500
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人