- 详解kubernetes中的Pod生命周期
caiy1ian
kubernetes容器云原生
目录1.1Pod生命周期概述1.2创建和终止1.2.1Pod的创建过程1.2.2Pod的终止过程1.3初始化容器1.3.1案例1.4容器探测1.4.1Exec示例1.5重启策略1.1Pod生命周期概述Pod中的生命周期主要包含以下过程:pod创建过程运行初始化容器(initcontainer)过程运行主容器(maincontainer)容器启动后钩子(poststart)、容器终止前钩子(pres
- Kafka 可视化工具-Offset Explorer
goldenocean
kafka分布式
最近在研究Kafka,相应的可视化工具有好多,其中官方免费提供的OffsetExplorer是首选,可是在下载时,速度特别慢,难以忍受。后来找了好多渠道,终于在csdn.net中找到了下载连接。为了方便小伙伴们使用,特将分享下载链接。offsetexplorer_64bit_3.0.exe
- Kubernetes 中导致 pod 重启的原因
百里自来卷
kubernetesjava容器
原因在Kubernetes(K8s)中,导致Pod重启的原因主要有以下几种:1.应用程序异常应用进程崩溃:Pod内部的应用程序由于未处理的异常、内存溢出(OOM)、访问非法地址等原因崩溃,导致容器退出并被K8s重新拉起。主动退出(exit非0):如果容器的主进程(PID1)主动退出并返回非零状态码,K8s会认为容器异常终止,并可能触发重启。2.OOM(OutOfMemory)杀死内存不足(OOMK
- 组件组合和Context API在React中的应用
小涵
前端框架react.js前端前端框架开发语言javascriptReact青少年编程
组件组合和ContextAPI在React中的应用推荐超级课程:本地离线DeepSeekAI方案部署实战教程【完全版】Docker快速入门到精通Kubernetes入门到大师通关课AWS云服务快速入门实战目录组件组合和ContextAPI在React中的应用组件组合:属性穿透:组件嵌套在嵌套组件间传递数据PropDrilling的挑战和ContextAPI作为替代方案组件组合和属性穿透是React
- 安装centos7开发者工具
小白的瞄
Linuxlinux
安装centos7开发者工具1、查看有那些组安装包可用。yumgrouplist|more2.安装yumgroupinstall"DevelopmentTools"安装MySql0.检查环境rpm-qa|greplibaiorpm-qa|grepnet-tools0.1查询自带MySQL#rpm-qa|grepmariadbmariadb-libs-5.5.41-2.el7_0.x86_640.2
- centos7 安装hashcat
x10n9
linux运维服务器
下载hashcat:--》6.2.6https://hashcat.net/files/hashcat-6.2.6.7z安装intel_sdk_for_opencl_applications:wgethttp://registrationcenter-download.intel.com/akdlm/irc_nas/vcp/16284/intel_sdk_for_opencl_applicatio
- 解决“com.docker.vmnetd”,“com.docker.socket”将对你的电脑造成伤害。
正在成为大牛的小菜鸡
dockerjavamac
DockerDesktop版本4.28及更早版本不受此问题的影响。如果您的版本为4.32-4.36,请安装补丁,升级到最新的4.37.2如果一直弹窗,请执行以下命令后,重新安装即可sudolaunchctlbootoutsystem/com.docker.vmnetd2>/dev/null||truesudolaunchctlbootoutsystem/com.docker.socket2>/de
- Netty源码—10.Netty工具之时间轮二
东阳马生架构
Netty应用与源码Netty时间轮
大纲1.什么是时间轮2.HashedWheelTimer是什么3.HashedWheelTimer的使用4.HashedWheelTimer的运行流程5.HashedWheelTimer的核心字段6.HashedWheelTimer的构造方法7.HashedWheelTimer添加任务和执行任务8.HashedWheelTimer的完整源码9.HashedWheelTimer的总结10.Hashe
- MacOS 15 无法打开Docker问题(Malware Blocked)解决
黑叶问白天
macosdocker
【2025.1.26更新】试了下,新版本docker已修复该问题。可以更新或下载最新版的docker解决该,感谢评论区小伙伴们提供建议今天突然发现Docker打不开了,报检测到恶意软件,折腾了一会儿,找到了解决方案,记录如下:1.报错提示MalwareBlocked:“com.docker.vmnetd”wasnotopenedbecauseitcontainsmalware2.解决方法复制com
- macOS (M1 Pro) 上 Docker Desktop 安装失败问题及其解决方案
coding随想
macosdocker容器
macOS(M1Pro)上DockerDesktop安装失败问题及其解决方案在尝试于搭载M1Pro芯片的macOS系统上安装DockerDesktop时,您可能会遇到如下错误:installingvmnetd:retrievingvmnetdversionfrom/Library/LaunchDaemons/com.docker.vmnetd.plist:readingplist/Library/
- MAC安装docker 后提示com.docker.vmnetd”将对您的电脑造成伤害
mingyuewu
macosdocker容器
出现“com.docker.vmnetd”将对您的电脑造成伤害的提示,通常是由于文件签名问题导致macOS的安全系统误判Docker为恶意软件。以下是解决方法:停止相关服务并删除文件运行以下命令停止相关服务并删除有问题的文件停止Docker服务sudopkill‘[dD]ocker’停止vmnetd服务sudolaunchctlbootoutsystem/Library/LaunchDaemons
- 转:tensorflow 数学运算
算法恩仇录
Keras
来源:https://blog.csdn.net/qq_27009517/article/details/80801666感谢总结!tf.ceil向上取整。K.ceil不能这么操作:
- WiFi_CE_占用带宽自动化测试_基于 Python + 罗德频谱仪(SCPI指令)
岁月_流沙
自动化测试_Pythonpython测试工具
2.4G_WiFi_CE_占用带宽测试标准请参考下面博客2.4G_WiFi_CE_占用带宽测试_频谱分析仪测试2.4g-CSDN博客https://blog.csdn.net/weixin_57515011/article/details/146164656?spm=1001.2014.3001.5502测试组网图:下面代码示例,只是基于罗德频谱仪测试OBW的基础操作,如有疑问,欢迎留言沟通。im
- 智能路由系统-信息泄露漏洞挖掘
橙子2025
网络安全运维
1.漏洞描述:Secnet-智能路由系统actpt_5g.data信息泄露,攻击者可利用此漏洞收集敏感信息,从而为下一步攻击做准备。2.fofa搜索语句title="安网-智能路由系统"||title=="智能路由系统"||title="安网科技-智能路由系统"||title="智能AC管理系统"3.POC验证/actpt_5g.data//读取账户密码4.修复建议1.更新系统和软件:确保Sec
- Kubernetes深度解析:云原生时代的容器编排引擎
这个懒人
云原生kubernetes容器
一、背景与演进1.容器革命的必然产物Kubernetes(K8s)诞生于2014年,是Google基于其内部Borg系统的开源实现。在传统单体应用向微服务架构转型的浪潮中,容器技术(如Docker)解决了应用打包和环境隔离问题,但大规模容器集群的管理仍面临三大挑战:调度复杂性:如何高效分配数千容器的计算资源服务治理难题:动态环境下的服务发现与流量管理运维自动化:故障自愈、滚动升级等运维需求截至20
- 【Spring Boot 与 Spring Cloud 深度 Mape 之十】体系整合、部署运维与进阶展望
无眠_
springbootspringcloud运维
【SpringBoot与SpringCloud深度Mape之十】体系整合、部署运维与进阶展望#微服务实战#Docker#Kubernetes#SpringSecurity#OAuth2#分布式事务#Seata#ServiceMesh#总结#SpringCloud#SpringBoot系列终章:经过前九篇[【深度Mape系列】]的系统学习,我们已经逐一探索并实战了SpringBoot的基础构建能力,
- 【自学笔记】.NET基础知识点总览-持续更新
Long_poem
笔记.net
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录.NET基础知识点总览1..NET简介2.C#语言基础3..NETCore与.NET5+4.集合与泛型5.异步编程6.文件与流操作7.网络编程8.数据库访问代码示例总结.NET基础知识点总览1..NET简介定义:.NET是一个由微软开发的,用于构建多种类型应用程序(如Windows桌面应用、Web应用、移动应用、游戏等)的开源
- 哪家服务器支持ipv6,ipv6服务器中国有多少个
小麦的天空
哪家服务器支持ipv6
IPv6服务器中国有多少个?对于IPV6的根服务器,中国一共部署了4台ipv6根服务器,其中1台主根、3台辅根。根服务器负责互联网最顶级的域名解析,被称为互联网的“中枢神经”。根域名服务器是架构因特网所必须的基础设施,根服务器主要用来管理互联网的主目录。常见的.com、.net等国际顶级域名的解析,均需要由域名服务器提供服务。根服务器存储了很多域的解析,虽然根服务器没有每个域名的具体信息,但理论上
- 【论文阅读】Proposal and Investigation of a Lite Time Sensitive Networking Solution
zj.Liu
论文阅读论文阅读
【论文阅读】Title:ProposalandInvestigationofaLiteTimeSensitiveNetworkingSolutionfortheSupportofRealTimeServicesinSpaceLauncherNetworksAuthors:TIZIANAFIORI,(GraduateStudentMember,IEEE),FRANCESCOGIACINTOLAVAC
- 基于Java与Go的下一代DDoS防御体系构建实战
Monkey@
javagolangddos
引言:混合云时代的攻防对抗新格局2024年某金融平台遭遇峰值2.3Tbps的IPv6混合攻击,传统WAF方案在新型AI驱动攻击面前全面失效。本文将以Java与Go为技术栈,揭示如何构建具备智能决策能力的防御系统。一、攻击防御技术矩阵重构1.1混合攻击特征识别攻击类型Java检测方案Go防御实现协议滥用型Netty流量特征分析gopacket协议解析应用层侵蚀SpringCloudGateway限流
- java comp_Java EE异常:名称java:comp未在此上下文中绑定
FPGA hdl
javacomp
我在Netbeans7.2.1中有JavaEE应用程序。试图部署它(建设结束确定),我得到了Tomcat日志中的错误:Causedby:javax.naming.NameNotFoundException:Namejava:compisnotboundinthisContextatorg.apache.naming.NamingContext.lookup(NamingContext.java:7
- COMP2221 Module title Networks
W_X_99515681
python开发语言
SchoolofComputerScience:assessmentbriefModuletitleNetworksModulecodeCOMP2221AssignmenttitleCourseworkAssignmenttypeanddescriptionProgrammingassignmentinJavaRationaleDesignanddevelopclientandmulti-thre
- 6CCS3NSE/7CCSMNSE Network Security
W_X_99515681
java服务器网络
Page1of66CCS3NSE/7CCSMNSENetworkSecurity6CCS3NSE/7CCSMNSENetworkSecurity2023-24AcademicYearCourseworkSpecificationModuletitle:NetworksecurityModulecode:6CCS3NSE/7CCSMNSECourseworktitle:Networkattackan
- c#客户端 通过用户名密码访问服务器文件,C#通过用户名与密码访问共享目录
weixin_39823269
c#客户端通过用户名密码访问服务器文件
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Runtime.InteropServices;namespaceFileTools{publicclassNetworkShareConnect{#regionWNetUseConnection枚举参数//dwScop
- .net 通过用户名密码访问共享文件夹
Best_Czc
.NET跨域.net
这是引用的命名空间(有一部分是不需要的,可以自行去掉)usingOracle.DataAccess.Client;usingSystem;usingSystem.Collections.Generic;usingSystem.Configuration;usingSystem.Data;usingSystem.Text;usingEMPPLib;usingSystem.Threading;usin
- c#的.Net Framework 的console 项目找不到System.Window.Forms 引用
qq_43361844
c#c#.net开发语言c#遇到的问题
首先确保是建立的.NetFramework的console项目,然后天健reference应用找不到System.Windows.Forms引用打开对应的csproj文件在第一个PropertyGroup下添加true然后在第一个ItemGroup下添加保存然后重新加载项目,或者退出重新打开
- Linux服务器怎样根据端口找到对应启动的服务
2401_89793006
java服务器linux网络
#Linux服务器怎样根据端口找到对应启动的服务在Linux服务器中,有时候我们会遇到某个端口被占用的情况,但不清楚是哪个服务占用了这个端口。这时候,我们需要通过一些命令来查找对应的进程和服务。本文将详细介绍如何根据端口找到对应启动的服务。##1.使用`netstat`命令`netstat`是一个网络统计工具,可以显示网络连接、路由表、接口状态等信息。我们可以通过它来查找占用特定端口的进程。###
- 基于Netty实现的netty-socketio实现WebSocket
weixin_34315189
网络netty运维
2019独角兽企业重金招聘Python工程师标准>>>介绍netty-socketio是socket.io使用Java语言基于Netty网络库编写的WebSocket库.功能非常强大,简单易用,稳定可靠.com.corundumstudio.socketionetty-socketio1.7.14后端使用Demo1.配置SocketIOServer@Value("${my.server.host}
- socket.io netty java,SpringBoot+Netty-socketio实现websocket
木陌APPLE
socket.ionettyjava
socket.io是js实现的,websocket框架,为了解决浏览器不兼容问题而设计socket.io.js下载地址:https://cdnjs.com/libraries/socket.io常用的方式是,前端使用socket.io.js,后端使用node.js实现socket.io的接口,可是我们的架构后端使用的是java,所以我使用的是netty-socketio,基于spring-boot
- websocket之netty-socketio高性能实时消息推送框架
奇怪的混子
websocket网络协议网络
简介websocket协议的出现,打破http那种只能由客户端发起请求,服务器响应的单项数据传输局面,采用websocket之后,可以由客户端推送数据到服务端,也可以由服务器主动推送数据到客户端,从而同时进行双向通信,便于数据实时更新推送netty-socketio便是为了方便我们进行websocket开发的框架,底层采用netty,提供了可靠高效的性能netty-socketio的官方githu
- 对于规范和实现,你会混淆吗?
yangshangchuan
HotSpot
昨晚和朋友聊天,喝了点咖啡,由于我经常喝茶,很长时间没喝咖啡了,所以失眠了,于是起床读JVM规范,读完后在朋友圈发了一条信息:
JVM Run-Time Data Areas:The Java Virtual Machine defines various run-time data areas that are used during execution of a program. So
- android 网络
百合不是茶
网络
android的网络编程和java的一样没什么好分析的都是一些死的照着写就可以了,所以记录下来 方便查找 , 服务器使用的是TomCat
服务器代码; servlet的使用需要在xml中注册
package servlet;
import java.io.IOException;
import java.util.Arr
- [读书笔记]读法拉第传
comsci
读书笔记
1831年的时候,一年可以赚到1000英镑的人..应该很少的...
要成为一个科学家,没有足够的资金支持,很多实验都无法完成
但是当钱赚够了以后....就不能够一直在商业和市场中徘徊......
- 随机数的产生
沐刃青蛟
随机数
c++中阐述随机数的方法有两种:
一是产生假随机数(不管操作多少次,所产生的数都不会改变)
这类随机数是使用了默认的种子值产生的,所以每次都是一样的。
//默认种子
for (int i = 0; i < 5; i++)
{
cout<<
- PHP检测函数所在的文件名
IT独行者
PHP函数
很简单的功能,用到PHP中的反射机制,具体使用的是ReflectionFunction类,可以获取指定函数所在PHP脚本中的具体位置。 创建引用脚本。
代码:
[php]
view plain
copy
// Filename: functions.php
<?php&nbs
- 银行各系统功能简介
文强chu
金融
银行各系统功能简介 业务系统 核心业务系统 业务功能包括:总账管理、卡系统管理、客户信息管理、额度控管、存款、贷款、资金业务、国际结算、支付结算、对外接口等 清分清算系统 以清算日期为准,将账务类交易、非账务类交易的手续费、代理费、网络服务费等相关费用,按费用类型计算应收、应付金额,经过清算人员确认后上送核心系统完成结算的过程 国际结算系
- Python学习1(pip django 安装以及第一个project)
小桔子
pythondjangopip
最近开始学习python,要安装个pip的工具。听说这个工具很强大,安装了它,在安装第三方工具的话so easy!然后也下载了,按照别人给的教程开始安装,奶奶的怎么也安装不上!
第一步:官方下载pip-1.5.6.tar.gz, https://pypi.python.org/pypi/pip easy!
第二部:解压这个压缩文件,会看到一个setup.p
- php 数组
aichenglong
PHP排序数组循环多维数组
1 php中的创建数组
$product = array('tires','oil','spark');//array()实际上是语言结构而不 是函数
2 如果需要创建一个升序的排列的数字保存在一个数组中,可以使用range()函数来自动创建数组
$numbers=range(1,10)//1 2 3 4 5 6 7 8 9 10
$numbers=range(1,10,
- 安装python2.7
AILIKES
python
安装python2.7
1、下载可从 http://www.python.org/进行下载#wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz
2、复制解压
#mkdir -p /opt/usr/python
#cp /opt/soft/Python-2
- java异常的处理探讨
百合不是茶
JAVA异常
//java异常
/*
1,了解java 中的异常处理机制,有三种操作
a,声明异常
b,抛出异常
c,捕获异常
2,学会使用try-catch-finally来处理异常
3,学会如何声明异常和抛出异常
4,学会创建自己的异常
*/
//2,学会使用try-catch-finally来处理异常
- getElementsByName实例
bijian1013
element
实例1:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/x
- 探索JUnit4扩展:Runner
bijian1013
java单元测试JUnit
参加敏捷培训时,教练提到Junit4的Runner和Rule,于是特上网查一下,发现很多都讲的太理论,或者是举的例子实在是太牵强。多搜索了几下,搜索到两篇我觉得写的非常好的文章。
文章地址:http://www.blogjava.net/jiangshachina/archive/20
- [MongoDB学习笔记二]MongoDB副本集
bit1129
mongodb
1. 副本集的特性
1)一台主服务器(Primary),多台从服务器(Secondary)
2)Primary挂了之后,从服务器自动完成从它们之中选举一台服务器作为主服务器,继续工作,这就解决了单点故障,因此,在这种情况下,MongoDB集群能够继续工作
3)挂了的主服务器恢复到集群中只能以Secondary服务器的角色加入进来
2
- 【Spark八十一】Hive in the spark assembly
bit1129
assembly
Spark SQL supports most commonly used features of HiveQL. However, different HiveQL statements are executed in different manners:
1. DDL statements (e.g. CREATE TABLE, DROP TABLE, etc.)
- Nginx问题定位之监控进程异常退出
ronin47
nginx在运行过程中是否稳定,是否有异常退出过?这里总结几项平时会用到的小技巧。
1. 在error.log中查看是否有signal项,如果有,看看signal是多少。
比如,这是一个异常退出的情况:
$grep signal error.log
2012/12/24 16:39:56 [alert] 13661#0: worker process 13666 exited on s
- No grammar constraints (DTD or XML schema).....两种解决方法
byalias
xml
方法一:常用方法 关闭XML验证
工具栏:windows => preferences => xml => xml files => validation => Indicate when no grammar is specified:选择Ignore即可。
方法二:(个人推荐)
添加 内容如下
<?xml version=
- Netty源码学习-DefaultChannelPipeline
bylijinnan
netty
package com.ljn.channel;
/**
* ChannelPipeline采用的是Intercepting Filter 模式
* 但由于用到两个双向链表和内部类,这个模式看起来不是那么明显,需要仔细查看调用过程才发现
*
* 下面对ChannelPipeline作一个模拟,只模拟关键代码:
*/
public class Pipeline {
- MYSQL数据库常用备份及恢复语句
chicony
mysql
备份MySQL数据库的命令,可以加选不同的参数选项来实现不同格式的要求。
mysqldump -h主机 -u用户名 -p密码 数据库名 > 文件
备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
mysqldump -–add-drop-table -uusername -ppassword databasename > ba
- 小白谈谈云计算--基于Google三大论文
CrazyMizzz
Google云计算GFS
之前在没有接触到云计算之前,只是对云计算有一点点模糊的概念,觉得这是一个很高大上的东西,似乎离我们大一的还很远。后来有机会上了一节云计算的普及课程吧,并且在之前的一周里拜读了谷歌三大论文。不敢说理解,至少囫囵吞枣啃下了一大堆看不明白的理论。现在就简单聊聊我对于云计算的了解。
我先说说GFS
&n
- hadoop 平衡空间设置方法
daizj
hadoopbalancer
在hdfs-site.xml中增加设置balance的带宽,默认只有1M:
<property>
<name>dfs.balance.bandwidthPerSec</name>
<value>10485760</value>
<description&g
- Eclipse程序员要掌握的常用快捷键
dcj3sjt126com
编程
判断一个人的编程水平,就看他用键盘多,还是鼠标多。用键盘一是为了输入代码(当然了,也包括注释),再有就是熟练使用快捷键。 曾有人在豆瓣评
《卓有成效的程序员》:“人有多大懒,才有多大闲”。之前我整理了一个
程序员图书列表,目的也就是通过读书,让程序员变懒。 程序员作为特殊的群体,有的人可以这么懒,懒到事情都交给机器去做,而有的人又可以那么勤奋,每天都孜孜不倦得
- Android学习之路
dcj3sjt126com
Android学习
转自:http://blog.csdn.net/ryantang03/article/details/6901459
以前有J2EE基础,接触JAVA也有两三年的时间了,上手Android并不困难,思维上稍微转变一下就可以很快适应。以前做的都是WEB项目,现今体验移动终端项目,让我越来越觉得移动互联网应用是未来的主宰。
下面说说我学习Android的感受,我学Android首先是看MARS的视
- java 遍历Map的四种方法
eksliang
javaHashMapjava 遍历Map的四种方法
转载请出自出处:
http://eksliang.iteye.com/blog/2059996
package com.ickes;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
/**
* 遍历Map的四种方式
- 【精典】数据库相关相关
gengzg
数据库
package C3P0;
import java.sql.Connection;
import java.sql.SQLException;
import java.beans.PropertyVetoException;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class DBPool{
- 自动补全
huyana_town
自动补全
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml&quo
- jquery在线预览PDF文件,打开PDF文件
天梯梦
jquery
最主要的是使用到了一个jquery的插件jquery.media.js,使用这个插件就很容易实现了。
核心代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.
- ViewPager刷新单个页面的方法
lovelease
androidviewpagertag刷新
使用ViewPager做滑动切换图片的效果时,如果图片是从网络下载的,那么再子线程中下载完图片时我们会使用handler通知UI线程,然后UI线程就可以调用mViewPager.getAdapter().notifyDataSetChanged()进行页面的刷新,但是viewpager不同于listview,你会发现单纯的调用notifyDataSetChanged()并不能刷新页面
- 利用按位取反(~)从复合枚举值里清除枚举值
草料场
enum
以 C# 中的 System.Drawing.FontStyle 为例。
如果需要同时有多种效果,
如:“粗体”和“下划线”的效果,可以用按位或(|)
FontStyle style = FontStyle.Bold | FontStyle.Underline;
如果需要去除 style 里的某一种效果,
- Linux系统新手学习的11点建议
刘星宇
编程工作linux脚本
随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起。这里介绍学习Linux的一些建议。
一、从基础开始:常常有些朋友在Linux论坛问一些问题,不过,其中大多数的问题都是很基础的。例如:为什么我使用一个命令的时候,系统告诉我找不到该目录,我要如何限制使用者的权限等问题,这些问题其实都不是很难的,只要了解了 Linu
- hibernate dao层应用之HibernateDaoSupport二次封装
wangzhezichuan
DAOHibernate
/**
* <p>方法描述:sql语句查询 返回List<Class> </p>
* <p>方法备注: Class 只能是自定义类 </p>
* @param calzz
* @param sql
* @return
* <p>创建人:王川</p>
* <p>创建时间:Jul