- 以太网协议介绍
归宿688
软件开发自动驾驶网络协议
目录一.以太网主要协议关系介绍二.协议介绍及帧结构2.1媒体访问控制子层协议MAC2.2地址解析协议ARP2.2.1ARP帧结构2.2.2ARP协议工作原理2.3网际互连协议IP2.3.1IP协议帧2.3.2IP数据报分片重组2.4互联网控制消息协议ICMP2.5用户数据报协议UDP2.6传输控制协议TCP一.以太网主要协议关系介绍 网络结构可以分为五层,自底向上依次为:物理层、数据链路层、网络
- 数据库基础以及 MySQL 知识点
阿绵
计算机基础数据库mysql
文章目录1、基本概念2、主键和外键的区别2.1、使用外键的优劣3、数据库范式4、drop、delete与truncate区别?5、MySQL1、基础概念2、存储引擎2.1、InnoDB和MyISAM区别2.2、InnoDB如何保持事务的四大特性(实现事务的原理)3、锁机制与InnoDB锁算法3.1、表级锁和行级锁对比4、事务4.1、ACID特性4.2、并发事务带来的问题4.3、事务隔离级别1、基本
- 刷题day27 动态规划(一)【斐波那契数】【爬楼梯】【使用最小花费爬楼梯】
哈哈哈的懒羊羊
动态规划算法数据结构蓝桥杯java面试背包问题
⚡刷题计划day27动态规划(一)开始,第三期后是背包专题,可以点个免费的赞哦~往期可看专栏,关注不迷路,您的支持是我的最大动力~目录什么是动态规划动态规划的解题步骤题目一:509.斐波那契数题目二:70.爬楼梯题目三:746.使用最小花费爬楼梯什么是动态规划动态规划,英文:DynamicProgramming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。特征:一个问题,可以拆
- Python中Tushare(金融数据库)入门详解
eqa11
数据库python金融
文章目录Python中Tushare(金融数据库)入门详解一、引言二、安装与注册1、安装Tushare2、注册与获取Token三、Tushare基本使用1、设置Token2、获取数据2.1、获取股票基础信息2.2、获取交易日历2.3、获取A股日线行情2.4、获取沪股通和深股通成份股2.5、获取上市公司基础信息2.6、获取A股周线行情字段解析四、总结Python中Tushare(金融数据库)入门详解
- Vulkan 究竟是什么
美颜特效.音视频
Vulkan基础
Vulkan图形系统究竟是什么?Vulkan是一个图形和计算硬件的API(ApplicationProgrammingInterface)。这个API由很多命令组成,它们允许程序员指定着色器程序,计算内核,对象和操作产生高质量的图像,特别是三维对象的彩色图像。程序员的视角看Vulkan:对程序员来讲,Vulkan是一些命令的集合,允许内核或者着色器,和shader执行的外部Vulkanaspect
- STM32硬件SPI函数解析与示例
weixin_58038206
stm32嵌入式硬件单片机
1.SPI简介SPI(SerialPeripheralInterface)即串行外设接口,是一种高速、全双工、同步的通信总线,常用于微控制器与各种外设(如传感器、存储器等)之间的通信。STM32系列微控制器提供了多个SPI接口,具有灵活的配置选项。2.相关函数解析2.1初始化相关函数SPI_Init(SPI_TypeDef*SPIx,SPI_InitTypeDef*SPI_InitStruct)功
- 数据分析-56-深入理解假设检验的步骤和T检验的应用案例
皮皮冰燃
数据分析数据分析假设检验
文章目录1假设检验(HypothesisTesting)1.1假设检验的步骤1.1.1提出假设1.1.2选择显著性水平1.1.3选择检验统计量1.1.4计算检验统计量1.1.5确定临界值或p值1.2假设检验的类型1.2.1单尾检验(One-tailedtest)1.2.2双尾检验(Two-tailedtest)2T检验2.1单样本t检验2.2独立样本t检验2.3配对样本t检验3应用案例3.1单样本
- CS4386 AI Game Programming
后端
CS4386AIGameProgramming(SemesterB,2024-2025)Assignment1:TrapGomokuSetbyCS4386TATeamTournament1Deadline:Friday28February202523:59Tournament2Deadline:Wednesday12March202523:59Thisassignmentisworth15%(fi
- 函数式编程倡导的「不可变数据结构」如何保证性能
编程
在函数式编程(FunctionalProgramming,简称FP)中,不可变数据结构(ImmutableDataStructures)是一个核心概念。与传统的可变数据结构相比,不可变数据结构不可修改,而是通过创建新的数据结构来表达数据的变更。这一特点使得函数式编程能够简化并行计算、避免副作用,进而提高程序的可靠性和可维护性。然而,不可变数据结构可能带来的性能问题,例如内存的使用、数据复制的成本等
- python环境的yolov11.rknn物体检测
子正
问题建模#AI自由行部署YOLO机器学习运维
1.首先是我手里生成的一个yolo11的.rknn模型:2.比对一下yolov5的模型:2.1yolov5模型的后期处理:outputs=rknn.inference(inputs=[img2],data_format=['nhwc'])np.save('./onnx_yolov5_0.npy',outputs[0])np.save('./onnx_yolov5_1.npy',outputs[1]
- Django 5实用指南(二)项目结构与管理
网络风云
pythondjango后端
2.1Django5项目结构概述当你创建一个新的Django项目时,Django会自动生成一个默认的项目结构。这个结构是根据Django的最佳实践来设计的,以便开发者能够清晰地管理和维护项目中的各种组件。理解并管理好这些文件和目录结构是Django开发的基础。假设你使用django-adminstartprojectmyproject命令创建了一个新项目,下面是一个典型的Django5项目的文件结
- 合作伙伴中心Partner Center中添加了Copilot预览版
xueyunshengling
微软合作伙伴计划合作伙伴中心copilotCopilot预览版
目录一、引言二、Copilot功能概述2.1Copilot简介2.2Copilot的核心功能2.3Copilot的访问和使用三、Copilot的使用方法3.1Copilot功能区域3.2Copilot使用示例3.2.1编写有效提示3.2.2使用反馈循环四、负责任的人工智能4.1Copilot结果的可靠性4.2意外或冒犯性内容的处理4.3Copilot数据收集五、总结一、引言合作伙伴中心(预览版)中
- Chromedriver各个版本浏览器驱动下载地址
xl.liu
浏览器驱动
来自:淘宝源如果没有对应浏览器版本的驱动,下载低于浏览器版本且最接近的驱动即可!!!2.0/2013-09-25T22:57:39.349Z2.1/2013-09-25T22:57:49.481Z2.10/2014-05-01T20:46:22.843Z-2.11/2014-10-08T01:17:17.918Z-2.12/2014-10-27T09:27:24.626Z-2.13/2014-12
- 瑞_23种设计模式_中介者模式
瑞486
23种设计模式设计模式中介者模式java
文章目录1中介者模式(MediatorPattern)1.1介绍1.2概述1.3中介者模式的结构1.4中介者模式的优缺点1.5中介者模式的使用场景2案例一2.1需求2.2代码实现3案例二3.1需求3.2代码实现前言:本文章为瑞_系列专栏之《23种设计模式》的中介者模式篇。本文中的部分图和概念等资料,来源于博主学习设计模式的相关网站《菜鸟教程|设计模式》和《黑马程序员Java设计模式详解》,特此注明
- Linux线程封装(c++)
laimaxgg
linuxc++java
Linux线程封装(c++)1.前言c++对Linux的pthread.h库进行了封装,使我们能以类和对象的形式创建和管理线程。本篇将模拟c++封装pthread.h库的线程相关函数,使我们也能在外部以类和对象的形式创建和管理线程。2.代码实现2.1成员变量、构造函数#pragmaonce#include#include#includeusingfunc_t=std::function;class
- 实现MySQL数据全量迁移至Hive的简单脚本
xiaoxaoyu
数仓数据仓库
1、主要思路:编写脚本执行建表语句、sqoop命令1.1、编写建表语句脚本思路:在虚拟机下执行hive-f/脚本路径即可执行hql脚本1.2、编写shell脚本脚本内容为分为两部分执行hql建表语句脚本sqoop迁移命令2、示范案例:2.1、hive建表脚本:--示范案例dropdatabaseifexistsods_myshopscascade;createdatabaseods_myshops
- InfiniBand包头与ibverbs接口实现(一)—— RDMA WRITE分析
网络编程code数据数据库
InfiniBand是一种高性能网络技术,其数据包格式设计对实现高效可靠的网络传输至关重要。本文将详细介绍InfiniBand数据包的头部结构,分析它们在实际应用中的作用和实现机制。并且我们会讨论可靠连接(RC)服务类型下的传输头格式,以及RDMAWRITE等典型操作场景,以及它们在ibverbs接口中的对应关系。TableofContents:两类包头格式RoutingHeaders2.1.源码
- Go语言标准库之regexp
aaronthon
Golang
regexp是go支持正则表达式的相关内置模块。一、引入import"regexp"二、使用2.1regexp.MatchString使用正则表达式匹配字符串match,_:=regexp.MatchString("H(.*)!","Helloworld!")fmt.Println(match)//true2.2regexp.Match使用正则表达式匹配字符串match,_:=regexp.Mat
- SWAT-MODFLOW地表水-地下水耦合建模
岁月如歌,青春不败
水文水资源SWAT模型MODFLOW模型水文模型水文水资源土地利用cmip6气候变化
一:耦合模型原理与层次结构1.1流域水循环与SWAT模型1.2地下水模拟与MODFLOW模型1.3SWAT-MODFLOW地表-地下耦合模型1.4QSWATMOD插件与功能1.5模型实现所需软件平台二:QGIS软件2.1QGIS平台2.2QGIS安装2.3QGIS界面认识2.4QGIS常见数据格式2.5QGIS建立工程三:基于QSWATMOD的SWAT-MODFLOW模拟3.1QSWATMOD下载
- 笔记:DataSphere Studio安装部署流程
右边com
Java大数据
一、标准版部署标准版:有一定的安装难度,体现在Hadoop、Hive和Spark版本不同时,可能需要重新编译,可能会出现包冲突问题。适合于试用和生产使用,2~3小时即可部署起来。支持的功能有:数据开发IDE-Scriptis工作流实时执行信号功能和邮件功能数据可视化-Visualis数据质量-Qualitis(单机版)工作流定时调度-Azkaban(单机版)Linkis管理台二、基础环境准备2.1
- RxJava 和Kotlin协程(Coroutines)
Marblog
JavaAndroidrxjavakotlinandroid
RxJava和协程(Coroutines)都是处理异步编程和并发任务的强大工具,但它们的设计理念、使用方式和应用场景有所不同。以下是它们之间的主要区别:1.设计理念与核心概念RxJava:基于响应式流:RxJava是基于反应式编程(ReactiveProgramming)理念的库,它主要用于处理异步数据流和事件流。RxJava提供了丰富的操作符来对数据流进行组合、变换、过滤、错误处理等操作。数据流
- Ubuntu 24.10 安装Deepseek(Ollama+openwebui)
上善若水_厚德载物
linux架构ubuntulinux运维
一、Ollama安装1.在线安装curl-fsSLhttps://ollama.com/install.sh|sh如果curl工具没有安装先执行如下命令sudoaptinstallcurl验证curl是否安装成功curl--version安装的过程中会提示输入当前系统登录用户的密码。安装提示success后,验证安装ollama--version2.离线安装2.1下载可以去github的relea
- Redis基础笔记
JustGopher
redis笔记java
一、基础知识连接方式CLI(CommandLineInterface)API(ApplicationProgrammingInterface)GUI(GraphicalUserInterface)启动redis-server连接到Redis(RedisCLIClient)redisredis-clitelnet127.0.0.16379退出quit/exit查看过期时间TTLkey设置过期时间ex
- Operating System Concepts 9th Chapter 1 - Introduction
YOUNGBC
操作系统
Introduction目录Introduction1.WhatOperatingSystemsDo2.Computer-SystemOrganization2.1StorageStructure2.2I/OStructure3.Computer-SystemArchitectur3.1Single-ProcessorSystems3.2MultiprocessorSystems3.3Cluste
- MySQL的主从复制配置
lxcw
Linux#MySQL1024程序员节mysqllinux
Windows下安装参考:Mysql从安装、登录到使用命令使用详情(一)参考目录(已安装直接参考【第二部分配置主从复制】)一、Linux(Ubuntu)下安装MySQL8.01、安装2、配置二、配置主从复制1、主机配置(Master192.168.10.106)1.1修改配置文件1.2配置用户1.3重启服务1.4登录查看状态2、从机配置(Slave192.168.10.109)2.1修改配置文件2
- 【好玩的Docker项目】使用Docker轻松搭建游戏化编程学习平台
江湖有缘
玩转小游戏合集docker游戏学习
【好玩的Docker项目】使用Docker轻松搭建游戏化编程学习平台前言一、项目介绍1.1项目简介1.2主要特点二、本次实践规划2.1本地环境规划2.2本次实践介绍三、本地环境检查3.1检查Docker服务状态3.2检查Docker版本3.3检查dockercompose版本四、部署游戏编程网站4.1拉取项目容器镜像4.2创建部署目录4.3下载数据4.4解压数据包4.5创建容器4.6查看容器状态4
- 深入浅出:Go 语言的学习之路
软件架构师笔记
golanggolang学习开发语言
文章目录1.Go语言简介2.Go语言的安装与环境配置2.1安装Go2.2配置开发环境3.Go语言基础语法3.1变量与数据类型示例代码:定义变量3.2控制结构示例代码:条件语句示例代码:循环语句3.3函数与方法示例代码:定义函数示例代码:定义方法4.并发编程4.1Goroutines示例代码:使用Goroutines4.2Channels示例代码:使用Channels5.面向对象编程5.1结构体与方
- 【Amazing! C】操作符(一)
jp_yc
c语言
目录前言一、算数操作符二、移位操作符2.1原码2.2反码2.3补码2.4左移操作符2.5右移操作符三、位操作符3.1按(二进制)位与操作符“&”3.2按(二进制)位或操作符“|”3.2按(二进制)位异或操作符“^”四、赋值操作符五、单目操作符5.1单目操作符5.1.1逻辑反操作“!”5.1.2取地址“&”5.1.3操作数的类型长度“sizeof”和数组5.1.4按位取反“~”六、关系操作符七、逻辑
- 【Amazing! C】初识结构体(一)
jp_yc
c语言数据结构开发语言
目录前言一、结构体类型的声明1.1结构体类型的声明1.2typedef关键字1.3结构体成员的类型1.4结构体变量的定义和初始化二、结构体成员的访问2.1结构体变量访问成员2.2结构体指针访问成员三、结构体传参前言我们之前了解了数组,知道数组是一组相同类型元素的组合,元素类型是char,int,float,double等中的一种。单一的类型可以描述事物的部分特征,但并不能表述清楚一个复杂对象,例如
- Docker面试题
御风行云天
面试题大全docker容器运维面试
Docker面试题1Docker基础概念1.1介绍Docker和其核心技术。1.2比较虚拟机和Docker容器的不同点。1.3解释Docker容器和镜像的区别。2Docker安装和配置2.1讲述Docker在不同操作系统上的安装流程。2.2描述Docker配置文件和环境变量的作用。2.3如何升级和维护Docker环境?3Docker镜像管理3.1如何从Dockerfile构建镜像?3.2解释Doc
- 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