- 地球科学数据学习笔记---流向与风向、浪向
fried-ghost
地球科学数据学习笔记学习笔记数据分析
一、流向(current)流向一般指流体前进的方向、去向,一般以正北方向为正,例如流体从南流向北,则流向为0°,其示意图如下二、风向与浪向风向与浪向一般都指来向,与流向相反,例如风从南吹向北,则为南风,风向为180°。气象数据中一般会将风速数据存成u、v两个分量(雷达数据除外),u分量表示纬向风,v分量表示经向风。u为正,表示西风,风向为270°;v为正,表示南风,风向为180°。示意图如下所示,
- 深入理解Kettle:ETL工具的学习与实践
未知方程 无解
本文还有配套的精品资源,点击获取简介:Kettle(Spoon)是Pentaho公司开发的开源ETL工具,用于数据整合和数据仓库建设。本学习笔记着重于Kettle的核心——转换引擎,详细探讨其数据处理的各个步骤,包括数据的输入、转换、输出以及工作原理,提供了一系列的学习资源和实践操作指南,旨在帮助学习者深入理解并掌握Kettle的转换引擎,从而提升数据处理能力。1.Kettle(Spoon)简介与
- Bert模型学习笔记
文三路张同学
其他bert学习深度学习
Bert模型学习笔记Fromhttps://www.bilibili.com/video/BV1Ey4y1874yemmm讲实话这个视频太简单了,不建议看。可以看看李沐的视频:https://www.bilibili.com/video/BV1PL411M7eQ这篇文章主要是四个部分:bert的整体架构如何做预训练mlm+nsp如何微调bert(没看)代码解析(没看)Bert架构基础架构是Tran
- Bert学习笔记
缓释多巴胺。
大模型相关知识语言模型bert
一、Bert架构BERT使用了双向的TransformerGPT使用从左到右的单向信息ELMo把单独训练的从左到右及从右到左的LSTM模型进行合并二、Bert预训练任务2.1遮蔽语言模型MLM任务:随机屏蔽(masking)部分输入token,然后只预测那些被屏蔽的token。问题:预训练任务与微调任务不一致原因:在finetuning期间从未看到[MASK]token,预训练和finetunin
- 【学习笔记5】Linux下cuda、cudnn、pytorch版本对应关系
longii11
linuxpytorch运维
一、cuda和cudnnNVIDIACUDAToolkit(CUDA)为创建高性能GPU加速应用程序提供了一个开发环境。借助CUDA工具包,您可以在GPU加速的嵌入式系统、桌面工作站、企业数据中心、基于云的平台和HPC超级计算机上开发、优化和部署您的应用程序。该工具包包括GPU加速库、调试和优化工具、C/C++编译器以及用于部署应用程序的运行时库。全球的深度学习研究人员和框架开发人员都依赖cuDN
- rhcsa个人学习笔记
小峰彩铃
学习笔记
一、配置网卡cd/etc/sysconfig/network-scripts/进入网卡文件夹vimifcfg-eth0修改网卡配置ipaddr=172.25.250.10netmask=255.255.255.0gateway=172.25.250.254dns=172.25.250.254systemctlrestartNetworkManagerifdowneth0;关闭网卡ifupeth0;
- Linux | 学习笔记
Fomalhaut α PsA
Linux知识库
Linux|学习笔记用户管理用户和组管理#查看用户身份[admin@CentOS8~]$idadminuid=1000(admin)gid=1000(admin)组=1000(admin),10(wheel)#切换用户,省略username则切换为root[admin@CentOS8~]$su-username#从命令行创建用户[admin@CentOS8~]$sudouseradduser01#
- 学习笔记 3.容器化技术 1.2 Docker进阶
薛定谔的悠米
Docker进阶Docker进阶数据挂载数据卷挂载主机目录Compose集成式应用组合Compose简介安装和卸载使用Compose构建dubbo-admin服务Compose命令说明Compose模板文件Docker进阶数据挂载在容器中管理数据主要有两种方式:数据卷(Volumes):在Docker可管理的范围内挂载主机目录(Bindmounts):在宿主机上的内存数据卷数据卷是一个可供一个或者
- 系统架构设计师-第8章-系统质量属性与架构评估-学习笔记
2401_83974370
2024年程序员学习系统架构架构学习
开发期质量属性主要指在软件开发阶段所关注的质量属性,主要包含6个方面。(1)易理解性:指设计被开发人员理解的难易程度。(2)可扩展性:软件因适应新需求或需求变化而增加新功能的能力,也称为灵活性。(3)可重用性:指垂用软件系统或某一部分的难易程度。(4)可测试性:对软件测试以证明其满足需求规范的难易程度.(5)可维护性:当需要修改缺陷、增加功能、提高质量属性时,识别修改点并实施修改的难易程度.(6)
- C++学习笔记(十二)——函数
奕天者
C++基础学习c++学习笔记
一、函数的作用函数是C++代码模块化的基础。函数有以下作用:提高代码复用性:相同的代码块可多次调用,而不必重复编写。增强程序可读性:将逻辑拆分,使代码结构更清晰。便于调试和维护:修改函数不会影响其他部分,降低错误风险。二、函数的基本语法语法:返回类型函数名(参数列表){//函数体return返回值;//如果返回类型是void,则不需要return}注意:返回类型:函数返回值的数据类型(如int、d
- 从零开始 CMake 学习笔记 (E)installing
OOOrchid
混合计算c++cmake
从零开始CMake学习笔记(E)installing开始前先默念三遍口诀:DeclareatargetDeclaretarget’straitsIt’sallabouttargets本系列主要根据GitHub上的cmake-examples项目进行翻译总结,同时对于不清晰的概念及函数进行查阅理解记录形成。文章目录从零开始CMake学习笔记(E)installing1介绍1.1文件树1.2文件简介2
- STM32学习笔记——TIM_Period 和 TIM_Prescaler
优雅的造轮狮
嵌入式学习笔记单片机嵌入式硬件
概念TIM_TimeBaseStructure.TIM_Period和TIM_TimeBaseStructure.TIM_Prescaler是STM32定时器(Timer)的两个重要参数。TIM_Period:这个参数代表的是定时器的自动重装载值(Auto-reloadvalue)。当定时器的计数值达到这个值时,定时器就会产生一个中断或更新事件。这个参数可以用来控制定时器中断的间隔时间。例如,如果
- 零基础CMake学习笔记
天鹅打架了
C/C++编程CMake
零基础CMake学习笔记1.名词解释makecmakeMakefileCMakeLists.txt2.CMake语法介绍2.1常用指令2.1.1project2.1.2set2.1.3message2.1.4add_executable2.1.5aux_source_directory2.1.6include_directories2.1.7add_definitions2.1.8add_subd
- Spring学习笔记03——Spring Boot的文件结构
Shaoxi Zhang
Java学习笔记springboot
Springboot常见的文件结构:src/├──main/│├──java/││└──com.example.demo/││├──DemoApplication.java#主入口││├──config/#配置类││├──controller/#控制器││├──service/#业务逻辑││├──mapper/#数据库操作接口││├──entity/#数据库实体类││├──dto/#数据传输对象│
- 机器学习笔记
有涯小学生
赵卫东机器学习笔记机器学习人工智能
1概述1.1简介机器学习(MachineLearning)是计算机科学的子领域,也是人工智能的一个分支和实现方式。“对于某类任务T和性能度量P,如果一个计算机程序在T上以P衡量的性能随着经验E而自我完善,那么就称这个计算机程序在从经验E学习。”(汤姆·米切尔(TomMitchell),1997,MachineLearning)1.2机器学习、人工智能、数据挖掘从本质上看,数据科学的目标是通过处理各
- Lua学习笔记_总结
红烧五花蛆
学习笔记unitylua
目录0.一些特性1.变量1.1四种基本变量类型1.2变量的声明1.3string赋值相关1.4string操作相关(空着的括号如果没强调,那就是有参数)2.运算符2.1算术运算符2.2关系运算符2.3逻辑运算符2.4其他3.条件语句3.1结构一3.2结构二3.3结构三3.4注意事项4.循环语句4.1结构一4.2结构二4.3结构三5.复杂变量类型--函数5.1声明结构一5.2声明结构二5.3函数的参
- cmake学习笔记
Yancey Lee
开发工具cmake
cmake学习笔记1、引言2、cmake基本知识2.1概念2.2内部编译与外部编译2.3CMakeLists.txt基本规范3、常用变量与命令3.1常用变量3.2常用命令5、实例1分析6、实例2分析7、参考文献1、引言一般写完程序之后都要进行编译,编译出问题也经常遇到。我之前做机器人的开发都是按照别人写好的程序进行修改,而且是基于ROS的开发环境,对cmake的使用总是似懂非懂,只知道一些碎片化的
- Vue 过滤器
JSON_L
前端#Vue前端vue.js
Vue渐进式JavaScript框架基于Vue2的学习笔记-Vue使用-过滤器目录过滤器优化图片路径处理定义过滤器使用多个过滤器总结过滤器优化图片路径处理文件路径经过管道过滤器处理后,返回给图片路径,示例如下:ajax-axios{{item.title}}定义过滤器在vue中定义过滤器。示例如下:Vue.filter("imgFilter",(url)=>{returnurl.replace("
- 算法分析-贪心算法
old-handsome
算法贪心算法算法
文章目录前言一、定义二、特点三、使用场景适用场景:何时使用部分背包问题活动安排问题最优装载问题最小生成树Prim算法:按点检索,适用于稠密图Kruskal算法:并查集+最小生成树Dijkstra算法:不能存在负权边,松弛操作总结前言本博客仅做学习笔记,如有侵权,联系后即刻更改科普:贪心算法一、定义贪心算法是指在对问题进行求解时,在每一步选择中都采取最好或者最优(最有利)的选择,从而希望最终结果是最
- C语言学习笔记-进阶(1)深入理解指针3
John.Lewis
c语言学习笔记
1.字符指针变量在指针的类型中我们知道有⼀种指针类型为字符指针char*;⼀般使用:intmain(){charch='w';char*pc=&ch;*pc='w';return0;}还有⼀种使用方式如下:intmain(){constchar*pstr="hellobit.";//这⾥是把⼀个字符串放到pstr指针变量⾥了吗?printf("%s\n",pstr);return0;}代码cons
- (undone) MIT6.S081 2023 学习笔记 (Day9: LAB8 locks)
shimly123456
MIT6.S081学习笔记操作系统
url:https://pdos.csail.mit.edu/6.1810/2023/labs/lock.htmlInthislabyou’llgainexperienceinre-designingcodetoincreaseparallelism.Acommonsymptomofpoorparallelismonmulti-coremachinesishighlockcontention.Im
- C语言文件操作学习笔记:从基础到实践
共享家9527
cc语言数据结构算法
在C语言的知识体系中,文件操作是极为关键的一环,它赋予了程序存储和读取外部数据的能力,对于开发各类实用程序至关重要。近期,借助课程的学习,我对C语言文件操作进行了系统且深入的学习,下面将我的学习心得和收获进行分享。目录一、文件操作基础概念(一)文件类型(二)文件指针二、文件的打开与关闭三、文件的顺序读写(一)字符读写(二)文本行读写(三)格式化读写(四)二进制读写四、文件的随机读写(一)fseek
- 机器学习之学习笔记
孤城laugh
机器学习学习笔记人工智能python
机器学习-学习笔记1.简介2.算法3.特征工程3.1数据集3.2特征提取3.3特征预处理3.4特征降维4.分类算法4.1`sklearn`转换器和估计器4.2K-近邻算法(KNN)4.3模型选择与调优4.4朴素贝叶斯算法4.5决策树4.6集成学习方法之随机森林5.回归算法5.1线性回归5.2过拟合与欠拟合5.3岭回归5.4逻辑回归(实际上是分类算法,用于解决二分类问题)6.聚类算法1.无监督学习2
- python-坦克大战游戏项目
tzzzzzztzzzz
pythonpygame游戏
'''尚学堂学习笔记,用于复习'''一.下载pygame,在cmd输入命令pipinstallpygame(也可以直接在pycharm中importpygame,提示你没有pygame,然后直接安装即可)二.分析项目需求:坦克大战游戏的基本需求:1).项目中需要定义的类2).每个类对应的方法1.坦克类显示坦克移动射击2.子弹显示子弹移动击中敌方坦克时产生的影响3.墙壁类显示墙壁(是否可以通过)4.
- C#:LINQ学习笔记01:LINQ基础概念
gu20
C#数据库c#开发语言linq
一、LINQ架构体系1.LINQ的核心思想统一查询模型:对对象、XML、数据库等不同数据源使用一致的语法。强类型检查:编译时类型安全,减少运行时错误。2.核心组件技术数据源典型场景LINQtoObjects内存集合(IEnumerable)过滤/排序集合数据LINQtoXMLXML文档解析/查询XML节点LINQtoSQL关系数据库将查询翻译为SQL执行关键代码示例://LINQtoObjects
- 零基础学习HTML(8)——pre标签、code标签
Dragon水魅
零基础学习Web开发html
文章目录官方资料学习正文注:学习笔记基于小甲鱼学习视频,官方论坛:https://fishc.com.cn/forum.php官方资料鱼C课程案例库:https://ilovefishc.com/html5/html5速查手册:https://man.ilovefishc.com/html5/css速查手册:https://man.ilovefishc.com/css3/学习正文pre标签:htt
- Jedis学习笔记
剑走偏锋o.O
学习笔记redisjavajedis
文章目录一、Jedis简介二、Jedis依赖配置Maven依赖Gradle依赖三、Jedis连接方式单机连接连接池配置JedisPooled简化操作集群连接四、Jedis基本操作字符串操作列表操作哈希操作集合操作有序集合操作五、Jedis高级功能事务操作管道操作订阅发布六、Jedis性能优化连接池配置批量操作数据序列化七、Jedis注意事项线程安全资源释放版本兼容性八、总结一、Jedis简介Jed
- Vue.js 学习笔记
剑走偏锋o.O
vue.js学习笔记
文章目录前言一、Vue.js基础概念1.1Vue.js简介1.2Vue.js的特点1.3Vue.js基础示例二、Vue.js常用指令2.1双向数据绑定(`v-model`)2.2条件渲染(`v-if`和`v-show`)2.3列表渲染(`v-for`)2.4事件处理(`v-on`)2.5表单绑定(`v-model`)三、Vue.js组件化开发3.1组件的概念3.2创建组件3.2.1全局注册3.2.
- Spring Boot 学习笔记
剑走偏锋o.O
springboot学习笔记
文章目录一、SpringBoot简介二、SpringBoot的优势三、SpringBoot的核心组件1.SpringBootStarter2.自动配置3.嵌入式容器4.Actuator四、SpringBoot的开发流程1.创建项目2.配置文件3.编写代码4.运行应用五、SpringBoot的常用注解1.`@SpringBootApplication`2.`@EnableAutoConfigurat
- Rust入门学习笔记
凌云行者
Rustrust入门笔记
Rust简介特点即安全又高效,并发是一种静态编译语言,要在写代码时声明数据类型擅长领域高性能WebServiceWebAssembly命令行工具网络编程嵌入式设备系统编程操作更新rust:rustupupdate卸载rust:rustupselfuninstall查看rust版本:rustc--version查看本地文档:rustupdoc用vscode打开某项目:进入项目目录后code.文件名后
- java杨辉三角
3213213333332132
java基础
package com.algorithm;
/**
* @Description 杨辉三角
* @author FuJianyong
* 2015-1-22上午10:10:59
*/
public class YangHui {
public static void main(String[] args) {
//初始化二维数组长度
int[][] y
- 《大话重构》之大布局的辛酸历史
白糖_
重构
《大话重构》中提到“大布局你伤不起”,如果企图重构一个陈旧的大型系统是有非常大的风险,重构不是想象中那么简单。我目前所在公司正好对产品做了一次“大布局重构”,下面我就分享这个“大布局”项目经验给大家。
背景
公司专注于企业级管理产品软件,企业有大中小之分,在2000年初公司用JSP/Servlet开发了一套针对中
- 电驴链接在线视频播放源码
dubinwei
源码电驴播放器视频ed2k
本项目是个搜索电驴(ed2k)链接的应用,借助于磁力视频播放器(官网:
http://loveandroid.duapp.com/ 开放平台),可以实现在线播放视频,也可以用迅雷或者其他下载工具下载。
项目源码:
http://git.oschina.net/svo/Emule,动态更新。也可从附件中下载。
项目源码依赖于两个库项目,库项目一链接:
http://git.oschina.
- Javascript中函数的toString()方法
周凡杨
JavaScriptjstoStringfunctionobject
简述
The toString() method returns a string representing the source code of the function.
简译之,Javascript的toString()方法返回一个代表函数源代码的字符串。
句法
function.
- struts处理自定义异常
g21121
struts
很多时候我们会用到自定义异常来表示特定的错误情况,自定义异常比较简单,只要分清是运行时异常还是非运行时异常即可,运行时异常不需要捕获,继承自RuntimeException,是由容器自己抛出,例如空指针异常。
非运行时异常继承自Exception,在抛出后需要捕获,例如文件未找到异常。
此处我们用的是非运行时异常,首先定义一个异常LoginException:
/**
* 类描述:登录相
- Linux中find常见用法示例
510888780
linux
Linux中find常见用法示例
·find path -option [ -print ] [ -exec -ok command ] {} \;
find命令的参数;
- SpringMVC的各种参数绑定方式
Harry642
springMVC绑定表单
1. 基本数据类型(以int为例,其他类似):
Controller代码:
@RequestMapping("saysth.do")
public void test(int count) {
}
表单代码:
<form action="saysth.do" method="post&q
- Java 获取Oracle ROWID
aijuans
javaoracle
A ROWID is an identification tag unique for each row of an Oracle Database table. The ROWID can be thought of as a virtual column, containing the ID for each row.
The oracle.sql.ROWID class i
- java获取方法的参数名
antlove
javajdkparametermethodreflect
reflect.ClassInformationUtil.java
package reflect;
import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtMethod;
import javassist.Modifier;
import javassist.bytecode.CodeAtt
- JAVA正则表达式匹配 查找 替换 提取操作
百合不是茶
java正则表达式替换提取查找
正则表达式的查找;主要是用到String类中的split();
String str;
str.split();方法中传入按照什么规则截取,返回一个String数组
常见的截取规则:
str.split("\\.")按照.来截取
str.
- Java中equals()与hashCode()方法详解
bijian1013
javasetequals()hashCode()
一.equals()方法详解
equals()方法在object类中定义如下:
public boolean equals(Object obj) {
return (this == obj);
}
很明显是对两个对象的地址值进行的比较(即比较引用是否相同)。但是我们知道,String 、Math、I
- 精通Oracle10编程SQL(4)使用SQL语句
bijian1013
oracle数据库plsql
--工资级别表
create table SALGRADE
(
GRADE NUMBER(10),
LOSAL NUMBER(10,2),
HISAL NUMBER(10,2)
)
insert into SALGRADE values(1,0,100);
insert into SALGRADE values(2,100,200);
inser
- 【Nginx二】Nginx作为静态文件HTTP服务器
bit1129
HTTP服务器
Nginx作为静态文件HTTP服务器
在本地系统中创建/data/www目录,存放html文件(包括index.html)
创建/data/images目录,存放imags图片
在主配置文件中添加http指令
http {
server {
listen 80;
server_name
- kafka获得最新partition offset
blackproof
kafkapartitionoffset最新
kafka获得partition下标,需要用到kafka的simpleconsumer
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.
- centos 7安装docker两种方式
ronin47
第一种是采用yum 方式
yum install -y docker
 
- java-60-在O(1)时间删除链表结点
bylijinnan
java
public class DeleteNode_O1_Time {
/**
* Q 60 在O(1)时间删除链表结点
* 给定链表的头指针和一个结点指针(!!),在O(1)时间删除该结点
*
* Assume the list is:
* head->...->nodeToDelete->mNode->nNode->..
- nginx利用proxy_cache来缓存文件
cfyme
cache
user zhangy users;
worker_processes 10;
error_log /var/vlogs/nginx_error.log crit;
pid /var/vlogs/nginx.pid;
#Specifies the value for ma
- [JWFD开源工作流]JWFD嵌入式语法分析器负号的使用问题
comsci
嵌入式
假如我们需要用JWFD的语法分析模块定义一个带负号的方程式,直接在方程式之前添加负号是不正确的,而必须这样做:
string str01 = "a=3.14;b=2.71;c=0;c-((a*a)+(b*b))"
定义一个0整数c,然后用这个整数c去
- 如何集成支付宝官方文档
dai_lm
android
官方文档下载地址
https://b.alipay.com/order/productDetail.htm?productId=2012120700377310&tabId=4#ps-tabinfo-hash
集成的必要条件
1. 需要有自己的Server接收支付宝的消息
2. 需要先制作app,然后提交支付宝审核,通过后才能集成
调试的时候估计会真的扣款,请注意
- 应该在什么时候使用Hadoop
datamachine
hadoop
原帖地址:http://blog.chinaunix.net/uid-301743-id-3925358.html
存档,某些观点与我不谋而合,过度技术化不可取,且hadoop并非万能。
--------------------------------------------万能的分割线--------------------------------
有人问我,“你在大数据和Hado
- 在GridView中对于有外键的字段使用关联模型进行搜索和排序
dcj3sjt126com
yii
在GridView中使用关联模型进行搜索和排序
首先我们有两个模型它们直接有关联:
class Author extends CActiveRecord {
...
}
class Post extends CActiveRecord {
...
function relations() {
return array(
'
- 使用NSString 的格式化大全
dcj3sjt126com
Objective-C
格式定义The format specifiers supported by the NSString formatting methods and CFString formatting functions follow the IEEE printf specification; the specifiers are summarized in Table 1. Note that you c
- 使用activeX插件对象object滚动有重影
蕃薯耀
activeX插件滚动有重影
使用activeX插件对象object滚动有重影 <object style="width:0;" id="abc" classid="CLSID:D3E3970F-2927-9680-BBB4-5D0889909DF6" codebase="activex/OAX339.CAB#
- SpringMVC4零配置
hanqunfeng
springmvc4
基于Servlet3.0规范和SpringMVC4注解式配置方式,实现零xml配置,弄了个小demo,供交流讨论。
项目说明如下:
1.db.sql是项目中用到的表,数据库使用的是oracle11g
2.该项目使用mvn进行管理,私服为自搭建nexus,项目只用到一个第三方 jar,就是oracle的驱动;
3.默认项目为零配置启动,如果需要更改启动方式,请
- 《开源框架那点事儿16》:缓存相关代码的演变
j2eetop
开源框架
问题引入
上次我参与某个大型项目的优化工作,由于系统要求有比较高的TPS,因此就免不了要使用缓冲。
该项目中用的缓冲比较多,有MemCache,有Redis,有的还需要提供二级缓冲,也就是说应用服务器这层也可以设置一些缓冲。
当然去看相关实现代代码的时候,大致是下面的样子。
[java]
view plain
copy
print
?
public vo
- AngularJS浅析
kvhur
JavaScript
概念
AngularJS is a structural framework for dynamic web apps.
了解更多详情请见原文链接:http://www.gbtags.com/gb/share/5726.htm
Directive
扩展html,给html添加声明语句,以便实现自己的需求。对于页面中html元素以ng为前缀的属性名称,ng是angular的命名空间
- 架构师之jdk的bug排查(一)---------------split的点号陷阱
nannan408
split
1.前言.
jdk1.6的lang包的split方法是有bug的,它不能有效识别A.b.c这种类型,导致截取长度始终是0.而对于其他字符,则无此问题.不知道官方有没有修复这个bug.
2.代码
String[] paths = "object.object2.prop11".split("'");
System.ou
- 如何对10亿数据量级的mongoDB作高效的全表扫描
quentinXXZ
mongodb
本文链接:
http://quentinXXZ.iteye.com/blog/2149440
一、正常情况下,不应该有这种需求
首先,大家应该有个概念,标题中的这个问题,在大多情况下是一个伪命题,不应该被提出来。要知道,对于一般较大数据量的数据库,全表查询,这种操作一般情况下是不应该出现的,在做正常查询的时候,如果是范围查询,你至少应该要加上limit。
说一下,
- C语言算法之水仙花数
qiufeihu
c算法
/**
* 水仙花数
*/
#include <stdio.h>
#define N 10
int main()
{
int x,y,z;
for(x=1;x<=N;x++)
for(y=0;y<=N;y++)
for(z=0;z<=N;z++)
if(x*100+y*10+z == x*x*x
- JSP指令
wyzuomumu
jsp
jsp指令的一般语法格式: <%@ 指令名 属性 =”值 ” %>
常用的三种指令: page,include,taglib
page指令语法形式: <%@ page 属性 1=”值 1” 属性 2=”值 2”%>
include指令语法形式: <%@include file=”relative url”%> (jsp可以通过 include