- 检测usb口HotPlug-netlink
cany1000
linux
为了完成内核空间与用户空间通信,Linux提供了基于Socket的NetLink通信机制。SELinux,Linux系统的防火墙分为内核态的netfilter和用户态的iptables,netfilter与iptables的数据交换就是通过Netlink机制完成。下面看一个检测usb口的例子:s32InitUsbHotPlug(void){s32nSockFd=0;//套接字地址structsoc
- Python自动化测试web常见框架汇总
自动化测试薰儿
软件测试技术分享python前端开发语言
1、前言目前,有非常多的Python框架,用来帮助你更轻松的创建web应用。这些框架把相应的模块组织起来,使得构建应用的时候可以更快捷,也不用去关注一些细节(例如socket和协议),所以需要的都在框架里了。接下来我们会介绍不同的选项。经过初期的不起眼,Python已经成为互联网最流行的服务端编程语言之一。根据W3Techs的统计,它被用于很多的大流量的站点很多的大流量的站点很多的大流量的站点,超
- Websocket服务监听收发消息
beiback
Java服务器问题websocket网络协议网络
目录1.pom依赖坐标2.项目配置端口和项目包名2.创建处理器3.注册处理器4.前端页面1.pom依赖坐标org.springframework.bootspring-boot-starter-websocket2.项目配置端口和项目包名application.propertiesserver.port=8088//路径规范:为应用的所有servlet提供一个统一的前缀,使URL结构更加清晰和一致
- haproxy无缝热加载的辅助进程multibinder的C语言实现版本
码农心语
LINUX高性能c++开发haproxy无缝热加载seamlessreloadhitlessreloadmultibinder
本模块用epoll模型来实现了一个multibinder,供haproxy无缝热重启来使用,需要另外再做一个haproxy_wrapper来实现haproxy配置文件的生成和进程的加载功能。 本模块也可以作为入门epoll开发和signalfd开发的学习材料。haproxy的无缝热重启的实现原理功能:创建一个listensocket关闭一个listensocket获取一个listensock
- flask状态保持
mophite
flaskflask
状态保持http是一种无状态协议,浏览器请求服务器是无状态的。无状态:指一次用户请求时,浏览器、服务器无法知道之前这个用户做过什么,每次请求都是一次新的请求。无状态原因:浏览器与服务器是使用socket套接字进行通信的,服务器将请求结果返回给浏览器之后,会关闭当前的socket连接,而且服务器也会在处理页面完毕之后销毁页面对象。问题:有时需要保持下来用户浏览的状态。实现状态保持主要有两种方式:在客
- 配置 IDEA 远程连接应用服务器
O_Neal
当调试Web应用时,经常需要使用ide远程连接,来进行debug调试。使用Springboot内置服务器和使用Tomcat服务器是常见的应用部署方式,可以用不同的配置方式来启动远程debug模式。Springboot应用1.配置启动参数运行jar时加上debug参数,例如java-jar-Xdebug-Xrunjdwp:transport=dt_socket,address=60222,suspe
- html5 websocket 手机,websocket在h5上正常,编译到手机上就连不上
猫研所
html5websocket手机
对接的网易云信微信IMSDK,在h5上能建立起连接,在手机端不行,截图是h5的链接,下面是app的日志:20:10:34.247连接websocket参数"wss://wlnimsc0.netease.im/socket.io/1/websocket/378166b5-af18-4372-a0a5-05aee5a1d882"atuni-app:///sdk/yunxin-wx/vendors/NI
- uniapp 使用mqtt后真机调试白屏?或者 WebSocket || WS is not a constructor
xiaoli_qidian
uni-app前端
1.都说高版本mqtt不稳定,所有安装3.0的吧npmimqtt@32.把连接替换成功这个代码//#ifdefH5console.log('h5')client=mqtt.connect(`ws://120.25.155.46:8083/mqtt`,options)//#endif//#ifdefAPP-PLUSconsole.log('app')client=mqtt.connect(`wx:/
- 关于uniapp上使用websocket在H5能用,在真机不能用的问题
木公176
uni-appwebsocket网络协议
不要用本地电脑开的websocket来连接,真机(手机端)连不到本地websocket。uni.connectSocket({url:'ws://localhost:3000/chat'});解决办法:部署到服务器上面,用一个公网的websocket地址,真机上面可以正常使用。部署到服务器的时候记得开放3000端口,不然也不行。uni.connectSocket({url:'ws://8.13X.
- Websocket + Vue使用
人间观察师
websocketvue.js前端
这里有一篇文档可以参考一下>闪现POM文件org.springframework.bootspring-boot-starter-websocket2.7.0WebSocketConfig配置importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configura
- Winsock编程入门和枚举协议
bcbobo21cn
VC++协议分析和开发EnumProtocolsMSAFD协议winsock
Winsock的初始化和清除代码类似如下;if((ret=WSAStartup(MAKEWORD(2,2),&wsadata))!=0){wsprintf(buf,TEXT("winsock初始化失败,错误:%d"),ret);......return0;}。。。。。。if(WSACleanup()==SOCKET_ERROR){wsprintf(buf,TEXT("WSACleanup失败,错误
- 146 Linux 网络编程2 ,Socket编程,如何创建Linux 服务器 和linux 客户端
hunandede
服务器linux网络
IP+port就是一个程序在网络上的身份证号码。这意味着我们需要如果写一个服务器,至少需要将这台服务器的ip和端口号写到程序里面。实际上更细化的说:应该是将这三都写进程序里面:IP类型(IPV4或者IPV6),IP地址(192.168.39.78),端口号(900)套接字概念Socket本身有“插座”的意思,在Linux环境下,用于表示进程间网络通信的特殊文件类型。本质为内核借助缓冲区形成的伪文件
- 一文彻底搞懂进程间通信方式
澡澡洗澡澡
面经数据结构linuxjava服务器进程
文章目录1.进程间通信的概念2.进程间通信的7种方式2.1管道/匿名管道(pipe)2.2有名管道(FIFO)2.3信号(Signal)2.4消息(Message)队列2.5共享内存(sharememory)2.6信号量(semaphore)2.7套接字(socket)1.进程间通信的概念每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过
- Ts中WebSocket连接管理与维护教程
大阳光男孩
websocket网络协议网络
一、WebSocket基础WebSocket是一种在单个TCP连接上进行全双工通信的协议,允许服务端主动向客户端推送数据。在JavaScript中,可以通过WebSocket对象创建并维护WebSocket连接。letwebSocket:WebSocket;webSocket=newWebSocket(url);二、初始化WebSocket连接(InitWS函数)检查浏览器是否支持WebSocke
- linux中netstat命令详解及常见用法
树下的码农
linux计算机网络
在Linux使用过程中,需要了解当前系统开放了哪些端口,并且要查看开放这些端口的具体进程和用户,可以通过netstat命令进行简单查询1.netstat命令各个参数说明-a或–all显示所有连线中的Socket。-A或–列出该网络类型连线中的相关地址。-c或–continuous持续列出网络状态。-C或–cache显示路由器配置的快取信息。-e或–extend显示网络其他相关信息。-F或–fib显
- 3.14 网络编程
寒蝉641
tcp/ipudp
#include#defineSER_PORT8888#defineSER_IP"192.168.117.71"intmain(intargc,constchar*argv[]){//创建客户端intcfd=socket(AF_INET,SOCK_STREAM,0);if(cfd==-1){perror("socketerror");return-1;}printf("scoketsuccessc
- 基于Linux和C++的socket编程示例(TCP)
码到程攻
linuxc++tcp/ip
原文地址:https://www.geeksforgeeks.org/socket-programming-cc/服务端://ServersideCprogramtodemonstrateSocket//programming#include#include#include#include#include#include#definePORT8080intmain(intargc,charcons
- Spring Boot整合STOMP实现实时通信
1telescope
Javawebsocketspringbootjava后端
目录引言代码实现配置类WebSocketMessageBrokerConfigDTO工具类Controllercommon.htmlstomp-broadcast.html运行效果完整代码地址引言STOMP(SimpleTextOrientedMessagingProtocol)作为一种简单文本导向的消息传递协议,提供了一种轻量级且易于使用的方式来实现实时通信。本篇博客将讲解如何使用SpringB
- 【分布式websocket】聊天系统消息加密如何做
呆呆呆呆梦
分布式websocket网络协议
前言先介绍一下对称加密算法,在介绍一下加密流程,然后是介绍一下查询加密消息的策略。然后结合现有技术架构然后去选型。决定采用客户端解密。简而言之就是采用对称服务端加密。然后将加密内容存储到消息表的content字段。然后客户拉取content字段然后解密。拉取到消息解密后进行展示。客户存储的时候进行加密。目前已经写的文章有。并且有对应视频版本。git项目地址【IM即时通信系统(企聊聊)】点击可跳转s
- VPN 在Android中的通信三 (netty DNS 域名自解析)
尚思app
android
在使用场景中会遇到需要nettysocket的域名解析到指定IP地址,怎么做到呢,在我们的netty中,提供了DNS域名解析(DefaultNameResolver)。一、自定义类MyDefaultNameResolver继承DefaultNameResolver,实现doResolve方法,解析的相关逻辑在这里面处理publicclassMyDefaultNameResolverextendsD
- linux系统adb调试工具
jerome0710
adb
adb的全称为AndroidDebugBridge,就是起到调试桥的作用。通过adb可以在Eclipse中通过DDMS来调试Android程序,说白了就是调试工具。adb的工作方式比较特殊,采用监听SocketTCP5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。adb是androidsdk里的一个工具
- 跨域及解决跨域问题的详细解释
佩淇呢
javascript跨域前端javascript
本文介绍了什么是跨域,以及常见的解决跨域的5种方法的具体解释,会举例分别解释每一种方法是怎么使用的。目录1.什么是跨域2.解决跨域问题的方法(1)JSONP(JSONwithPadding)(2)CORS(Cross-OriginResourceSharing)(3)跨文档消息传递(postMessage)(4)Nginx代理跨域(5)WebSocket3.总结1.什么是跨域跨域是一个浏览器安全策
- python判断ip是否是本机
三希
pythontcp/ip网络
银河麒麟服务器上下载脚本进行部署的时候,需要判断是部署在本机还是部署在远程服务器上,需要走不同的处理逻辑。在Python中判断一个IP地址是否是本机的,可以采用以下方法:importsocketdefis_local_ip(ip_address):#获取本机所有网络接口信息interfaces=socket.gethostbyname_ex(socket.gethostname())[2]#检查输
- 【学习心得】Python好库推荐——websocket-client
小oo呆
【学习心得】websocket网络协议网络
websocket-client是一个在Python中广泛使用的库,用于创建WebSocket客户端并实现与WebSocket服务器的双向通信。更多的关于websocket协议介绍,可以看看我之前写的文章哦!【学习心得】websocket协议简介并与http协议对比http://t.csdnimg.cn/C3hEQ一、安装和快速入门pipinstallwebsocket-client两个基本的使用
- python非阻塞输入_python并发编程:非阻塞IO
weixin_39914732
python非阻塞输入
非阻塞IO(non-blockingIO)Linux下,可以通过设置socket使其变为non-blocking,当对一个non-blockingsocket执行读操作时,流程是这个样子从图中可以看出,当用户进程发出read操作时,如果kernel中的数据还没有准备好,那么它并不会block用户进程,而是立刻返回一个error。从用户进程角度讲,它发起一个read操作后,并不需要等待,而是马上就得
- Linux:dperf---100Gbps开源压力测试工具
技术探索者
工具使用linux知识测试工具dperf
简介dperf是一个基于DPDK开发,具有千万级HTTPCPS,几十亿并发,几百Gbps带宽的开源压力测试仪,dperf实现了一个精简的用户态TCP/IP协议栈、精简的Socket、精简的HTTP客户端与服务器,可以curl/ab/nginx进行对接。dperf是一款开源的高性能网络压测软件,可用于测试四层负载均衡等网关设备的的各项性能指标(新建、带宽、并发、PPS)。总之,dperf是一个100
- Qt+libhv实现各类网络通信方式(TCP-UDP-HTTP-WebSocket)
码农飞飞
QT+QMLqttcp/ipudplibhvhttpwebsocket
文章目录TCP通信服务端客户端UDP通信服务端客户端HTTP通信服务端客户端WebSocket通信服务端客户端参考项目下载为了实现程序的跨进程和跨主机通信,我们通常会采用网络通信进行数据传输。常用的通信方式包括TCP/UDP、HTTP、WebSocket等,这些网络通信方式各有优劣有的是短连接有的是长连接,应用场景也有差异。在实际开发中我们需要掌握各种通信方式的实现方式来应对不同的场景,这里我们介
- 我的第一个python web 网站
温正实
python
#-*-coding:utf-8-*-importhttp.serverimportsocketserverfromdatetimeimportdatetimePORT=8000importsys#...classMyHandler(http.server.SimpleHTTPRequestHandler):defdo_GET(self):ifself.path=='/':#如果路径是根路径,返回
- websocket在java中的使用教程
cah黎明就在眼前
javawebsocketjava
本文从websocket服务端和客户端两个方面简单介绍下websocket在java中的使用。一、websocket服务端(WebSocketServer)websocket服务端是以本机作为消息的接受端,用于接受客户端websocket发送过来的消息,并可以通过客户端的websocket对象来反馈消息给websocket客户端,以下为websocket服务端创建步骤。创建myWebSocketS
- websocket 通用类封装和使用
桃根仙
websocket网络协议网络
websocket工具类封装exportdefaultclassSocketService{staticinstance=null;staticgetInstance(){if(!this.instance){this.instance=newSocketService();}}wx=null;callBackMapping={};connected=false;sendRetryCount=0;
- jdk tomcat 环境变量配置
Array_06
javajdktomcat
Win7 下如何配置java环境变量
1。准备jdk包,win7系统,tomcat安装包(均上网下载即可)
2。进行对jdk的安装,尽量为默认路径(但要记住啊!!以防以后配置用。。。)
3。分别配置高级环境变量。
电脑-->右击属性-->高级环境变量-->环境变量。
分别配置 :
path
&nbs
- Spring调SDK包报java.lang.NoSuchFieldError错误
bijian1013
javaspring
在工作中调另一个系统的SDK包,出现如下java.lang.NoSuchFieldError错误。
org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.l
- LeetCode[位运算] - #136 数组中的单一数
Cwind
java题解位运算LeetCodeAlgorithm
原题链接:#136 Single Number
要求:
给定一个整型数组,其中除了一个元素之外,每个元素都出现两次。找出这个元素
注意:算法的时间复杂度应为O(n),最好不使用额外的内存空间
难度:中等
分析:
题目限定了线性的时间复杂度,同时不使用额外的空间,即要求只遍历数组一遍得出结果。由于异或运算 n XOR n = 0, n XOR 0 = n,故将数组中的每个元素进
- qq登陆界面开发
15700786134
qq
今天我们来开发一个qq登陆界面,首先写一个界面程序,一个界面首先是一个Frame对象,即是一个窗体。然后在这个窗体上放置其他组件。代码如下:
public class First { public void initul(){ jf=ne
- Linux的程序包管理器RPM
被触发
linux
在早期我们使用源代码的方式来安装软件时,都需要先把源程序代码编译成可执行的二进制安装程序,然后进行安装。这就意味着每次安装软件都需要经过预处理-->编译-->汇编-->链接-->生成安装文件--> 安装,这个复杂而艰辛的过程。为简化安装步骤,便于广大用户的安装部署程序,程序提供商就在特定的系统上面编译好相关程序的安装文件并进行打包,提供给大家下载,我们只需要根据自己的
- socket通信遇到EOFException
肆无忌惮_
EOFException
java.io.EOFException
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2281)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:
- 基于spring的web项目定时操作
知了ing
javaWeb
废话不多说,直接上代码,很简单 配置一下项目启动就行
1,web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="h
- 树形结构的数据库表Schema设计
矮蛋蛋
schema
原文地址:
http://blog.csdn.net/MONKEY_D_MENG/article/details/6647488
程序设计过程中,我们常常用树形结构来表征某些数据的关联关系,如企业上下级部门、栏目结构、商品分类等等,通常而言,这些树状结构需要借助于数据库完成持久化。然而目前的各种基于关系的数据库,都是以二维表的形式记录存储数据信息,
- maven将jar包和源码一起打包到本地仓库
alleni123
maven
http://stackoverflow.com/questions/4031987/how-to-upload-sources-to-local-maven-repository
<project>
...
<build>
<plugins>
<plugin>
<groupI
- java IO操作 与 File 获取文件或文件夹的大小,可读,等属性!!!
百合不是茶
类 File
File是指文件和目录路径名的抽象表示形式。
1,何为文件:
标准文件(txt doc mp3...)
目录文件(文件夹)
虚拟内存文件
2,File类中有可以创建文件的 createNewFile()方法,在创建新文件的时候需要try{} catch(){}因为可能会抛出异常;也有可以判断文件是否是一个标准文件的方法isFile();这些防抖都
- Spring注入有继承关系的类(2)
bijian1013
javaspring
被注入类的父类有相应的属性,Spring可以直接注入相应的属性,如下所例:1.AClass类
package com.bijian.spring.test4;
public class AClass {
private String a;
private String b;
public String getA() {
retu
- 30岁转型期你能否成为成功人士
bijian1013
成长励志
很多人由于年轻时走了弯路,到了30岁一事无成,这样的例子大有人在。但同样也有一些人,整个职业生涯都发展得很优秀,到了30岁已经成为职场的精英阶层。由于做猎头的原因,我们接触很多30岁左右的经理人,发现他们在职业发展道路上往往有很多致命的问题。在30岁之前,他们的职业生涯表现很优秀,但从30岁到40岁这一段,很多人
- 【Velocity四】Velocity与Java互操作
bit1129
velocity
Velocity出现的目的用于简化基于MVC的web应用开发,用于替代JSP标签技术,那么Velocity如何访问Java代码.本篇继续以Velocity三http://bit1129.iteye.com/blog/2106142中的例子为基础,
POJO
package com.tom.servlets;
public
- 【Hive十一】Hive数据倾斜优化
bit1129
hive
什么是Hive数据倾斜问题
操作:join,group by,count distinct
现象:任务进度长时间维持在99%(或100%),查看任务监控页面,发现只有少量(1个或几个)reduce子任务未完成;查看未完成的子任务,可以看到本地读写数据量积累非常大,通常超过10GB可以认定为发生数据倾斜。
原因:key分布不均匀
倾斜度衡量:平均记录数超过50w且
- 在nginx中集成lua脚本:添加自定义Http头,封IP等
ronin47
nginx lua csrf
Lua是一个可以嵌入到Nginx配置文件中的动态脚本语言,从而可以在Nginx请求处理的任何阶段执行各种Lua代码。刚开始我们只是用Lua 把请求路由到后端服务器,但是它对我们架构的作用超出了我们的预期。下面就讲讲我们所做的工作。 强制搜索引擎只索引mixlr.com
Google把子域名当作完全独立的网站,我们不希望爬虫抓取子域名的页面,降低我们的Page rank。
location /{
- java-3.求子数组的最大和
bylijinnan
java
package beautyOfCoding;
public class MaxSubArraySum {
/**
* 3.求子数组的最大和
题目描述:
输入一个整形数组,数组里有正数也有负数。
数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。
求所有子数组的和的最大值。要求时间复杂度为O(n)。
例如输入的数组为1, -2, 3, 10, -4,
- Netty源码学习-FileRegion
bylijinnan
javanetty
今天看org.jboss.netty.example.http.file.HttpStaticFileServerHandler.java
可以直接往channel里面写入一个FileRegion对象,而不需要相应的encoder:
//pipeline(没有诸如“FileRegionEncoder”的handler):
public ChannelPipeline ge
- 使用ZeroClipboard解决跨浏览器复制到剪贴板的问题
cngolon
跨浏览器复制到粘贴板Zero Clipboard
Zero Clipboard的实现原理
Zero Clipboard 利用透明的Flash让其漂浮在复制按钮之上,这样其实点击的不是按钮而是 Flash ,这样将需要的内容传入Flash,再通过Flash的复制功能把传入的内容复制到剪贴板。
Zero Clipboard的安装方法
首先需要下载 Zero Clipboard的压缩包,解压后把文件夹中两个文件:ZeroClipboard.js
- 单例模式
cuishikuan
单例模式
第一种(懒汉,线程不安全):
public class Singleton { 2 private static Singleton instance; 3 pri
- spring+websocket的使用
dalan_123
一、spring配置文件
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.or
- 细节问题:ZEROFILL的用法范围。
dcj3sjt126com
mysql
1、zerofill把月份中的一位数字比如1,2,3等加前导0
mysql> CREATE TABLE t1 (year YEAR(4), month INT(2) UNSIGNED ZEROFILL, -> day
- Android开发10——Activity的跳转与传值
dcj3sjt126com
Android开发
Activity跳转与传值,主要是通过Intent类,Intent的作用是激活组件和附带数据。
一、Activity跳转
方法一Intent intent = new Intent(A.this, B.class); startActivity(intent)
方法二Intent intent = new Intent();intent.setCla
- jdbc 得到表结构、主键
eksliang
jdbc 得到表结构、主键
转自博客:http://blog.csdn.net/ocean1010/article/details/7266042
假设有个con DatabaseMetaData dbmd = con.getMetaData(); rs = dbmd.getColumns(con.getCatalog(), schema, tableName, null); rs.getSt
- Android 应用程序开关GPS
gqdy365
android
要在应用程序中操作GPS开关需要权限:
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
但在配置文件中添加此权限之后会报错,无法再eclipse里面正常编译,怎么办?
1、方法一:将项目放到Android源码中编译;
2、方法二:网上有人说cl
- Windows上调试MapReduce
zhiquanliu
mapreduce
1.下载hadoop2x-eclipse-plugin https://github.com/winghc/hadoop2x-eclipse-plugin.git 把 hadoop2.6.0-eclipse-plugin.jar 放到eclipse plugin 目录中。 2.下载 hadoop2.6_x64_.zip http://dl.iteye.com/topics/download/d2b
- 如何看待一些知名博客推广软文的行为?
justjavac
博客
本文来自我在知乎上的一个回答:http://www.zhihu.com/question/23431810/answer/24588621
互联网上的两种典型心态:
当初求种像条狗,如今撸完嫌人丑
当初搜贴像条犬,如今读完嫌人软
你为啥感觉不舒服呢?
难道非得要作者把自己的劳动成果免费给你用,你才舒服?
就如同 Google 关闭了 Gooled Reader,那是
- sql优化总结
macroli
sql
为了是自己对sql优化有更好的原则性,在这里做一下总结,个人原则如有不对请多多指教。谢谢!
要知道一个简单的sql语句执行效率,就要有查看方式,一遍更好的进行优化。
一、简单的统计语句执行时间
declare @d datetime ---定义一个datetime的变量set @d=getdate() ---获取查询语句开始前的时间select user_id
- Linux Oracle中常遇到的一些问题及命令总结
超声波
oraclelinux
1.linux更改主机名
(1)#hostname oracledb 临时修改主机名
(2) vi /etc/sysconfig/network 修改hostname
(3) vi /etc/hosts 修改IP对应的主机名
2.linux重启oracle实例及监听的各种方法
(注意操作的顺序应该是先监听,后数据库实例)
&nbs
- hive函数大全及使用示例
superlxw1234
hadoophive函数
具体说明及示例参 见附件文档。
文档目录:
目录
一、关系运算: 4
1. 等值比较: = 4
2. 不等值比较: <> 4
3. 小于比较: < 4
4. 小于等于比较: <= 4
5. 大于比较: > 5
6. 大于等于比较: >= 5
7. 空值判断: IS NULL 5
- Spring 4.2新特性-使用@Order调整配置类加载顺序
wiselyman
spring 4
4.1 @Order
Spring 4.2 利用@Order控制配置类的加载顺序
4.2 演示
两个演示bean
package com.wisely.spring4_2.order;
public class Demo1Service {
}
package com.wisely.spring4_2.order;
public class