- 线程池的相关问题解答 - 基于c老师
amber66666!
java开发语言
问题一:线程池的最大线程数包括在排队队列中的线程数量吗?还是只是指在运行的线程数答案是:不包括。线程池的最大线程数通常只包括正在运行的线程数,而不包括排队队列中的线程。线程池的基本工作原理•核心线程数(corepoolsize):线程池中维持的最小线程数,线程池启动时会创建这些线程。如果有任务提交,线程池会尽量使用这些线程来处理任务。•最大线程数(maximumpoolsize):线程池中最多允许
- 线程池代码分析及延申应用
埃菲尔铁塔_CV算法
c++算法开发语言人工智能opencv机器学习
代码功能概述这段C++代码实现了一个简单的线程池类MthreadPool,线程池是一种用于管理和复用线程的机制,它可以避免频繁创建和销毁线程带来的开销,提高程序的性能。MthreadPool类允许用户指定线程池的最小和最大线程数,并提供了添加任务、管理线程数量等功能。代码详细解释1.类的定义和成员变量#include"MthreadPool.h"MthreadPool::MthreadPool(i
- 1150针cpu性能排行_二手电脑桌面级CPU(中央处理器)之-至强处理器
满天乱走
1150针cpu性能排行
至强处理器出色的性能和支持更多的并发连接数,特别是在需要多线程运行的场景中优势相比酷睿系列是很明显的(例如处理大量的数据交换,视频压制转码,处理网站大量的IIS连接请求)。一、在桌面级处理器中具有一席之地的至强处理器因为咱这里介绍的是桌面级的处理器,有两款至强处理器我不得不介绍一下,因为他们常常运用在桌面级的台式机中。1、E31230V222纳米架构IvyBridge1155针四核心线程数量八线程
- Apache JMeter 快速入门【图文详情】
甘蓝聊Java
【更新中...】项目中的那些事apachejmeterjava性能测试压力测试
文章目录ApacheJMeter简介安装ApacheJMeter入门Demo-测试HTTP接口第1步:创建线程组,模拟并发用户第2步:添加HTTPRequest采样器提供HTTP接口创建HTTPRequest采样器创建JSON断言第3步:添加Listener第4步:运行第5步:查看运行结果更多介绍参考本文目标:快速了解ApacheJMeter,并实现一个简单的HTTP接口的性能测试。官网:http
- jmeter调整内存
mandy_test
Jmeterjmeter
启动jmeter的时候有一句英文提示可以修改jmter内存去满足你的测试要求,因为jmeter默认是1g内存的,并发数较大(500+)的时候会超过它的内存导致内存溢出(bin目录看heapprof.这样的文件很大就代表存在内存溢出),会造成实际压测在线用户数上不去还往下掉(用在线用户数插件)。可以修改jmeter内存,notepad编辑打开jmeter.bat文件,在151行有一句设置内存的,替换
- jmeter--参数化
球球别卷辣
jmeter
2.准备参数化数据文件创建一个CSV文件(例如login_data.csv),用来存储不同的用户名和密码组合,内容示例如下:plaintextusername,passworduser1,pass1user2,pass2user3,pass3这里第一行是表头,后续每行是一组用户名和密码数据。3.创建JMeter测试计划步骤1:新建测试计划打开JMeter,默认会有一个测试计划,你也可以点击菜单栏“
- spark-广播变量
哈哈哈哈q
+sparkhdfshadoop大数据spark
当本地数据极大的时候,可以使用广播变量,使得减少内存。本地集合对象和分布式集合对象(RDD)进行关联的时候,需要将本地集合对象广播变量。本地的数据传输到集群上,会发到每一个线程,每一个分区。每一个进程executor,有多个线程分区,进程内的线程数据共享因此,给每一个线程发送数据会导致数据占用,浪费资源。所有,出现了广播变量,使得只发送给进程代码使用:broadcast=sc.broadcast(
- kafka的kafka-console-consumer.sh和kafka-console-producer.sh如何使用
WilsonShiiii
kafka分布式
一、两款工具对比功能用途kafka-console-consumer.sh是简单的命令行消费者工具,主要用于在控制台显示从Kafka主题消费的消息,适用于测试生产者是否正常发送消息、查看消息格式等调试场景。kafka-consumer-perf-test.sh则专为测试Kafka消费者性能设计,能在指定条件下(如消息数量、线程数等)测试消费者吞吐量等性能指标,帮助进行性能评估、优化及容量规划。参数
- JVM学习目录
张紫娃
JVMjvm学习笔记
JVM运行时数据区域JVM启动参数JVM监控工具查看堆内存进程里jvm最大线程数OutOfMemoryError分类JVM垃圾回收机制GC如何判定对象已死方法区的垃圾收集垃圾收集算法JVM垃圾回收器调用垃圾回收器方法JVM内存分配与垃圾收集流程class文件常量池,字符串常量池,运行时常量池到底是啥?JAVA性能优化建议
- 最新最全Jmeter+InfluxDB1.8+Grafana可视化性能监控平台搭建(win11本地)
xjChenM
jmetergrafanainfluxDB1.8性能测试性能监控
本文前置条件:1.Jmeter自行部署好,且版本最好要5.4以上;2.目前InfluxDB最新是V2版本,但与Grafana兼容不太好,且和V1版本的配置连接不一样,本文是InfluxDB1.8版本;3.介绍的是WIN11本地部署,其他环境大同小异,自行搜索解决;4.简单介绍框架原理:Jmeter请求后的数据存储在InfluxDB中,Grafana从InfluxDB拉取数据并可视化展示!5.网上也
- ThreadPoolExecutor 详解
java
一、ThreadPoolExecutor核心参数构造函数如下:publicThreadPoolExecutor(intcorePoolSize,//核心线程数intmaximumPoolSize,//最大线程数longkeepAliveTime,//非核心线程空闲存活时间TimeUnitunit,//存活时间单位BlockingQueueworkQueue,//任务队列RejectedExecut
- jmeter获取图片验证码-解密图片并识别
weixin_38081382
jmeter
说明:关于图片验证码的处理方式有三种方法:一是让开发屏蔽验证码,二是让开发后端指定一个万能验证码,三是使用OCR工具进行图片验证码的解密及识别,推荐使用前两种方法最省事;OCRServer工具识别图片验证码,由于没有对图片进行降噪,所以识别率一般,但是图片背景为白底的验证码,识别率可靠。1.图片验证码样式:验证码图片在接口中以加密的base64编码形式返回以BASE64编码加密返回的结果2.获取图
- 线程池中线程复用原理
fajianchen
IT架构javajvm开发语言
线程池的线程复用原理是指,将线程放入线程池中重复利用,而不是每执行一个任务就创建一个新线程。线程池会对线程进行封装,核心原理在于将线程的创建和管理与任务的执行分离。线程池通过工作队列(WorkQueue)来存储待执行的任务,队列中可能有多个任务等待被执行。线程池中的线程数量是有限的,核心线程数通常是固定的,最大线程数可以设置,超过最大线程数后,任务会被拒绝。当提交任务时,线程池首先会检查当前线程数
- JMeter常用函数整理
爱学测试的李木子
软件测试jmeter软件测试职场和发展
"_csvRead"函数csvRead函数是从外部读取参数,csvRead函数可以从一个文件中读取多个参数。下面具体讲一下如何使用csvread函数:1.新建一个csv或者text文件,里面保存要读取的参数,每个参数间用逗号相隔。每行表示每一组参数,每列表示每种参数:比如:admin,123manager,4562.打开Jmeter的函数助手,选择csvread函数:其中:CSVfiletoget
- 性能测试架构:选择与优化的关键
老黄浅谈质量
性能测试架构
一、性能测试架构的重要性性能测试架构在软件性能评估和优化中起着至关重要的作用。一个良好的性能测试架构能够准确地模拟真实用户场景,为软件性能的评估提供可靠的数据支持。首先,性能测试架构可以帮助开发团队在软件上线前发现潜在的性能问题。通过模拟不同的负载情况,如高并发用户访问、大数据量处理等,性能测试架构能够揭示系统在各种压力下的表现,从而让开发团队有针对性地进行优化。例如,使用JMeter等负载测试工
- 【多线程-第三天-NSOperation的最大并发数 Objective-C语言】
清风清晨
Objective-Cobjective-cios开发语言
一、好,我们现在来看NSOperation里边提供的这些方便操作1.最大并发数:怎么去设置最大并发数,最大并发数是什么意思,然后再来看队列的暂停/继续,包括取消,依赖,我们一会儿再看,好,看这些事情的话,我们先来看最大并发数,什么是最大并发数:同时执行的任务数,同一时间有三件事情正在执行,我开三个线程执行三个任务,最大并发数是三,三件事情同时在执行,但是注意我们线程数是多少,有三件事同时在执行,线
- jmeter全局变量和局部变量
PeiJiao_tester
工具jmeter
一、全局变量选择:配置元件—用户定义的变量全局变量:在启动运行时,获取一次值,运行过程中,值一直都不变作用域:作用于整个测试计划二、局部变量选择:前置处理器—用户参数局部变量:在启动运行时,获取一次值,在运行过程中,还会动态取值作用域:作用于当前线程组或当前取样器三、定义用户变量jmeter函数方法:1310000${__Random(1000,9999,)}四、迭代用户参数-每次迭代更新一次一个
- JMeter使用BeanShell将数据写入CSV文件(引用deepseek)
试着
jmeterjmeter开发语言测试工具程序人生
在JMeter中,你可以使用BeanShell脚本将数据写入CSV文件。以下是一个示例脚本,展示了如何通过BeanShell将数据写入CSV文件。1.添加BeanShell取样器首先,在JMeter中添加一个BeanShellSampler。2.编写BeanShell脚本在BeanShellSampler中,编写以下脚本:importjava.io.FileWriter;importjava.io
- JMeter通过BeanShell创建CSV文件
试着
jmeterjmeter测试工具java程序人生学习方法
在JMeter中通过BeanShell创建CSV文件,可以使用以下脚本实现:importjava.io.FileWriter;importjava.io.IOException;//定义CSV文件路径(建议使用绝对路径)StringcsvFilePath="C:/jmeter_test/data/output.csv";//Windows路径示例//StringcsvFilePath="/tmp/
- 苹果笔记本安装jmeter
qsmy_an
持续集成jmeter
下载并安装jmeter即可,jmeter官网下载地址:ApacheJMeter-DownloadApacheJMeter参考以下文章:“https://blog.csdn.net/weixin_51664828/article/details/145008755”
- jmeter参数化——函数
玛格永利
jmeter
一、时间参数化${__time(,)}:获取当前时间的毫秒数;${__time(,time_ms)}:获取当前时间的毫秒数并存入参数time_ms中;${__time(/1000,)}:获取当前时间的秒数;${__time(/1000,time_s)}:获取当前时间的秒数并存入参数time_s中;${__time(yyyy-MM-dd,)}:获取当前日期;${__time(yyyy-MM-dd,t
- 一分钟跟着咱奶学会如何创建和使用线程池
抽象具象化
java面试开发语言
前言在Java开发中,线程池是管理多线程任务的核心工具,它能有效复用线程、减少资源消耗。接下来坐稳扶好,跟着咱奶发车啦!一、为什么要用线程池?资源复用:避免频繁创建/销毁线程(一次性筷子和家里面的筷子).控制并发:防止无限制创建线程导致系统崩溃(一直买一次性筷子费时费力)。管理任务:统一管理任务队列和线程生命周期。二、线程池的核心参数核心线程(长期工):足浴店长期雇佣的正式员工(核心线程数core
- 深入理解java并发编程之线程池原理和源码
过客飞飞
springjavaspringbootspringcloud架构
队列:队列是先进先出的数据结构,就是先进入队列的数据,先被获取。但是有一种特殊的队列叫做优先级队列,它会对插入的数据进行优先级排序,保证优先级越高的数据首先被获取,与数据的插入顺序无关。|**public**ThreadPoolExecutor(**int**corePoolSize,核心线程数**int**maximumPoolSize,非核心线程数**long**keepAliveTime,时
- 定时任务线程池ScheduledThreadPoolExecutor
immdwbs
java多线程java
1、创建最大线程数设为Integer.MAX_VALUE,非核心线程空闲时间设置为0。2、方法packageThreadPool;importjava.time.LocalDateTime;importjava.time.format.DateTimeFormatter;importjava.util.concurrent.Executors;importjava.util.concurrent.
- Java多线程与高并发专题——线程池补充2
黄雪超
技术基础java开发语言并发编程
引入前面我们通过以下问题梳理了线程池相关内容:Java多线程与高并发专题——线程池为什么要使用线程池?如何使用线程池?使用线程池的优缺点?线程池的各个参数的含义?线程池有哪几种拒绝策略?Java多线程与高并发专题——线程池补充1(线程池的内部结构梳理)有哪些常见的线程池?线程池常用的阻塞队列有哪些?为什么不应该自动创建线程池?本篇会通过下面几个问题去进行补充:合适的线程数量是多少?CPU核心数和线
- 一次线程数超限导致的hive写入hbase作业失败分析
spring208208
大数据组件线上问题分析大数据hivehbase
1.集群配置操作系统:SuSe操作系统集群节点:100台相同配置的服务器单台:核心112Core,内存396G2.问题现象现象1:跑单个入库任务报错,批量提交任务后出现OOM异常执行12个hivesql,将数据写入hbase.hbase入库有近一半的任务报错。每次报错的任务不是同一个,hivesql任务分为2个阶段:第1个阶段是hive自处理阶段,底层是spark计算引擎。出现oom,无法开启新的
- RabbitMQ深度探索:前置知识
苏-言
java-rabbitmqrabbitmqjava
消息中间件:消息中间件基于队列模式实现异步/同步传输数据作用:可以实现支撑高并发、异步解耦、流量削峰、降低耦合传统的HTTP请求存在的缺点:HTTP请求基于响应的模型,在高并发的情况下,客户端发送大量的请求达到服务器端可能会导致我们服务器处理请求堆积Tomcat服务器处理每个请求都有自己独立的线程,如果超过最大线程数会将该请求缓存到队列中,如果请求堆积过多的情况下,可能会导致Tomcat服务器崩溃
- 高可用架构设计
小王爱编程啊
rocketmqjava开发语言
1.全链路服务保护方案-接入层防护:*使用Sentinel实现接口级限流,支持QPS、并发线程数等多维度限流*配置基于滑动时间窗口的热点参数限流策略*实现自适应限流算法,根据系统负载动态调整阈值-服务层防护:*实现基于RateLimiter的方法级限流*配置线程池隔离,避免服务间相互影响*使用Hystrix实现服务熔断,配置错误率阈值自动降级-数据层防护:*实现数据库连接池管理,配置最大连接数限制
- ThreadPoolExecutor 线程池工具类封装
掐指一算乀缺钱
开发语言javaspringmavenspringbootspringcloudguava
自定义线程名称,参数,如果不设置则默认使用配置文件参数,以下所有参数1、intcorePoolSize核心线程数2、intmaximumPoolSize最大线程数3、longkeepAliveTime空闲线程的存活时间4、TimeUnitunitkeepAliveTime的时间单位5、BlockingQueueworkQueue任务队列6、ThreadFactorythreadFactory线程工
- Jmeter - 从入门到精通进阶篇 - Jmeter配置文件的刨根问底 - 上篇(详解教程)_jmeter
2401_87378238
jmeter
Unlessrequiredbyapplicablelaworagreedtoinwriting,softwaredistributedundertheLicenseisdistributedonan“ASIS”BASIS,WITHOUTWARRANTIESORCONDITIONSOFANYKIND,eitherexpressorimplied.SeetheLicenseforthespecifi
- 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