- Java双重检测锁解决MySQL和Redis数据一致性问题
Java双重检测锁解决MySQL和Redis数据一致性问题双重检测锁(Double-CheckedLocking)是一种在多线程环境下优化性能的设计模式,可以用于解决MySQL和Redis之间的数据一致性问题。下面我将介绍如何实现这一方案。问题背景在MySQL和Redis双存储系统中,常见的一致性问题包括:缓存穿透:查询不存在的数据,导致每次请求都打到数据库缓存击穿:热点key失效瞬间,大量请求直
- SQL学习十二、插入数据
沐左
前面学习记录的都是查询数据,那些也是SQL中最常用的语句,这篇我们来学习和积累一下相数据库中插入数据的SQL。另外,需要注意的是,很多数据库对查询操作要求的权限可能低一些,但是对于插入、修改、删除等操作都需要较高的权限。INSERTINTO语句1、插入完整的行例如我们需要插入一条新的订单记录可以这样写:写法一:无需指定要插入数据的列名,只需提供被插入的值即可。SQL格式INSERTINTOtabl
- HTTPS协议原理
program-learner
Linux网络编程https网络协议
HTTPS协议原理一.前言-为何要有https协议二.加密与中间方劫持1.什么是加密2.为何要加密3.对称加密1.小例子2.好处和缺点4.非对称加密5.数据指纹/数据摘要三.站在设计者的角度提出方案1.只使用非对称加密:且只有server有密钥2.只使用非对称加密:且双方都有密钥3.非对称+对称:client一个对称,server一对非对称4.如何解决中间人攻击问题四.CA证书1.介绍2.CA证书
- MySQL Online DDL详解:从历史演进到原理及使用
SHENKEM
mysql
本文介绍了MySQLOnlineDDL的发展历史,包括各个版本的改进,重点讲解了Copy和Inplace算法,以及OnlineDDL过程中的锁策略。还分析了DDL操作的需求、MySQL5.7和8.0的功能特点,以及使用限制和注意事项。摘要生成于C知道,由DeepSeek-R1满血版支持,前往体验>❃博主首页:「码到三十五」,同名公众号:「码到三十五」,wx号:「liwu0213」☠博主专栏:♝博主
- TCP的socket编程
TCP客户端逻辑voidUsage(conststd::string&process){std::cout4字节IP2.网络序列intn=connect(sockfd,CONV(&server),sizeof(server));//自动进行bindif(n0){charbuffer[1024];ssize_tm=read(sockfd,buffer,sizeof(buffer)-1);if(m>0
- 医疗AI与融合数据库的整合:挑战、架构与未来展望(上)
Allen_Lyb
数智化教程(第二期)人工智能数据库架构
引言随着人工智能(AI)在医疗健康领域的广泛应用,数据已成为医疗AI发展的核心驱动力。然而,医疗数据具有极度的异构性(包括结构化电子病历、医学影像向量、基因组JSON/图结构、传感器时序等),传统数据架构难以高效整合。因数据孤岛、复杂ETL流程以及昂贵维护成本,医疗AI平台通常难以充分发挥价值。融合数据库(ConvergedDatabase/多模态一体化数据库)通过支持SQL、JSON、图、向量、
- JAVA打手俱乐部护航陪玩小程序+APP+公众号+h5 源码陪玩系统
2401_89605681
嗖微miui52086java小程序开发语言微信小程序uni-app
万亿游戏社交蓝海:JAVA打手俱乐部护航陪玩系统源码解析(小程序+APP+H5全端覆盖)在电竞产业爆发与社交需求升级的双重驱动下,全球游戏陪玩市场规模突破120亿美元(2025年Newzoo数据),而传统平台面临信任危机、匹配低效、变现单一等痛点。JAVA打手俱乐部护航陪玩系统源码以SpringBoot+MyBatisPlus+MySQL为核心,通过Uni-app跨端开发实现小程序/APP/公众号
- JAVA打手俱乐部护航陪玩小程序+APP+公众号+h5 源码陪玩系统
源码_V_saaskw
嗖微miui52086java小程序开发语言uni-app微信小程序微信公众平台
万亿游戏社交蓝海:JAVA打手俱乐部护航陪玩系统源码解析(小程序+APP+H5全端覆盖)在电竞产业爆发与社交需求升级的双重驱动下,全球游戏陪玩市场规模突破120亿美元(2025年Newzoo数据),而传统平台面临信任危机、匹配低效、变现单一等痛点。JAVA打手俱乐部护航陪玩系统源码以SpringBoot+MyBatisPlus+MySQL为核心,通过Uni-app跨端开发实现小程序/APP/公众号
- JAVA打手俱乐部护航陪玩小程序+APP+公众号+h5 源码陪玩系统
狂团商城小师妹
嗖微miui52086java小程序开发语言微信小程序javascript
万亿游戏社交蓝海:JAVA打手俱乐部护航陪玩系统源码解析(小程序+APP+H5全端覆盖)在电竞产业爆发与社交需求升级的双重驱动下,全球游戏陪玩市场规模突破120亿美元(2025年Newzoo数据),而传统平台面临信任危机、匹配低效、变现单一等痛点。JAVA打手俱乐部护航陪玩系统源码以SpringBoot+MyBatisPlus+MySQL为核心,通过Uni-app跨端开发实现小程序/APP/公众号
- JAVA无人系统台球室源码自助开台约球交友系统源码小程序
全域无人化运营革命:JAVA无人系统台球室源码解析(支持茶室/棋牌/KTV多业态)在共享经济与无人化浪潮的推动下,全球自助娱乐市场规模突破千亿美元,传统台球室、棋牌室面临人力成本高、运营效率低、用户粘性弱等痛点。JAVA无人系统台球室源码以SpringBoot+MyBatisPlus+MySQL为核心技术栈,通过Uni-app跨端开发实现小程序/H5/APP全渠道覆盖,集成AI裁判、社交裂变、多支
- 【Flask】Flask用户登录系统(PostgreSQL + 模块化架构)
Tzq@2018
#flaskflask
【Flask】Flask用户登录系统(PostgreSQL+模块化架构)Flask用户登录系统(PostgreSQL+模块化架构)项目结构代码实现1.配置文件(config.py)2.应用工厂(app/__init__.py)3.用户模型(app/models.py)4.认证蓝图(app/auth)表单(app/auth/forms.py)路由(app/auth/routes.py)5.命令行工具
- MySql学习(二)日志系统 一条SQL更新语句是如何执行的?
lconcise
目录:更新语句执行流程重要日志模块:redolog重要日志模块:binlog两阶段提交小结更新语句执行流程一条更新语句的执行流程是怎样的呢?我们还是从一个表的一条更新语句说起,下面是这个表的创建语句,这个表有一个主键ID和一个整型字段c:mysql>createtableT(IDintprimarykey,cint);如果要将ID=2这一行的值加1,SQL语句就会这么写:mysql>updateT
- Mybatis嵌套foreach的坑
MiaeLKK
今天用xml写sql出现问题,mapper入参为集合,其中要获取集合中每个元素的某个属性,这个属性也是个集合。本来按照以前foreach写法,给集合项取个变量名,直接用这个变量名.属性名即可,但如果属性为集合好像就会报错。错误代码示例:andttask.fcreatetime>#{task.createtime[0]}andttask.fcreatetime<#{task.create
- CSS面试题及详细答案140道之(101-120)
还是大剑师兰特
前后端面试题css大剑师CSS面试题
《前后端面试题》专栏集合了前后端各个知识模块的面试题,包括html,javascript,css,vue,react,java,Openlayers,leaflet,cesium,mapboxGL,threejs,nodejs,mangoDB,MySQL,Linux…。前后端面试题-专栏总目录文章目录一、本文面试题目录101.解释`text-indent`属性的作用。102.如何在CSS中实现响应
- springboot2.x Embedded Tomcat 配置jndi
方穹轩
对于EmbeddedTomcat的话,需要添加ServletWebServerFactory进行配置配置ServletWebServerFactory@ConfigurationpublicclassJNDIConfig{@BeanpublicServletWebServerFactorywebServerFactory(){TomcatServletWebServerFactorytomcatS
- Golang 数据库缓存策略:减少 SQL 查询次数
Golang数据库缓存策略:减少SQL查询次数关键词:Golang、数据库缓存、SQL查询次数、缓存策略、性能优化摘要:本文主要探讨了在Golang中使用数据库缓存策略来减少SQL查询次数的相关技术。通过深入讲解缓存的核心概念、算法原理、实际应用场景等内容,帮助读者理解如何利用缓存优化数据库性能。同时,结合具体的代码案例,详细展示了在Golang中实现缓存策略的方法,最后分析了未来的发展趋势与面临
- Electron实现“仅首次运行时创建SQLite数据库”
几道之旅
数据库electronsqlite
在桌面应用中,SQLite因其轻量、嵌入式特性成为本地存储的热门选择。但若重复初始化数据库,会导致数据覆盖或冗余。本文将详解如何让Electron应用仅在首次启动时创建SQLite数据库,后续启动直接连接现有库。一、核心逻辑与实现原理核心思路:通过检测数据库文件是否存在,决定是否执行建表操作。关键技术点:路径管理:使用Electron的app.getPath('userData')获取用户数据目录
- 1、基础
a风风a
创建项目django-adminproject_namecdproject_namepythonmanage.pyrunserver0.0.0.0:8000#pythonmanage.py(查看可用命令)创建应用pythonmanage.pystartappapp_namesetting中的INSTALLED_APPS=[追加'app_name',cdapp_name编辑views.py进入项目文
- 橙武低代码平台:视频操作说明发布啦
橙武低代码平台:为制造业、零售、政企、CRM打造的高效数字化引擎在数字化浪潮席卷全球的今天,企业对高效、灵活、可扩展的数字化工具的需求愈发强烈。面对多变的市场环境,如何在最短的时间、以最少的成本构建出满足业务需求的系统,成为众多企业数字化转型的痛点。为此,我们基于Amis6.12.0+LogicFlow2.0.13+Pebble3.2.4+MySQL8技术栈,倾力打造了一款面向企业级场景的低代码开
- UDP socket编程
tmax
serverfromsocketimport*serverPort=12000#端口号为12000serverSocket=socket(AF_INET,SOCK_DGRAM)#底层使用IPv4,UDP套接字serverSocket.bind(('localhost',serverPort))#绑定address(ip,port)whileTrue:message,clientAddress=se
- How to SSH into your Ubuntu machine from macOS as superuser
captainOO7
Networkingsshubuntumacos
ToSSHintoyourUbuntumachinefrommacOSassuperuser,you’llfirstconnectasaregularuser,thenelevateprivilegesonceloggedin.Here'showtodoitstepbystep:Step1:EnableSSHonUbuntuMakesuretheSSHserverisinstalledandrun
- [yotroy.cool] 记一次 spring boot 项目宝塔面板部署踩坑
rTwTroy
springboot后端java
个人博客https://www.yotroy.cool/,感谢关注~图片资源可能显示不全,请前往博客查看哦!============================================================部署了个新项目,给我整抑郁了。。。下面是踩坑过程宝塔面板MySql5.7版本root密码错误这个MySQL5.7安装完后就跑不了,提示root密码错误,网上[解决方案](h
- 医疗AI与融合数据库的整合:挑战、架构与未来展望(下)
Allen_Lyb
数智化教程(第二期)人工智能数据库架构
解决方案:引入融合数据库(Multi-modalDataFusionDB)医院引入一款支持图、向量、表、流的融合数据库(如OracleADW、Milvus+PostgreSQL、或某国产平台),完成了以下集成:数据类型来源系统格式/模型示例内容基因组数据NGS平台VCF/JSON/图EGFR突变、ALK融合等医学影像特征CT影像AI平台向量肿瘤体积、位置、边界清晰度等临床病历HIS/EMR结构化表
- Django母婴商城项目实践(二)- 商城项目环境配置
ITB业生
Djangodjango数据库python
2、母婴商城项目环境配置环境配置:Python3.12解释器PycharmProfessional2025.1编辑器Django4.2(或Django5.x)MySQL8.0.28数据库1、Django框架介绍Django是一个高级的PythonWeb应用框架,可以快速开发安全和可维护的网站。由经验丰富的开发者构建,Django负责处理网站开发中麻烦的部分,可以专注于编写应用程序,而无需重新开发。
- vue2 面试题及详细答案150道(121 - 130)
《前后端面试题》专栏集合了前后端各个知识模块的面试题,包括html,javascript,css,vue,react,java,Openlayers,leaflet,cesium,mapboxGL,threejs,nodejs,mangoDB,MySQL,Linux…。前后端面试题-专栏总目录文章目录一、本文面试题目录121.Vue2中如何实现组件的动态样式绑定?122.Vue2中如何处理跨域请求
- Flink cdc同步增量数据timestamp字段相差八小时(分析|解决)不是粘贴复制的!
BUG FIXER
大数据flinkandroid大数据
问题我使用flinkcdc同步mysql到mysql遇到了timestamp字段缺少八小时的问题。很少无语,flink,cdc,debezium时区都设置了,没有任何效果!分析问题出现在mysqlbinlog身上!!!因为默认mysql会使用UTC来存储binlog,你可以使用下方的sql验证:mysqlbinlog--base64-output=DECODE-ROWS-v--start-date
- Java 实习模拟面试之信也科技:IO、多线程、集合、MySQL、Redis、HTTP、Linux 常见面试题解析
在本次模拟面试中,我们将模拟一场面向Java实习生岗位的面试,重点围绕Java基础(IO、多线程、集合)、MySQL、Redis、MQ、HTTP协议以及Linux基础等核心知识点。通过模拟面试官提问和候选人的回答方式,帮助你更好地准备技术面试。一、Java基础(IO、多线程、集合)面试官提问:请谈谈你对JavaIO的理解,以及NIO和BIO的区别?候选人回答:JavaIO是Java提供的一套用于处
- 如何解决Flink CDC同步时间类型字段8小时时间差的问题,以MySQL为例
智海观潮
Flinkflinkflinkcdc大数据实时数据同步
在使用FlinkCDC进行数据同步时,默认情况下经常会遇到时间类型的字段与实际值相差8个小时的问题。本文以MySQL为例提供解决方案,其他数据源也可以参考这类实现。原文链接:https://mp.weixin.qq.com/s/_f41ES8UquM-kj3Ie8JU_g1.设置server时区比如MySQL服务的时区为UTC时间,可以参考以下code设置时区。MySqlSourcemySqlSo
- Ubuntu 22.04.3 LTS 安装 MySQL
mixboot
mysqlubuntumysql
更新系统包索引sudoaptupdatesudoaptupgrade-y安装MySQLsudoaptinstallmysql-server-y检查MySQL服务状态sudosystemctlstatusmysql运行MySQL安全配置脚本sudomysql_secure_installation设置root密码删除匿名用户容许root远程登录删除测试数据库重新加载权限表sudomysql_secu
- MySQL高可用集群架构:主从复制、MGR与读写分离实战
软考和人工智能学堂
PHP和MySQLphp程序设计MySQL经验与技巧数据库mysql架构
1.MySQL高可用架构概述MySQL高可用性(HighAvailability)解决方案旨在确保数据库服务在硬件故障、网络问题等异常情况下仍能持续提供服务。以下是主流的高可用方案对比:方案原理优点缺点适用场景主从复制基于binlog的异步复制简单易用,对性能影响小数据一致性弱,故障切换复杂读写分离、备份MHA监控主库并自动故障转移自动切换,减少停机时间需要VIP管理,配置复杂中小规模业务系统MG
- 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