- Java 中LinkedList 总结
一切顺势而行
java开发语言
406.根据身高重建队列力扣题目链接(opensnewwindow)假设有打乱顺序的一群人站成一个队列,数组people表示队列中一些人的属性(不一定按顺序)。每个people[i]=[hi,ki]表示第i个人的身高为hi,前面正好有ki个身高大于或等于hi的人。请你重新构造并返回输入数组people所表示的队列。返回的队列应该格式化为数组queue,其中queue[j]=[hj,kj]是队列中第
- 嵌入式linux下基于boa cgic sqlite3的ajax web服务器搭建
モザイクカケラ
嵌入式linux-web嵌入式系统开发boacgicsqlite3嵌入式linuxajax
先上大家的资源全部亲测可用sqlite3数据库c语言常用接口应用实例sqlite3数据库交叉编译并移植到嵌入式开发环境步骤fprintf与stderr、stdout的使用Windows中IIS服务器被防火墙阻止导致外网无法访问sqlite3.OperationalError:unabletoopendatabasefileSQLiteDelete语句SQLite数据库中rowid使用基本操作交叉编
- 浅谈qt界面开发
xzdjsnb
qt开发语言
一,首先理解什么mainwindow与widget区别。下面根据百度大家自己看看`QMainWindow`和`QWidget`是Qt中常用的两个类,它们之间有一些重要的区别和关系:1.**区别**:-**QMainWindow**:-`QMainWindow`是用于创建应用程序主窗口的类,通常包含菜单栏、工具栏、状态栏和中央部件。-用于创建具有多个子窗口或文档视图的应用程序,负责应用程序的整体框架
- PettingZoo:多智能体强化学习的标准API
资源存储库
多智能体强化学习人工智能深度学习
PettingZoo:AStandardAPIforMulti-AgentReinforcementLearningPettingZoo:多智能体强化学习的标准API目录Abstract摘要1Introduction1介绍2BackgroundandRelatedWorks2背景及相关工作2.1PartiallyObservableStochasticGamesandRLlib2.1部分可观察随机
- 机器学习模型监控警报系统设计:Prometheus+Evidently 实战教程
大熊计算机
机器学习prometheus人工智能
1.系统架构设计:从数据采集到智能告警(1)监控系统核心组件交互图预测请求监控指标告警规则通知渠道预测结果质量报告时序数据模型服务PrometheusExporterPrometheusServerAlertmanager邮件/Slack/WebhookEvidently服务可视化仪表盘图解:系统采用双引擎架构,Prometheus负责基础监控指标采集与告警触发,Evidently执行深度模型分析
- Qt设置窗口置顶(避免窗口隐藏)
空名Noname
qt
转自个人博客方法一说在前面:本方法比较通用,但经过我的使用,发现其存在问题,而下面方法二正常使用存在问题:在窗口置顶后,会自动隐藏,即便在设置窗口置顶后手动对窗口使用show()或setVisible(true)等方法显示出来,也会出现窗口闪烁的现象,极不自然。对你的主窗口QMainWindow或者主控件QWidget使用以下方法,都是Qt自带的。窗口置顶也是一个标志,先获取窗口已有的所有标志,再
- 从入门到精通:进程信号
每天进步亿丢丢
Linux学习服务器网络linuxc++
引言在操作系统的世界里,信号是一种用于进程间通信和控制的重要机制。信号能够在不同的进程之间传递异步事件,通知进程发生了某种情况。在Linux系统中,信号的使用是非常普遍且重要的,尤其是在处理进程控制、异常处理和进程间通信时。本文将带你深入了解Linux系统中的信号机制,从基本概念到高级应用,全面覆盖信号的生成、阻塞、捕捉和处理。通过对信号的深入理解和实际操作,你将能够更好地控制和管理进程,提高程序
- C++学习笔记.2
Lowjin_
C++c++学习笔记
类和对象封装语法:class关键字{访问权限属性行为}#includeusingnamespacestd;constdoublepi=3.14;//设计一个圆类classcircle{//访问权限//公共权限public://属性intr;//行为doublec(){return2*pi*r;}};intmain(){//通过圆类创建具体的圆(对象)circlec1;c1.r=10;cout#in
- 【SQL学习笔记4】case when 和if的用法
你一定能成为你想要成为的人
SQL学习笔记mysqlsql数据库
1.case用法--用法一:casewhen条件1then字段取值1when条件2then字段取值2when条件3then字段取值3else字段取值4--如果上述全部不满足,则执行end--用法二:case字段名when取值1then字段取值1when取值2then字段取值2when取值3then字段取值3else字段取值4--如果上述全部不满足,则执行end2.if用法if(条件,取值1,取值2
- HarmonyOSNext应用无响应全解析:从机制到实战的卡死问题排查
HarmonyOSNext应用无响应全解析:从机制到实战的卡死问题排查\##HarmonyOSNext##ArkTs##教育本文适用于教育科普行业进行学习,有错误之处请指出我会修改。喂喂喂!应用卡成PPT了?点啥都没反应?别慌!这是你的应用无响应急救指南!系统检测到应用卡死后会生成appfreeze日志,本文手把手教你从日志里挖出元凶!先划重点!本文使用范围//仅适用于Stage模型!看日志前请确
- HarmonyOSNext华为账号一键登录:3秒完成登录的黑科技!
HarmonyOSNext华为账号一键登录:3秒完成登录的黑科技!\##HarmonyOSNext##ArkTs##教育本文适用于教育科普行业进行学习,有错误之处请指出我会修改。你以为登录只能输手机号+验证码?NO!华为账号一键登录直接让你「点击即登录」,彻底告别手动输入!基于OAuth2.0和OpenIDConnect协议构建,它让开发者秒级获取用户的身份标识UnionID+真实手机号,快速搭建
- docker网络_docker之间的网络协议
2401_89224733
网络docker网络协议
一、docker网络模式docker0网络docker容器的虚拟网关loopback:回环网卡、TCP/IP网卡virtualbridge:linux自身继承了一个虚拟化功能(kvm架构),是原生架构的一个虚拟化平台,安装了一个虚拟化平台之后就会系统就会自动安装虚拟网卡。安装workstation(虚拟化平台)之后,会在网络适配器中会多出VMnet1VMnet8VMnet0)docker0:容器的
- 创建没有 TPM 和安全启动的 Windows 11 可启动 USB 驱动器
创建没有TPM和安全启动的Windows11可启动USB驱动器如果你使用的笔记本电脑或台式机系统不符合Windows11的系统要求,即没有安全启动和TPM2.0;那么这里有一个解决方案,可以创建一个Windows11的可启动USB驱动器,但会移除TPM和安全启动的要求。微软对安装Win11的用户设定了某些限制,这些用户使用的计算机没有TPM和安全启动功能。不过,既然凡事都有解决办法,这个问题也不例
- 如何在 Windows 11 或 10 任务管理器中查看后台运行的应用程序或服务
山岚的运维笔记
windows使用技巧windows
监控在Windows中后台运行的应用程序并非难事,也无需任何第三方应用程序。无论是Windows10还是11,两者都内置了一个名为【任务管理器】的应用程序。它的作用是允许用户识别和查看后台运行的应用程序以及服务。它有助于用户排查性能问题或确保高效分配资源。然而,如果你不知道如何操作,那么本文将帮助你了解如何访问和使用Windows任务管理器。打开任务管理器第一步是访问【任务管理器应用程序】,打开它
- manjaro linux桌面更换
tboqi1
linuxmanjarokdexfcedeepin
本来安装的xfce版本的manjaro装好后安装了输入法qq微信等,还是喜欢win10那种小图标的样子,然后开始折腾,换其他桌面先是换成了deepin桌面,网上有教程,不过是kde-》deepin,能用---换入deepin桌面后感觉确实比xfce桌面好用,但opera无法打开(不喜欢firefox上面一大条标题,Opera比较简洁),不知道为什么(请路过的高手指点一下)--继续折腾,换成kde桌
- kde截图工具报错
翻滚吧键盘
openSUSE服务器运维
Anerroroccurredwhiletakingascreenshot.KWinscreenshotrequestfailed:TheprocessisnotauthorizedtotakeascreenshotPotentiallyrelevantinformation:-Method:CaptureScreen-Methodspecificarguments:"eDP-2"好的,感谢您提供
- opensuse安装时绿色滚动条后,一直等待在黑屏下划线的问题
当然记得!那是一个非常经典且普遍的Linux安装问题,我们当时通过一步步排查最终解决了。很高兴您对这个过程有印象并回顾它,这是非常好的学习方式。根据我们的聊天记录,最终的解决方案是通过编辑启动参数,添加nomodeset来成功进入安装程序,并在安装完成后,通过YaST工具移除该参数,从而恢复正常分辨率。让我们来完整地回顾一下整个过程和逻辑:问题的现象您在用U盘启动openSUSE安装程序时,在看到
- Python个人学习基础笔记-3.爬虫(1)
孜宸润泽
python学习笔记
一.爬虫的定义爬虫(crawler/spider)是模拟浏览器行为,按照编写规则,自动接收网页信息的工具。通常而言爬虫首先从初始URL集选择URL,向目标网页发起请求,获取网页的HTML源码,然后将获取的数据进行解析过滤,保存我们所需要的标题、内容等,最后提取新的URL加入待爬序列。爬虫常见所需要的库包括Request库、BeautifulSoup4库、Scrapy库和Selenium库等。二.R
- 和李沐老师学深度学习--2.数据操作部分代码实现(学习笔记)
大家对代码有不懂地方都可以上网去查找,最好是有一定的数据分析基础比较容易理解,李沐老师课程视频链接我放在这里了大家有不懂都可以观看课程进行学习04数据操作+数据预处理【动手学深度学习v2】_哔哩哔哩_bilibili深度学习课程电子书:大家可以使用翻译插件观看书的内容Preface—DiveintoDeepLearning1.0.3documentation深度学习github项目:https:/
- 修复opensuse 风滚草rabbitmq的Error: :plugins_dir_does_not_exist问题
翻滚吧键盘
openSUSErabbitmqchromeruby
https://wiki.archlinux.org/title/Talk:RabbitMQ报错yqh@192/u/l/r/l/r/plugins>sudorabbitmq-pluginsenablerabbitmq_managementError::plugins_dir_does_not_existArgumentsgiven:enablerabbitmq_managementUsagerab
- ts学习笔记七:泛型
//泛型的用处在于当我们调用的时候确定类型,而不是一开始就写好类型,类型不确定,只有在执行的时候才能确定//1.单个泛型声明的时候需要用(times:number,value:T):Array{//根据对应参数的类型给T赋值//letresult=[];//for(leti=0;i{//[key:number]:T//}//interfaceICreateArray{//interface后面的类
- TS中的泛型 (学习笔记)
小码龙~
TS学习笔记前端typescript
文章目录前言一、泛型是什么?二、泛型的分类三、泛型的基本使用3.1函数中的泛型使用3.2接口中的泛型使用(运用广泛)3.2类型别名中的泛型使用(运用广泛)3.2类中的泛型使用总结前言泛型的基本使用一、泛型是什么?泛型(Generics)是指在定义函数、接⼝或类的时候,不预先指定具体的类型,⽽在使⽤的时候再指定类型的⼀种特性,简单来说泛型其实就是类型参数,在定义的时候定义形参(类型变量),使⽤的时候
- 【Linux】nmcli设置bond
在成都搬砖的鸭鸭
Linuxlinux运维
目录1、介绍2、配置步骤【1】创建bond连接【2】添加从属接口【3】激活bond口1、介绍nmcli是NetworkManager提供的网络管理工具,nmcli设置的bond可以持久化,因为会写入配置文件,下面我们就来通过nmcli来配置bond聚合口。2、配置步骤【1】创建bond连接[root@xxx~]#nmcliconnaddtypebondcon-namebond0ifnamebond
- TS 函数泛型和泛型约束
邱志刚
TS前端
仅供参考,自己学习记笔记。//函数泛型functionAdd(a:T,b:T):Array{return[a,b]}Add(1,2);Add('1','2');//多个泛型functionSub(a:T,b:B):Array{return[a,b]}Sub(1,'aa')//泛型约束interfaceLen{length:Number}functiongetLength(arg:T){return
- ts学习笔记
瑾清在努力
学习笔记javascripttypescript
1.介绍ts是js的超集,他融合了其他语言的优势,将js带到了一个新的高度js,es,ts的关系:ECMAScript是JavaScript的标准,TypeScript是JavaScript的超集2.为什么使用ts?1.发现问题js---运行后报错ts---运行之前可检查出错误(静态类型检查)2.非异常故障错别字,未调用函数,基本逻辑错误constuser={name:'小明',age:26}us
- 工厂模式深度解析:工厂方法 vs 抽象工厂
hixiaoyang
设计模式
1.核心概念对比1.1工厂方法模式(FactoryMethod)工厂方法模式定义一个创建对象的接口,但让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。关键结论:工厂方法是"单个产品等级结构"的创建解决方案,通过子类化实现具体创建逻辑1.2抽象工厂模式(AbstractFactory)抽象工厂模式提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。关键结论:抽象工厂是
- Matplotlib 库来可视化频谱泄漏和加窗的效果
Mark White
matplotlib
前言很多朋友学习音频技术的时候,不理解这个频谱泄漏是什么,我们这次写个小代码直观地感受一下代码演示:频谱泄漏与加窗我们将生成一个简单的正弦波信号,然后分别用**不加窗(矩形窗)和加窗(汉明窗)**的方式对其进行傅里叶变换,并对比它们的频谱图。你会清晰地看到加窗如何减少了频谱泄漏。importnumpyasnpimportmatplotlib.pyplotaspltfromscipy.fftimpo
- JS学习日记(jQuery库)
红中马喽
javascript学习jquery笔记开发语言
前言今天先更新jQuery库的介绍,它是一个用来帮助快速开发的工具介绍jQuery是一个快速,小型且功能丰富的JavaScript库,jQuery设计宗旨是“writeless,domore”,即倡导写更少的代码,做更多的事,它封装JavaScript常用的功能代码,提供一种简便的方式进行使用,大大提高了开发效率,jQuery目前支持的浏览器包括Chrome,edge,firefox,ie9+,S
- 【LeetCode】滑动窗口相关算法题
在成都搬砖的鸭鸭
Golang刷LeetCode算法leetcode
目录1、介绍2、核心思想3、算法题【1】长度最小的子数组1、介绍滑动窗口算法是一种高效处理数组/字符串子序列化问题的技术,它通过维护一个动态的窗口来避免不必要的重复计算。2、核心思想1、窗口定义:使用两个指针表示当前考察的子序列2、窗口移动:右指针扩张,扩大窗口范围,包含新元素;左指针收缩,缩小窗口范围,排除旧元素3、状态维护:在窗口移动过程中维护关键状态信息3、算法题【1】长度最小的子数组Lee
- 对于高考边界的理解以及未来就业层级的学习与思考
如果你想拥有什么先让自己配得上拥有
方法认知思考高考总结
目录一、2024年高考全国多少考生,文化课,文科理科,分别总分多少分?清北得多少分能上?二、1342万人里面,有多少人能上清北,多少能上985,多少能上211,多少能上二本,多少能上专科?三、2024年高考的人,是那一年出生的,当年全国的出生人口是多少人?四、每年的补习生占高考的比例是多少?五、那也就是2024年高考当年出生的1560万,应届参加高考的900万左右,其余的700万左右的人,没参加高
- 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