- tf1.15 使用过程中的一些坑
天蓝蓝的本我
笔记论文tensorflow1.15tensorflow
文章目录安装tf1.x中的一些注意事项使用时有错,先把跟包版本有关的列出来:提示无scipy.misc:ModuleNotFoundError:Nomodulenamed‘tensorflow.python.types‘TypeError:batch_normalization()gotanunexpectedkeywordargument'decay'Processfinishedwithexi
- tensorflow中batch_normalization的正确使用姿势
我就算饿死也不做程序员
pythontensorflowtensorflow深度学习python
原理batch_normalization一般是用在进入网络之前,它的作用是可以将每层网络的输入的数据分布变成正态分布,有利于网络的稳定性,加快收敛。具体的公式如下:γ(x−μ)σ2+ϵ+β\frac{\gamma(x-\mu)}{\sqrt{\sigma^2+\epsilon}}+\betaσ2+ϵγ(x−μ)+β其中γ\gammaγ和β\betaβ是决定最终的正态分布,分别影响了方差和均值,ϵ
- [nlp] 数据预处理:归一化&标准化&PCA降维&ZCA
心心喵
nlp机器学习
参考:https://www.cnblogs.com/pinard/p/6243025.html参考:百度网盘ppt参考:https文章目录一、归一化(Normalization)最大最小、平均、非线性归一化批量归一化Batch_Normalization二、标准化(Standardization)归一化&标准化的作用:什么时候用归一化?什么时候用标准化?中心化(Zero-centered)三、白
- tf.layers.dense
听风1996
参考:https://cuiqingcai.com/5715.htmltf.layers模块提供的方法有:Input(…):用于实例化一个输入Tensor,作为神经网络的输入。average_pooling1d(…):一维平均池化层average_pooling2d(…):二维平均池化层average_pooling3d(…):三维平均池化层batch_normalization(…):批量标准化
- 算法岗面试——深度学习总结
早上起来闹钟又丢了
BatchNormalization介绍参考知乎深度学习中BatchNormalization为什么效果好?参考CSDN对Batch_Normalization的理解神经网络在训练的时候随着网络层数的加深,激活函数的输入值的整体分布逐渐往激活函数的取值区间上下限靠近,从而导致在反向传播时低层的神经网络的梯度消失。而BatchNormalization的作用是通过规范化的手段,将越来越偏的分布拉回到
- 简述批量归一化batch_normalization
weixin_45268911
神经网络深度学习算法
批量归一化batch_normalization一、为什么要用批量归一化机器学习领域有个很重要的假设:独立同分布假设,就是假设训练数据和测试数据是满足相同分布的,这是通过训练数据获得的模型能够在测试集获得好的效果的一个基本保障。如果训练数据与测试数据的分布不同,网络的泛化能力就会严重降低。在之前的学习过程中我们知道,输入层的数据,已经归一化,而后面网络每一层的输入数据的分布一直在发生变化,前面层训
- tf卷积神经网络CNN进行mnist手写数字识别,dense,conv2d,batch_normalization
安達と島村
python机器学习tf
对此文内容做了简化和对一个卷积层做了batch_normalization的处理。batch_normalization:更有效的在各层间传递数据,加速训练平稳收敛。训练时training设置true,测试时设置false。batch_normalization需要在该层的激活函数之前做。tf.nn.max_pool(value,ksize,strides,padding,name=None),参
- Batch_Normalization的理解
沐辰光
大数据python深度学习batchpytorch
Batch_Normalization即对一个batch中所有的featuremap的同一个通道(所有特征图的同一个通道、所有卷积核的同一个通道)进行标准化例子:
- Batch_Normalization 、Layer_Normalization 、Group_Normalization你分的清楚吗
秃头小苏
视觉BatchNormalization深度学习
作者简介:秃头小苏,致力于用最通俗的语言描述问题往期回顾:目标检测系列——开山之作RCNN原理详解 目标检测系列——FastR-CNN原理详解 目标检测系列——FasterR-CNN原理详解近期目标:拥有10000粉丝支持小苏:点赞、收藏⭐、留言文章目录Batch_Normalization、Layer_Normalization、Group_Normalization你分的清楚吗写在前面Ba
- 从零开始开发自己的类keras深度学习框架6 :batch_normalization
校草的舍友
神经网络深度学习深度学习神经网络
认真学习,佛系更博。本章将详细介绍batch_normalization层,batch_normalization不仅可用在卷积层,也适用于全连接层;此外,需要注意,卷积层的batch_normalization是对channel维之外所有的维度作归一化操作,其原因我觉得比较合理的是这个:https://www.zhihu.com/question/269658514/answer/8279414
- Internal_Covariate_Shift现象以及Batch Normalization的可视化
mantoureganmian
Tensorflow2.0深度学习深度学习可视化BN
文章目录序InternalCovariateShift不加BN与加BN可视化对比第一层网络和最后一层的对比底中顶三层的变化对比最后三层的变化对比全部对比结论代码序本文注重对Internal_Covariate_Shift和Batch_Normalization的可视化。什么是Internal_Covariate_Shift和Batch_Normalization请参考InternalCovaria
- tl.layers.BatchNormLayer使用
yalesaleng
首先应注意batch_normalization的位置,一般是在conv之后,激活函数之前。那么如何在自己的网络结构里插入bn呢?TensorLayer官方示例net=Conv2dLayer(net_in,act=tf.identity,shape=(3,3,3,32),strides=(1,1,1,1),padding='SAME',name='conv_1')net=MaxPool2d(net
- Pytorch学习笔记【20】:batch_normalization(批标准化)
strong tyj
#Pytorch
1.什么叫做批标准化呢?简单来说就是将数据有效的控制在一个范围内,这样神经网络才能更好的学习它,具体不做阐述,感兴趣的读者可以去查查资料哦,本篇代码主要对比使用批标准化和不使用两种情况。2.代码importtorchfromtorchimportnnfromtorch.nnimportinitimporttorch.utils.dataasDataimportmatplotlib.pyplotas
- 关于BN层的一点理解
solAmn
machinelearning
一直以来对BN层两个学习参数belta和gamma不太理解,今天又在知乎问题上看到了“请问batch_normalization做了normalization后为什么要变回来?”这个问题,题主好像跟我之前想的一样(笑)。于是认真查阅了相关资料,得到以下一点见解:InternalCovariateShift(ICS)[1]:对DNN某一层,随着GD训练的过程中参数的改变,该层的输出数据的分布可能会改
- Pytorch batch_normalization层详解
winycg
深度学习与pytorch
参考:https://www.jianshu.com/p/b38e14c1f14dbatch_normalization1D可以使用batch_normalization对隐藏层的数据进行正态分布标准化,由于标准化后可能影响神经网络的表达能力。normalize后的数据再使用缩放系数γ和平移系数β进行缩放和平移。其中γ和β参数需要进行进行反向传播学习,使得处理后的数据达到最佳的使用效果。ε是为了防
- batch normalization 技术的引入
AndrewThompson
学习笔记
在上一篇介绍的基础上引入了一种新的技术,为batch_normalization,然后重新运行,可以看到对于这几种更新技术而言或多或少的都有提高,具体实现如下:layers.py文件的实现:importnumpyasnpdefsimple_forward(x,w,b):output=x.dot(w)+breturnoutputdefrelu_func(x):returnnp.maximum(x,0
- batch_normalization
轻描没淡写
1.tf.nn.batch_normalization(x,mean,variance,offset,scale,variance_epsilon,name=None)x:inputmean:样本均值variance:样本方差offset:样本偏移(相加一个转化值)scale:缩放(默认为1)variance_epsilon:为了避免分母为0,添加的一个极小值2.tf.nn.moments(x,a
- 【tensorflow】batch_normalization
我从崖边跌落
TensorFlow
目前主流的训练深度神经网络的算法是梯度下降算法,简而言之该过程就是通过将网络输出值与真实值之间的误差信号逐层传递至神经网络的每个节点,进而更新节点与节点之间的参数。但深度神经网络的调参过程一直是个问题。随着梯度下降算法的不断改进,已经有越来越多的算法尝试减少调参的工作量,比如减小学习率、选取合适的权重初始化函数、应用Dropout等等,而BatchNormalization也是一个加速神经网络训练
- Tensorflow.slim 库中 batch_normalization 的问题及其替代方法
JYZhang_sh
Tensorflow小Tips机器学习
BatchNormalization的公式y=γx−μσ+ϵ+βy=\gamma\frac{x-\mu}{\sigma+\epsilon}+\betay=γσ+ϵx−μ+β参数:xxx是输入数据,yyy是batchnormalization的结果,γ\gammaγ和β\betaβ是可学习的参数确保数据被过度正则化为均值0方差1的数据,而μ\muμ和σ\sigmaσ是数据相关的确保当前训练数据正则化
- 5、VGG16神经网络
xl369963
defBatch_normal(input,is_training):'''定义标准batch_normal层'''returntf.layers.batch_normalization(inputs=input,epsilon=1e-3,training=is_training)在卷积层将激活函数设置为None。使用batch_normalization。使用激活函数激活。https://www
- Local Response Normalization和batch_normalization的区别
求索_700e
下面这篇文章对LocalResponseNormalization讲得比较清楚了。https://blog.csdn.net/yangdashi888/article/details/77918311文章中提出了:上面公式中的a表示卷积层(包括卷积操作和池化操作)后的输出结果,所以一般LocalResponseNormalization都是用在卷积(加上激活函数)+池化操作+LocalRespon
- Batch_Normalization原理及作用
fuqiuai
机器学习常见问题
Batch_Normalization(BN/批标准化)1.BN概念传统的神经网络,只是在将样本x输入输入层之前对x进行标准化处理,以降低样本间的差异性。BN是在此基础上,不仅仅只对输入层的输入数据x进行标准化,还对每个隐藏层的输入进行标准化。(那为什么需要对每个隐藏层的输入进行标准化呢?或者说这样做有什么好处呢?这就牵涉到一个CovariateShift问题)2.CovariateShift问题
- 正确使用Tensorflow Batch_normalization
不吃饭会饿
深度学习
题外话:tensorflow中,tf.contrib是一些尝试代码或者不稳定的代码,将来可能会被弃用或者删除;tf.layers中是一些已经确定了的代码,基本不会有大的改动;tf.nn是最基本的代码,级别最低,基本不会变,但要实现各种功能,需要自己组合别的api来实现。使用tf.layers.batch_normalization(),首先是api接口:点击打开链接注意:训练:1.设置traini
- 关于在神经网络训练中使用批量归一化(batch_normalization)时遇到的参数
枪枪枪
MachineLearning
文章目录批量归一化参数momentum参数epsilon参数training实例批量归一化defbatch_normalization(inputs,axis=-1,momentum=0.99,epsilon=1e-3,center=True,scale=True,beta_initializer=init_ops.zeros_initializer(),gamma_initializer=ini
- Batch normalization理解
copain_sir
在学习源码的过程中,发现在搭建网络架构的时候,经常会用到bn算法(即batch_normalization,批标准化),所以有必要深入去研究其中的奥妙。bn算法的提出在2015年的论文《BatchNormalization:AcceleratingDeepNetworkTrainingbyReducingInternalCovariateShift》。正如论文开始所说:由于训练过程中各层输入的分布
- 网易杭州*秋招提前批面试
wendy_要努力努力再努力
一面GG反思挂的原因:项目做得都不够深基础知识不牢固:交叉熵、batch_normalization、loss函数的选择、回归函数有哪些loss、这样设计的原理是什么、编程语言不过关:网易希望你擅长c++你说你只会Python印象分就很差了在描述我的阿里实习经历时,网络框架没讲请、没有狂拽酷炫的网络结构、此处我觉得面试官是傻逼,自己写的网络结构就这么被鄙视么,一定要在别人已有网络上改才厉害么?在描
- TensorFlow 常用的4个模块
Key_jiang
1、tf.nn神经网络的功能支持模块,这是最常用到的一个模块,用于构建经典的卷积网络,它下面还包含了rnn_cell的子模块,用于构建循环神经网络;avg_pool(...):平均池化batch_normalization(...):批标准化bias_add(...):添加偏置conv2d(...):2维卷积dropout(...):随机丢弃神经网络单元relu(...):relu激活层sigmo
- tensorflow解决batch_normalization模型调用遇到的问题和模型引入正则项的问题
qq_38644840
深度学习入门
最近遇到一个比较奇怪的问题,就是调用训练好的mobilenet_v2时出现模型输出结果全是瞎猜的!最后发现batch_normalize的问题训练过程中将tf.layers.batch_normalization中的train设置成True,验证集设置成False.发现验证集的准确率保持不变了,如果将验证集也设置成True,验证准确率会提升,但是在模型调用的时候就会出现上述输出全是瞎猜的。需要增加
- 深层神经网络难拟合与Batch Normalization问题
black_shuang
机器学习读书笔记
主要总结两个问题:为什么传统的深层神经网络,随着层数的增加会越来越难拟合训练?问题1的常见对策(Batch_Normalization)的介绍一、为什么传统的深层神经网络,随着层数的增加会越来越难拟合训练?众所周知,传统的深层神经网络,随着层数的加深,模型会变得很难训练,很难拟合,这个很多人都知道,但是为什么呢,怎么样解释清楚?首先机器学习领域有一个很重要的假设:即独立同分布假设,就是假设训练数据
- Tensorflow中BN层的使用
zaf赵
图像处理与机器视觉机器学习TensorFlow深度学习
使用tf.layers.batch_normalization()需要三步:在卷积层将激活函数设置为None。使用batch_normalization。使用激活函数激活。需要特别注意的是:在训练时,需要将第二个参数training=True。在测试时,将training=False。同时,在降低loss时候时候:update_ops=tf.get_collection(tf.GraphKeys.
- 安装数据库首次应用
Array_06
javaoraclesql
可是为什么再一次失败之后就变成直接跳过那个要求
enter full pathname of java.exe的界面
这个java.exe是你的Oracle 11g安装目录中例如:【F:\app\chen\product\11.2.0\dbhome_1\jdk\jre\bin】下的java.exe 。不是你的电脑安装的java jdk下的java.exe!
注意第一次,使用SQL D
- Weblogic Server Console密码修改和遗忘解决方法
bijian1013
Welogic
在工作中一同事将Weblogic的console的密码忘记了,通过网上查询资料解决,实践整理了一下。
一.修改Console密码
打开weblogic控制台,安全领域 --> myrealm -->&n
- IllegalStateException: Cannot forward a response that is already committed
Cwind
javaServlets
对于初学者来说,一个常见的误解是:当调用 forward() 或者 sendRedirect() 时控制流将会自动跳出原函数。标题所示错误通常是基于此误解而引起的。 示例代码:
protected void doPost() {
if (someCondition) {
sendRedirect();
}
forward(); // Thi
- 基于流的装饰设计模式
木zi_鸣
设计模式
当想要对已有类的对象进行功能增强时,可以定义一个类,将已有对象传入,基于已有的功能,并提供加强功能。
自定义的类成为装饰类
模仿BufferedReader,对Reader进行包装,体现装饰设计模式
装饰类通常会通过构造方法接受被装饰的对象,并基于被装饰的对象功能,提供更强的功能。
装饰模式比继承灵活,避免继承臃肿,降低了类与类之间的关系
装饰类因为增强已有对象,具备的功能该
- Linux中的uniq命令
被触发
linux
Linux命令uniq的作用是过滤重复部分显示文件内容,这个命令读取输入文件,并比较相邻的行。在正常情 况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。该命令加工后的结果写到输出文件中。输入文件和输出文件必须不同。如 果输入文件用“- ”表示,则从标准输入读取。
AD:
uniq [选项] 文件
说明:这个命令读取输入文件,并比较相邻的行。在正常情况下,第二个
- 正则表达式Pattern
肆无忌惮_
Pattern
正则表达式是符合一定规则的表达式,用来专门操作字符串,对字符创进行匹配,切割,替换,获取。
例如,我们需要对QQ号码格式进行检验
规则是长度6~12位 不能0开头 只能是数字,我们可以一位一位进行比较,利用parseLong进行判断,或者是用正则表达式来匹配[1-9][0-9]{4,14} 或者 [1-9]\d{4,14}
&nbs
- Oracle高级查询之OVER (PARTITION BY ..)
知了ing
oraclesql
一、rank()/dense_rank() over(partition by ...order by ...)
现在客户有这样一个需求,查询每个部门工资最高的雇员的信息,相信有一定oracle应用知识的同学都能写出下面的SQL语句:
select e.ename, e.job, e.sal, e.deptno
from scott.emp e,
(se
- Python调试
矮蛋蛋
pythonpdb
原文地址:
http://blog.csdn.net/xuyuefei1988/article/details/19399137
1、下面网上收罗的资料初学者应该够用了,但对比IBM的Python 代码调试技巧:
IBM:包括 pdb 模块、利用 PyDev 和 Eclipse 集成进行调试、PyCharm 以及 Debug 日志进行调试:
http://www.ibm.com/d
- webservice传递自定义对象时函数为空,以及boolean不对应的问题
alleni123
webservice
今天在客户端调用方法
NodeStatus status=iservice.getNodeStatus().
结果NodeStatus的属性都是null。
进行debug之后,发现服务器端返回的确实是有值的对象。
后来发现原来是因为在客户端,NodeStatus的setter全部被我删除了。
本来是因为逻辑上不需要在客户端使用setter, 结果改了之后竟然不能获取带属性值的
- java如何干掉指针,又如何巧妙的通过引用来操作指针————>说的就是java指针
百合不是茶
C语言的强大在于可以直接操作指针的地址,通过改变指针的地址指向来达到更改地址的目的,又是由于c语言的指针过于强大,初学者很难掌握, java的出现解决了c,c++中指针的问题 java将指针封装在底层,开发人员是不能够去操作指针的地址,但是可以通过引用来间接的操作:
定义一个指针p来指向a的地址(&是地址符号):
- Eclipse打不开,提示“An error has occurred.See the log file ***/.log”
bijian1013
eclipse
打开eclipse工作目录的\.metadata\.log文件,发现如下错误:
!ENTRY org.eclipse.osgi 4 0 2012-09-10 09:28:57.139
!MESSAGE Application error
!STACK 1
java.lang.NoClassDefFoundError: org/eclipse/core/resources/IContai
- spring aop实例annotation方法实现
bijian1013
javaspringAOPannotation
在spring aop实例中我们通过配置xml文件来实现AOP,这里学习使用annotation来实现,使用annotation其实就是指明具体的aspect,pointcut和advice。1.申明一个切面(用一个类来实现)在这个切面里,包括了advice和pointcut
AdviceMethods.jav
- [Velocity一]Velocity语法基础入门
bit1129
velocity
用户和开发人员参考文档
http://velocity.apache.org/engine/releases/velocity-1.7/developer-guide.html
注释
1.行级注释##
2.多行注释#* *#
变量定义
使用$开头的字符串是变量定义,例如$var1, $var2,
赋值
使用#set为变量赋值,例
- 【Kafka十一】关于Kafka的副本管理
bit1129
kafka
1. 关于request.required.acks
request.required.acks控制者Producer写请求的什么时候可以确认写成功,默认是0,
0表示即不进行确认即返回。
1表示Leader写成功即返回,此时还没有进行写数据同步到其它Follower Partition中
-1表示根据指定的最少Partition确认后才返回,这个在
Th
- lua统计nginx内部变量数据
ronin47
lua nginx 统计
server {
listen 80;
server_name photo.domain.com;
location /{set $str $uri;
content_by_lua '
local url = ngx.var.uri
local res = ngx.location.capture(
- java-11.二叉树中节点的最大距离
bylijinnan
java
import java.util.ArrayList;
import java.util.List;
public class MaxLenInBinTree {
/*
a. 1
/ \
2 3
/ \ / \
4 5 6 7
max=4 pass "root"
- Netty源码学习-ReadTimeoutHandler
bylijinnan
javanetty
ReadTimeoutHandler的实现思路:
开启一个定时任务,如果在指定时间内没有接收到消息,则抛出ReadTimeoutException
这个异常的捕获,在开发中,交给跟在ReadTimeoutHandler后面的ChannelHandler,例如
private final ChannelHandler timeoutHandler =
new ReadTim
- jquery验证上传文件样式及大小(好用)
cngolon
文件上传jquery验证
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="jquery1.8/jquery-1.8.0.
- 浏览器兼容【转】
cuishikuan
css浏览器IE
浏览器兼容问题一:不同浏览器的标签默认的外补丁和内补丁不同
问题症状:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大。
碰到频率:100%
解决方案:CSS里 *{margin:0;padding:0;}
备注:这个是最常见的也是最易解决的一个浏览器兼容性问题,几乎所有的CSS文件开头都会用通配符*来设
- Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
daizj
shell$#$?特殊变量
前面已经讲到,变量名只能包含数字、字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量。例如,$ 表示当前Shell进程的ID,即pid,看下面的代码:
$echo $$
运行结果
29949
特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个
- 程序设计KISS 原则-------KEEP IT SIMPLE, STUPID!
dcj3sjt126com
unix
翻到一本书,讲到编程一般原则是kiss:Keep It Simple, Stupid.对这个原则深有体会,其实不仅编程如此,而且系统架构也是如此。
KEEP IT SIMPLE, STUPID! 编写只做一件事情,并且要做好的程序;编写可以在一起工作的程序,编写处理文本流的程序,因为这是通用的接口。这就是UNIX哲学.所有的哲学真 正的浓缩为一个铁一样的定律,高明的工程师的神圣的“KISS 原
- android Activity间List传值
dcj3sjt126com
Activity
第一个Activity:
import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import a
- tomcat 设置java虚拟机内存
eksliang
tomcat 内存设置
转载请出自出处:http://eksliang.iteye.com/blog/2117772
http://eksliang.iteye.com/
常见的内存溢出有以下两种:
java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: Java heap space
------------
- Android 数据库事务处理
gqdy365
android
使用SQLiteDatabase的beginTransaction()方法可以开启一个事务,程序执行到endTransaction() 方法时会检查事务的标志是否为成功,如果程序执行到endTransaction()之前调用了setTransactionSuccessful() 方法设置事务的标志为成功则提交事务,如果没有调用setTransactionSuccessful() 方法则回滚事务。事
- Java 打开浏览器
hw1287789687
打开网址open浏览器open browser打开url打开浏览器
使用java 语言如何打开浏览器呢?
我们先研究下在cmd窗口中,如何打开网址
使用IE 打开
D:\software\bin>cmd /c start iexplore http://hw1287789687.iteye.com/blog/2153709
使用火狐打开
D:\software\bin>cmd /c start firefox http://hw1287789
- ReplaceGoogleCDN:将 Google CDN 替换为国内的 Chrome 插件
justjavac
chromeGooglegoogle apichrome插件
Chrome Web Store 安装地址: https://chrome.google.com/webstore/detail/replace-google-cdn/kpampjmfiopfpkkepbllemkibefkiice
由于众所周知的原因,只需替换一个域名就可以继续使用Google提供的前端公共库了。 同样,通过script标记引用这些资源,让网站访问速度瞬间提速吧
- 进程VS.线程
m635674608
线程
资料来源:
http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001397567993007df355a3394da48f0bf14960f0c78753f000 1、Apache最早就是采用多进程模式 2、IIS服务器默认采用多线程模式 3、多进程优缺点 优点:
多进程模式最大
- Linux下安装MemCached
字符串
memcached
前提准备:1. MemCached目前最新版本为:1.4.22,可以从官网下载到。2. MemCached依赖libevent,因此在安装MemCached之前需要先安装libevent。2.1 运行下面命令,查看系统是否已安装libevent。[root@SecurityCheck ~]# rpm -qa|grep libevent libevent-headers-1.4.13-4.el6.n
- java设计模式之--jdk动态代理(实现aop编程)
Supanccy2013
javaDAO设计模式AOP
与静态代理类对照的是动态代理类,动态代理类的字节码在程序运行时由Java反射机制动态生成,无需程序员手工编写它的源代码。动态代理类不仅简化了编程工作,而且提高了软件系统的可扩展性,因为Java 反射机制可以生成任意类型的动态代理类。java.lang.reflect 包中的Proxy类和InvocationHandler 接口提供了生成动态代理类的能力。
&
- Spring 4.2新特性-对java8默认方法(default method)定义Bean的支持
wiselyman
spring 4
2.1 默认方法(default method)
java8引入了一个default medthod;
用来扩展已有的接口,在对已有接口的使用不产生任何影响的情况下,添加扩展
使用default关键字
Spring 4.2支持加载在默认方法里声明的bean
2.2
将要被声明成bean的类
public class DemoService {