- MySQL---DDL(3.17)
秋凉 づᐇ
mysqloracle数据库
1、DDL-数据库操作查询:查询所有数据库:SHOWDATABASES;查询当前数据库:SELECTDATABASE();创建:CREATEDATABASE[IFNOTEXISTS]数据库名[DEFAULTCHARSET字符集][COLLATE排序规则];删除:DROPDATABASE[IFEXISTS]数据库名;使用:USE数据库名;2、DDL--表操作-查询查询当前数据库所有表:SHOWTAB
- HarmonyOS实战开发:@ohos.arkui.UIContext (UIContext)
蜀道衫QAQ
鸿蒙harmonyos华为鸿蒙系统android鸿蒙
在Stage模型中,WindowStage/Window可以通过loadContent接口加载页面并创建UI的实例,并将页面内容渲染到关联的窗口中,所以UI实例和窗口是一一关联的。一些全局的UI接口是和具体UI实例的执行上下文相关的,在当前接口调用时,通过追溯调用链跟踪到UI的上下文,来确定具体的UI实例。若在非UI页面中或者一些异步回调中调用这类接口,可能无法跟踪到当前UI的上下文,导致接口执行
- Easyexcel操作文件
一诚学编程
java开发语言
常见问题汇总1.往文件里写数据时,如果没有对应的实体类时,需要创建一个List>来保存一行的数据privateMapconvertToMap(ResultSetrs){LinkedHashMaprow=newLinkedHashMap;for(inti=0;i>data=newArrayListrowData=newHashMap<>();rowData.put(0,"张三");rowData.p
- Matlab GPU加速技术
算法工程师y
matlab开发语言
1.GPU加速简介(1)为什么使用GPU加速?CPU擅长处理逻辑复杂的串行任务,而GPU拥有数千个流处理器,专为并行计算设计。对于大规模矩阵运算、深度学习训练或科学计算等任务,GPU加速可将计算速度提升数十至数百倍。(2)Matlab的GPU支持功能依赖:需安装ParallelComputingToolbox(并行计算工具箱)。硬件要求:支持CUDA的NVIDIAGPU(如Tesla、GeForc
- JAVA随机生成六位验证码
Ning.L
javapython开发语言
使用java语言随机生成六位数的验证码在importjava.util.Random;publicclassRandomCodeGenerator{publicstaticvoidmain(String[]args){//生成六位数验证码StringverificationCode=generateVerificationCode(6);System.out.println("生成的验证码是:"+
- 从零开始学习鸿蒙系统
Ning.L
华为harmonyos
1.移动通讯技术的发展-1G时代:1980年摩托罗拉开发出了第一部手机,使用的就是1G的技术。只能进行语音通话。就是大哥大。-2G时代:1996年到1997年出现了第二代GSM、CDMA等数字制式手机,增加了接收数据的功能。2G不仅可以通话,还可以数据收发的功能,最开始的速度只有9K/S。如果我想收发一些图片或者音频技术是不可能的,因为速度太慢了。后来随着互联网多媒体的流行,多了图片,视频等,所以
- 嵌入式开发之STM32学习笔记day06
小程同学>o<
嵌入式学习之STM32stm32学习笔记
基于STM32F103C8T6的开发实践——从入门到精通011.引言STM32系列微控制器是STMicroelectronics推出的一款高性能、低功耗的32位微控制器,广泛应用于嵌入式系统中。STM32F103C8T6是其中非常受欢迎的一款,凭借其强大的性能、丰富的外设接口和低廉的价格,成为了开发者的首选之一。本文将通过实例,详细介绍如何基于STM32F103C8T6进行开发,并带领读者完成从简
- ## centos7搭建nfs高可用共享存储
weixin_45674361
高可用部署linux服务器centosnfs运维
centos7搭建nfs双机热备的高可用共享存储本文通过使用keepalived+nfs+rsync,解决了主从服务器双向同步和客户端挂载失效的问题,实现了nfs文件系统双机热备。名称IP地址客户端192.168.1.1服务端服务器1192.168.1.100服务端服务器2192.168.1.200实施步骤keepalived部署在192.168.1.100和192.168.1.200上执行安装依
- 前端缓存接口数据
jjjjjjjjj¢
笔记前端
在前端缓存接口数据时,可以结合浏览器缓存策略、前端存储(localStorage、sessionStorage、IndexedDB)、内存缓存(变量存储)、ServiceWorker等方式,选择适合的方案。使用浏览器HTTP缓存(推荐,依赖后端支持)如果接口数据不会频繁变化,可以使用HTTP缓存策略(强缓存+协商缓存),减少不必要的请求。后端设置Cache-Control在接口响应头中,服务器可以
- pytorch中的DataLoader
朋也透william
pytorch人工智能python
在PyTorch中,DataLoader是一个工具类,用于高效地加载数据并准备数据输入到模型中。它支持数据的批量加载、随机打乱、并行加载和迭代操作,是训练深度学习模型的关键组件之一。1.基本功能DataLoader的主要职责是从数据集中提取样本,并根据设置返回一个批次的数据。它与Dataset类结合使用:Dataset:定义数据集的来源、结构以及如何获取单个数据样本。DataLoader:负责从D
- 基于Gradio实现的增删改查(CRUD)模板系统设计方案
大霸王龙
pythongradio
基于Gradio实现的增删改查(CRUD)模板系统设计方案,结合了交互界面优化与数据持久化方案,支持本地JSON存储和动态界面更新:一、系统架构设计数据存储层采用JSON文件实现数据持久化(data.json)数据结构示例:{"items":[{"id":1,"name":"示例项目","category":"测试","status":"进行中"}]}界面交互层使用gr.Blocks实现多组件布局
- pyqt 上传文件或者文件夹打包压缩文件并添加密码并将密码和目标文件信息保存在json文件
大霸王龙
pyqtjson
一、完整代码实现importsysimportosimportjsonimportpyzipperfromdatetimeimportdatetimefromPyQt5.QtWidgetsimport(QApplication,QWidget,QVBoxLayout,QHBoxLayout,QPushButton,QLineEdit,QLabel,QFileDialog,QMessageBox,Q
- pytorch 天花板级别的知识点 你可以不会用 但是不能不知道
小赖同学啊
人工智能pytorch人工智能python
PyTorch的高级知识涵盖了从模型优化到分布式训练的广泛内容,适合已经掌握基础知识的开发者进一步提升技能。以下是PyTorch的高级知识点,详细且全面:1.模型优化与加速1.1混合精度训练定义:使用半精度(FP16)和单精度(FP32)混合训练,减少内存占用并加速计算。实现:使用torch.cuda.amp模块。示例:fromtorch.cuda.ampimportautocast,GradSc
- 【GPT入门】第23课 langchain serve介绍
*星星之火*
大模型gptlangchain
【GPT入门】第23课langchainserve介绍1.langchain介绍2.思路3.代码1.langchain介绍langserve是一个用于简化LangChain应用部署的工具,它可以将使用LangChain构建的链(chains)、代理(agents)等组件快速转化为RESTfulAPI服务,下面从多个方面详细介绍它的作用:1.简化部署流程一键部署为API:LangChain可用于构建
- 【GPT入门】第20课 langchain的function calling 初步体验
*星星之火*
大模型gptlangchainpython
【GPT入门】第20课langchain的functioncalling初步体验1.langchain的functioncalling非常简洁2.代码3.执行结果:1.langchain的functioncalling非常简洁在方法名说明方法用途和参数作用增加@tool标签langchain方法自动把@tool转为方法定义,后续方法调用都很简洁下面代码用支持单函数与多函数调用,自己体验一下quer
- Pytorch Dataloader入门
gy-7
pytorch深度学习机器学习
PytorchDataloadercode:torch/utils/data/dataloader.py#L71PytorchDatasettutorial:tutorials/beginner/basics/data_tutorial.html理论:在训练模型时,我们通常希望:以“mini-batch”方式传递样本,能够加速训练。每个epoch都shuffle数据,能够减少模型过拟合。使用Pyt
- 73_Go基础_1_43 方法继承
芦苇King
05_Go_01golang开发语言后端
packagemainimport"fmt"//1.定义一个"父类"typePersonstruct{namestringageint}//2.定义一个"子类"typeStudentstruct{Person//结构体嵌套,模拟继承性schoolstring}//3.方法func(pPerson)eat(){fmt.Println("父类的方法,吃窝窝头。。")}func(sStudent)stu
- 【深度学习基础】第二十四课:softmax函数的导数
x-jeff
深度学习基础深度学习人工智能
【深度学习基础】系列博客为学习Coursera上吴恩达深度学习课程所做的课程笔记。1.softmax函数softmax函数详解。2.softmax函数的导数假设神经网络输出层的激活函数为softmax函数,用以解决多分类问题。在反向传播时,就需要计算softmax函数的导数,这也就是本文着重介绍的内容。我们只需关注输出层即可,其余层和之前介绍的二分类模型一样,不再赘述。我们先考虑只有一个样本的情况
- 一个简单的日志类Logger
qinfen123456
单片机嵌入式硬件c++学习笔记开发语言
实现一个C++简单日志类,具备以下特性:日志文件命名采用文件名前缀加上日期的格式,方便管理与识别。对单个日志文件大小进行限制,当文件大小达到20MB时,自动开启新的日志文件。具备过期文件清理机制,自动删除保留时间超过365天的日志文件,节省存储空间。该日志类是线程安全的,能够在多线程环境下稳定运行,避免日志记录冲突。支持使用format格式进行日志记录,方便灵活输出不同格式的日志信息。自动创建子目
- versal架构简介:Sec I Introduction
妮蔻mega
versal架构简介fpga
1.SoCHardwareOverviewAMD的SoC(系统级芯片)具有广泛的功能,适用于需要可扩展处理能力、集成功能单元和可扩展可编程逻辑的高端应用,并且可以在正常系统操作期间动态配置和重新配置。SoC架构包括一组丰富的集成硬件组件和许多用户可编程设计选项,适用于许多系统级解决方案。每个设备都包含一个处理系统、可编程逻辑、平台管理控制器以及各种集成的硬件子系统和外设。处理系统和可编程逻辑可以选
- 基于多向量检索器的多模态RAG实现:用于表格、文本和图像
lichunericli
人工智能自然语言处理
原文地址:Multi-VectorRetrieverforRAGontables,text,andimages2023年10月20日概括跨不同数据类型(图像、文本、表格)的无缝问答是RAG追求的目标之一。我们将发布threenewcookbooks,展示在包含混合内容类型的文档上使用RAG的多向量检索器。这些cookbooks还提出了一些将多模态LLM与多向量检索器配对以解锁图像上的RAG的想法。
- Hystrix 实现限流\降级\熔断
杏花春雨江南
java开发那些事儿hystrixjava开发语言
Hystrix是一个强大的库,用于处理分布式系统中的延迟和容错问题。它提供了限流、降级和熔断等功能。下面是一个完整的Java示例,展示如何使用Hystrix实现限流、降级和熔断。1.添加依赖在pom.xml中添加Hystrix的依赖:xml复制com.netflix.hystrixhystrix-core1.5.18运行HTML2.创建Hystrix命令创建一个继承自HystrixCommand的
- 基础架构系列篇-系统WIN10使用VS+CMAKE编译AWS-SDK-CPP
dong-123456
架构运维知识点aws云计算c++vscmake
基础架构系列篇-系统WIN10使用VS+CMAKE编译AWS-SDK-CPP目录1.下载GIT(https://git-scm.com/downloads),本地安装2.下载CMAKE(https://cmake.org/download/),这里用的版本3.17,本地安装3.下载VS19版本,安装4.下载AWS-SDK-1.8地址https://github.com/aws/aws-sdk-cp
- 学习Web3.0需要具备哪些基础知识?
alankuo
人工智能人工智能
学习Web3.0需要具备以下基础知识:一、计算机科学基础1.编程知识-了解至少一种编程语言,如Python、JavaScript等。这将有助于理解Web3.0应用程序的开发和智能合约的编写。-熟悉编程概念,如变量、数据类型、控制结构、函数等。2.数据结构和算法-掌握常见的数据结构,如数组、链表、栈、队列、树、图等,以及它们的操作和应用。-了解基本的算法,如排序、搜索、递归等,以及它们的时间和空间复
- 深入理解C++编程:从内存管理到多态与算法实现
嵌入式Jerry
C++c++算法开发语言
C++是一门功能强大的编程语言,广泛应用于系统编程、游戏开发和高性能计算等领域。本文将通过一系列经典问题,深入探讨C++的核心知识点,包括内存管理、多态(结合函数重载与覆盖)、多线程、TCP/IP模型、软链接与硬链接的区别,以及常见算法实现。每个知识点都配有详细的代码示例和解释,帮助你更好地理解和掌握。1.内存管理:内存泄露与检测什么是内存泄露?内存泄露是指程序在动态分配内存后,未能正确释放已不再
- 深入解析音频编解码器(Audio CODEC):硬件、接口与驱动开发
嵌入式Jerry
内核音视频驱动开发linux嵌入式硬件
音频编解码器(AudioCODEC)是音频处理系统中的核心组件,负责模拟信号与数字信号的相互转换,广泛应用于智能音箱、嵌入式系统、消费电子产品等设备。本篇文章将从硬件结构、接口解析、驱动开发和软件配置等方面,深入讲解如何正确理解和使用音频编解码器。1.音频编解码器的基本概念CODEC(Coder-Decoder),即编解码器,是一种模数转换(ADC)和数模转换(DAC)的组合设备,用于处理音频信号
- Vue3+ts+router项目创建
DaKangya
vue.js
1.安装Node.js和npm确保你已经安装了Node.js和npm。你可以通过以下命令检查是否已安装:node-vnpm-v如果没有安装,可以从Node.js官网下载并安装。2.安装VueCLIVueCLI是一个用于快速搭建Vue项目的工具。你可以通过以下命令全局安装VueCLI:npminstall-g@vue/cli安装完成后,你可以通过以下命令检查VueCLI是否安装成功:vue--ver
- 7、标准库的string的常见使用
周Echo周
STLc++开发语言算法数据结构推荐算法leetcode蓝桥杯
一、了解string其实不完全算STL库中的。在C++中,string是标准库提供的用于处理动态字符序列的类(位于头文件),相比C风格的字符数组(char[]或char*),string提供更安全、更便捷的操作。使用的头文件#include二、初始化stringname;//创建一个空的stringstringname("数据");//创建一个字符串值为“数据”的stringstringname=
- PyTorch中,将`DataLoader`加载的数据高效传输到GPU
大霸王龙
pytorch人工智能python
一、数据加载到GPU的核心步骤数据预处理与张量转换若原始数据为NumPy数组或Python列表,需先转换为PyTorch张量:X_tensor=torch.from_numpy(X).float()#转换为浮点张量y_tensor=torch.from_numpy(y).long()#分类任务常用长整型显式指定设备:通过.to(device)将数据移至GPU(需提前定义device对象):devi
- 输入:0.5元/百万tokens(缓存命中)或2元(未命中) 输出:8元/百万tokens
杏花春雨江南
缓存
这句话描述了一种定价模型,通常用于云计算、API服务或数据处理服务中,根据资源使用情况(如缓存命中与否)来收费。以下是对这句话的详细解释:1.关键术语解释Tokens:在自然语言处理(NLP)或数据处理领域,Token通常指文本的最小单位(如一个单词或一个字符)。在这里,Tokens是计费的单位。缓存命中(CacheHit):当请求的数据已经在缓存中时,称为缓存命中。缓存命中通常意味着更快的响应速
- 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