- 当前最流行的架构设计模式
turingbooks
《微服务设计(第2版)》最可贵的地方在于,不光具备理论性与系统性,更为注重实践性与可操作性。全书勾勒出一幅从宏观到细节,再到组织落地的微服务架构整体实施蓝图。无论是对关注微服务领域的工程师与架构师,还是对寻求架构升级的管理者与决策者来说,本书都可以作为指导手册。——沈剑,快狗打车CTO《微服务设计(第2版)》萨姆·纽曼|著钟健鑫张沙沙智伟|译软件开发大神MartinFowler如此推荐本书:“微服
- 主流行架构
rainbowcheng
架构架构
nexus,gitlab,svn,jenkins,sonar,docker,apollo,catteambition,axure,蓝湖,禅道,WCP;redis,kafka,es,zookeeper,dubbo,shardingjdbc,mysql,InfluxDB,Telegraf,Grafana,Nginx,xxl-job,Neo4j,NebulaGraph是一个高性能的,NOSQL图形数据库
- 论语学习第111天,6.12力不足者,中道而废
流水王丽霞
学妹读经一字一句读《论语》,第111天原文阅读:6.12冉求曰:“非不说(yuè)子之道,力不足也。”子曰:“力不足者,中道而废;今女画。”译文讲解:冉求说:不是我不乐意追随先生的思想学说,实在是自己实力不足。孔子说:实力不足,是走到半途走不动才止步,而如今你是走都没走,就打起了退堂鼓。启发思考:冉求是个实干家,具有政治才能,而且多才多艺,前边季康子问政的时候孔子是肯定他了。然而,他性格偏弱偏柔,
- 因在船上做噩梦,他坚持中途下船,结果船上211人只有他幸存!
三晋风云客
大家都知道,现代社会是讲究科学和逻辑的理性社会。不过依旧有一些科学无法解释的情况存在,比如英国一位神秘的巫婆,据悉她从小便有预言能力,在长大后更是预言了美国总统的人选。但是医学和科学方面并不能解释这种奇怪的现象。今天要向大家介绍的这个神秘事件,也是一个至今未能得到科学解释的谜题,它就是瓦拉塔赫失踪之谜。正文事情发生在英国,1908年,蓝猫航运公司将造船的任务委托给巴克利与柯尔公司。经过这家造船公司
- 很遗憾,你错过了价值不止3000元的定位课
以墨馨香
镜姐高效阅读课,18天18本书。有小伙伴表示:镜姐赠送的先导课比她花3000多块,去上的定位课还要有效的多最重要的个人定位课,先找到自己想要成为的那个人,通过四个步骤,两个原则,找到自己未来前进的方向和方法。图片发自App图片发自App
- Java泛型编程
shymoy
java开发语言
文章目录为什么需要泛型如何实现技术细节泛型数组泛型类型实现接口接收参数小结为什么需要泛型如果为每一种类型都写一个类来适配,会造成code冗长且难读,所以需要写一个同一的抽象的方法来实现,并让编译器自动的传入这些类型。如何实现通常放在类后面的尖括号里publicclassGenertic{}也可以指代多个publicclassGenertic{}这个类中的变量都可以用K和V来表示了泛型不仅可以应用在
- Java的迭代器接口
shymoy
java开发语言
文章目录是什么iterator内部方法iterabe内部方法如何实现是什么iteratorIterator是java中用于遍历集合中元素的一个接口,提供了一种通用方法来遍历集合中的元素。内部方法booleanhasNext():检查是否还有下一个元素。如果有,返回true,否则返回false。Tnext():返回集合中的下一个元素。voidremove():从集合中移除最后一次调用next()返回
- 如何利用兼职群微信二维码进群做副业?(兼职群微信二维码进群副业途径)
幸运副业
如何利用兼职群微信二维码进群做副业?(兼职群微信二维码进群副业途径)而兼职成为了许多人选择的一种方式。而在寻找兼职机会的过程中,利用兼职群微信二维码进群成为了一种常见的途径。在本文中,我们将探讨如何有效地利用兼职群微信二维码进群做副业,并介绍一款微信小程序——多职猫兼职平台,为您提供更多的兼职选择。推荐一篇找兼职必看的免费教程:《手机兼职,300-500/天,一单一结,大量要人》在这里可以找到各种
- 断更以后,从头再来
黑玛
上班大半个月了,也是在这半个月里,我365天打卡的目标以失败告终。今天,我再次决定,断更以后,从头再来。生活、境遇和心情都时好时坏,,给了我毫无顾忌的分享喜悦的机会,让我能随意宣泄情绪找到一个出口,我不用担心会被别人说炫耀,也不用担心别人会嘲笑自己矫情。在里,我就是我,最真实,也最率真的我。还没有成功,那就从头再来,不达目的不罢休!
- 撤消操作
guanjianhe
有时候我们提交完了才发现漏掉了几个文件没有添加,或者提交信息写错了。此时,可以运行带有--amend选项的提交命令尝试重新提交:$gitcommit--amend这个命令会将暂存区中的文件提交。如果自上次提交以来你还未做任何修改(例如,在上次提交后马上执行了此命令),那么快照会保持不变,而你所修改的只是提交信息。文本编辑器启动后,可以看到之前的提交信息。编辑后保存会覆盖原来的提交信息。例如,你提交
- 80
鑫_259b
科普一个谈恋爱的方法。在以前,谈恋爱千难万难,就难在对对方不知底细,不知道对方希望自己是一个怎样的人,要耗费大量的时间去试探、再磨合,往往会因为一些小事一些细节,满盘皆输。在一个信息化的时代,在一个大数据近乎变成了流行语的时代,我们要跟上时代的步伐,通过大数据,去寻找异性最希望自己展现出来的形象是什么,才可以在爱情的道路上少走弯路。那这个大数据怎么操作呢?上街发问卷?问别人的择偶标准?一来会被打死
- 2023-04-26 自省第一天
A银子
第一个,我愿意并且还得起。换的起,还的起。(1)今天去超市给儿子买了零食,然后看到昨天同事给我吃的饼干,葱油饼味的,自己也买了一点。我愿意花,我花的起。第二个是,不断的去挖掘,聚焦、放大自己的丰盛,要写感赏文,感赏你生命中每一天发生的美好与丰盛。第三,挖掘聚焦并放大别人生命中丰盛的例子,然后随喜,随喜就是把别人丰盛的感觉,并拷贝一份到自己的磁场去。别人的兴奋、丰盛,一并的给拷贝过来。1.今天值得开
- 【机器学习与R语言】1-机器学习简介
苹果酱0567
面试题汇总与解析java中间件开发语言springboot后端
1.基本概念机器学习:发明算法将数据转化为智能行为数据挖掘VS机器学习:前者侧重寻找有价值的信息,后者侧重执行已知的任务。后者是前者的先期准备过程:数据——>抽象化——>一般化。或者:收集数据——推理数据——归纳数据——发现规律抽象化:训练:用一个特定模型来拟合数据集的过程用方程来拟合观测的数据:观测现象——数据呈现——模型建立。通过不同的格式来把信息概念化一般化:一般化:将抽象化的知识转换成可用
- 互联网 Java 工程师面试题(Java 面试题四)
苹果酱0567
面试题汇总与解析java中间件开发语言springboot后端
下面列出这份Java面试问题列表包含的主题多线程,并发及线程基础数据类型转换的基本原则垃圾回收(GC)Java集合框架数组字符串GOF设计模式SOLID抽象类与接口Java基础,如equals和hashcode泛型与枚举JavaIO与NIO常用网络协议Java中的数据结构和算法正则表达式JVM底层Java最佳实JDBCDate,Time与CalendarJava处理XMLJUnit编程现在是时候给
- 精神独立
Mindyz
女人怎样才能活出精彩的一生?是拥有体贴多金的丈夫和懂事听话的孩子?还是一份体面光鲜的工作?答案都不对,女人只有拥有经济独立和精神独立这两张牌,才能打出精彩的人生局。第一张牌:经济独立带来的勇气电影《神秘巨星》中的母亲娜吉玛,因为饭菜不合丈夫胃口,就遭到丈夫的凶狠责骂;为了满足女儿的愿望,她偷偷卖掉自己的项链为女儿买了电脑,又被丈夫一顿残忍毒打。可她从来没想过离婚,因为她没有学历,没有技能,没有自己
- 分手两年后,前男友又出现在我面前,让我再给他一次机会
花向暖情感故事
1、遇见今天我去某饭馆吃饭的时候,居然遇到了夏明丰。两年多不见,他成熟了,但是依然帅气,他说,“欣欣,终于等到你了。”原来,他是特意在这里等我的,他知道我喜欢来这里吃饭。他说,“我已经在这里等了三天了,如果今天还等不到你,我就打算放弃了,没想到你就来了,也许这就是缘份吧!”我心里五味杂陈,曾经的一幕幕在我脑海里呈现。我和夏明丰大学时是同学,那时,很多人追我,夏明丰只是其中一个。那时他对我特别好,只
- 【无标题】正则表达式笔记
qis_qis
正则表达式笔记
作用查找特殊规则的字符串编写一个正则表达式,用来查找所有以0开头,后面跟着2-3个数字,然后是一个连字号“-”,最后是7或8位数字的字符串(像010-12345678或0376-7654321)。0\d{2,3}-\d{7,8}基本匹配区分大小写cat会匹配"cat"CAt会匹配"CAt"元字符元字符是正则表达式的基本组成元素。元字符在这里跟它通常表达的意思不一样,而是以某种特殊的含义去解释。有些
- 哈雷·戴维森宣布与钱江合作,将国产旗下摩托车
芝士食堂
蓬勃发展的中国汽车市场一直是汽车行业的话题。它迫使汽车制造商们改变策略,建立新的联盟进入中国市场,以此来利用当地消费者显然取之不尽的饥饿感。在较小的规模上,摩托车行业也开始出现同样的情况。此次哈雷·戴维森宣布与国内钱江摩托合作,将国产一款排量在400cc以下的哈雷摩托车,并计划在2020年上市销售。哈雷戴维森首席战略官LukeMansfield与钱江摩托董事长余瑾见证合作哈雷将要国产车款的遐想图,
- 《输出力》——输出实操1
根本不酷璇
一、少量输入之后,立即输出二、“诵《诗》三百,授之以政,不达;使于四方,不能专对;虽多,亦奚以为?”三、将经典语录自然融入闲谈中。在透露自己学识的时候,不要刻意炫技,一定要不漏声色的。今天读到34页
- 为什么越来越多的女性开始重视学习和成长
温暖的小太阳2019
不知大家有没有发现这样一种现象:以前朋友圈的人喜欢秀恩爱,秀工作,秀娃,现在他们换了风格,开始秀学习了,秀自我反思和成长了。打开朋友圈一看,A秀去健身房锻炼的马甲线——坚持了三个月,汗水没有白流。B秀自己最近看的书——这个月看书3本,收获颇多,“人丑”就是要多读书,然后配上三本书的照片加自己的“丑照”。C分享自己当妈的经验——父母和孩子需要多沟通,本以为小孩要钱是为了买游戏机,没想到是今天母亲节,
- 区块链私有链new
qis_qis
区块链区块链以太坊数字货币
{“config”:{“chainld”:666,“homesteadBlock”:0,“eip150Block”:0,“eip150Hash”:“0x0000000000000000000000000000000000000000000000000000000000000000”,“eip155Block”:0,“eip158Block”:0,“byzantiumBlock”:0,“consta
- 区块链私有链
qis_qis
区块链区块链以太坊数字货币
{"config":{"chainld":666,"homesteadBlock":0,"eip150Block":0,"eip150Hash":"0x0000000000000000000000000000000000000000000000000000000000000000","eip155Block":0,"eip158Block":0,"byzantiumBlock":0,"consta
- overleaf如何下载论文的pdf
风也温柔☆
overleafpdfoverleaf
用overleaf写完英文论文后,要将论文保存为PDF格式点击图片中的下载按钮然后选择一个路径保存论文的PDF格式即可。
- Day25_0.1基础学习MATLAB学习小技巧总结(25)——四维图形的可视化
非常规定义M
0.1基础学习MATLAB学习matlab开发语言SIMULINK数学建模
利用空闲时间把碎片化的MATLAB知识重新系统的学习一遍,为了在这个过程中加深印象,也为了能够有所足迹,我会把自己的学习总结发在专栏中,以便学习交流。参考书目:1、《MATLAB基础教程(第三版)(薛山)》2、《MATLABR2020a完全自学一本通》之前的章节都是基础的数据运算用法,对于功课来说更加重要的内容是建模、绘图、观察数据趋势,接下来我会结合自己的使用经验,来为大家分享绘图、建模使用的小
- Python 代码从 `.env` 文件中读取环境变量
风吹落叶花飘荡
AI参与的学习pythonjavalinux
要让Python代码从.env文件中读取环境变量,可以使用python-dotenv库。以下是详细步骤:第一步:安装python-dotenv库在终端或命令提示符中运行以下命令来安装python-dotenv:pipinstallpython-dotenv第二步:创建.env文件在你的项目根目录下创建一个名为.env的文件,并添加你需要的环境变量。例如:ARK_API_KEY=your_api_k
- 《Android进阶之光》读书笔记
soleil雪寂
读书笔记#Android进阶之光
文章目录第1章Android新特性1.1.Android5.0新特性1.2.RecyclerView1.1.4.3种Notification1.1.5.Toolbar与Palette1.1.6.Palette1.2.Android6.0新特性1.2.2.运行时权限机制1.3.Android7.0新特性第2章MaterialDesign2.2.DesignSupportLibrary常用控件详解第3
- 国风.齐风.卢令
熙珺老师_人才发展官
大家好,我是红梅,一名国学礼仪的爱好者和分享者。每天读诗五分钟,生活如诗般美好,今天我们继续学习《诗经》。今天的诗叫《国风.齐风.卢令》国风.齐风.卢令先秦:佚名卢令令,其人美且仁。卢重环,其人美且鬈。卢重鋂,其人美且偲。
- Zotero使用(一)PDF文件导入不会自动识别
海绵波波107
论文(八股文)美化pdf
上面两种,一种中文,一种英文,会发现,中文的导入进去之后不会自动识别,部分英文也是。不能自动识别就会缺少导出参考文献的功能,怎么办?发现之前导入喜欢使用PDF格式可以结合.ris格式,分开导入,这样都有了
- [RS] 制作问题记录
_Walker__
1、时间冻结遇上卡顿,战斗表现与逻辑脱节1.1做法设定时间冻结:Time.timeScale=0冻结与恢复的控制:用UnScaledFrameTimer执行战斗逻辑:用ScaledFrameTimer驱动冻结效果:当前施法的单位正常行动,其他单位冻结逻辑与表现匹配方式:完整的逻辑帧中减去冻结的帧数,当前表现的TML忽略TimeScale正常播放TML基于时间播放:其本身有追帧效果1.2脱节问题点与
- Oracle(125)如何执行不完全恢复?
辞暮尔尔-烟火年年
Oracleoracle数据库
不完全恢复(IncompleteRecovery)是指将Oracle数据库恢复到一个特定时间点、SCN(系统变更号)或取消点,而不是恢复到最近的备份后的最新状态。以下是详细的步骤和代码示例,展示如何执行不完全恢复。准备工作备份控制文件:确保你有控制文件的备份。备份数据文件:确保你有数据文件的备份。备份归档日志:确保你有最新的归档日志。不完全恢复的基本步骤关闭数据库:确保数据库处于关闭状态。启动数据
- 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