- 从0开始的IMX6ULL学习篇——裸机篇之外设资源分析
charlie114514191
从0开始的学习ARMv7aIMX6ULL芯片学习IMX6ULL外设嵌入式硬件
这个就是现在可以买到之后开发板的模样。我们从最右上角那一处依次逆时针一个个分析。我们跳过显然的电源插孔,拨动开关和3V3与5V的外接板。第一个就是USBHOST接口。USBHost是USB通信协议中的一个重要概念,它指的是控制USB总线数据传输的主端设备。在USB通信中,只能有一个Host,它负责管理整个USB总线上的数据传输。与之相对的是USBDevice或USBSlave,即从设备,它们依赖于
- NVIDIA jetson查看资源占用情况,打印/保存资源使用情况日志
低配加班人
jetson日志工具测试工具
1.jtopjtop这个一般都有安装,只能实时查看安装方式为sudo-Hpipinstalljetson-stats运行就是直接jtop即可2.tegrastats这个是jetson自带的工具,可以保存日志到文件,用于测试资源占用有无异常比较好用,如果资源有异常,但是不知道具体现象,可以打开日志功能,再打开异常程序,放在一边跑就行。tegrastats在目录/usr/bin/下使用tegrasta
- 函数重载(overload) 默认参数
schedule___
cpp
函数重载规则函数名相同参数个数、类型、顺序不同注意返回值类型与函数重载无关调用函数时,实参的隐式类型转换可能会产生二义性。本质采用了namemangling或者叫namedecoration的技术c++编译器会对符号名(函数名)进行改变、修饰不同编译器(MSVC,g++)有不同的生成规则通过ida打开[vs_release_禁止优化]可以看到默认参数规则默认参数只能按照从右到左的顺序函数同时有声明
- MySQL进阶篇 === 索引分类
前端 贾公子
java数据库开发语言
目录索引分类思考题语法索引分类与使用总结一、索引类型二、InnoDB存储引擎的索引存储形式三、聚集索引选取规则四、思考题解答五、索引的语法六、案例分析索引分类分类含义特点关键字主键索引针对于表中主键创建的索引默认自动创建,只能有一个PRIMARY唯一索引避免同一个表中某数据列中的值重复可以有多个UNIQUE常规索引快速定位特定数据可以有多个全文索引全文索引查找的是文本中的关键词,而不是比较索引中的
- 操作系统笔记——生产者-消费者问题
ZCC9310
操作系统操作系统
一、问题描述1.有两个进程,生产者进程和消费者进程2.临界资源:缓冲池3.关系:只要缓冲池不满,生产者进程就可以向缓冲池中存入信息;只要缓冲池不空,消费者就可以从缓冲池中拿走信息。缓冲池同时只能被一共进程占用。二、互斥问题1.缓冲池中的缓冲区有N个。2.信号量设置:(1)互斥信号量mutex,这个信号量用于标注缓冲池是否被占用互斥信号量的设置,要看有哪几种互斥就设置几个。比如若是允许生产者写的时候
- 前端面试100问!!
一只松
javascriptes6
面试造火箭,工作拧螺丝!在技术圈毕竟只有百分之一的人能进入BAT,百分之九九的小伙伴只能在普通公司做这普通的事情,厌烦哪些标题党,我们抛开那些高大上的台词,回归到面试的本质。本课程帮助小伙伴们快速梳理知识,不会涉及到具体的很细节的知识点,关注面试本身。公司一般会从以下5个方面考察一个人的能力,本课程的100问是总结了最近2-3年常问的面试题,适合初中级前端工程师。1、HTML(5)和CSS3方面1
- 基于 Elasticsearch 和 Milvus 的 RAG 运维知识库的架构设计和部署落地实现指南
ViniJack
AImilvus运维rag落地方案知识库
最近在整理一些业务场景的架构设计和部署落地实现指南先放一个【基于RAG的运维知识库(ElasticSearch+Milvus)的详细实现指南】,其中包含了详尽的技术实现细节、可运行的示例代码、原理分析、优缺点分析和应用场景分析。架构描述:基于RAG的运维知识库(ElasticSearch+Milvus)部署指南1.极其详细的部署步骤(包含详尽的技术实现细节和分步骤、可运行的示例代码-也只能给示例代
- jenkins创建新用户_Jenkins的用户管理
Damong.Liu
jenkins创建新用户
用户管理入口Jenkins首页有一个用户,但是只能从那查看用户列表和信息,管理用户的入口在Jenkins->系统管理->管理用户新建用户在管理用户左侧有一个新增用户,点击后按照表单填写即可用户权限在确定使用用户功能之后,需要在全局安全设置中先做一些配置在Jenkins->系统管理->ConfigureGlobalSecurity中,勾选启用安全上图是一个简单的示例全局权限第一行的用户是超级管理员超
- 关于idea中新建springboot项目Java版本不能选择11和8的解决办法
aniceperson999
intellij-ideajavaide
原因:spring2.X版本在2023年11月24日停止维护了,因此创建spring项目时不再有2.X版本的选项,只能从3.1.X版本开始选择而Spring3.X版本不支持JDK8,JDK11,最低支持JDK17,因此JDK11也无法选择了当然,停止维护只代表我们无法用idea主动创建spring2.X版本的项目了,不代表我们无法使用,该使用依然能使用,丝毫不受影响目前阿里云还是支持创建Sprin
- 网关和过滤器学习
hzj6
学习
一、网关是什么?有什么用?在微服务架构中,一个模块可能会部署到多个不同地址的服务器上,比如一个item模块,它的端口号可能有8081、8082等。如果是以前,当用户发送请求时只能指定发送给某一个地址,但是网关可以帮我们进行转发请求到对应的地址或端口上,同时帮我们实现负载均衡二、网关和Nacos有什么区别?网关主要负责接收和处理外部请求,对请求进行路由、过滤、认证、限流等操作,将请求合理地分发到后端
- Java面试题整理
Amberish
java
exist和in有什么区别select*fromAwhereidin(selectidfromB)有两点区别:(1)使用上的区别:exists中放一个子查询有记录返回true,无记录返回false(NULL也算有记录),in中查询结果集只能有一个字段(2)性能上的区别:in要把缓存到内存中,exists不需要缓存结果in()适合B表比A表数据小的情况exists()适合B表比A表数据大的情况当A表
- python编译安装vosk语音识别包
hzjxinyue
python
不知道为什么,谁把vosk从pip源上删了。没办法只能自己编译安装了。下载源代码gitclonehttps://github.com/alphacep/vosk-api.git进入python文件夹cdvosk-api/python编译安装python3setup.pyinstall
- C++ lambda 表达式除了[&] [=] [] 还有哪些形式
laocooon523857886
C++c++
在C++中,lambda表达式的捕获列表(capturelist)不仅限于[&]、[=]和[],还有其他形式可以更灵活地控制捕获行为。以下是C++lambda表达式捕获列表的完整形式及其用法:1.空捕获列表[]表示lambda表达式不捕获任何外部变量。只能使用lambda表达式的参数和局部变量。intx=10;autolambda=[](){//不能使用x,因为没有捕获return42;};2.按
- super的使用
一天八小时
语言中的一些基础概念java
关于Super()的用法1.Super()只能用在子类的构造方法中使用,在其它地方使用存在编译错误。2.super()构造的父类只有在子类中有效,离开子类无法使用。3.super.的调用的是由在子类构造的时候使用了super()的无参或者有参构造出来的父类。4.当父类为有参构造而不写无参构造的时候,我们子类构造方法必须拥有父类的构造方法就需要用Super(Stringxx,intno)的构造方法将
- 1160 拼写单词
Ferker554
leedcode算法leetcode数据结构
给你一份『词汇表』(字符串数组)words和一张『字母表』(字符串)chars。假如你可以用chars中的『字母』(字符)拼写出words中的某个『单词』(字符串),那么我们就认为你掌握了这个单词。注意:每次拼写(指拼写词汇表中的一个单词)时,chars中的每个字母都只能用一次。返回词汇表words中你掌握的所有单词的长度之和。classSolution{public:intcountCharac
- Java基础——8.5 super关键字
kongbai_mumu
Java基础java开发语言
8.5super关键字super代表父类的引用,用于访问父类的属性、方法、构造器。8.5.1基本语法super.属性名,访问父类的属性,但不能访问父类的private属性;super.方法名(参数列表),访问父类的方法,但不能访问父类的private方法;super(参数列表);,访问父类的构造器,只能放在构造器的第一句且只能出现一句;例:packagecom.edu.super_;publicc
- 455. 分发饼干(LeetCode)
和光同尘@
算法LeetCodeleetcode算法职场和发展c++数据结构
题目来源:455.分发饼干-力扣(LeetCode)题目内容:假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子i,都有一个胃口值g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干j,都有一个尺寸s[j]。如果s[j]>=g[i],我们可以将这个饼干j分配给孩子i,这个孩子会得到满足。你的目标是满足尽可能多的孩子,并输出这个最大数值。示例1
- 【LeetCode】第64题——最小路径和(难度:中等)
Se7en_Dayz
LeetCode题解动态规划javaleetcode
【LeetCode】第64题——最小路径和(难度:中等)题目描述解题思路代码详解注意点题目描述给定一个包含非负整数的mxn网格grid,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例1:输入:grid=[[1,3,1],[1,5,1],[4,2,1]]输出:7解释:因为路径1→3→1→1→1的总和最小。示例2:输入:grid=[[1,2,3]
- 力扣64——最小路径和
death05
原题给定一个包含非负整数的mxn网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[[1,3,1],[1,5,1],[4,2,1]]输出:7解释:因为路径1→3→1→1→1的总和最小。解法错误的正向思路我一开始的想法是正向思路,从起点开始,每个点都有两种后续走法——向下或者向右,当然其中需要判断是否可以向下或者向右以及到达终点就停止
- 切换浅色和暗夜模式的vue组件 darkmode-switch-btn
日积一沙
前端
简单方案第一步在head中声明,声明当前页面支持light和dark两种模式第二步设置不同模式下的全局样式变量,供全局子元素引用,实现模式修改,全局样式一起修改的效果。注:1.有些属性如background不能实现继承,所以要实现不同元素背景色的统一修改,只能是不同元素使用同一变量。模式修改,变量值会修改,从而实现样式的切换//字体$font-light-color-1:#1b1b1b;$font
- MacOS安装Emacs
一张假钞
emacs编辑器
个人博客地址:MacOS安装Emacs|一张假钞的真实世界在MacOSX上可以使用Homebrew安装Emacs:$brewinstallemacs--with-cocoa或者用MacPorts:$sudoportinstallemacs-appOSXEmacs网站提供了通用的二进制包。前两种方法安装后只能通过命令行启动Emacs,界面是终端界面。二进制安装可以将Emacs安装到Applicati
- python列表的合并
醉里_挑灯看剑
python基础pythonlist
1.append()append()向列表尾部追加一个新元素,列表只占一个索引位,在原有列表上增加2.extend()2.extend()向列表尾部追加一个列表,将列表中的每个元素都追加进来,在原有列表上增加3.+.+直接用+号看上去与用extend()一样的效果,但是实际上是生成了一个新的列表存这两个列表的和,只能用在两个列表相加上4.+=+=效果与extend()一样,向原列表追加一个新元素,
- Java笔记 - 黑马程序员_06(Stream,字节流,字符流,对象流(序列化流),属性集(Properties))
谦逊蓄意,只为飞的更高
Javajava开发语言
StreamStream流的三类方法:获取Stream流创建一条流水线,并把数据放到流水线上准备进行操作中间方法流水线上的操作,一次操作完毕之后,还可以继续进行其他操作终结方法是流水线上的最后一个操作,一个Stream流只能有一次终结方法创建Stream流的方式:方式1:根据集合获取流Collection根接口中提供了stream()方法可以获取流。单列集合:直接调用stream0方法即可双列集合
- vue自定义指令千分位
什么什么什么?
前端vue.jsjavascript前端
问题开发的时候经常会遇到需要在输入框中输入数字转为千分位,点击填写时又转为数字的情况解决因此直接在vue中注入自定义指令,通过使用自定义指令达到效果;限制input输入框只能输入数字和一位小鼠带你自定义指令-千分位//自定义指令-千分位Vue.directive("thousand",{inserted(el,binding,vnode){//console.log("el",el,binding
- el-input 只能输入金额
刘承峰
vue
(kanFrom.price=v.replace(/[^\d.]/g,'').replace(/\.{2,}/g,'.').replace(/^(\d+)\.(\d\d).*$/,'$1.$2'))"/>
- el-input实现金额输入
什么什么什么?
前端vue.jsjavascriptelementui
需求:想要实现一个输入金额的el-input,限制只能输入数字和一个小数点。失焦数字转千分位,聚焦转为数字,超过最大值,红字提示效果图失焦聚焦报错效果//组件limitDialog{{otherInfo.currency}}{{otherInfo.currency}}当日已用金额{{otherInfo.daily_used}}{{otherInfo.currency}}{{otherInfo.cu
- Java Stream 流笔记
L_!!!
javajava笔记
JavaStream流笔记目录Stream流是什么常用API及使用与传统API对比总结1.Stream流是什么Stream是Java8引入的用于处理集合数据的抽象API,特点:声明式编程:关注"做什么"而非"怎么做"链式操作:支持流水线式操作组合并行处理:内置并行处理能力不存储数据:仅对数据源进行计算不可复用:每个流只能被消费一次//示例:创建流Listlist=Arrays.asList("a"
- 北京大学DeepSeek提示词工程与落地场景(PDF无套路免费下载)
xiecoding.cn
人工智能deepseek入门deepseekdeepseek入门到精通deepseek大模型
近年来,大模型技术飞速发展,但许多用户发现:即使使用同一款AI工具,效果也可能天差地别——有人能用AI快速生成精准方案,有人却只能得到笼统回答。这背后的关键差异,在于提示词工程的应用能力。北京大学联合DeepSeek团队推出的《DeepSeek提示词工程与落地场景》教程,正是为了解决这一痛点,通过系统化的方法论和丰富的案例,帮助用户解锁AI的真正潜力。《DeepSeek提示词工程与落地场景》PDF
- dynamic_cast和static_cast和const_cast
zjkzjk7711
服务器linux运维
dynamic_cast在C++中的作用dynamic_cast是C++运行时类型转换(RTTI,Run-TimeTypeIdentification)的一部分,主要用于:安全的多态类型转换检查类型的有效性向下转换(Downcasting)跨类层次的指针或引用转换它只能用于带有虚函数的类,否则dynamic_cast将无法工作。1.dynamic_cast的作用1.1向下转换(Downcastin
- SpringCloud/Boot集成LogBack
azoon.top
springcloudlogbackspringlog4jslf4j
一.简要介绍什么是SLF4J?官网介绍:SimpleLoggingFacadeforJava(SLF4J)充当简单的各种日志记录框架的Facade或抽象(e.g.java.util.logging、logback、log4j)允许最终用户在部署时插入所需的日志记录框架。类似java中的接口,如果只集成SLF4J,日志只能输出在控制台,并没有输出到文件的能力,要实现真正的日志能力,需要引入其实现层:
- 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