- YOLOv8损失函数解读
卧式纯绿
目标检测YOLO目标检测目标跟踪人工智能机器学习计算机视觉
因为笔者目前做船舶感知检测的方向,想对yolov8进行改进创新。故从零开始学习yolov8。参考博客:YOLOv8详解:损失函数、Anchor-Free、样本分配策略;以及与v5的对比_yolov8损失函数-CSDN博客YoloV8损失函数篇(代码加理论)-CSDN博客一、损失函数损失函数的权重在ultralytics/cfg/default.yaml中可以找到:#UltralyticsAGPL-
- iOS自定义collection view的page size(width/height)分页效果
Invisible_He
xcodeiOS开发swiftiOSSwiftUICollection
前言想必大家工作中或多或少会遇到下图样式的UI需求吧像这种cell长度不固定,并且还能实现的分页效果UI还是很常见的实现我们这里实现主要采用collectionview,实现的方式是自定义一个UICollectionViewFlowLayout的子类,在这个类里对cell布局进行排列当出现pagesize小于collectionview的size的时候,可以使用ZLCollectionFreePa
- Linux 磁盘管理
阳光向日葵向阳
linux开发语言
Linux磁盘管理好坏直接关系到整个系统的性能问题。Linux磁盘管理常用三个命令为df、du和fdisk。df(英文全称:diskfree):列出文件系统的整体磁盘使用量du(英文全称:diskused):检查磁盘空间使用量fdisk:用于磁盘分区dfdf命令参数功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。语法:df[-ahikHTm
- python的del用法
_Zoran
python
python中的del用法比较特殊,新手学习往往产生误解,弄清del的用法,可以帮助深入理解python的内存方面的问题。python的del不同于C的free和C++的delete。由于python都是引用,而python有GC机制,所以,del语句作用在变量上,而不是数据对象上。if__name__=='__main__':a=1#对象1被变量a引用,对象1的引用计数器为1b=a#对象1被变量
- 手撕FreeRTOS内存管理(实战避坑指南)
大厂_码农
RTOSRTOS
手撕FreeRTOS内存管理(实战避坑指南)一、静态内存分配——精准控制的艺术1.1底层原理揭秘静态分配通过编译器在链接阶段确定内存位置,关键结构体:typedefstruct{uint8_tucDummy[configTOTAL_HEAP_SIZE];//静态内存池}StaticAlloc_t;//实战示例:创建静态队列StaticAlloc_txHeap;StaticQueue_txQueue
- 通过pip命令导出和导入Python环境安装包
程序员日子
导出Python环境安装包pipfreeze>packages.txt这将会创建一个packages.txt文件,其中包含了当前环境中所有包及各自的版本的简单列表(即piplist所列出的包列表)安装导入Python环境包pipinstall-rpackages.txt场景:开发完一个自动化测试框架后,需要将该框架移植到另外一个系统去运行,但是很多的依赖包都是自己安装的,为了解决环境问题,我们将依
- centos源码安装PHP
dc_show
webcentosphpphp源码编译
1、安装依赖库yum-yinstallgccgcc-c++autoconflibjpeglibjpeg-devellibpnglibpng-develfreetypefreetype-devellibxml2libxml2-develzlibzlib-develglibcglibc-develglib2glib2-develbzip2bzip2-develncursesncurses-develc
- 【树莓派Pico FreeRTOS】-Mutex(互斥体)
视觉与物联智能
物联网全栈开发实战树莓派Pico单片机FreeRTOSRTOS嵌入式硬件物联网
Mutex(互斥体)文章目录Mutex(互斥体)1、硬件准备2、软件准备3、FreeRTOS的Mutex介绍4、完整示例RP2040由RaspberryPi设计,具有双核ArmCortex-M0+处理器和264KB内部RAM,并支持高达16MB的片外闪存。广泛的灵活I/O选项包括I2C、SPI和独特的可编程I/O(PIO)。FreeRTOS由RealTimeEngineersLtd.独家拥有、开发
- kylin-v10/centos查看cpu、内存、硬盘等信息
神奇侠2024
centoskylinkylincentoslinux
1、系统层次命令uname-a#查看内核/操作系统/CPU信息head-n1/etc/issue#查看操作系统版本cat/proc/cpuinfo#查看CPU信息hostname#查看计算机名lspci-tv#列出所有PCI设备lsusb-tv#列出所有USB设备lsmod#列出加载的内核模块env#查看环境变量2、资源层次命令free-m#查看内存使用量和交换区使用量df-h#查看各分区使用情况
- docker中怎么把docker中的python package转成conda,目前还没有conda
Wwwilling
dockerpythonconda
要将Docker容器中的Python包转换为Conda环境,你可以按照以下步骤进行操作:导出当前Python依赖:进入你的Docker容器,并使用pip导出当前安装的Python包到一个requirements文件。pipfreeze>requirements.txt创建Conda环境文件:你需要将requirements.txt转换为Conda环境文件。手动创建一个environment.yml
- FFmpeg源代码简单分析:常见结构体的初始化和销毁(AVFormatContext,AVFrame等)
wishfly
ffmpeg
FFmpeg的库函数源代码分析文章列表:【架构图】FFmpeg源代码结构图-解码FFmpeg源代码结构图-编码【通用】FFmpeg源代码简单分析:av_register_all()FFmpeg源代码简单分析:avcodec_register_all()FFmpeg源代码简单分析:内存的分配和释放(av_malloc()、av_free()等)FFmpeg源代码简单分析:常见结构体的初始化和销毁(A
- NO.18|操作系统|命令|文件权限|软链接|硬链接|静态库|动态库|GDB|大端小端|进程调度算法|内存|用户系统态|LRU|线程|页表|缺页中断|虚拟内存|物理内存|虚拟地址|堆栈|malloc
ChoSeitaku
春招面试冲刺算法
Linux中查看进程运行状态的指令、查看内存使用情况的指令、tar解压文件的参数参考回答查看进程运行状态的指令:ps命令。“ps-aux|grepPID”,用来查看某PID进程状态查看内存使用情况的指令:free命令。“free-m”,命令查看内存使用情况。tar解压文件的参数://五个命令中必选一个-c:建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文
- Off-Road-Freespace-Detection配置pytorch2.0.0
GFCGUO
pythonubuntulinux学习pip
一、概述在github上进行开源代码搜索,发现了Off-Road-Freespace-Detection(链接如下所示)。这是对越野环境可通行区域的检测,在经过测试之后,发现对自己有益。GitHub-chaytonmin/Off-Road-Freespace-Detection:OfficialimplementationofourICRA'22paper:ORFD:ADatasetandBenc
- 一、linux驱动开发-3.1-pinctrl和gpio子系统
rrring
嵌入式linux驱动驱动开发linux
目录一、pinctrl子系统1.1、在设备树中添加pinctrl节点模板1.1.1、创建节点1.1.2、添加“fsl,pin”属性1.1.3、在属性中添加pin配置信息二、gpio子系统2.1、gpio子系统API函数2.1..1、gpio_request2.1.2、gpio_free2.1.3、gpio_direction_input2.1.4、gpio_direction_ouput2.1.5
- FreeRTOS学习(十):任务调度器挂起与恢复机制详解
小麦嵌入式
FreeRTOS学习学习单片机嵌入式硬件c语言物联网arm开发stm32
FreeRTOS学习(十):任务调度器挂起与恢复机制详解文章目录FreeRTOS学习(十):任务调度器挂起与恢复机制详解简介一、任务挂起与恢复的API函数1.1任务挂起函数1.2任务恢复函数二、重要特性与临界区的区别资源保护三、任务切换实例生活中的类比实际代码示例共享资源场景为什么需要任务挂起?数据一致性问题使用任务挂起后运行效果总结简介在FreeRTOS中,任务挂起和恢复是重要的任务管理机制。通
- SpringBoot使用Websocket技术实现聊天功能--后端部分(三)
oct1025
Ideawebsocketspringboot后端
所需依赖:javax.websocketjavax.websocket-api1.1providedorg.springframework.bootspring-boot-starter-freemarkerorg.springframework.bootspring-boot-starter-websocket-->org.apache.tomcat.embed-->tomcat-embed-w
- 高频SQL50题 第四天 | 1251. 平均售价、620. 有趣的电影、1075. 项目员工 I、1633. 各赛事的用户注册率
榛果咖啡有点苦
高频SQL50题mysql
知识点导览:日期大小比较;ifnull(字段,默认值)函数;取余操作;字符串比较like;逆序desc1251.平均售价题目链接:https://leetcode.cn/problems/average-selling-price/description/?envType=study-plan-v2&envId=sql-free-50状态:已完成考点:判断日期是否位于某个区间内,可以使用>=>=>
- FreeSWITCH入门到精通系列(五):FreeSWITCH 脚本与自动化
黄宝良
freeswitchShell脚本C语言自动化junit单元测试实时音视频音视频
FreeSWITCH脚本与自动化FreeSWITCH提供了多种脚本语言支持,如Lua、JavaScript、Python、Perl等,允许开发者自动化拨号、通话控制、事件处理等操作。本文将介绍FreeSWITCH支持的脚本语言、如何使用Lua进行自动化,并提供一个完整的自动外呼示例。1.FreeSWITCH脚本支持FreeSWITCH允许使用以下脚本语言编写自动化逻辑:语言模块适用场景Luamod
- 深入探索嵌入式开发中的 FreeRTOS:从入门到精通
嵌入式物联网c
大家好,我是V哥。在嵌入式系统的广阔天地里,实时操作系统(RTOS)正扮演着愈发关键的角色。FreeRTOS作为一款开源、轻量级且功能卓越的实时操作系统,备受全球开发者的青睐。它为嵌入式开发带来了高效的多任务管理、精准的资源调度等诸多优势,极大地提升了开发效率与系统的可靠性。接下来,让我们一同踏上从入门到深入掌握FreeRTOS的精彩旅程。听说先赞后看,就能家财万贯。一、FreeRTOS入门什么是
- 首版Git源码初探——Linux之父在malloc之后也忘了free啦?
LinusTorvalds无疑是开源软件界最具影响力的人物之一。作为Linux内核的创始人,他因技术贡献赢得了尊敬,但也常因口无遮拦的言辞引发争议。Linus对代码质量的要求极其严苛,也许正是因为自信能够写出完美的代码,才让他有底气挖苦和讽刺其他开发者吧。Linus写出的代码到底能有多么精简、多么高深、多么优雅、多么健壮……?可能很多程序员都对此充满好奇。Linux内核的代码显然过于复杂,不适合“
- 【freeRTOS 】1 任务创建
c
一、创建单任务任务使用的栈和任务控制块都是静态内存,存储在SRAM中。staticvoidLED_task(void*parameter){while(1);vTaskDelay(20);}任务必须是一个死循环任务必须是死循环while(1);否则任务将通过LR返回,如果LR指向了非法的内存就会产生HardFault_Handler,而FreeRTOS指向一个死循环,那么任务返回之后就在死循环中执
- 【负载均衡系列】nginx负载高怎么排查
yunqi1215
Basic负载均衡nginx运维
一、快速定位问题方向现象确认:服务器响应变慢、超时或返回5xx错误。系统监控显示CPU、内存、磁盘I/O或网络带宽使用率飙升。初步判断:Nginx自身瓶颈:配置不当、连接数超限、日志写入阻塞。后端服务问题:应用处理慢、数据库阻塞、缓存失效。外部攻击/异常流量:DDoS、爬虫、API滥用。二、系统资源分析1.查看全局资源占用#查看整体资源使用(按CPU排序)tophtop#检查内存使用free-h#
- Linux:一些命令记录
dingcho
运维linuxmongodb运维
netstat-antp|grep-i27017|awk'{print$5}'|cut-d:-f1|sort|uniq-c|sort-n查看磁盘大小du-sh/usr/local/*查看剩余内存:free-mlinux下获取占用CPU资源最多的10个进程,可以使用如下命令组合:psaux|head-1;psaux|grep-vPID|sort-rn-k+3|headlinux下获取占用内存资源最多
- MemoryPool.cpp的疑难点
乘秋川
内存池c++
成员初始化列表来初始化类的成员变量MemoryPool::MemoryPool(size_tBlockSize):BlockSize_(BlockSize),SlotSize_(0),firstBlock_(nullptr),curSlot_(nullptr),freeList_(nullptr),lastSlot_(nullptr){}成员初始化列表(MemberInitializationLi
- FreeRTOS进阶使用之流缓冲区:高效处理字节流的秘密武器
逸云客嵌入式
FreeRTOS操作系统单片机stm32mcu
在嵌入式开发中,流缓冲区(StreamBuffer)是FreeRTOS中用于高效处理字节流数据传输的核心机制,尤其适合任务间或中断与任务间的连续数据传输场景(如串口通信、网络数据流等)。本文将深入解析其原理、特点、使用方法及注意事项,助你进阶掌握这一关键技术。一、流缓冲区是什么?为什么需要它?流缓冲区是FreeRTOS中基于环形缓冲区实现的字节流传输机制,其核心作用是动态管理数据的读写,支持任意长
- SSH监控
野猪佩挤
systemShellssh运维
创建/etc/ssh/sshrc文件写入以命令echo"=====系统状态====="uptimefree-h每次登录会显示如果在sshrc文件加入以下脚本每次登录就是执行这个脚本#cat/etc/ssh/sshrcecho"=====系统状态====="uptimefree-h/usr/local/bin/monit.sh以下脚本内容#!/bin/bash#获取登录信息USER_LOGIN="$
- python环境部署工具 uv
Honnnnnn
uv
以原先使用的pipenv工具为例子,通过pipfile.lock生成requirements文件,再将requirements转成pyproject.toml文件,最后生成uv.lock基于当前虚拟环境导出requirements.txt--pipfreeze>requirements.txt(如果原先不是env而是基础的通过requirements.txt文件,省去转化requirements的
- Python自动登陆、登出南京理工大学NJUST校园网程序
JimesMz
python开发语言
本文程序针对南京理工大学NJUST和NJUST-FREE校园网开发,其他学校无法使用。文章目录开发目的使用说明参考资料开发目的今天突然想要用代码实现一下自动登陆校园网,上网搜寻了一下。知乎有一些教程,CSDN也有一些完整的代码,但是我跟随教程或者直接运行现有代码都没有能够成功登陆,且NJUST校园网付费,我想要一个“登出”功能,借助Kimi自己写了一下。本人技术不精,以实现功能为主。使用说明请确保
- Android 中蓝牙Profile与UUID
jaylkh
androidbluetooth
在Android中,常用的几种BluetoothProfile分别为:SPP(SerialPortProfile)、A2DP(AdvancedAudioDistributionProfile)、AVRCP(Audio/VideoRemoteControlProfile)、HID(HumanInterfaceDeviceProfile)、HFP(Hands-FreeProfile)。其中Media相
- 通过动态内存管理实现在VS2022中实现变长数组
Dust-Chasing
开发语言c语言数据结构算法
目录一、malloc函数和free函数二、calloc函数三、realloc函数不知道大家在使用vs2022编译器时有没有遇见过这样一个问题,当我们用一个变量来作为数组的大小时,编译器会报错,要求我们使用常量,这样一来就会使我们的内存空间被大量浪费,使我们非常的头疼,但是如果当我们学到动态内存管理时,我们就有了解决这个问题的办法。一、malloc函数和free函数C语言提供了一个动态内存开辟的函数
- 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