今天实在想不出做什么了,翻了翻小游戏,看到了原创的颜色一次性于是,就想到何不做这个呢???废话不多说,上代码!!!!!#include#includeusingnamespacestd;intmain(){cout>yanse;if(yanse==1){cout<<"跳转中......"<
从C语言开始的C++编程生活(1)
Elnaij
C++基础知识c语言c++
前言本系列文章承接C语言的学习,需要有C语言的基础才能学会哦。第1篇主要讲的是有关于C++的命名空间、输入和输出。C++才起步,都很简单呢!目录前言命名空间namespace基本语法作用使用命名空间域作用限定符::基本语法usingnamespace命名空间域名基本语法作用using命名空间域名::变量名基本语法作用C++的输入和输出“>”流提取符基本语法代码解释命名空间namespace基本语法
现在的AI,到底是背答案的高手,还是真正的会思考
沐凡资源
人工智能
你的孩子用AI写作业,你以为他在抄答案,但AI可能连自己都不知道答案是怎么来的。最近朋友圈被小学生用DeepSeek秒杀作业的新闻给刷屏了。家长们一方面惊叹,“这玩意儿比家教还靠谱呢”,另一方面又焦虑,“孩子会不会被AI养废啦”。这让我也产生了一个疑问:现在的AI究竟是背答案的复读机呢,还是真会推理的最强大脑?于是我搜索了很多资料来了解这件事。毕竟这事儿可不单单跟作业有关系——它对未来的AI起着决
Yolov8训练自己的数据集(脱离ultralytics库)
爱吃肉的鹏
YOLO
最近在整理关于yolov8的相关内容,有个很大的问题,抛开yolov8性能不谈,yolov8代码的使用灵活性不如yolov5,尤其是对于一些新手或者对yolo框架不是很熟悉的人(这也是因人而异,有些人可能会喜欢v8代码的使用方式)。比如在使用v8的时候需要安装ultralytics库,然后再调用YOLO进行训练或者预测,那么就有这几个问题:问题1:安装了ultralytics库后如何使用YOLO呢
C++ 树状数组
LIUJH1233
c++开发语言
一.树状数组是什么?二.树状数组的特性?可以解决大部分区间上面的修改以及查询的问题,例如1.单点修改,单点查询,2.区间修改,单点查询,3.区间查询,区间修改等问题;三.树状数组讲解lowbit的使用如何计算一个非负整数n在二进制下的最低为1及其后面的0构成的数?答案就是lowbit(x)。那么lowbit运算时怎么实现的呢?44的二进制=(101100),我们对44的二进制数取反+1,也即~44
【Hinton论文精读】The Forward-Forward Algorithm: Some Preliminary Investigations-202212
tyhj_sf
论文研读笔记ML理论系列人工智能深度学习FF算法
博文导航0引言1论文摘要2反向传播有什么问题呢?3Forward-Forward算法3.1使用逐层优化函数学习多层表示4Forward-Forward算法的实验4.1反向传播baseline4.2FF算法的一个简单的无监督的例子4.3FF算法的一个简单的监督例子4.4使用FF算法来模拟感知中自上而下的效应4.5作为教师使用空间环境的预测4.6CIFAR-10实验5睡眠6FF算法与其他对比性学习技术
Linux Kernel入门到精通系列讲解(RV-Kernel 篇) 5.3 从零移植 busybox,基于RISC-V
嵌入式内核源码
Linuxkernel从入门到精通linuxrisc-vrootfsqemukernel嵌入式芯片
1.概述上一章节我们已经成功启动了Ubuntu,但是由于Ubuntu占用系统空间过大,所以我转向占用较小的busybox,预计就占用30M左右。2.源码下载下载地址3.编译busybox在上一章节中,我们就提到了kernel在启动时会去初始化rootfs,具体为下列四个脚本,如果我们不去写这四个脚本会是什么样呢?如下图,它会不断重复打印log。接下来我们就先去编译busybox。[
学习单片机需要多长时间才能进行简单的项目开发?
无际单片机编程
单片机嵌入式硬件stm32嵌入式java
之前有老铁问我,学单片机到底要多久,才能进行简单的项目开发?是三个月速成,还是三年磨一剑?今天咱们就来聊聊这个话题,我不是什么高高在上的专家,就是个踩过无数坑、烧过几块板子的“技术老友”。本文将用最接地气的话给你讲清楚,答案可能比你想的简单,也可能比你想的残酷,但肯定会让你心里有谱。单片机这东西,入门的第一道坎其实没那么高。你得先搞清楚几件基本装备:C语言、硬件基础、开发工具。C语言是单片机的“母
SparkSQL编程-RDD、DataFrame、DataSet
早拾碗吧
Sparksparkhadoop大数据sparksql
三者之间的关系在SparkSQL中Spark为我们提供了两个新的抽象,分别是DataFrame和DataSet。他们和RDD有什么区别呢?首先从版本的产生上来看:RDD(Spark1.0)—>Dataframe(Spark1.3)—>Dataset(Spark1.6)如果同样的数据都给到这三个数据结构,他们分别计算之后,都会给出相同的结果。不同是的他们的执行效率和执行方式。在后期的Spark版本中
CAS单点登录-微信企业号单点登录(二十)
悟空_
cas微信企业号单点登录sso
CAS单点登录-微信企业号登录(二十)背景在企业号得开发中,无法避免登录的问题,多个系统前端交互可能会设计到单点登录,若多系统已单点登录,那sso如何支持呢?概述查看企业号开发者接口文档我们看完文档后总结如下:1.企业号接口采用密码认证获取access_token2.企业号认证后通过code以及access_token获取用户信息,并不是两个标准的oauth2认证,也不是通过双方的access_t
蓝桥杯新手算法练习题单|冲击国一(三)
小咖拉眯
蓝桥杯蓝桥杯java数据结构算法dfsbfs
此题单为算法基础精选题单,包含蓝桥杯常考考点以及各种经典算法,可以帮助你打牢基础,查漏补缺。本题单目标是冲击蓝桥杯省一国一,团体程序天梯赛个人国三、XCPC区域赛铜/银奖前言本次题单重点关注模拟类问题,DFS问题,BFS问题目录模拟类题型一、最大子矩阵二、世纪末的星期三、图像相似度四、操作系统DFS题型五、老子的全排列呢六、皇后问题七、池塘BFS题型八、迷宫九、八数码问题十、字符变换一、最大子矩阵
laravel如何通过DB获取一条数据的指定字段并转成数组
phpgolife
phpphplaravel
在Laravel中,如果你想要通过原生数据库查询构建器(DBfacade)获取一条数据的指定字段,并将其转换为数组,你可以这样做:首先,使用select方法来指定你想要获取的字段,然后使用where方法来添加查询条件,最后调用first()方法来获取结果集中的第一条记录。first()方法返回的是一个StdClass对象,你可以直接访问其属性来获取字段值,或者你可以使用toArray()方法将对象
xxl-job 执行器端服务器的简单搭建
一切随缘~~~
xxl-jobxxljob
xxl-job执行器端服务器的简单搭建先讲一下我们平时怎么使用xxl-job的,再引出背后是如何实现的。我觉得对于一款成功的框架来说,好用,是非常重要的一个特性。框架要便于接入,便于使用。对于用户来说,不要有太多的使用成本,最好是能够开箱即用,快速上手的。Java为什么这么流行呢?因为它的生态好。说是生态好,其实就是Spring那一套嘛,后面又有了SpringBoot。你想要使用什么组件,市面上基
力扣刷题笔记_动态规划爬楼梯问题
yma16
csp算法题目学习
题目描述假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬1或2个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定n是一个正整数。示例一输入:2输出:2解释:有两种方法可以爬到楼顶。方法一:1阶+1阶方法二:2阶示例二输入:3输出:3解释:有三种方法可以爬到楼顶。方法一:1阶+1阶+1阶方法二:1阶+2阶方法三:2阶+1阶动态规划它的最优解可以从其子问题的最优解来有效地构建。第i阶可以由以
AI制作PPT:从繁琐到轻松,一键生成PPT的秘密武器
HUIPPT剑盾ai
人工智能powerpoint软件科技aigc
AI制作PPT:从繁琐到轻松,一键生成PPT的秘密武器!在忙碌的工作日程中,谁不希望省点时间,把繁琐的任务交给智能工具呢?尤其是PPT制作,多少人曾经在设计一份完美的演示文稿时感到焦头烂额。从页面布局到内容排版,再到插图配合,传统的PPT制作可以说是让人捧心捧脑。然而,现在,这一切都可以通过AI来解决。AI制作PPT,帮助你轻松应对各种场合的展示需求。如果你还没尝试过AI生成PPT,那你真的是错过
MySQL数据库外键约束:打开与关闭的艺术
master_chenchengg
sql数据库数据库mysql
MySQL数据库外键约束:打开与关闭的艺术基本概念和作用说明示例一:开启外键约束示例二:关闭外键约束示例三:性能优化与外键约束示例四:外键约束与数据一致性示例五:排查外键约束引发的问题结论与讨论引发点在数据库的世界里,数据的完整性和一致性是至关重要的。其中,外键约束(ForeignKeyConstraints)扮演着重要的角色。但是,是否在任何情况下启用外键约束都是最佳选择呢?本文将深入探讨MyS
Python搭建静态web服务器
7 号
Pythonpython
Python内置的web静态服务器Python内置的`http.server`模块可以快速启动一个简单的HTTP服务器。在Python3中,打开命令行或终端,在你想要作为静态服务器根目录的文件夹下,运行以下命令:python-mhttp.server8000这将会在当前目录启动一个HTTP服务器,监听端口8000,端口可以随意指定。你可以在浏览器中访问`http://localhost:8000`
JSONLint: 拯救你的 JSON 噩梦,代码从此整洁又靠谱!
小丁学Java
产品资质管理系统jsonjsonlint.com
JSONLint:拯救你的JSON噩梦,代码从此整洁又靠谱!Hey,小伙伴们!你有没有写JSON的时候,手一抖多加了个逗号,结果整个代码崩得像失恋现场?或者辛辛苦苦敲了一堆键值对,却发现哪里漏了个双引号,找Bug找得怀疑人生?别慌,今天我要给大家安利一个神器——JSONLint,它能让你的JSON代码变得整齐又漂亮,错误一秒揪出来!✨跟我一起看看这个网站的魔法吧~JSONLint是啥?简单说就是你
电脑配置怎么看?别错过这四个方法
驱动小百科
电脑配置怎么看电脑配置在哪里看电脑配置查看电脑配置方法
电脑配置在哪里看,这是很多用户都比较关心的问题。查看电脑配置可以了解电脑的硬件信息以及清楚电脑的性能如何。便于我们后期进行优化系统性能、升级硬件或是评估二手电脑价值等等。那么,查看电脑配置的方法有哪些呢?下面便为大家介绍四种方法。1、使用系统信息工具①、打开开始菜单,在搜索框中输入“系统信息”并按回车键。②、系统信息窗口将会显示,这里你可以看到详细的硬件和系统信息,包括处理器型号、内存大小、BIO
基于等级保护梳理服务器安全合规基线 - 副本
程序员鬼鬼
服务器安全php网络安全web安全开发语言计算机网络
背景作为运维,当对新上架的服务器装完操作系统后,第一步就是对操作系统进行初始化配置来保证配置合规,此时你可能就会有疑问:我们应该初始化哪些参数,有没有相关标准参考呢?要想真正了解进行初始化配置的目的,我们先来科普一下相关法律:网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!《中华人民共和国网络安全法》第二十一条规定,国家实行网络安全等级保护制度。网络运营者应当按照网络安全等级保护制度的
手机租赁系统开发全面解析与实现指南
红点租赁系统开发
其他
内容概要手机租赁系统的设计理念是为了满足用户对便捷、灵活的手机使用需求。想象一下,谁还愿意花大价钱买一部手机呢?尤其是当新款手机频繁推出时,租赁似乎成了更受欢迎的选择。这个系统旨在让用户可以随时随地选择租用不同型号的手机,极大提升了用户体验。接下来,我们将深入探讨这个系统的技术架构。它通常包含前端界面、后端处理和数据库管理三个核心部分。前端负责与用户交互,后端则处理数据逻辑,而数据库则是存储所有租
远程调试Python脚本之ptvsd
工头阿乐
PyTorch深度学习python开发语言
深度学习文章目录深度学习前言前言有时候需要远程调试Python脚本,怎么办呢…以下这段代码用于远程调试Python脚本,特别是通过VisualStudioCode(VSCode)的远程调试功能。它会在指定的服务器IP和端口上等待调试器的连接。#检查是否提供了服务器IP和端口ifargs.server_ipandargs.server_port:#远程调试-参见https://code.visual
2db多少功率_db与w换算(1db等于多少功率)
不吃酸菜的小贱人
2db多少功率
dBm是功率的单位,1dbm等于1毫瓦,也就是千分之一瓦。1、dBm这是我们接触到.那么10W呢,就是40dBm,也就是说功率下降一半,dBm值下降3dB。功率单位与P(瓦特)换算公式:dBm=30+10lgP(P:瓦)首先,DB是一个纯计数单位:dB=10logX。dB的意义其实再简单不过了,就是把一个很大(后面跟一长串0的.DB是一个比值,是一个数值,是一个纯计数方法,没有任何单位标注。和瓦(
安装数据库首次应用
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 {