- Windows系统第一次运行C语言程序,环境配置,软件安装等遇到的坑及解决方法
灬爱码士灬
windowsc语言开发语言
明确需要编辑器和编译器,并选择自己要用什么(我选的编辑器是VSCode:VisualStudioCode;编译器是gcc)下载VSCode并配置环境变量(这里没啥问题),安装C/C++的拓展安装Cygwin,用来在Windows操作系统上模拟Unix/Linux环境(Cygwin官网:https://www.cygwin.com/。)安装过程中镜像可以选择https://mirrors.aliyu
- 从0到1学PHP(一):PHP 基础入门:开启后端开发之旅
目录一、PHP简介与发展历程1.1PHP定义与特点1.2在后端开发中的地位1.3发展阶段及重要版本更新二、PHP开发环境搭建2.1Windows系统下搭建步骤2.2Mac系统下搭建方法及常用工具2.3适合初学者的集成开发环境三、第一个PHP程序3.1编写"HelloWorld"程序3.2程序基本结构和执行过程3.3PHP代码的嵌入方式(在HTML中)一、PHP简介与发展历程1.1PHP定义与特点P
- Python简单练习3
第九条雀
python面试开发语言
1.技术面试题(1)解释Linux中的进程、线程和守护进程的概念,以及如何管理它们?答:1.进程:进程是程序的一次动态执行过程,是系统进行资源分配和调度的基本单位拥有独立的内存空间(代码段、数据段、堆栈等),进程间内存不共享包含进程PID、PPID、状态(运行、就绪、阻塞等)、优先级等属性进程间通信需通过管道、信号、共享内存等机制实现线程:线程是进程内的一个执行单元,是CPU调度的最小单位,共享所
- 动态调整在智能客服规划层中起到什么作用?
在智能客服的规划层中,动态调整是确保方案“落地有效性”的核心机制——它能让规划层在方案执行过程中,根据实时反馈的新信息(如用户需求变化、系统故障、外部数据更新等)灵活修正原计划,避免机械执行导致的“方案失效”或“用户体验崩坏”。其作用类似“导航软件的实时路线重算”:即使出发时规划了最优路线,遇到堵车、封路时也能立刻调整,确保最终到达目的地。动态调整在规划层中的具体作用,可通过4类核心场景体现:1.
- 深入理解作用域【JavaScript】
陆仟
Web前端开发javascript
一、作用域的内部原理JavaScript的作用域机制是理解变量如何被访问和存储的重要概念。下面详细介绍作用域的内部原理,包括编译、执行、查询、嵌套和异常处理这五个步骤。1.编译在JavaScript的执行过程中,首要的步骤是编译。尽管JavaScript是解释性语言,但现代JavaScript引擎(如V8)在执行代码前会先进行编译。编译阶段主要完成以下几项工作:词法分析:将源代码分解成语法单元(t
- 随笔录--并发与并行
派大滨
随笔录adbandroidpython开发语言笔记
一条SQL语句在MySQL中的执行过程是怎样的?在MySQL中,一条SQL语句的执行过程通常可以分为以下几个步骤:词法分析和语法分析:MySQL的SQL解析器会对输入的SQL语句进行词法分析和语法分析,以确定语句的结构和语法是否正确。查询优化:MySQL会对SQL语句进行优化,以确定最优的执行计划。在这个过程中,MySQL会考虑许多因素,例如索引、表连接、统计信息等,以找到执行查询的最有效方式。查
- arm-linux 汇总
JoeCheung_96
itop4412
1.arm-none-linux-gnueabi-gcc下载http://www.veryarm.com/arm-none-linux-gnueabi-gccarm-none-Linux-gnueabi-gcc是Codesourcery公司(目前已经被Mentor收购)基于GCC推出的的ARM交叉编译工具。可用于交叉编译ARM系统中所有环节的代码,包括裸机程序、u-boot、linuxkernel
- (路过一下……)如何用Clang助攻码农兄弟打赢爱情保卫战
Akins2025
c++
尊敬的审核:本人文章《(路过一下……)如何用Clang助攻码农兄弟打赢爱情保卫战》1.纯属技术交流,无任何违法内容2.所有法律引用均来自公开条文3.请依据《网络安全法》第12条“不得无故删除合法内容”处理附:本文已存证(副标题:当gcc-O2遇到《民法典》第1079条)一、核心技术:婚姻法LLVM前端cpp//爱情矛盾诊断系统if(wife.anger>0x7FFFFFFF){clang-emit
- iOS——消息传递和消息转发机制
Yeppppppppp
笔记iosobjective-cxcode
iOS——消息传递和消息转发机制消息传递机制选择子SEL、IMP、Method选择子SELIMPMethod执行过程消息发送阶段动态解析阶段动态解析测试消息转发阶段消息转发测试总结消息传递机制在学习消息传递机制是如何实现之前,有几个基础知识我们必须要理解:在OC里使用对象调用方法十分普遍,用OC的术语来说调用对象的方法就是给某个对象发送某条消息简单的来说就是我们去调用方法编译器告诉某个对象你该执行
- Centos7安装RabbitMq
深夜面包
Linuxrabbitmqcentoslinux
安装RabbitMq安装依赖环境C++编译yum-yinstallmakegccgcc-c++kernel-develm4ncurses-developenssl-develunixODBCunixODBC-develhttpdpython-simplejson安装erlang语言#下载erlang相应的压缩包wgethttp://erlang.org/download/otp_src_22.3.
- C语言学习(十一)7.26
sa905
c语言学习开发语言
今天学习预处理命令和指针预处理命令分为宏定义、文件包含、条件编译宏定义又分为:不带参宏和带参宏不带参宏:#include标识符字符串带参宏:#includes(a,b)a*b宏名一般用大写字母表示;gcc-E这个命令只做预处理,不编译;不能再宏后面加上分号(;)加上分号会把分号一起处理;宏也还能嵌套处理;写宏时尽量加上括号,防止优先级出问题。宏就是只换不算,(无脑文本替换)文件包含:把文件打开复制
- 可用于AI Agent集成和多种系统之间联调Windows下GCC的C++虚拟机项目
weixin_30777913
c++windows系统架构
下面是一个完整的C++虚拟机项目设计,实现了所有需求功能,包括虚拟磁盘管理、操作系统安装、I/O重定向和网络转发等功能。可用于AIAgent的集成,全自动设计开发测试Linux下和Windows与Linux联动软件。整体架构设计VMController-config:Config-vdisk:VDiskManager-vm:VirtualMachine-logger:shared_ptr+run(
- C语言中奇技淫巧04-仅对指定函数启用编译优化
麦子邪
c语言linux开发语言
相信很多人使用GCC编译代码时,都会接触到gcc-O0/1/2/3/s,知道它可以对工程进行全局优化。事实上,除了全局优化外,使用GCC扩展方式,我们还可以仅对部分关键函数实施差异化编译优化。在GCC编译器中,attribute((optimize(“Ox”)))可以为单个函数显式指定优化级别,覆盖全局编译选项(如-O0或-Os)。这一特性适用于需要对特定函数进行针对性优化的场景(例如性能关键路径
- MinGw 下载及其安装
决战软件之巅
C语言c语言
一、简介MinGw提供了一套简单的Windows下的基于GCC程序开发环境。MinGW收集了一系列免费的Windows使用的头文件和库文件;同时整合了GNU的工具集,特别是GNU程序开发工具,如经典gcc,g++,make等。MinGW是完全免费的自由软件,它在Windows平台上模拟了Linux下GCC的开发环境,为C++的跨平台开发提供了良好基础支持,为了在Windows下工作的程序员熟悉Li
- CentOS 7.9 + GCC9 离线安装 IWYU(Include What You Use)
王大渣
centoslinux运维
本教程适用于离线环境下在CentOS7.9系统中使用GCC9离线安装IWYU的完整步骤,涵盖Clang11.1.0编译、IWYU构建以及头文件自动优化流程。一、准备安装包请提前下载以下源码包(可通过在线机器提前下载,再传输到离线环境):LLVM源码:https://github.com/llvm/llvm-project/releases/download/llvmorg-11.1.0/llvm-
- 预处理命令与指针基础
不懂机器人
算法
1.预处理命令gcc-E-----只做预处理,不进行编译;预处理阶段会将所有宏名用其内容替换(只做简单替换)宏:(1)不带参宏:defineN4;(2)代参宏:defineadd(a,b,c)((a)+(b)+(c))eg1:#include#defineN100#defineadd(a,b,c)((a)+(b)+(c))intmain(void){printf("%d\n",N);printf(
- GBase 8a MPP Cluster V95 SQL 实用常见命令汇总(E03)
manhuai2022
GBase8aMPPClustersql数据库database
GBase8aMPPClusterV95SQL实用常见命令汇总(E03)一、安全管理使用数据库超户root连接数据库后,创建数据库,创建新用户组和用户,并给新用户组和用户分配相关权限①连接登录集群数据库(默认管理员为root,密码为空)gccli-u用户名-p密码gccli-uroot-p②给root用户设置密码,保障安全setpasswordforroot=password('Peixun_20
- 12--宏
_别来无恙_
c语言
编译编译器:GCC1预处理GCC在第一个阶段会调用预处理器cpp来对C源程序进行预处理,所谓的预处理就是解释源程序当中的所有的预处理指令,那些诸如#include、#define、#if等以井号’#’开头的语句就是预处理指令,预处理指令实际上并不是C语言本身的组成部分,而是为了更好地组织程序所使用的一些“预先处理的”工作,这些工作用一种叫做与处理指令的语句来描述,然后用预处理器来解释,这些工作包括
- 关于spring手动进行事务提交以及回滚的问题。
weixin_34310785
java数据库python
2019独角兽企业重金招聘Python工程师标准>>>首先,就我的理解。事务的过程如下:开始事务--------提交/回滚事务。事务就是一系列执行的过程。开始之后,就会执行过程,并且记住过程。这个时候,数据库中所用的表是被锁定了的。所以说,如果你只开始了事务,没有进行commit或者rollback,数据库中的所用的表就会被锁定。这个时候数据库中的表是打不开的,会出现一直在查询的过程。只能把窗口关
- adb: createprocessw failed: 系统找不到指定的路径_gcc编译过程、gcc命令参数、静态库和动态库搜索路径...
weixin_39622988
adb:createprocesswfailed:系统找不到指定的路径
一、gcc编译过程gcc-Ehello.c-ohello.s//预处理gcc-Shello.s-ohello.i//编译gcc-chello.i-ohello.o//汇编gcchello.o-ohello//链接1)预处理,C编译器对各种预处理命令进行处理,包括文件包含、宏定义的扩展、条件编译的选择等;2)编译,将预处理得到的源代码文件,经过“翻译转换”,产生机器程序,得到机器语言的汇编文件;3)
- C语言 预处理 编译 汇编 链接
潇洒葛大爷
C语言
C语言预处理编译汇编链接gcchelp$gcc--help-save-tempsDonotdeleteintermediatefiles-EPreprocessonly;donotcompile,assembleorlink-SCompileonly;donotassembleorlink-cCompileandassemble,butdonotlink-oPlacetheoutputinto对c
- 【gcc/g++】常用的gdb命令及gdb分析core文件详解
知无涯啊
linux
文章目录常用指令说明使用GDB分析core文件常用指令说明命令简写命令作用补充说明gdb-启动GDB并加载可执行文件gdb-tui-启动GDB并显示源码窗口(文本界面)Ctrl+X+A切换源码窗口quitq退出GDB========================runr运行程序(可带参数,如runout.mp2)runout.mp2,传入一个参数:out.mp2start-停止在main函数第一
- gcc中的预处理、编译、汇编、链接
weixin_41336947
linux
预处理:功能主要包括宏定义,文件包含,条件编译,去注释等编译:在这个阶段中,gcc首先要检查代码的规范性、是否有语法错误等,以确定代码的实际要做的工作,在检查无误后,gcc把代码翻译成汇编语言。汇编:生成机器可识别代码连接:生成可执行文件或库文件
- 预处理,编译,汇编和链接
耿小渣
编程编译链接gcc
当我们gcc编译一个程序的时候有没有想过到底发生了什么?1、我们有一个hello.c文件,用最简单的命令gcchello.c生成a.out这个过程可以分为四个步骤:预处理(Prepressing)、编译(Compilation)、汇编(Assembly)和链接(Linking)。一、预编译1.将所有的#define删除,并展开所有的宏定义;2.处理所有的预编译指令,例如:#if,#elif,#el
- mysql
查询语句执行过程:连接器:在客户端与mysql服务端建立TCP连接之后,连接器会验证用户身份,之后的所有请求全都是按照这个时候验证的身份权限进行的,所以更新用户身份证之后重新连接才会更新权限mysql在执行过程中临时使用的内存是管理在连接对象里的,所以这个连接如果一直没断的话,占用内存就会持续上涨查询缓存:缓存是以k-v的形式缓存的,所以如果执行语句有任何不同的话都是查不到缓存的且如果表发生变化的
- _stdcall、_cdecl、_fastcall c++、c 64位、32位 msvc、gcc 编译出库的区别
yayapoi~
c/c++c++c语言
一、32位环境下的函数名修饰(1)MSVC编译器(2)GCC编译器二、64位环境下的函数名修饰(1)MSVC/GCC通用规则三、关键差异总结1.32位与64位:32位严格区分调用约定,名称修饰包含调用约定标识(如@4、@@YG);64位调用约定被忽略,名称修饰不体现调用约定信息。2.MSVC与GCC:MSVC的C++名称修饰包含调用约定标识(如@@YG、@@YI),GC
- 2020-02-14 ubuntu 手动安装 Python3.8.1
东坡雪
0.安装pip3,并升级,以及依赖包更新sudoaptupdate安装pip3,并更新sudoaptinstallpython3-pippip3install--upgradepip安装wgetsudoapt-getupdatesudoapt-getinstallwget安装lrzszsudoapt-getinstalllrzsz安装gccsudoapt-getbuild-depgcc或sudoa
- 嵌入式学习Day4
gcc-oappmain.c为编译输出文件命名为app10.逗号运算符和逗号表达式逗号表达式的结果由最后一个逗号之后的结果决定第4章顺序程序设计#开头的都为预处理命令1.C语句分为以下5类(1)控制语句(2)函数调用语句(3)表达式语句(4)空语句(5)复合语句2.数据输入输出以计算机主体而言,从计算机向外部输出设备输出数据称为输出,从输入设备向计算机输入数据称为输入。1)putchar(输出字符
- Redis 的事务机制是怎样的?
hzk的学习笔记
Redisredis数据库缓存
Redis的事务机制Redis支持事务机制,其主要目的是确保多个命令执行的原子性,即这些命令会作为一个不可分割的操作单元执行。需要注意的是,Redis事务不支持回滚操作。从Redis2.6.5版本开始,服务器会在命令累积阶段检测错误。在执行EXEC命令时,若发现错误则会拒绝执行事务并返回错误信息,同时丢弃该事务。当事务执行过程中发生错误时,Redis会继续执行剩余命令而非回滚整个事务。对于EXEC
- MyBatis原理
一愚亮
mybatisjava开发语言
Mybatis执行过程为:接口代理->sqlSession会话->executor执行器->JDBC操作一、接口代理Mybatis根据Mapper接口,动态生成相应实现类二、SqlSession介绍MyBatis核心对象SqlSession介绍-MyBatis中文官网三、Executor执行器介绍精通Mybatis之Executor执行器_mybatisexecutor-CSDN博客四、JDBC操
- 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