据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知市斤的数值是公斤数值的两倍。现给定某人身高,请你计算其标准体重应该是多少?(顺便也悄悄给自己算一下吧……)输入格式:输入第一行给出一个正整数H(100
Mac 中 VIM的使用方法
西红柿天尊
springboot2java
终端通过cd命令切换到相应目录,输入vim文件名.扩展名,进入到vim环境。vim的3种模式:命令模式,插入模式,底线命令模式命令模式用户刚刚启动vim,便进入了命令模式i切换到插入模式,以输入字符x删除当前光标所在处的字符:切换到底线命令模式,以在最底一行输入命输入模式:在命令模式下按下i就进入了输入模式。在输入模式中,可以使用以下按键ENTER(回车键)换行BACKSPACE(退格键)删除光标
mac 命令 vim 快捷键
自由冒险家小鱼儿2
javaexcelvim
终端命令命令名功能描述使用举例ctrl+u清除当前行ctrl+a到行首ctrl+e到行尾ctrl+f/b前进后退相当于左右方向键ctrl+p上一条命令ctrl+r搜索命令历史ctrl+d删除当前光标的字符ctrl+h删除光标之前的字符ctrl+w删除光标之前的单词ctrl+k删除到文本末尾ctrl+t交换光标处文本command+r清屏1ctrl+l清屏2目录操作命令名功能描述使用举例mkdir创
MyBatis 深度解析:MyBatis是如何简化 JDBC的 ?
以恒1
mybatis
MyBatis深度解析:MyBatis是如何简化JDBC的?一、JDBC的痛点与MyBatis的诞生传统JDBC开发虽然灵活,但存在诸多痛点,导致开发效率低下且易出错:样板代码冗余:每次操作需重复编写连接管理、try-catch-finally块、资源释放等代码。例如,一个简单的查询需要至少20行代码处理异常和资源关闭。SQL与代码强耦合:SQL硬编码在Java类中,修改SQL需重新编译代码,且难
哪个python解释器好?
lmseo5hy
python培训python解释器
Python是一门解释器语言,代码想运行,必须通过解释器执行,Python存在多种解释器,分别基于不同语言开发,每个解释器有不同的特点,但都能正常运行Python代码,以下是常用的五种Python解释器:CPython当从Python官方网站下载并安装好Python2.7后,就直接获得了一个官方版本的解释器:Cpython,这个解释器是用C语言开发的,所以叫CPython,在命名行下运行pytho
本地大模型编程实战(09)自制聊天机器人(3)
火云牌神
AI编程实战pythonlangchainllamadeepseek
文章目录准备自动裁剪聊天历史聊天机器人定义提示词模板定义state构建app测试流式输出总结代码本文将实现一个比较完善的聊天机器人的主要功能。包括:使用LangGraph构建聊天机器人自动裁剪聊天历史管理聊天会话的方法以流的方式输出回复我们将同时使用llama3.1和deepseek做演示。由于langchain可能对不同大模型支持程度不同以及其它限制,所以这个对比并不能说明哪个模型更好。准备在正
AI写代码新姿势:一个截图,代替千行代码
量子位
原创关注前沿科技量子位现在写代码,最fashion的“姿势”应该是什么?答案或许就是:截图。没错,就像这样,先随便找个网页,截取想要的那部分界面,然后“喂”给AI,并附上一句Prompt:参考这个页面,生成一个类似的HTML页面。只是一张图和一句话,AI就“唰唰唰”的把代码给写出来了。有了这个功能,前端程序员搞简单的页面代码可就方便太多了(甚至编程小白都可以尝试做网页)~而且这个AI啊,还不是国外
Django 模型
jay丿
djangosqlite数据库
Django模型在Django框架中,模型(Model)是ORM(对象关系映射)的核心,它允许开发者以面向对象的方式操作数据库。模型类定义了数据库表的结构,每个实例代表表中的一行记录。在前面的基础上,我们将进一步扩写模型相关的内容,包括模型继承、自定义管理器、信号以及模型的生命周期等。1.模型继承Django支持模型的继承,这有助于代码重用和逻辑组织。模型继承分为抽象基类模型和多态模型两种。抽象基
SQL 插入数据详解
ADFVBM
面试学习路线阿里巴巴sql数据库服务器
本文介绍如何利用SQL的INSERT语句将数据插入表中。1.数据插入顾名思义,INSERT用来将行插入(或添加)到数据库表。插入有几种方式:插入完整的行;插入行的一部分;插入某些查询的结果。下面逐一介绍这些内容。1.1插入完整的行把数据插入表中的最简单方法是使用基本的INSERT语法,它要求指定表名和插入到新行中的值。下面举一个例子:INSERTINTOCustomersVALUES(100000
PTA团体程序设计天梯赛-练习集1-5题
β添砖java
算法
L1-001HelloWorld这道超级简单的题目没有任何输入。你只需要在一行中输出著名短句“HelloWorld!”就可以了。#includeintmain(void){printf("HelloWorld!");return0;}L1-002打印沙漏本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印*****************所谓“沙漏形状”,是指每
python解决每隔几行取数据的问题(隔行取数据,文本文件)
zhou_x_b
pythonpandas
解决问题(1)读取csv(2)python隔行取数据importpandasaspdpath=r'E:\**\**.csv'data=pd.read_csv(path)df=pd.DataFrame(data)a=[]foriinrange(0,len(df),20):##每隔20行取数据a.append(i)file=df.iloc[a]f=pd.DataFrame(file)f.to_csv(
SQL JOIN:内连接、外连接和交叉连接(代码+案例)
m0_74825466
面试学习路线阿里巴巴sql数据库oracle
在SQL中,JOIN操作用于合并来自两个或多个表的数据集。通过JOIN,可以根据指定的条件检索数据库中相关记录。以下是内连接、外连接和交叉连接的深入解释以及它们的区别与应用。1.内连接(INNERJOIN)定义:内连接只返回两个表中都满足连接条件的匹配记录。换句话说,它仅包括那些具有对应匹配记录的行。语法:SELECTcolumnsFROMtable1INNERJOINtable2ONtable1
Linux “/etc/passwd” 文件,你了解多少 ?
linux
/etc/passwd文件是Linux和Unix系统的基本组件,它包含用户帐户的相关信息。/etc/passwd文件结构Eachlineinthe/etc/passwdfilerepresentsauseraccountandcontainssevenfieldsseparatedbycolons(:).Thegeneralformatis:/etc/passwd文件中的每一行都代表一个用户帐户,
C++ STL容器 —— map/multimap 用法详解
Ember_Sky
C++常用STL容器及算法c++map系列用法详解
C++STL容器——map/multimap用法详解写在前面:近期正在学习C++的STL容器,因此在这里做一下日志记录,主要介绍一些容器基本成员函数的用法,配上实际用例,并不涉及原理。但别人的博客终究是别人的,最好自己上手操作一下.写的不好,请大神手下留情.下面说的“运行之后”表示:运行上个语句之后的结果.一行如果说的太长的话,就得拖动下面的进度条才能看到后面的内容,非常麻烦因此将一段话分成了多行
【人工智能】数据挖掘与应用题库(301-400)
奋力向前123
人工智能人工智能数据挖掘pandas
1、关于pandas中的Series描述错误的是答案:Series默认没有index2、关于DataFrame描述正确的是答案:DataFrame指数据框,相当于程序中的虚拟Excel表格创建DataFrame后,可以重新指定indexDataFrame允许有缺失值3、在DataFrame中,可以获取某一列的值,也可以获取某一行的值。答案:对4、对于数据框book_info,以下用法有误的是答案:
【八股】非关系型数据库篇(Redis+ES)
林子漾
八股项目redis数据库缓存
关系型和非关系型数据库特性关系型数据库(RDBMS)非关系型数据库(NoSQL)数据模型表格(行和列)文档、键值、列族、图等多样化模型模式固定(Schema)灵活的,无需预定义结构扩展性纵向扩展为主,横向扩展困难横向扩展容易,适合大规模分布式系统事务支持完全支持ACID事务多数不支持或仅支持单一操作的事务查询语言SQL各种API或NoSQL特定的查询语言数据一致性强一致性最终一致性或可调的一致性级
【十二】Golang 映射
张胤尘
Golanggolang开发语言后端
欢迎来到张胤尘的开源技术站开源如江河,汇聚众志成。代码似星辰,照亮行征程。开源精神长,传承永不忘。携手共前行,未来更辉煌文章目录映射映射的定义映射初始化`make`函数使用字面量源码分析数据结构`hmap``bmap`数据存储键值访问竞态检测`Sanitizer`检测空检查并发写检查哈希值计算桶定位扩容情况处理桶内查找键值插入、扩容机制参数检查竞态检测`Sanitizer`检测并发检测哈希值计算初
[repo] No such file or directory: ‘/xxxx/.repo/manifests/.git/HEAD‘error: manifest missing or unrea
新镜
git
1、运行repoinit-uxxxxx--no-repo-verify报错:Unabletonegotiatewith:nomatchingkeyexchangemethodfound.Theiroffer:diffie-hellman-group1-sha1fatal:Couldnotreadfromremoterepository.【解决方法】:在~/.ssh/config添加这一行(conf
GO语言学习笔记(1)
大王算法
golang学习笔记
目录一、go语言结构1.语言结构示例2.语言结构二、go基础语法1.行分隔符:2.注释:3.标识符:4.字符串连接:5.关键字:6.格式化字符串:三、变量1、申明一个变量值,变量类型,并初始化一、go语言结构1.语言结构示例packagemainimport"fmt"funcmain(){fmt.Println("HelloWorld!")}2.语言结构1).第一行代码packagemain定义了
判断一个文件中以三个#号开头有多少行的shell脚本怎么写
taoyong001
服务器运维
在Linux中,你可以使用grep命令结合正则表达式来统计一个文件中以三个#号开头的行数。以下是一个简单的命令:grep-c'^###'filename这里的grep是搜索工具,-c选项表示统计匹配的行数,'###'是正则表达式,表示行的开头()紧跟着三个#号(###),filename是你要搜索的文件名。例如,如果你的文件名是example.txt,你可以运行:grep-c'^###'examp
【Linux基操】‘cat /etc/passwd‘命令解读
chiak7
linux运维服务器
在Linux中,'cat'(concatenate)命令主要用于连接文件并打印它们的内容。在Linux系统中,用户账户信息通常存储在'/etc/passwd'文件中。这个文件包含每个用户的一行记录,记录中包含了有关用户的各种信息,例如用户名、用户ID(UID)、组ID(GID)、用户描述、主目录和登录Shell等。'username':用户的登录名。'password':密码字段,通常是“x”或一
华为机试(python):链表
Mia~~
华为机试链表数据结构
HJ48从单向链表中删除指定值的节点输入一个单向链表和一个节点的值,从单向链表中删除等于该值的节点,删除后如果链表中无节点则返回空指针。链表的值不能重复。构造过程,例如输入一行数据为:6212325145722则第一个参数6表示输入总共6个节点,第二个参数2表示头节点值为2,剩下的2个一组表示第2个节点值后面插入第1个节点值,为以下表示:12表示为2->1链表为2->132表示为2->3链表为2-
spring boot集成mybatis
吸引力的觉悟
SpringBootspringboot集成mybatis
大家在开发的时候,会喜欢jdbcTemplate操作数据库,有喜欢JPA操作数据库的,有喜欢MyBatis操作数据库的,对于这些我个人觉得哪个使用顺手就使用哪个就好了,并没有一定要使用哪个,个人在实际中会集成多个,这样保存的数据的时候,选择一个最方便的也就是JPA,查询的时候,或者统计的时候,选择一个效率最高的,也就是直接使用SQL语句方式,当然这并一定要这样的,现在优化方式又很多。那么这节说说怎
速来!人工智能未来设计大赛· 大模型专项竞技赛火热报名中!
量子位
技术革新临界点已至,大模型生态迎来爆发期当前,全球人工智能产业正经历从“暴力美学”到“精巧工程”的范式跃迁。DeepSeek引领超强大模型的开源开放与普惠化浪潮之下,大模型技术已突破边界逐步渗透至千行百业,成为驱动产业升级的新引擎。种种迹象无不表明大模型应用爆发临界点已近在眼前。值此历史性时刻,由工业和信息化部工业文化发展中心主办的“人工智能未来设计大赛·大模型专项竞技赛”正式启动,诚邀全球大模型
linux vim撤回操作,Vim 撤销 回退 操作
一呐
linuxvim撤回操作
dw是删除一个单词,包括后面的空格,de与dw类似,但是不包括空格d$是从当前光标位置删除到行末,貌似D是同样的功能,不小心试出来的。。。省的按$了。。。另外w,e,$是用来移动光标的。。。所以这样就好解释dw,de,d$的意思了x是删除当前光标位置的字符,X是删除当前光标位置的前面一个字符。恢复是u和U啦,小u执行一次恢复,大U则恢复所以之前的改动,貌似是在一行中的改动。Ctrl+R貌似是撤销,
Vim列操作 && 回退 前进
他山烈石
C编程vimlinux
vim块操作:列删除、列插入vim中块删除:第一步:按下组合键“CTRL+v”进入“可视块”模式,选取这一列操作多少行第二步:按下d即可删除被选中的整块vim中块插入第一步:按下组合键“CTRL+v”进入“可视块”模式,选取这一列操作多少行第二步:按下shift+i(或者大写的字母"i")第三步:输入要插入的内容第四步:按ESC,之后就会看到插入的效果。撤销:u前进:crtl+r
分享100个最新免费的高匿HTTP代理IP
mcj8089
代理IP代理服务器匿名代理免费代理IP最新代理IP
推荐两个代理IP网站:
1. 全网代理IP:http://proxy.goubanjia.com/
2. 敲代码免费IP:http://ip.qiaodm.com/
120.198.243.130:80,中国/广东省
58.251.78.71:8088,中国/广东省
183.207.228.22:83,中国/
mysql高级特性之数据分区
annan211
java数据结构mongodb分区mysql
mysql高级特性
1 以存储引擎的角度分析,分区表和物理表没有区别。是按照一定的规则将数据分别存储的逻辑设计。器底层是由多个物理字表组成。
2 分区的原理
分区表由多个相关的底层表实现,这些底层表也是由句柄对象表示,所以我们可以直接访问各个分区。存储引擎管理分区的各个底层
表和管理普通表一样(所有底层表都必须使用相同的存储引擎),分区表的索引只是
JS采用正则表达式简单获取URL地址栏参数
chiangfai
js地址栏参数获取
GetUrlParam:function GetUrlParam(param){
var reg = new RegExp("(^|&)"+ param +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null
怎样将数据表拷贝到powerdesigner (本地数据库表)
Array_06
powerDesigner
==================================================
1、打开PowerDesigner12,在菜单中按照如下方式进行操作
file->Reverse Engineer->DataBase
点击后,弹出 New Physical Data Model 的对话框
2、在General选项卡中
Model name:模板名字,自
logbackのhelloworld
飞翔的马甲
日志logback
一、概述
1.日志是啥?
当我是个逗比的时候我是这么理解的:log.debug()代替了system.out.print();
当我项目工作时,以为是一堆得.log文件。
这两天项目发布新版本,比较轻松,决定好好地研究下日志以及logback。
传送门1:日志的作用与方法:
http://www.infoq.com/cn/articles/why-and-how-log
上面的作
新浪微博爬虫模拟登陆
随意而生
新浪微博
转载自:http://hi.baidu.com/erliang20088/item/251db4b040b8ce58ba0e1235
近来由于毕设需要,重新修改了新浪微博爬虫废了不少劲,希望下边的总结能够帮助后来的同学们。
现行版的模拟登陆与以前相比,最大的改动在于cookie获取时候的模拟url的请求
synchronized
香水浓
javathread
Java语言的关键字,可用来给对象和方法或者代码块加锁,当它锁定一个方法或者一个代码块的时候,同一时刻最多只有一个线程执行这段代码。当两个并发线程访问同一个对象object中的这个加锁同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。然而,当一个线程访问object的一个加锁代码块时,另一个线程仍然
maven 简单实用教程
AdyZhang
maven
1. Maven介绍 1.1. 简介 java编写的用于构建系统的自动化工具。目前版本是2.0.9,注意maven2和maven1有很大区别,阅读第三方文档时需要区分版本。 1.2. Maven资源 见官方网站;The 5 minute test,官方简易入门文档;Getting Started Tutorial,官方入门文档;Build Coo
Android 通过 intent传值获得null
aijuans
android
我在通过intent 获得传递兑现过的时候报错,空指针,我是getMap方法进行传值,代码如下 1 2 3 4 5 6 7 8 9
public
void
getMap(View view){
Intent i =
apache 做代理 报如下错误:The proxy server received an invalid response from an upstream
baalwolf
response
网站配置是apache+tomcat,tomcat没有报错,apache报错是:
The proxy server received an invalid response from an upstream server. The proxy server could not handle the request GET /. Reason: Error reading fr
Tomcat6 内存和线程配置
BigBird2012
tomcat6
1、修改启动时内存参数、并指定JVM时区 (在windows server 2008 下时间少了8个小时)
在Tomcat上运行j2ee项目代码时,经常会出现内存溢出的情况,解决办法是在系统参数中增加系统参数:
window下, 在catalina.bat最前面
set JAVA_OPTS=-XX:PermSize=64M -XX:MaxPermSize=128m -Xms5
Karam与TDD
bijian1013
KaramTDD
一.TDD
测试驱动开发(Test-Driven Development,TDD)是一种敏捷(AGILE)开发方法论,它把开发流程倒转了过来,在进行代码实现之前,首先保证编写测试用例,从而用测试来驱动开发(而不是把测试作为一项验证工具来使用)。
TDD的原则很简单:
a.只有当某个
[Zookeeper学习笔记之七]Zookeeper源代码分析之Zookeeper.States
bit1129
zookeeper
public enum States {
CONNECTING, //Zookeeper服务器不可用,客户端处于尝试链接状态
ASSOCIATING, //???
CONNECTED, //链接建立,可以与Zookeeper服务器正常通信
CONNECTEDREADONLY, //处于只读状态的链接状态,只读模式可以在
【Scala十四】Scala核心八:闭包
bit1129
scala
Free variable A free variable of an expression is a variable that’s used inside the expression but not defined inside the expression. For instance, in the function literal expression (x: Int) => (x
android发送json并解析返回json
ronin47
android
package com.http.test;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import
一份IT实习生的总结
brotherlamp
PHPphp资料php教程php培训php视频
今天突然发现在不知不觉中自己已经实习了 3 个月了,现在可能不算是真正意义上的实习吧,因为现在自己才大三,在这边撸代码的同时还要考虑到学校的功课跟期末考试。让我震惊的是,我完全想不到在这 3 个月里我到底学到了什么,这是一件多么悲催的事情啊。同时我对我应该 get 到什么新技能也很迷茫。所以今晚还是总结下把,让自己在接下来的实习生活有更加明确的方向。最后感谢工作室给我们几个人这个机会让我们提前出来
据说是2012年10月人人网校招的一道笔试题-给出一个重物重量为X,另外提供的小砝码重量分别为1,3,9。。。3^N。 将重物放到天平左侧,问在两边如何添加砝码
bylijinnan
java
public class ScalesBalance {
/**
* 题目:
* 给出一个重物重量为X,另外提供的小砝码重量分别为1,3,9。。。3^N。 (假设N无限大,但一种重量的砝码只有一个)
* 将重物放到天平左侧,问在两边如何添加砝码使两边平衡
*
* 分析:
* 三进制
* 我们约定括号表示里面的数是三进制,例如 47=(1202
dom4j最常用最简单的方法
chiangfai
dom4j
要使用dom4j读写XML文档,需要先下载dom4j包,dom4j官方网站在 http://www.dom4j.org/目前最新dom4j包下载地址:http://nchc.dl.sourceforge.net/sourceforge/dom4j/dom4j-1.6.1.zip
解开后有两个包,仅操作XML文档的话把dom4j-1.6.1.jar加入工程就可以了,如果需要使用XPath的话还需要
简单HBase笔记
chenchao051
hbase
一、Client-side write buffer 客户端缓存请求 描述:可以缓存客户端的请求,以此来减少RPC的次数,但是缓存只是被存在一个ArrayList中,所以多线程访问时不安全的。 可以使用getWriteBuffer()方法来取得客户端缓存中的数据。 默认关闭。 二、Scan的Caching 描述: next( )方法请求一行就要使用一次RPC,即使
mysqldump导出时出现when doing LOCK TABLES
daizj
mysqlmysqdump导数据
执行 mysqldump -uxxx -pxxx -hxxx -Pxxxx database tablename > tablename.sql
导出表时,会报
mysqldump: Got error: 1044: Access denied for user 'xxx'@'xxx' to database 'xxx' when doing LOCK TABLES
解决
CSS渲染原理
dcj3sjt126com
Web
从事Web前端开发的人都与CSS打交道很多,有的人也许不知道css是怎么去工作的,写出来的css浏览器是怎么样去解析的呢?当这个成为我们提高css水平的一个瓶颈时,是否应该多了解一下呢?
一、浏览器的发展与CSS
《阿甘正传》台词
dcj3sjt126com
Part Ⅰ:
《阿甘正传》Forrest Gump经典中英文对白
Forrest: Hello! My names Forrest. Forrest Gump. You wanna Chocolate? I could eat about a million and a half othese. My momma always said life was like a box ochocol
Java处理JSON
dyy_gusi
json
Json在数据传输中很好用,原因是JSON 比 XML 更小、更快,更易解析。
在Java程序中,如何使用处理JSON,现在有很多工具可以处理,比较流行常用的是google的gson和alibaba的fastjson,具体使用如下:
1、读取json然后处理
class ReadJSON
{
public static void main(String[] args)
win7下nginx和php的配置
geeksun
nginx
1. 安装包准备
nginx : 从nginx.org下载nginx-1.8.0.zip
php: 从php.net下载php-5.6.10-Win32-VC11-x64.zip, php是免安装文件。
RunHiddenConsole: 用于隐藏命令行窗口
2. 配置
# java用8080端口做应用服务器,nginx反向代理到这个端口即可
p
基于2.8版本redis配置文件中文解释
hongtoushizi
redis
转载自: http://wangwei007.blog.51cto.com/68019/1548167
在Redis中直接启动redis-server服务时, 采用的是默认的配置文件。采用redis-server xxx.conf 这样的方式可以按照指定的配置文件来运行Redis服务。下面是Redis2.8.9的配置文
第五章 常用Lua开发库3-模板渲染
jinnianshilongnian
nginxlua
动态web网页开发是Web开发中一个常见的场景,比如像京东商品详情页,其页面逻辑是非常复杂的,需要使用模板技术来实现。而Lua中也有许多模板引擎,如目前我在使用的lua-resty-template,可以渲染很复杂的页面,借助LuaJIT其性能也是可以接受的。
如果学习过JavaEE中的servlet和JSP的话,应该知道JSP模板最终会被翻译成Servlet来执行;而lua-r
JZSearch大数据搜索引擎
颠覆者
JavaScript
系统简介:
大数据的特点有四个层面:第一,数据体量巨大。从TB级别,跃升到PB级别;第二,数据类型繁多。网络日志、视频、图片、地理位置信息等等。第三,价值密度低。以视频为例,连续不间断监控过程中,可能有用的数据仅仅有一两秒。第四,处理速度快。最后这一点也是和传统的数据挖掘技术有着本质的不同。业界将其归纳为4个“V”——Volume,Variety,Value,Velocity。大数据搜索引
10招让你成为杰出的Java程序员
pda158
java编程框架
如果你是一个热衷于技术的
Java 程序员, 那么下面的 10 个要点可以让你在众多 Java 开发人员中脱颖而出。
1. 拥有扎实的基础和深刻理解 OO 原则 对于 Java 程序员,深刻理解 Object Oriented Programming(面向对象编程)这一概念是必须的。没有 OOPS 的坚实基础,就领会不了像 Java 这些面向对象编程语言
tomcat之oracle连接池配置
小网客
oracle
tomcat版本7.0
配置oracle连接池方式:
修改tomcat的server.xml配置文件:
<GlobalNamingResources>
<Resource name="utermdatasource" auth="Container"
type="javax.sql.DataSou
Oracle 分页算法汇总
vipbooks
oraclesql算法.net
这是我找到的一些关于Oracle分页的算法,大家那里还有没有其他好的算法没?我们大家一起分享一下!
-- Oracle 分页算法一
select * from (
select page.*,rownum rn from (select * from help) page
-- 20 = (currentPag