题目描述已知n个整数x1,x2,⋯,xn,以及1个整数k(k#includeusingnamespacestd;intn,k;inta[22],ans;//判断质数boolprime(intnum){if(num>n>>k;for(inti=1;i>a[i];}f(1,k,0);cout<
算法1-1 玩具谜题
咚咚轩
算法c++数据结构
题目描述小南有一套可爱的玩具小人,它们各有不同的职业。有一天,这些玩具小人把小南的眼镜藏了起来。小南发现玩具小人们围成了一个圈,它们有的面朝圈内,有的面朝圈外。如下图:这时singer告诉小南一个谜题:“眼镜藏在我左数第3个玩具小人的右数第1个玩具小人的左数第2个玩具小人那里。”小南发现,这个谜题中玩具小人的朝向非常关键,因为朝内和朝外的玩具小人的左右方向是相反的:面朝圈内的玩具小人,它的左边是顺
YashanDB数据操作
数据库
本章节将介绍YashanDB数据库中表相关的基本语法和示例。插入数据通过执行INSERT语句往表中插入数据:CREATETABLEinsert_tb(c1INT,c2CHAR(10));INSERTINTOinsert_tbVALUES(4,'hello');INSERTINTOinsert_tbVALUES(1,'world'),(2,'nihao'),(3,'shijie');COMMIT;删
4 算法1-3 三连击(升级版)
咚咚轩
枚举
题目描述将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数的比例是A:B:C,试求出所有满足条件的三个三位数,若无解,输出No!!!。输入格式三个数,A,B,C。输出格式若干行,每行3个数字。按照每行第一个数字升序排列。输入输出样例输入#1123输出#1192384576219438657273546819327654981说明/提示保证Ausingnamespacestd;i
【万字长文】开源之播对话白鲸开源CEO郭炜--乐观主义的开源精神走得更远
SeaTunnel
开源
本文为白鲸开源科技CEO郭炜1小时深度访谈全记录来源于:开源之播」·Episode15:对话郭炜–乐观主义的开源精神走得更远大家好,我是郭炜,开源圈的“郭大侠”。作为Apache基金会的成员,我曾参与并孵化了多个开源项目,如早期的ClickHouse,以及ApacheDolphinScheduler(中文名:海豚调度)和ApacheSeaTunnel。这些都是Apache的顶级项目。现在,我创办了
python高级用法之pydantic
atom goper
pythonjava前端
Pydantic是一个基于Python类型提示的数据验证库。它利用Python的类型注解来定义数据模型,并自动进行类型检查、数据验证和错误处理。它被一些顶级的Python模块所采用,其中特别包括HuggingFace、FastAPI和Langchain。优势:IDE类型提示:通过数据建模,可以获得更好的IDE对类型提示和自动补全的支持。数据验证:通过使用Pydantic验证数据,当创建对象时,可以
html水平线段hr标记详解,HTML标记【水平分隔线hr标记的使用】!
有见Finsight
html水平线段hr标记详解
用标记可以在网页上画出一条横跨网页的水平分隔线,以分隔不同的文字段落表为控制标记所建立的水平分聘线样式的属性说明。下面我们介绍一下水平线的属性标记:属性功能,size水平线的粗细,以pixel(像素)为单位表示。width水平线的宽度,以pixel(像素)为单位表示。align控制水平分隔线的对齐方式。color设置水平线的颜色。noshade水平线不显示3D阴景size属性:控制水平线的粗细,以
PCA主成分分析降维算法及其可视化(附完整版代码)
Jason_Orton
算法机器学习数据挖掘人工智能matlab
一.PCA的介绍PCA(PrincipalComponentAnalysis)是一种数据降维技术,旨在将多维指标转换为少数几个综合指标。在统计学中,PCA是简化数据集的一种方法,通过线性变换将数据映射到新的坐标系中。在新的坐标系中,第一主成分捕获数据投影的最大方差,第二主成分捕获第二大方差,依此类推。主成分分析常用于减少数据集的维度,同时保留对方差贡献最大的特征。这是通过保留低阶主成分、忽略高阶主
Java高频面试之SE-20
牛马baby
java面试开发语言
hello啊,各位观众姥爷们!!!本baby今天又来了!哈哈哈哈哈嗝Java的泛型是什么?Java泛型(Generics)是Java5引入的一项重要特性,用于增强代码的类型安全性和重用性。泛型允许在定义类、接口和方法时使用类型参数,从而使代码更加通用且减少类型转换的需求。1.泛型的基本概念泛型的核心思想是参数化类型,即在定义类、接口或方法时,使用一个或多个类型参数(通常用T、E、K、V等表示),在
python天气数据分析与处理,用python数据分析天气
2401_84504019
人工智能
本篇文章给大家谈谈python天气预报可视化分析报告,以及基于python的天气预测系统研究,希望对各位有所帮助,不要忘了收藏本站喔。基于大数据重庆市气象数据分析摘要信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对气象数据等问题,对气象信息进行研究分析,然后开发设计出气象数据分
欧几里得算法
王嘉俊925
算法算法c++
欧几里得算法(辗转相除法)欧几里得算法(EuclideanAlgorithm)是一种高效计算两个非负整数最大公约数(GCD)的方法。它不仅简单易懂,而且在数学和计算机科学中有着广泛的应用。以下是对该算法的深入讲解,包括其原理、扩展、时间复杂度分析以及实际应用。1.算法原理欧几里得算法的核心思想基于以下数学原理:辗转相除法:对于两个整数a和b(a≥b)(a\geqb)(a≥b),它们的最大公约数gc
图神经网络:拓扑数据分析的新时代
Jason_Orton
神经网络数据分析人工智能
随着图数据的广泛应用,图神经网络(GraphNeuralNetwork,GNN)作为一种强大的深度学习工具,逐渐成为机器学习领域中的一颗新星。图数据在许多现实世界问题中无处不在,诸如社交网络、交通网络、分子结构、推荐系统等都可以被建模为图结构。图神经网络通过直接处理图结构数据,能够更好地捕捉节点之间的关系信息,从而在众多任务中展现出了优异的性能。本文将深入探讨图神经网络的基本原理、常见的算法、应用
python 基本用法
选与握
#pythonpython人工智能开发语言
1[None]importnumpyasnp#创建一个示例数组img_pre=np.array([[1,2,3],[4,5,6]])#使用...进行索引result=img_pre[...][None]print("原始数组形状:",img_pre.shape)print("操作后数组形状:",result.shape)代码解释...操作符:...(省略号)在NumPy中是一个特殊的索引对象,它表
UniApp 按钮组件 open-type 属性详解:功能、场景与平台差异
前端小雪的博客.
uni-appopen-type
文章目录引言一、open-type基础概念1.1核心作用1.2通用使用模板二、主流open-type值详解2.1contact-客服会话功能说明平台支持代码示例2.2share-内容转发功能说明平台支持注意事项2.3getUserInfo-获取用户信息功能说明平台支持代码示例2.4getPhoneNumber-获取手机号功能说明平台支持开发要点2.5feedback-意见反馈功能说明平台支持三、跨
智算中心的核心硬件是什么?
Imagination官方博客
本文来源:游方AI智算中心,作为人工智能时代的关键基础设施,其核心硬件的构成与性能直接影响着智能计算的效率与质量。以下是对智算中心核心硬件的详细阐述:一、AI芯片AI芯片是专门为加速人工智能计算而设计的硬件,能够与各种AI算法协同工作,满足对算力的极高需求。当前主流的AI加速计算芯片包括:1、GPU(图形处理器)GPU是智算中心的算力担当,其强大的并行计算能力使其在深度学习领域大放异彩。GPU芯片
2025,AI变现有哪些机遇与挑战?
Imagination官方博客
人工智能
大模型的能力边界在不断拓宽,主流云端大模型普遍具备了多模态推理能力。技术路线上,也不再局限于算力堆叠,而是探索强化学习、符号推理、类脑计算等新路径。并且,投入更小、更垂直的小模型涌现,为特定领域的应用提供了更高效的解决方案。与此同时,我国大模型领域仍然存在多方面痛点,例如:云端训练成本高、高端算力存在“卡脖子”风险、优质数据匮乏、人才缺口、AI算法开源生态仍需强化、数据安全和隐私问题等等,仍是市场
react-native入门之核心组件与原生组件
crayon-shin-chan
surprise#react-nativereactnativereact
文档:核心组件与原生组件·ReactNative中文网1.简介ReactNative是一个使用React和应用平台的原生功能来构建Android和iOS应用的开源框架。可以使用JavaScript来访问移动平台的API,使用React组件来描述UI的外观和行为2.视图在Android和iOS开发中,一个视图是UI的基本组成部分屏幕上的一个小矩形元素、可用于显示文本、图像或响应用户输入。甚至应用程序
【创作话题】Wireshark插件开发实用技巧分享
热爱分享的博士僧
wireshark测试工具网络
开发Wireshark插件能够极大地扩展Wireshark的功能,使其能够解析和分析特定协议的数据包。以下是一些实用技巧,帮助您更高效地进行Wireshark插件开发:1.熟悉Lua脚本语言Wireshark支持使用Lua脚本语言来编写插件。Lua是一种轻量级的脚本语言,易于学习且功能强大,非常适合用于快速原型设计和开发Wireshark插件。掌握Lua的基本语法、数据结构(如表)以及如何在Lua
React Native 0.76正式版发布,带来多项目更新
xiangzhihong8
ReactNativereactnativereact.jsjavascript
去年10月,ReactNative0.76版本更新,主要更新的内容有默认启用了新架构,并引入了ReactNativeDevTools。这是我们团队6年辛勤工作的高潮,同时得到了我们令人难以置信的开发者社区的支持。主要更新的内容如下:ReactNative新架构默认启用ReactNativeDevTools更快的Metro解析BoxShadow和Filter样式属性移除了对react-native-
AI之DeepSeek
james二次元
AI人工智能AIDeepSeek
DeepSeek是一个开源的基于深度学习的搜索引擎,用于在大规模数据中进行高效的内容检索和相似度搜索。它利用深度学习技术,特别是嵌入(embedding)技术,以改进传统搜索引擎中基于关键词的匹配方式,能够对复杂的查询和内容进行更精确和智能的理解。DeepSeek主要侧重于基于语义的搜索,通过将数据(例如文本、图像、音频等)转换为向量表示,来实现更为精准的相似度搜索。它的应用场景包括但不限于自然语
Spark之PySpark
james二次元
大数据SparkPythonPySpark
PySpark是ApacheSpark的PythonAPI,它允许开发者使用Python编程语言进行大规模数据处理和分析。ApacheSpark是一个快速、通用、可扩展的大数据处理引擎,支持批处理、流处理、机器学习、图计算等多种数据处理模式。PySpark使得Python开发者能够利用Spark强大的分布式计算能力,处理大数据集,并执行高效的并行计算。一、PySpark核心概念1.RDD(弹性分布
java将文件流传给前端,JAVA基础知识之InputStreamReader流 和 将本地文件通过前端上传到服务器上...
GrapeDoor
java将文件流传给前端
将本地文件通过前端上传到服务器上publicBaseResponseSwaggerresolveFile(@Valid@ApiParam(value="file")@RequestParam(name="file",required=true)MultipartFilefile){if(file.isEmpty()){thrownewSoftwareException(ComStatusCodeE
提高数据安全性:Java 中的混合加密算法应用
码农老起
安全加密算法网络开发语言算法
目录一、混合加密算法概述二、混合加密算法的优缺点三、Java实现混合加密算法在现代信息安全领域,加密算法扮演着至关重要的角色。为了提升加密效率并确保数据的安全性,混合加密算法成为了一种常见的加密技术。本文将介绍混合加密算法的概念,并通过Java示例展示其实现方法。一、混合加密算法概述混合加密算法结合了对称加密和非对称加密的优点。它利用非对称加密算法(如RSA)来加密对称加密算法(如AES)的密钥,
win10下安装wireshark的问题
(??(#?)???(???/
wireshark测试工具网络
win10下安装wireshark的问题1.wireshark启动之后找不到本地接口问题2.安装winpcap的问题显示AnerroroccurredwhileinstallingtheNPFdiver(0x00000430).显示WinPcap4.1.3isalreadyinstalledonthismachine.PressOkifyouwanttoforcetheinstallation,o
python指针
viva_la_vida__
水题python
21.MergeTwoSortedListsEasy142591276AddtoListShareYouaregiventheheadsoftwosortedlinkedlistslist1andlist2.Mergethetwolistsinaonesortedlist.Thelistshouldbemadebysplicingtogetherthenodesofthefirsttwolists
cv2.solvePnP 报错 求相机位姿
AI算法网奇
3d渲染python基础数码相机
目录报错信息及解决:cv2.solvePnP使用例子:报错信息及解决:File"/shared_disk/users/lbg/project/human_4d/nlf_pose/render_demo_pkl2_cal.py",line236,insuccess,rotation_vector,translation_vector=cv2.solvePnP(vertices,vertices2d,
数据结构之链表简介:原理、实现与应用
陈辰学长
数据结构链表网络
数据结构之链表简介:原理、实现与应用一、引言在计算机科学中,数据结构是组织和存储数据的方式,而链表是一种非常基础且重要的数据结构。链表以其动态性、灵活性和高效性,在许多编程场景中被广泛应用。本文将详细介绍链表的基本概念、实现方式以及应用场景,帮助读者深入理解链表的原理和优势。二、链表的基本概念链表是一种线性数据结构,由一系列节点组成,每个节点包含两部分:数据部分和指向下一个节点的指针。链表的头节点
312个免费高速HTTP代理IP(能隐藏自己真实IP地址)
yangshangchuan
高速免费superwordHTTP代理
124.88.67.20:843
190.36.223.93:8080
117.147.221.38:8123
122.228.92.103:3128
183.247.211.159:8123
124.88.67.35:81
112.18.51.167:8123
218.28.96.39:3128
49.94.160.198:3128
183.20
pull解析和json编码
百合不是茶
androidpull解析json
n.json文件:
[{name:java,lan:c++,age:17},{name:android,lan:java,age:8}]
pull.xml文件
<?xml version="1.0" encoding="utf-8"?>
<stu>
<name>java
[能源与矿产]石油与地球生态系统
comsci
能源
按照苏联的科学界的说法,石油并非是远古的生物残骸的演变产物,而是一种可以由某些特殊地质结构和物理条件生产出来的东西,也就是说,石油是可以自增长的....
那么我们做一个猜想: 石油好像是地球的体液,我们地球具有自动产生石油的某种机制,只要我们不过量开采石油,并保护好
类与对象浅谈
沐刃青蛟
java基础
类,字面理解,便是同一种事物的总称,比如人类,是对世界上所有人的一个总称。而对象,便是类的具体化,实例化,是一个具体事物,比如张飞这个人,就是人类的一个对象。但要注意的是:张飞这个人是对象,而不是张飞,张飞只是他这个人的名字,是他的属性而已。而一个类中包含了属性和方法这两兄弟,他们分别用来描述对象的行为和性质(感觉应该是
新站开始被收录后,我们应该做什么?
IT独行者
PHPseo
新站开始被收录后,我们应该做什么?
百度终于开始收录自己的网站了,作为站长,你是不是觉得那一刻很有成就感呢,同时,你是不是又很茫然,不知道下一步该做什么了?至少我当初就是这样,在这里和大家一份分享一下新站收录后,我们要做哪些工作。
至于如何让百度快速收录自己的网站,可以参考我之前的帖子《新站让百
oracle 连接碰到的问题
文强chu
oracle
Unable to find a java Virtual Machine--安装64位版Oracle11gR2后无法启动SQLDeveloper的解决方案
作者:草根IT网 来源:未知 人气:813标签:
导读:安装64位版Oracle11gR2后发现启动SQLDeveloper时弹出配置java.exe的路径,找到Oracle自带java.exe后产生的路径“C:\app\用户名\prod
Swing中按ctrl键同时移动鼠标拖动组件(类中多借口共享同一数据)
小桔子
java继承swing接口监听
都知道java中类只能单继承,但可以实现多个接口,但我发现实现多个接口之后,多个接口却不能共享同一个数据,应用开发中想实现:当用户按着ctrl键时,可以用鼠标点击拖动组件,比如说文本框。
编写一个监听实现KeyListener,NouseListener,MouseMotionListener三个接口,重写方法。定义一个全局变量boolea
linux常用的命令
aichenglong
linux常用命令
1 startx切换到图形化界面
2 man命令:查看帮助信息
man 需要查看的命令,man命令提供了大量的帮助信息,一般可以分成4个部分
name:对命令的简单说明
synopsis:命令的使用格式说明
description:命令的详细说明信息
options:命令的各项说明
3 date:显示时间
语法:date [OPTION]... [+FORMAT]
eclipse内存优化
AILIKES
javaeclipsejvmjdk
一 基本说明 在JVM中,总体上分2块内存区,默认空余堆内存小于 40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制。 1)堆内存(Heap memory):堆是运行时数据区域,所有类实例和数组的内存均从此处分配,是Java代码可及的内存,是留给开发人
关键字的使用探讨
百合不是茶
关键字
//关键字的使用探讨/*访问关键词private 只能在本类中访问public 只能在本工程中访问protected 只能在包中和子类中访问默认的 只能在包中访问*//*final 类 方法 变量 final 类 不能被继承 final 方法 不能被子类覆盖,但可以继承 final 变量 只能有一次赋值,赋值后不能改变 final 不能用来修饰构造方法*///this()
JS中定义对象的几种方式
bijian1013
js
1. 基于已有对象扩充其对象和方法(只适合于临时的生成一个对象):
<html>
<head>
<title>基于已有对象扩充其对象和方法(只适合于临时的生成一个对象)</title>
</head>
<script>
var obj = new Object();
表驱动法实例
bijian1013
java表驱动法TDD
获得月的天数是典型的直接访问驱动表方式的实例,下面我们来展示一下:
MonthDaysTest.java
package com.study.test;
import org.junit.Assert;
import org.junit.Test;
import com.study.MonthDays;
public class MonthDaysTest {
@T
LInux启停重启常用服务器的脚本
bit1129
linux
启动,停止和重启常用服务器的Bash脚本,对于每个服务器,需要根据实际的安装路径做相应的修改
#! /bin/bash
Servers=(Apache2, Nginx, Resin, Tomcat, Couchbase, SVN, ActiveMQ, Mongo);
Ops=(Start, Stop, Restart);
currentDir=$(pwd);
echo
【HBase六】REST操作HBase
bit1129
hbase
HBase提供了REST风格的服务方便查看HBase集群的信息,以及执行增删改查操作
1. 启动和停止HBase REST 服务 1.1 启动REST服务
前台启动(默认端口号8080)
[hadoop@hadoop bin]$ ./hbase rest start
后台启动
hbase-daemon.sh start rest
启动时指定
大话zabbix 3.0设计假设
ronin47
What’s new in Zabbix 2.0?
去年开始使用Zabbix的时候,是1.8.X的版本,今年Zabbix已经跨入了2.0的时代。看了2.0的release notes,和performance相关的有下面几个:
:: Performance improvements::Trigger related da
http错误码大全
byalias
http协议javaweb
响应码由三位十进制数字组成,它们出现在由HTTP服务器发送的响应的第一行。
响应码分五种类型,由它们的第一位数字表示:
1)1xx:信息,请求收到,继续处理
2)2xx:成功,行为被成功地接受、理解和采纳
3)3xx:重定向,为了完成请求,必须进一步执行的动作
4)4xx:客户端错误,请求包含语法错误或者请求无法实现
5)5xx:服务器错误,服务器不能实现一种明显无效的请求
J2EE设计模式-Intercepting Filter
bylijinnan
java设计模式数据结构
Intercepting Filter类似于职责链模式
有两种实现
其中一种是Filter之间没有联系,全部Filter都存放在FilterChain中,由FilterChain来有序或无序地把把所有Filter调用一遍。没有用到链表这种数据结构。示例如下:
package com.ljn.filter.custom;
import java.util.ArrayList;
修改jboss端口
chicony
jboss
修改jboss端口
%JBOSS_HOME%\server\{服务实例名}\conf\bindingservice.beans\META-INF\bindings-jboss-beans.xml
中找到
<!-- The ports-default bindings are obtained by taking the base bindin
c++ 用类模版实现数组类
CrazyMizzz
C++
最近c++学到数组类,写了代码将他实现,基本具有vector类的功能
#include<iostream>
#include<string>
#include<cassert>
using namespace std;
template<class T>
class Array
{
public:
//构造函数
hadoop dfs.datanode.du.reserved 预留空间配置方法
daizj
hadoop预留空间
对于datanode配置预留空间的方法 为:在hdfs-site.xml添加如下配置
<property>
<name>dfs.datanode.du.reserved</name>
<value>10737418240</value>
 
mysql远程访问的设置
dcj3sjt126com
mysql防火墙
第一步: 激活网络设置 你需要编辑mysql配置文件my.cnf. 通常状况,my.cnf放置于在以下目录: /etc/mysql/my.cnf (Debian linux) /etc/my.cnf (Red Hat Linux/Fedora Linux) /var/db/mysql/my.cnf (FreeBSD) 然后用vi编辑my.cnf,修改内容从以下行: [mysqld] 你所需要: 1
ios 使用特定的popToViewController返回到相应的Controller
dcj3sjt126com
controller
1、取navigationCtroller中的Controllers
NSArray * ctrlArray = self.navigationController.viewControllers;
2、取出后,执行,
[self.navigationController popToViewController:[ctrlArray objectAtIndex:0] animated:YES
Linux正则表达式和通配符的区别
eksliang
正则表达式通配符和正则表达式的区别通配符
转载请出自出处:http://eksliang.iteye.com/blog/1976579
首先得明白二者是截然不同的
通配符只能用在shell命令中,用来处理字符串的的匹配。
判断一个命令是否为bash shell(linux 默认的shell)的内置命令
type -t commad
返回结果含义
file 表示为外部命令
alias 表示该
Ubuntu Mysql Install and CONF
gengzg
Install
http://www.navicat.com.cn/download/navicat-for-mysql
Step1: 下载Navicat ,网址:http://www.navicat.com/en/download/download.html
Step2:进入下载目录,解压压缩包:tar -zxvf navicat11_mysql_en.tar.gz
批处理,删除文件bat
huqiji
windowsdos
@echo off
::演示:删除指定路径下指定天数之前(以文件名中包含的日期字符串为准)的文件。
::如果演示结果无误,把del前面的echo去掉,即可实现真正删除。
::本例假设文件名中包含的日期字符串(比如:bak-2009-12-25.log)
rem 指定待删除文件的存放路径
set SrcDir=C:/Test/BatHome
rem 指定天数
set DaysAgo=1
跨浏览器兼容的HTML5视频音频播放器
天梯梦
html5
HTML5的video和audio标签是用来在网页中加入视频和音频的标签,在支持html5的浏览器中不需要预先加载Adobe Flash浏览器插件就能轻松快速的播放视频和音频文件。而html5media.js可以在不支持html5的浏览器上使video和audio标签生效。 How to enable <video> and <audio> tags in
Bundle自定义数据传递
hm4123660
androidSerializable自定义数据传递BundleParcelable
我们都知道Bundle可能过put****()方法添加各种基本类型的数据,Intent也可以通过putExtras(Bundle)将数据添加进去,然后通过startActivity()跳到下一下Activity的时候就把数据也传到下一个Activity了。如传递一个字符串到下一个Activity
把数据放到Intent
C#:异步编程和线程的使用(.NET 4.5 )
powertoolsteam
.net线程C#异步编程
异步编程和线程处理是并发或并行编程非常重要的功能特征。为了实现异步编程,可使用线程也可以不用。将异步与线程同时讲,将有助于我们更好的理解它们的特征。
本文中涉及关键知识点
1. 异步编程
2. 线程的使用
3. 基于任务的异步模式
4. 并行编程
5. 总结
异步编程
什么是异步操作?异步操作是指某些操作能够独立运行,不依赖主流程或主其他处理流程。通常情况下,C#程序
spark 查看 job history 日志
Stark_Summer
日志sparkhistoryjob
SPARK_HOME/conf 下:
spark-defaults.conf 增加如下内容
spark.eventLog.enabled true spark.eventLog.dir hdfs://master:8020/var/log/spark spark.eventLog.compress true
spark-env.sh 增加如下内容
export SP
SSH框架搭建
wangxiukai2015eye
springHibernatestruts
MyEclipse搭建SSH框架 Struts Spring Hibernate
1、new一个web project。
2、右键项目,为项目添加Struts支持。
选择Struts2 Core Libraries -<MyEclipes-Library>
点击Finish。src目录下多了struts