- windows script host 无法找到脚本文件program files(x86)\游戏平台\steamalypc\estm.vbs 开机弹窗如何解决
电气之子
游戏
安装了某第三方游戏租号平台后每次开机都有这个弹窗,很烦,然后研究了这个解决方法分享给大家1.开始界面搜索任务计划程序,然后打开2.在中间的任务计划中找到boottriggertesttask以及boottriggertesttaskusers,分别单击选中后,点击最右侧的删除即可3.重启完美解决问题!!!
- Docker 将镜像打成压缩包将压缩包传到服务器运行
一只帆記
Dockerdocker服务器容器
1.本地操作:将镜像打包为压缩文件#查看本地镜像列表dockerimages#打包指定镜像(替换your_image:tag为实际镜像名称和标签)dockersaveyour_image:tag|gzip>my_image.tar.gz示例:dockersavenginx:latest|gzip>nginx.tar.gz2.传输压缩包到服务器使用scp命令传输(确保服务器已开启SSH):scpmy
- 解决登录Docker Desktop后Unable to pull postgres:latest (HTTP code 401) unexpected - authentication xxx报错
博主刚刚安装好DockerDesktop在拉取镜像时出现了这个报错解决方法打开命令行,输入:dockerlogin然后按照提示,输入与dockerdesktop相同的用户名username与密码password,回车即可看到:LoginSucceeded然后就可以操控DockerDesktop拉取镜像什么的了问题解析参考链接https://github.com/docker/hub-feedbac
- 一文读懂Python+Pytest+Allure+Jenkins+Gitee自动化测试框架,手把手教你搭建
Python+Pytest+Allure+Jenkins+Gitee自动化测试框架一、框架整体架构1.技术栈分工Python:测试脚本开发语言Pytest:测试用例管理和执行引擎Allure:测试报告生成与展示Jenkins:持续集成和任务调度Gitee:代码版本管理和触发机制2.数据流向Gitee代码提交→Jenkins触发构建→Pytest执行用例→生成Allure结果→Jenkins收集报告
- 《移动App测试实战》读书笔记
xh15
2017笔试面试修炼软件测试移动测试读书笔记
最近看完了《移动App测试实战》,这里做一点笔记,后面可以重温。功能测试自动化轻量接口自动化测试(JMeter):JMeter是一款开源测试工具,多用于接口测试用例的分层:CGI:通用网关接口,常称为单个业务接口Function:请求组合,包含多个CGI层接口的调用TestCase:单个测试用例TestSuite:多个测试用例的集合UI层的自动化面向Android:AndroidSDK提供的UIA
- 独立开发A/B测试实用教程
A/B测试(A/BTesting),又称分组测试、对照实验,是产品开发和运营中提升转化率、优化用户体验的常用方法。无论你是做App、SaaS、网站还是小程序,合理地利用A/B测试,都能帮助你用数据驱动决策,让产品更受用户欢迎。一、什么是A/B测试?A/B测试指的是将流量随机分为两组(或多组),分别体验不同版本的产品(如A版本和B版本),通过对比各组用户的关键行为数据(如点击率、转化率、留存率等),
- Nifi 模板
Acqusition_and_Processing.xmlMovingtemplatestoowndirectorytomakerepocleanerCADF_Parser.xmlMovingtemplatestoowndirectorytomakerepocleaner6monthsagoCassandraProcessors.xmlAddingtemplatesforprocessorsrel
- Python训练打卡DAY47
韩哈哈1129
Python训练打卡python开发语言
DAY47:注意力热图可视化恩师@浙大疏锦行知识点:热力图#可视化空间注意力热力图(显示模型关注的图像区域)defvisualize_attention_map(model,test_loader,device,class_names,num_samples=3):"""可视化模型的注意力热力图,展示模型关注的图像区域"""model.eval()#设置为评估模式withtorch.no_grad
- 关于 JNI 函数逆向(从 Java 到 native)
shenyan~
java开发语言
一、JNI基础概念JNI(JavaNativeInterface)是Java调用native层C/C++函数的桥梁。在Android中,Java使用System.loadLibrary("xxx")加载so文件,然后通过native方法声明调用底层函数。publicclassTest{static{System.loadLibrary("native-lib");//加载native-lib.so
- python装饰器闭包
m_mone
python
#装饰器1.创建一个闭包(终级版)2.@xx装饰你要装饰的函数#万能装饰器defset_fun(func):defcall_fun(*args,**kwargs):returnfunc(*args,**kwargs)returncall_fun@set_fundeftest():pass#装饰器在不改变原先的函数代码的情况下,给原先的函数添加额外的功能(原则)#装饰器不会去改变原函数的参数及结果#
- Gradle 与 Maven 的深度对比分析
一、核心架构与设计哲学对比1.依赖管理机制维度GradleMaven声明语法Groovy/KotlinDSL(类型安全)XML(结构严谨,可读性低)动态版本支持2.5.+动态匹配仅支持固定版本(需-U强制更新)依赖作用域implementation/api精细控制compile/provided/test标准隔离冲突解决自动选择最高版本(可覆写)最短路径优先(需手动排除)Gradle优势:避免传递
- Python 领域 pytest 的测试用例依赖管理
Python领域pytest的测试用例依赖管理关键词:pytest、测试依赖、fixture、依赖注入、测试管理、Python测试、测试框架摘要:本文深入探讨了Python测试框架pytest中的测试用例依赖管理机制。我们将从基础概念出发,详细分析pytest的fixture系统如何实现优雅的依赖管理,包括依赖注入、作用域控制、参数化等高级特性。通过实际代码示例和架构图解,展示如何构建可维护、可扩
- python3 annotations
weixin_30615767
python开发工具
引文与描述:AddingarbitrarymetadataannotationstoPythonfunctionsandvariables说说我的体会:类似编译的作用,能够帮助你尽早地避免错误1.不支持Python2+>>>deftest_annotation_py2(a_str:str):File"",line1deftest_annotation_py2(a_str:str):^SyntaxE
- python中使用annotate时,报错误
TypeErrorTraceback(mostrecentcalllast)CellIn[58],line161159plt.xlabel("FPR")160plt.ylabel("TPR")-->161plt.annotate(xy=(.4,.2),xytext=(.5,.2),s='ROCcurve(area=%0.2f)'%auc_test)TypeError:annotate()missi
- ArrayList的扩容机制(源码解析)
Exclusive_Cat
ArrayListjava开发语言
我们会从ArrayList的源码进行讲起,一点点的解析各种细节,首先我们要在idea中创建一个ArrayList的集合,调用它的add方法,然后摁住CTRL键,鼠标点击add方法查看其中的源码部分。packagecollection;importjava.util.ArrayList;publicclassArrayListTest{publicstaticvoidmain(String[]arg
- 尝试安装使用无头cms strapi (未完成)
skywalk8163
多媒体web
strapi官网:https://strapi.io/GitHub地址:https://github.com/strapi/strapi中文手册:欢迎来到StrapiCMS文档!|Strapi中文网FreeBSD下使用strapi(未完成)安装npxcreate-strapi-app@latestmy-project--quickstart为了加快速度,可以加上淘宝的npm加速镜像npmconfi
- Unreal Engine使用Groom 打包后报错
UnrealEngine使用Groom打包后报错版本5.4.4blender4.2.1项目头发用了groom,运行后报错错误:Assertionfailed:Offset+BytesToRead=0[File:E:\UnrealEngine-5.4.4-release\Engine\Source\Runtime\PakFile\Private\IPlatformFilePak.cpp][Line:
- python笔记-Selenium谷歌浏览器驱动下载
hero.zhong
python笔记selenium
Selenium谷歌浏览器驱动下载地址:https://googlechromelabs.github.io/chrome-for-testing/#stable下面是遇到的问题:python网络爬虫技术中使用谷歌浏览器代码,报错:OSError:[WinError193]%1不是有效的Win32应用程序:遇到错误OSError:[WinError193]%1不是有效的Win32应用程序通常意味着
- [论文阅读] 人工智能 | 读懂Meta-Fair:让LLM摆脱偏见的自动化测试新方法
张较瘦_
前沿技术论文阅读人工智能
读懂Meta-Fair:让LLM摆脱偏见的自动化测试新方法论文标题:Meta-Fair:AI-AssistedFairnessTestingofLargeLanguageModelsarXiv:2507.02533Meta-Fair:AI-AssistedFairnessTestingofLargeLanguageModelsMiguelRomero-Arjona,JoséA.Parejo,Jua
- 李工ROBOT架构之扩展 TestController 以支持更多实验(如 TDDB、TC)并增强可扩展性
基于您的需求,我将为半导体可靠性测试机上位机系统提供以下内容的详细实现:扩展TestController以支持更多实验(如TDDB、TC)并增强可扩展性,以及硬件驱动层协议扩展(支持Modbus、UDP)。内容基于.NETCore8.0、WPF、MVVM模式、Prism框架,并使用中文描述,确保代码可落地且易于扩展。我将提供具体代码示例、设计思路和性能优化建议,并实现动态配置切换不同测试模式的功能
- golang 使用 viper 加载配置文件 自动反序列化到结构
-睡到自然醒~
golang开发语言后端服务器运维
golang使用viper无需设置mapstructuretag根据配置文件后缀自动返序列化到结构解决结构有下划线的字段解析不成功问题viper正常加载配置文件golangviper其中可以用来查找、加载和反序列化JSON、TOML、YAML、HCL、INI、envfile和格式的配置文件配置文件test_toml.tomlhttp_addr=":8082"grpc_addr=":8083"jae
- 使用跳板机上传(下载)包
L?z ^f my
utils
本地构建打包,压缩得到.tar.gz包$tar-zcvfxxx.tar.gz文件夹名称#例如tar-zcvftest_aa.tar.gzdist使用跳板机上传包打开Xshell,连接xx.xx.xx.xx服务器(跳板服务器)进入一个文件夹目录,将压缩包拖至窗口内,即上传文件输入命令ll查看所有文件(可以看到自己上传的包即可)将包发到10.4.0.11服务器(目标服务器)上(如下操作)#发包:scp
- C++内存管理
C语言动态内存管理方式C语言中动态内存管理方式:malloc/calloc/realloc/free。C++中动态内存管理方式C++提出了自己的内存管理方式:通过new和delete操作符进行动态内存管理。例如:对于内置类型voidTest(){//动态申请一个int类型的空间int*ptr4=newint;//动态申请一个int类型的空间并初始化为10int*ptr5=newint(10);//
- Flutter UI 测试
2401_89317650
flutterui
在Flutter中,UI测试被称作集成测试。Flutter集成测试类似iOS的XCUITest或Android的Expresso一样来执行UI自动化测试。Flutter的集成测试在一个单独的环境运行,可以运行在真实的设备或者模拟器上面。Flutter提供了一个flutter_driver包来编写UI测试。Flutter应用程序的UI测试是如何执行UI测试:FlutterUI测试作为黑盒运行,与主应
- 使用AutoKeras2.0的AutoModel进行结构化数据回归预测
1、FirstofAll:ReadTheFuckingSourceCodeimportautokerasasakimportnumpyasnpfromsklearn.model_selectionimporttrain_test_splitfromsklearn.metricsimportmean_squared_error#生成数据集np.random.seed(42)x=np.random.r
- java 定时器需要守护线程_守护线程 定时器
泓三宝
java定时器需要守护线程
守护线程:java语言中线程分为两大类:用户线程守护线程(后台线程)守护线程:其中具有代表性的就是垃圾回收线程守护线程特点:一般守护线程是一个死循环,所有的用户线程只要结束,守护线程自动结束,即使守护线程为死循环主线程main方法是一个用户线程守护线程用在什么地方:每天0点的时候系统自动备份,需要使用到定时器,并且我们可以将定时器设置为守护线程setDaemonpublicclassTest_11
- jvm执行i++代码的步骤,内存中数据的流转
过期小朋友、
jdk
大家好,今天看了一个java面试讲解课程,里面说i++,在jvm执行时,会被分成四步:1.主存中i的数值放到线程工作内存2.加一3.加一的值放回线程工作内存中4.线程工作内存中的值放回主存中使用idea编写了一个例子,获取jvm的汇编指令,使用指令说明,翻译过来在内存中数值流转。发现2,3是一个命令iadd。具体如下:例子:packagecom.wmr.jvmtest;publicclassIPl
- 一、react18+项目初始化(vite)
小白变怪兽
react前端react.js
react19使用antd兼容问题npminstall@ant-design/v5-patch-for-react-19--save//入口处引用import‘@ant-design/v5-patch-for-react-19’npmcreatevite@latest项目名称根据需要选择用vue还是react,是否使用typescript等等配置antddesign//安装npminstall--
- php字符串匹配算法,字符串查找算法及原理
面试题:判断字符串是否在另一个字符串中存在?面试时发现好多人回答不好,所以就梳理了一下已知的方法,此文较长,需要耐心的看下去。从实现和算法原理两方面解此问题,其中有用PHP原生方法实现也有一些业界大牛创造的算法。实现方法一:语言特性-内置函数/*strpos示例*///testecho'match:',strpos('xasfsdfbk','xasfsdfbk')!==false?'true':'
- Unity笔记-32-UI框架(实现)
Unity笔记-32-UI框架(实现)资源统一调配单例模版publicclassSingletonwhereT:class//class表示是引用类型{privatestaticT_singleton;//单例属性publicstaticTInstance{get{if(_singleton==null){//因为是单例,必须要有构造,但是如果有公有构造就不行,必须是私有构造//但是如果是私有构造
- 安装数据库首次应用
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 {