- 22.C语言Unicode编码与多字节字符处理详解
余识-
C语言基础c语言数据库
目录1.Unicode简介2.字符的表示方法3.多字节字符的表示4.宽字符5.多字节字符处理函数5.1mblen5.2wctomb5.3mbtowc()5.4wcstombs5.5mbstowcs本篇原文为:C语言Unicode编码与多字节字符处理详解。更多C++进阶、rust、python、逆向等等教程,可点击此链接查看:酷程网1.Unicode简介C语言诞生时,只考虑了英语字符,使用7位的AS
- python中print输出格式汇总_Python格式化字符串(格式化输出)
白字不白
我们在《第一个Python程序——在屏幕上输出文本》中讲到过print()函数的用法,这只是最简单最初级的形式,print()还有很多高级的玩法,比如格式化输出,这就是本节要讲解的内容。熟悉C语言printf()函数的读者能够轻而易举学会Pythonprint()函数,它们是非常类似的。print()函数使用以%开头的转换说明符对各种类型的数据进行格式化输出,具体请看下表。表1Python转换说明
- 重新分配字符使所有字符串都相等
小刘|
算法
给你一个字符串数组words(下标从0开始计数)。在一步操作中,需先选出两个不同下标i和j,其中words[i]是一个非空字符串,接着将words[i]中的任一字符移动到words[j]中的任一位置上。如果执行任意步操作可以使words中的每个字符串都相等,返回true;否则,返回falseclassSolution{publicbooleanmakeEqual(String[]words){in
- 【Python Tips】多线程池加速独立运行程序——ThreadPoolExecutor
机器白学
Pythonpython
在处理数量庞大的数据集或者大批量的循环操作时,程序如果单一运行往往会十分缓慢。假如硬件设备内存足够,CPU性能够好,同时每次循环内的任务都独立(如访问一个文件夹内大量文件)。这种时间复杂度的问题可以尝试使用多线程来处理加速。下面记录使用Python标准库中的高级接口——concurrent.futures.ThreadPoolExecutor来实现多线程加速。以一个写入txt文件的操作为例,假如有
- C语言优先级是怎么样的?
dami_king
随笔c语言开发语言
1.最高优先级(从高到低)1.1圆括号()说明:括号内的表达式总是最先计算,无论括号嵌套多少层。1.2一元运算符sizeof:返回数据类型的大小。++和--:前置递增/递减运算符,改变变量自身的值后再进行表达式计算。-(负号):一元负运算符,对数值进行相反数运算。+(正号):一元正运算符,一般用在数值前无实际效果,主要用于消除歧义。!:逻辑非运算符,将布尔值取反。~:按位取反运算符,对整数的二进制
- JAVA中的ByteArrayInputStream
程序研
javaI/Ojava开发语言后端I/O
Java中的ByteArrayInputStream类是一个字节数组输入流,它允许我们以字节的形式读取字节数组。本文将详细介绍ByteArrayInputStream的用法、特点以及代码示例,并展示运行结果。一、ByteArrayInputStream概述定义:ByteArrayInputStream类位于java.io包中,是InputStream类的子类。它使用字节数组作为输入源,可以方便地对
- C语言数据结构编程练习-用指针创建顺序表,进行创销和增删改查操作
墨楠。
#C语言数据结构研习汇Cc语言数据结构数据库
使用多文件进行编程main.c文件#include"02.h"intmain(){fn2();return0;}02.h头文件#pragmaonce#define_CRT_SECURE_NO_WARNINGS#include#include#include#defineMAX_NUMBER100typedefintelememtType;//elememt:元素typedefstructorder
- 用shell脚本写的一个简单的俄罗斯方块
hongccsdn
运维shelllinux游戏
用shell脚本写的一个简单的俄罗斯方块代码代码测试下载链接代码代码#!/bin/bash#version1.2,若非正常退出,请使用附带的killel.sh脚本杀死进程#定义用于显示的地图map和背景全地图mapbackmap=(00000000000000000000)#游戏共有20行,16列,此处定义行数,而每行是否有方块由数组中的元素决定(二进制的0为没有方块,1为有方块)mapback=
- nodejs后端ws与http结合共享一个服务器,前端websocket发送信息后端ws接收信息,使用Map定型数组设置ID
cdcdhj
nodejshttp服务器前端
//服务端代码consthttp=require('node:http');constWebSocket=require('ws');constserver=http.createServer();//创建websocket服务constwss=newWebSocket.WebSocketServer({server});//创建定型数组constclients=newMap();wss.on('
- 从RNN到Transformer:生成式AI技术演变与未来展望
非著名架构师
人工智能rnntransformer
生成式人工智能(GenerativeAI)近年来取得了令人瞩目的进展,其背后的核心技术是自回归模型的不断演进。从传统的递归神经网络(RNN)到革命性的Transformer架构,本文将全面剖析这一技术发展历程。一、RNN:生成式模型的起点1.RNN的基本原理递归神经网络(RecurrentNeuralNetwork,RNN)是一种专为处理序列数据设计的神经网络架构。其核心思想是通过循环连接的隐藏状
- Python的条件判断、循环和函数(超详细教学)
小星袁
Python入门级超详细教学python服务器开发语言Python循环条件函数
目录一、条件判断1.1if语句1.2ifelse语句1.3ifelifelse语句二、循环2.1累加2.1.1for循环2.1.2while循环2.2break跳出循环2.3列表表达式2.3.1定义2.3.2举例三、函数3.1求和函数3.2匿名函数一、条件判断1.1if语句A=10ifA>0:print("A是正数!")1.2ifelse语句A=-10ifA>0:print("A是正数!")els
- 流程控制:选择和循环
Threeiy
嵌入式硬件c语言
if语句:形式1单分支//语法if(表达式){语句}//复合语句形式2双分支//语法if(表达式){语句1}else{语句2}//形式3---多分支if(表达式1){语句1}elseif(表达式2){语句2}elseif(表达式3){语句3}...else{语句n;}switch语法:switch(表达式){case常量表达式1:语句1case常量表达式2:语句2case常量表达式n:语句ndef
- 经典约瑟夫环问题(多种解法)
曦月逸霜
数据结构算法
约瑟夫环(猴子选大王问题)前言本文是基于懒猫老师的数据结构课程所编写,我在这里直接给上地址:课程链接1.循环链表实现具体算法思想的文字图片描述后面补:…可以去看懒猫老师课程·或者我下面代码中的笔记去理解#include#include/*约瑟夫环可以联想成猴子选大王的问题,*约瑟夫问题:有n只猴子,按顺时针方向围成一圈选大王(编号从1到n),*从第1号开始报数,一直数到m,数到m的猴子退出圈外,剩
- 【GreatSQL优化器-10】find_best_ref
数据库mysql
【GreatSQL优化器-10】find_best_ref一、find_best_ref介绍GreatSQL的优化器对于join的表需要根据行数和cost来确定最后哪张表先执行哪张表后执行,这里面就涉及到预估满足条件的表数据,在keyuse_array数组有值的情况下,会用find_best_ref函数来通过索引进行cost和rows的估计,并且会找出最优的索引。这样就可能不会继续用后面的calc
- C语言学习——指针与数组,指针与函数,指针与堆空间
许白掰
c语言学习算法
目录一、指针与数组1.导入问题2.深入理解数组地址(inta[]={1,2,3,4,5};)3.指针与数组的等价用法4.字符串拾遗5.指针移动组合拳:intv=*p++6.小结二、指针与函数1.导入问题2.深入函数之旅3.函数指针(Typefunc(Type1a,Type2b))4.函数指针参数5.再论数组参数6.小结三、指针与堆空间1.再论内存空间2.堆空间的本质3.预备知识——void*4.堆
- 【Linux网络编程】第九弹---深入解析TCP服务、IOService与Jsoncpp的应用与实现
小林熬夜学编程
Linux网络编程linux网络运维tcp/ipC语言c++服务器
✨个人主页:熬夜学编程的小林系列专栏:【C语言详解】【数据结构详解】【C++详解】【Linux系统编程】【Linux网络编程】目录1、TcpService.hpp1.1、TcpServer类基本结构1.2、构造析构函数1.3、Loop()1.3.1、内部类1.3.2、Execute()2、Service.hpp2.1、IOService类基本结构2.2、构造析构函数2.3、IOExcute()3、
- leetcode 面试经典 150 题:快乐数
码流怪侠
数据结构与算法leetcode面试算法哈希表数据结构与算法unordered_set快乐数
链接快乐数题序号202题型数组解题方法哈希表难度简单熟练度✅✅✅✅题目编写一个算法来判断一个数n是不是快乐数。[快乐数]定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为1,也可能是无限循环但始终变不到1。如果这个过程结果为1,那么这个数就是快乐数。如果n是快乐数就返回true;不是,则返回false。示例1:输入:n=19输出:true解释:12
- 《C 语言向量运算:点亮人工智能几何计算之路》
c人工智能深度学习
在人工智能蓬勃发展的时代,数学运算作为其坚实的基石发挥着不可替代的作用。而向量的点积与叉积运算,更是在人工智能的几何计算领域有着独特且关键的地位。今天,就让我们一同深入探讨如何在C语言中实现向量的点积、叉积运算,并领略其在人工智能几何计算中的精彩应用。向量,作为既有大小又有方向的量,在几何世界里是极为重要的元素。点积,也被称为数量积,它的几何意义与向量的投影密切相关。当我们计算两个向量的点积时,其
- 有什么订单管理软件系统是好用的?
订单管理系统
经常会听到客户这么抱怨:”我觉得订单管理是最麻烦的事,人工审单不仅耗时间,工作效率低下,而且多少都会出错。特别是618,双十一,双十二这种订单旺季,不同的订单像潮水一样从各个平台涌来,我们不仅忙得晕头转向,而且出错率也会大幅提升人。一旦出错,客户那边就会有不好的体验,产生一系列问题,形成恶性循环。”我觉得解决这个问题,其实只需要一个合适的订单管理系统。推荐我们公司在使用的订单管理系统>>https
- 递归与迭代:理解与选择的艺术
在编程中,“递归”和“迭代”是两种解决问题的常见方法。这两者本质上都是为了处理复杂的、重复的操作或数据结构,比如树、链表、数学运算等。递归是函数自我调用的一种形式,而迭代则是通过循环控制结构来解决问题。本文将专注于探讨递归与迭代的不同之处、各自的优势与劣势,以及如何在实际开发中选择合适的方式解决问题。1.什么是递归?递归是一种通过让函数调用自身来解决问题的编程技术。每次函数调用时都会生成一个新的执
- 探索 Java 中的 Stream API:优雅处理集合的利器
Java8引入了一个功能强大的工具——StreamAPI,极大地简化了对集合的操作。传统上,Java程序员习惯使用for循环来遍历集合并进行过滤、映射等操作,这种方式虽然直观但代码冗长且难以维护。StreamAPI通过流式编程的方式,使得我们能够以更简洁和优雅的方式操作集合。本文将介绍JavaStreamAPI的基本概念及其常见的使用场景,帮助你更好地掌握这一工具。一、什么是Stream?Stre
- 编程实践|用 MoonBit 实现线段树(一)
编程语言
引言线段树(SegmentTree)是一种常见的数据结构,用于解决一些线性区间的修改、查询问题,比如对于问题:给出一个长度已知的、有初值的数字数组,接下来要进行许多区间加法操作(将一个区间的数值都加上某个值)和区间求和操作(求该区间数值的和并输出)如果该问题使用正常的数组方式来遍历求解,假设该数组长度为N,每次修改和查询的操作耗时是O(N)的;但线段树经过O(NlogN)的构建之后,可以对上述两个
- 华为OD机试D卷 --可以处理的最大任务数--24年OD统一考试(Java & JS & Python & C & C++)
飞码创造者
最新华为OD机试题库2024华为odjavajavascriptc语言python
文章目录题目描述输入描述输出描述用例1题目解析java源码js源码c++源码题目描述在某个项目中有多个任务(用task数组表示)需要你进行处理,其中:task[i]=[si,ei]你可以在si≤day≤ei中的任意一天处理该任务,请返回你可以处理的最大任务数。输入描述第一行为任务数量n1≤n≤100000后面n行表示各个任务的开始时间和终止时间,使用si,ei表示1≤si≤ei≤100000输出描
- Python123练习【基本操作,字典、集合与文件】
qq_53184912
Python学习python
目录货物托运收费(循环)三角形判.人民币和美元币值转换
- 手撕deque源码,解密双端队列的设计艺术
叶玄哥
编程python
我们已经学习了list对象的内部结构,知道它底层是用动态数组实现的。在list头部进行插入或删除,都要挪动其后的所有数据,性能非常差!因此,我们不能将list对象作为队列使用。好在Python标准库提供了另一种对象——deque,很好地补全了list的短板。deque是一种类似list的线性表,但它在两端插入删除数据的时间复杂度都是,因而可以作为队列来使用。from collections imp
- python录制鼠标键盘操作循环播放
-Mr_X-
python计算机外设开发语言
依赖pipinstallpynput程序:frompynputimportmouse,keyboardimporttimeimportthreading#用于存储录制的鼠标和键盘事件mouse_events=[]keyboard_events=[]#定义事件处理函数#处理鼠标事件defon_move(x,y):mouse_events.append(('move',x,y))defon_click
- leetcode198.打家劫舍
努力d小白
#动态规划算法
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你不触动警报装置的情况下,一夜之内能够偷窃到的最高金额。示例1:输入:[1,2,3,1]输出:4解释:偷窃1号房屋(金额=1),然后偷窃3号房屋(金额=3)。偷窃到的最
- 【无标题】
一个不务正业的程序猿
算法
一、函数1、glVertexAttribPointer功能:定义顶点属性数组的数据格式和布局,告诉OpenGL如何从当前绑定的顶点缓冲对象(VBO)中读取顶点数据并将其传递给顶点着色器。函数原型:voidglVertexAttribPointer(GLuintindex,GLintsize,GLenumtype,GLbooleannormalized,GLsizeistride,constGLvo
- C语言实践:基础通讯录实现
嘻嘻哈哈的zl
C语言实践c语言
目录一、通讯录基本功能1.增加联系人2.删除联系人3.查找联系人4.修改联系人信息5.显示通讯录6.排序二、联系人信息格式三、实现思路一、通讯录基本功能1.增加联系人2.删除联系人3.查找联系人4.修改联系人信息5.显示通讯录6.排序二、联系人信息格式姓名+性别+年龄+地址+电话三、实现思路1.第一步,我们为了让使用者可以知道我们通讯录的功能一个显示面板是必不可少的。直接printf即可。但使用者
- js-判断一个object(对象)是否为空
岂不闻
jsjavascript前端vue.js
1.Object.keys()方法constobj={};if(Object.keys(obj).length===0){console.log('Objectisempty');}else{console.log('Objectisnotempty');}Object.keys()方法返回一个包含对象自身可枚举属性名称的数组。如果这个数组为空,那么对象就是空的。2.JSON.stringify(
- 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