- 游戏可观测性:如何打造稳定高效的后台服务
你一身傲骨怎能输
游戏开发技术专栏可观测性
游戏服务可观测性能力建设摘要游戏服务的可观测性建设是保障稳定运营和高效排障的关键。现代游戏采用分布式架构,需要通过指标(Metrics)、日志(Logs)、追踪(Traces)三大支柱实现系统监控。核心能力包括:指标监控:系统资源、服务性能、业务数据日志分析:访问日志、业务日志、异常日志链路追踪:跨服务调用追踪和业务流程跟踪告警与可视化:实时告警、仪表盘、根因分析技术方案建议:指标采集:Prome
- SQL多个字段拼接组合成新字段的常用方法
m0_74823878
sql数据库oracle
前言:在sql语句中,有时候我们可能需要将两个字段的值放在一起显示,因为他们通常是一起出现的,比如客户名称和客户编号,那我们就要将这两个字段拼接成一个字段。下面是几种常见的方法:一、CONCAT()函数SELECTCONCAT(column1,column2)ASconcatenated_columnFROMyour_table;二、“||”运算符SELECTcolumn1||column2ASc
- 使用oracle序列
创建序列:CREATESEQUENCEXXXXX_SEQUENCE使用序列:selectXXXXX_SEQUENCE.nextvalfromdual
- 会话对象 Cookie 四、Cookie的路径
best_virtuoso
会话前端前端
1.Cookie的path属性Cookie还有一个path属性,可以通过Cookie#setPath(String)方法来设置。你可以使用HttpWatch查看响应中的Set-Cookie中是否存在路径。下面是通过Chrome查看Cookie信息。也就是说,就算你不设置Cookie的path,Cookie也是有路径的。这个路径就是请求的路径。例如在请求:http://localhost:8080/
- python函数
四、函数定义P.1函数定义把一段实现某个功能的完整代码,用一个函数封装,后期可以通过调用函数名,实现依次编写,多次调用的目的函数,可以等价于我们初高中学过的f(x),f是运算法则,也就是代码函数中对应的代码执行块,每有一个x对应经过f运算之后得到一个值,如f(x)对应的是让x乘3加2,每有一个x进入f中便会得到一个值。高中对应的函数三要素是,定义域、运算法则、值域,而编程中的函数也有三要素,分别为
- 【机器学习笔记 Ⅲ】4 特征选择
巴伦是只猫
机器学习机器学习笔记人工智能
特征选择(FeatureSelection)系统指南特征选择是机器学习中优化模型性能的关键步骤,通过筛选最相关、信息量最大的特征,提高模型精度、降低过拟合风险并加速训练。以下是完整的特征选择方法论:1.特征选择的核心目标提升模型性能:去除噪声和冗余特征,增强泛化能力。降低计算成本:减少训练和预测时间。增强可解释性:简化模型,便于业务理解。2.特征选择方法分类(1)过滤法(FilterMethods
- 机器学习笔记二-回归
回归是统计学和机器学习中的一种基本方法,用于建模变量之间的关系,特别是用一个或多个自变量(输入变量)来预测一个因变量(输出变量)的值。回归分析广泛应用于预测、趋势分析和关联研究中。根据目标和数据的性质,可以使用不同类型的回归方法。1.回归的基本概念:自变量(IndependentVariable):也称为预测变量、解释变量,是模型中的输入变量,用于预测或解释因变量的变化。因变量(Dependent
- AI LLM架构与原理 - 预训练模型深度解析
陈乔布斯
AI人工智能大模型人工智能架构机器学习深度学习大模型PythonAI
一、引言在人工智能领域,大型语言模型(LLM)的发展日新月异,预训练模型作为LLM的核心技术,为模型的强大性能奠定了基础。预训练模型通过在大规模无标注数据上进行学习,能够捕捉语言的通用模式和语义信息,从而在各种自然语言处理任务中展现出卓越的能力。本文将深入探讨AILLM架构与原理中预训练模型的方法论和技术,结合图解、代码解析和实际案例,为读者呈现一个全面且易懂的预训练模型图景。二、预训练模型的基本
- uniapp、微信小程序使用sm2加密解密,国密sm2
login.js为登录页面js,request.js为公共请求封装js。详细使用方法及文件请前往资源绑定地址下载倒入即可,其中公私要密钥自己生成
- Linux Vim 如何使用
BACKLS
gradlevim
LinuxVim最全面教程目录介绍安装Vim基本操作启动与退出插入模式移动光标删除、复制和粘贴撤销与重做高级操作查找与替换多文件编辑宏与自动化插件管理配置Vim编辑vimrc常用配置示例总结介绍Vim是一个高度可配置的文本编辑器,适用于从日常文本编辑到复杂的编程任务。它的前身是vi编辑器,具有强大的文本处理能力和灵活的扩展性。安装Vim在不同的Linux发行版上安装Vim的方法略有不同。以下是一些
- PHP 协程
SiegeLionQi
PHPphp协程yield
协程,又称微线程,纤程。英文名Coroutine。PHP官方文档的解释:生成器提供了一种更容易的方法来实现简单的对象迭代,相比较定义类实现Iterator接口的方式,性能开销和复杂性大大降低。生成器允许你在foreach代码块中写代码来迭代一组数据而不需要在内存中创建一个数组,那会使你的内存达到上限,或者会占据可观的处理时间。相反,你可以写一个生成器函数,就像一个普通的自定义函数一样,和普通函数只
- PEFT(参数高效微调)技术全面解析:原理、方法与实战应用
文章目录一、PEFT核心概念解析1.1PEFT技术定义1.2与传统微调的对比二、为什么需要PEFT技术?2.1大模型时代的核心挑战2.2PEFT的核心优势三、主流PEFT方法技术剖析3.1代表性PEFT方法对比3.2关键技术实现细节3.2.1LoRA(Low-RankAdaptation)3.2.2Adapter模块3.3性能对比基准四、PEFT实战应用指南4.1使用HuggingFacePEFT
- 3dmax里面cr材质转换vr材质_不花钱,教你学会VR与CR材质互转!
weixin_39657662
今天,欧模网客服肚兜猫医生化身小编再次为大家分享关于VR与CR的材质互换方法!方法非常简单,跟着视频就能轻松学会。无需购买插件或者找别人帮忙,自己动手学起来,方便快捷不求人!事不宜迟,先放个视频给大家【一、VR转CR材质操作步骤】1、首先打开一个VR属性的材质球,单击右键,选择"CoronaConverter";2、打开后,鼠标点击"STARTCONVERSION"即可转换;3、你会发现原先为VR
- Python: 正则表达式
慕婉0307
python基础知识点正则表达式
正则表达式是处理文本数据的强大工具,Python通过re模块提供了完整的正则表达式功能。本文将详细介绍Python正则表达式的使用方法,包括基础语法、高级技巧和re模块API的详细解析。一、正则表达式基础1.1什么是正则表达式正则表达式(RegularExpression)是一种用于匹配字符串中字符组合的模式,可以用于搜索、替换和验证文本数据。1.2Python中的re模块Python通过内置的r
- 你懂安全优化SSL嘛?
巴依老爷coder
安全安全ssl网络协议
一文带你了解SSL全部内容CIA?SSL概述加密算法对比数字签名与证书RSA加密算法代码实操1.更完善的错误处理2.证书验证3.资源管理改进常见的面试问题CIA?在信息安全领域,CIA(保密性、完整性、可用性)是核心原则,各有其实现方法与面临的威胁:保密性:实现方法:运用加密技术,对称加密(如AES)适合大量数据快速加密,非对称加密(如RSA)用于密钥交换与数字签名;借助访问控制手段,像基于角色的
- Spring for kafka系列——1、快速浏览
虾条_花吹雪
SpringforApacheKafkaSpringkafka
先决条件:您必须安装并运行ApacheKafka。然后,您必须将SpringforApacheKafka(SpringKafka)JAR及其所有依赖项放在类路径上。最简单的方法是在构建工具中声明依赖关系。如果您没有使用SpringBoot,请在项目中将Springkafka-jar声明为依赖项。org.springframework.kafkaspring-kafka3.3.7使用SpringBo
- 6,Receiving Messages:@KafkaListener Annotation
@KafkaListener注释用于将bean方法指定为侦听器容器的侦听器。bean被包装在一个配置了各种功能的MessagingMessageListenerAdapter中,例如在必要时转换数据以匹配方法参数的转换器。您可以使用#{…}或属性占位符(${…})使用SpEL配置注释上的大多数属性。有关更多信息,请参阅Javadoc。RecordListeners@KafkaListener注释为
- Postgresql快速同步大量数据方案浅析
行星008
数据库postgresql数据库
目录推荐方案:并行导出导入+网络加速方案优势:详细步骤1.数据选择与准备2.并行数据导出(111服务器)3.高效网络传输4.并行数据导入(112服务器)5.性能优化参数增量同步方案(可选)方法1:逻辑复制(适合持续同步)方法2:增量更新脚本(适合定时同步)性能优化技巧验证与监控预期性能指标故障处理针对PostgreSQL14.3环境中从111服务器同步部分数据(约1000GB)到112服务器的需求
- paimon.disk包:磁盘处理
FileIOChannel接口FileIOChannel是Paimon内部用于磁盘I/O操作的一个核心抽象,尤其在需要将大量数据溢出(spill)到本地磁盘的场景(例如外部排序)中扮演着关键角色。它代表了对一个底层文件的I/O通道,并提供了一套管理其生命周期(创建、读写、关闭、删除)的标准化方法。下面我们分部分来解析这个接口。这个接口定义了一个I/O通道的基本行为。//...existingcod
- MySQL 学习 之 你还在用 TIMESTAMP 吗?
zxguan
mysql学习数据库
目录1.弊端1.1.取值范围1.2.时区依赖1.3.隐式转换2.区别3.解决1.弊端1.1.取值范围TIMESTAMP的取值范围为1970-01-0100:00:01UTC到2038-01-1903:14:07UTC,超出范围的数据会被强制归零或触发异常。具体表现为在基金债券等业务中,到期日可能是一个比较晚的未来的时间,很可能就会出现超出TIMESTAMP范围的时间。现在已经2025年了,系统崩
- 2、Connecting to Kafka
虾条_花吹雪
SpringforApacheKafkakafka分布式ai
KafkaAdmin-请参阅配置主题ProducerFactory-请参阅发送消息ConsumerFactory-请参阅接收消息从2.5版本开始,每个版本都扩展了KafkaResourceFactory。这允许在运行时通过向引导服务器的配置中添加Supplier来更改引导服务器:setBootstrapServersSupplier(()->…)。所有新连接都将调用此命令以获取服务器列表。消费者和
- PostgreSQL-XL之 序列(Sequence)
行星008
数据库postgresql数据库
目录序列的定义和作用PostgreSQL-XL中序列的特殊性序列的使用方法1.创建序列2.在分布式表中使用序列3.手动操作序列值4.查看序列与表的关联关系关键注意事项典型使用场景故障排查技巧在PostgreSQL-XL中,序列(Sequence)是一种特殊的数据库对象,用于生成唯一的数值序列。作为分布式数据库,PostgreSQL-XL中的序列需要特殊处理以保证全局唯一性。序列的定义和作用定义:序
- android源码中添加GPIO服务供上层调用
mmoyula
androidandroidframework
android源码中添加GPIO服务供上层调用指定make时需要编译进system中的服务添加源码编译添加api更新类与字段(此步骤可以通过makeupdate-api命令更新)注册服务Context中添加字段添加源码文件启动服务编写Service源代码指定make时需要编译进system中的服务以rk源码为例,在deveice/rockchip/common/device.mk中添加服务PROD
- 缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级的理解
一:缓存雪崩我们可以简单的理解为:由于原有缓存失效,新缓存未到期间(例如:我们设置缓存时采用了相同的过期时间,在同一时刻出现大面积的缓存过期),所有原本应该访问缓存的请求都去查询数据库了,而对数据库CPU和内存造成巨大压力,严重的会造成数据库宕机。从而形成一系列连锁反应,造成整个系统崩溃。解决办法:大多数系统设计者考虑用加锁(最多的解决方案)或者队列的方式保证来保证不会有大量的线程对数据库一次性进
- 面向对象编程基础:封装、继承、多态与抽象的全面解析
文章目录面向对象的三大特征面向对象编程基础之类与对象定义一个类创建对象并调用方法面向对象编程基础之继承和多态继承多态多态是面向对象的三大特征之一定义两个类定义一个函数鸭子类型面向对象编程基础之封装和抽象封装抽象面向对象编程基础之组合和接口组合接口总结面向对象的三大特征面向对象编程有三大特征:封装、继承和多态。封装(Encapsulation):封装确保对象中的数据安全,通过将数据和操作数据的方法封
- 程序代码篇---Python指明函数参数类型
文章目录前言简介一、函数参数的类型指定1.基本类型提示2.默认参数3.可变参数4.联合类型(Union)5.可选类型(Optional)6.复杂类型二、返回值的类型指定1.基本返回类型2.无返回值(None)3.返回多个值(Tuple)4.生成器(Generator)三、高级类型提示用法1.类型别名(TypeAliases)2.泛型(Generics)3.可调用对象(Callable)4.NewT
- Xbox One 控制器转换为 macOS HID 设备的工作原理分析
aerror
xboxmacos
XboxOne控制器转换为macOSHID设备的工作原理分析源代码在https://github.com/guilhermearaujo/xboxonecontrollerenabler.git这个工程的核心功能是将XboxOne控制器(macOS原生不支持的设备)转换为macOS可识别的HID设备。这里通过分析代码,详细解释其工作原理、设备描述和报告描述符的实现。整体架构该项目由三个主要部分组成
- iOS 出海 App 安全加固指南:无源码环境下的 IPA 加固与防破解方法
随着越来越多国内开发团队将iOSApp推向海外市场,如何在交付和分发环节保护应用安全成为出海过程中的重要议题。尤其是App进入多个海外应用商店或通过第三方渠道发行时,容易被当地黑产或竞争对手进行逆向分析,从而暴露内部API、核心业务流程等敏感信息。然而,很多出海App项目采用外包或快速孵化模式,交付阶段常常只拿到ipa成品文件而非完整源码。此时,如何在不改动源码的情况下对成品ipa完成安全加固,成
- 查看mysql表_mysql怎么查看表
碃凡瑶
查看mysql表
mysql中查看表的方法:1、查看当前数据库中的表SHOWTABLES;2、查看表结构showcolumnsfrom表名;show命令可以提供关于数据库、表、列,或关于服务器的状态信息。常用show命令:#显示二进制文件以及文件大小(需要开启二进制日志记录功能)SHOW{BINARY|MASTER}LOGS#显示二进制文件的执行过程SHOWBINLOGEVENTS[IN'log_name'][FR
- JVM系列五:字节码与执行引擎深度解析
JVM系列五:字节码与执行引擎深度解析文章目录JVM系列五:字节码与执行引擎深度解析引言⚡五、字节码与执行引擎字节码文件结构字节码文件组成部分解析️Class文件结构详解实例分析字节码指令集介绍指令分类常用指令详解字节码示例分析⚙️执行引擎工作原理解释执行与即时编译(JIT)解释执行⚡即时编译(JIT)热点代码探测探测方法计数器详解示例代码️分层编译技术编译层级️分层编译配置性能对比️实战案例案例
- 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