- (AC)Playlist
题目描述Youaregivenaplaylistofaradiostationsinceitsestablishment.Theplaylisthasatotalofnsongs.Whatisthelongestsequenceofsuccessivesongswhereeachsongisunique?输入Thefirstinputlinecontainsanintegern(1≤n≤2*105
- 考研长难句-1-29
EasyNetCN
Onfirstlearning,thiswasthesociallyconcernedchancellortryingtochangelivesforthebetter,completewith"reforms"toanobviouslyindulgentsystemthatdemandstoolittleeffortfromthenewlyunemployedtofindwork,andsubs
- C#中的委托,匿名方法和Lambda表达式
wcqlwyt
delegatec#方法lambdaAnonymousMethods表达式委托
原文地址为:C#中的委托,匿名方法和Lambda表达式简介在.NET中,委托,匿名方法和Lambda表达式很容易发生混淆。我想下面的代码能证实这点。下面哪一个First会被编译?哪一个会返回我们需要的结果?即Customer.ID=5.答案是6个First不仅被编译,并都获得正确答案,且他们的结果一样。如果你对此感到困惑,那么请继续看这篇文章。classCustomer{publicintID{g
- leetcode--334--递增的三元子序列
minningl
题目:给定一个未排序的数组,判断这个数组中是否存在长度为3的递增子序列。数学表达式如下:如果存在这样的i,j,k,且满足0≤i&nums){intfirst=INT_MAX;intsecond=INT_MAX;for(intnum:nums){if(num<=first){first=num;}elseif(num<=second){second=num;}else{returntrue;}}re
- Flink 自定义类加载器和子优先类加载策略
lifallen
Flink数据库数据结构大数据flinkjava分布式
子类优先加载Flink默认采用了子优先(Child-First)的类加载策略来加载用户代码,以解决潜在的依赖冲突问题。我们可以通过源码来证明这一点。ChildFirstClassLoader的实现Flink中负责实现“子优先”加载逻辑的核心类是ChildFirstClassLoader。其关键的loadClassWithoutExceptionHandling方法定义了类加载的顺序。//...ex
- vscode 找不到python解释器,VS Code找不到python 3解释器
miao君
vscode找不到python解释器
IaminstallingPython3.7.2forthefirsttime,andI'musingtheVSCodepythonextension.WhenIrunpython-VIgetPython2.7.10whichisnotcorrect!WhenIselecttheusr/local/bin/python3interpreterinVSCodeIgetthiserrorwhenrun
- Linux vimgrep 详解
我是唐青枫
Linuxlinux运维
简介:vimgrep是Vim提供的「直接在指定文件集里用正则查找」的命令与外部grep不同,vimgrep在查到结果后会将匹配行写入快速修复列表(quickfixlist),并可通过:copen、:cnext、:cfirst等命令逐条跳转支持Vim的正则引擎,允许灵活使用Vim正则、分组、魔法模式等基本语法:vimgrep[!]/{pattern}/[g][j]{file_pattern}[...
- Missing Coin Sum 硬币可以组成的连续面额上限
YouQian772
贪心算法
题目描述Youhavencoinswithpositiveintegervalues.Whatisthesmallestsumyoucannotcreateusingasubsetofthecoins?输入Thefirstinputlinehasanintegern(1≤n≤2*105):thenumberofcoins.Thesecondlinehasnintegersx1,x2,...,xn(
- 2021-10-04
潇洒二爷
俄罗斯帝国,重开王室婚礼先河,作家维多利亚嫁给了罗曼诺夫大公RussianImperialhadfirstroyalweddingaftermorethanonecentuary很久很久以前……已经过去1个多世纪了,俄罗斯帝国(RussianImperial)又首开王室婚礼先河,维多利亚·罗曼诺娃·罗曼诺夫(VictoriaRomanovaRomanoff)王妃,以前的名字叫丽贝卡·贝塔里尼(Re
- 如何一天快速简单使用C#
09:00-10:00环境搭建+基础语法入门学习目标:能运行第一个C#程序,理解变量与输出资料/内容:环境搭建(15分钟)安装VisualStudio2022(官网下载,选“使用C#的桌面开发”,默认安装)新建控制台项目:打开VS→点击“创建新项目”→搜索“ConsoleApp(.NETFramework)”→命名“FirstApp”→确定HelloWorld与输出(20分钟)自动生成的代码:cs
- Chinese New Year
劈柴捌哥
DearJ,Ihopethisemailfindsyou.IamwritingtoaskforabsenceforFebruary15thandFebruary16thforChineseNewYear.February15thisChineseNewYear’sEveandtheFebruary16thisthefirstdayoftheNewYear,butcoincidentallythes
- OSPF多区域介绍
OSPF多区域的基本概念OSPF(OpenShortestPathFirst)是一种基于链路状态的动态路由协议,支持多区域划分以实现层次化网络设计。多区域通过将大型网络分割为多个逻辑区域,减少路由表规模、优化SPF计算并提高网络稳定性。区域0(Area0)是骨干区域,其他非骨干区域必须直接或间接连接到骨干区域。OSPF路由器角色内部路由器(IR):所有接口属于同一区域,仅维护本区域LSDB。DR(
- js中对象常用方法
吃肉肉不吃肉肉
Object.assign()…用于克隆varfirst={name:'kong'};varlast={age:18};varperson=Object.assign(first,last);console.log(person);//{name:'kong',age:18Object.is()…用于判断两个值是否相同Object.is(a,b);//返回true或false//注意,该函数与==
- SQL实战宝典:常用语句全解析
SQL常用语句分类示例数据查询(SELECT)查询所有列:SELECT*FROMemployees;查询特定列并排序:SELECTfirst_name,last_nameFROMemployeesORDERBYhire_dateDESC;条件筛选(WHERE):SELECTproduct_name,priceFROMproductsWHEREprice>100ANDcategory='Electr
- Java 的备忘录 01 — 入门篇
Java的备忘录01—入门篇大家好呀!今天开始,我打算写一系列关于Java的备忘录,主要是整理一些Java基础知识,方便自己回顾,也希望能帮到刚入门的小伙伴们。这第一篇,就从最基础的入门内容开始吧。我的博客名叫《坐山听雨忆轮回》,后续示例也会围绕这个名字展开。想要学习Java,首先得写出我们的第一个Java程序。下面就是这个经典程序的代码,输出我的博客名:publicclassFirstJava{
- 每日英汉对照(238-10-11)
快乐有你_1ec8
1CanIaskyousomething?我能问你件事吗?2Sure.当然。3DoyouknowyourfriendStuart?是关于你的朋友斯图尔特?4Well,heaskedmeoutagainandIsaidyes,andthenIstartedthinkingmaybeIshouldtalktoyourfirst.他又约我出去了,我答应了,然后我觉得应该先和你谈谈。5Aboutwhat?
- 元宇宙新秀MetaverseX,打造沙盒链游P2E经济龙头生态
问道财经
元宇宙区块链facebook比特币
Oculusrift首款沙盒链游MetaverseX,开启元宇宙VRP2E新经济生态!转载自BlockchainTimes,原文标题:Oculusrift'sfirstsandboxchaingame,MetaverseX,CreateanewleaderintheP2Eeconomyforsandboxmetaverse!10月29日,在FacebookConnect活动上Facebook执行长
- “我被一家软件公司给拒了,只因我不是 AI-First 程序员”
CSDN资讯
人工智能
责编|梦依丹出品|程序人生(ID:coder_life)投稿或寻求报道:
[email protected]仅仅因为在面试时坦言“我并不采用AI-First的开发流程”,这位程序员就在5分钟后收到了拒绝信:“感谢您的时间。我们决定选择一位在开发中更重视AI优先流程的候选人,以最大化生产效率并引领未来科技方向。”5分钟前,他刚刚与这家初创公司CEO进行最后一轮面试。近日,Reddit上一位开发者分享了这
- Fall in love at first sight
云舒无意007
云舒无意0076月24日清晨打开单向历,显示“宜相信未来。”“你亮过一切星星和灯我也知道,当一切都静静地在困倦的失望中熄灭之后,你才会到来。”————顾城一首顾城的诗,让我经历满满的期待后,终于等到你来,小提琴界的女神——穆洛娃。一个值得期待的夜晚,一个注定与女神一见钟情的夜晚,一个激情四射的夜晚。最早听说穆洛娃,是因为穆特。难道俩人之间有什么关系?后来陆续看了介绍,才真正知道三位小提琴界的女神级
- 4. langgraph中的react agent使用 (在react agent添加人机交互)
ZHOU_CAMP
langchain实践langchain人工智能
1.初始化模型首先,我们需要初始化要使用的模型。#Firstweinitializethemodelwewanttouse.fromlangchain_openaiimportChatOpenAImodel=ChatOpenAI(temperature=0,model="glm-4-plus",openai_api_key="your_api_key",openai_api_base="https
- 复盘日志
教育学一班赵欣怡
Part11,从本单元中我学到的最重要的理念(精读和视听说分别总结)【精读】及时预习复习【视听说】口语很重要,要多练习口语2,我在本片文章/音频/视频中学到的怦然心动的单词(精读和视听说分别总结)【精读】crucial.priority.professional.undergraduate.sitback.door-to-door.inthefirstplace.enhance.otherthan
- 中序线索二叉树找前驱和后继结点
懵懂的小黄
数据结构数据结构算法二叉树
中序二叉树//找到以p为根的子树中,第一个被中序遍历的结点ThreadNode*FirstNode(ThreadNode*p){while(p->ltag==0){//循环找到最左下结点p=p->lchild;}returnp;}//找到以p为根的子树中,最后一个被中序遍历的结点ThreadNode*LastNode(ThreadNode*p){while(p->rtag==0){p=p->rch
- 【Web APIs】JavaScript 节点操作 ③ ( 子节点操作 | firstChild 属性 | firstElementChild 属性 | children[0] 属性 )
韩曙亮
JavaScript前端javascript开发语言WebAPIs节点操作子节点操作js
文章目录一、JavaScript子节点操作1、获取子节点需求2、firstChild和lastChild属性(不推荐-基于所有类型节点)3、firstElementChild和lastElementChild属性(不推荐-兼容性问题)4、children[0]和children[element.children.length-1]属性(推荐-实际用法)5、完整代码示例在【WebAPIs】JavaS
- OSPF知识
之凹の鸥
网络智能路由器
在网络工程师、系统工程师等岗位的面试中,OSPF(OpenShortestPathFirst,开放最短路径优先)是高频考点,尤其是对中高级网络岗位(如网络架构师、运维工程师)。以下是OSPF的核心考点和必须掌握的知识点,按优先级分类整理,帮助你高效备考:一、基础概念与核心机制OSPF的定义与特点定义:OSPF是一种基于链路状态(Link-State)的内部网关协议(IGP),用于在自治系统(AS)
- C语言-栈和队列
HanLop
初阶数据结构-C语言c语言开发语言数据结构算法
文章目录引言栈和队列1.栈1.1栈的概念与结构1.2栈的实现2.队列2.1队列的概念与结构2.2队列的实现结语引言欢迎来到HanLop博客的C语言数据结构初阶系列。在之前的文章中,我们详细介绍了链表及其操作方法。在本篇文章中,我们将深入探讨栈和队列这两种常见的数据结构。栈和队列虽然都是线性数据结构,但它们在数据的存取方式上有着显著的区别。栈是一种后进先出(LIFO,LastInFirstOut)的
- 0618-月中回顾
WingP
6月前半月,一直很专注于《旅行的艺术》,进度很慢,一来是因为自己时间安排的缘故,看书的时间并不充裕,二来是每每翻开这本书都会沉浸其中“慢行”,每一段描写叙述都能勾起自己对生活的同感和片悟,缓慢悦读中。下半月,鉴于书令已在前半月用光光了,为了更好的把控读书时间,计划把读书的时间安排在早上。firstthingfirst.图片发自App
- SQL中EXPLAIN命令详解
FSW...
mysql数据库sql
SQL中EXPLAIN命令详解explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。使用方法,在select语句前加上explain就可以了:如:explainselectsurname,first_nameforma,bwherea.id=b.id1、EXPLAINtbl_nameEXPLAINtbl_name是DESCRIBE
- 2018.09.22
Mr_Oldman
It'sSaturday.SixSaiFongMariotooktheIRTlocalsubwaydowntown.Heheldthematchboxupatthelevelofhischestsohecricketcouldseeout.ThiswasthefirsttimeChesterhadbeenabletowatchwherehewasgoingonthesubway.Thelastti
- Python 计算月头月尾
一本正经胡说八道的猫
一本正经胡说八道的猫#!/usr/bin/envpython#-*-coding:utf-8-*-importdatetimeimportcalendartime=datetime.date(2022,1,20)#年,月,日#求该月第一天first_day=datetime.date(time.year,time.month,1)print('该月第一天:%s'%(first_day))#求前一个
- JVM调优参数详解及实践指南
爱学习的小熊猫_
jvmjava
文章目录JVM调优参数详解及实践指南一、堆内存调优参数1.基础堆内存设置2.进阶堆内存参数3.线程调优:二、垃圾回收器选择与配置1.串行回收器(SerialGC)2.并行回收器(ParallelGC/ThroughputCollector)3.CMS回收器(ConcurrentMarkSweep)4.G1回收器(GarbageFirst)三、分代内存调优五、实战调优策略1.调优流程2.常见场景配置
- jQuery 跨域访问的三种方式 No 'Access-Control-Allow-Origin' header is present on the reque
qiaolevip
每天进步一点点学习永无止境跨域众观千象
XMLHttpRequest cannot load http://v.xxx.com. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:63342' is therefore not allowed access. test.html:1
- mysql 分区查询优化
annan211
java分区优化mysql
分区查询优化
引入分区可以给查询带来一定的优势,但同时也会引入一些bug.
分区最大的优点就是优化器可以根据分区函数来过滤掉一些分区,通过分区过滤可以让查询扫描更少的数据。
所以,对于访问分区表来说,很重要的一点是要在where 条件中带入分区,让优化器过滤掉无需访问的分区。
可以通过查看explain执行计划,是否携带 partitions
- MYSQL存储过程中使用游标
chicony
Mysql存储过程
DELIMITER $$
DROP PROCEDURE IF EXISTS getUserInfo $$
CREATE PROCEDURE getUserInfo(in date_day datetime)-- -- 实例-- 存储过程名为:getUserInfo-- 参数为:date_day日期格式:2008-03-08-- BEGINdecla
- mysql 和 sqlite 区别
Array_06
sqlite
转载:
http://www.cnblogs.com/ygm900/p/3460663.html
mysql 和 sqlite 区别
SQLITE是单机数据库。功能简约,小型化,追求最大磁盘效率
MYSQL是完善的服务器数据库。功能全面,综合化,追求最大并发效率
MYSQL、Sybase、Oracle等这些都是试用于服务器数据量大功能多需要安装,例如网站访问量比较大的。而sq
- pinyin4j使用
oloz
pinyin4j
首先需要pinyin4j的jar包支持;jar包已上传至附件内
方法一:把汉字转换为拼音;例如:编程转换后则为biancheng
/**
* 将汉字转换为全拼
* @param src 你的需要转换的汉字
* @param isUPPERCASE 是否转换为大写的拼音; true:转换为大写;fal
- 微博发送私信
随意而生
微博
在前面文章中说了如和获取登陆时候所需要的cookie,现在只要拿到最后登陆所需要的cookie,然后抓包分析一下微博私信发送界面
http://weibo.com/message/history?uid=****&name=****
可以发现其发送提交的Post请求和其中的数据,
让后用程序模拟发送POST请求中的数据,带着cookie发送到私信的接入口,就可以实现发私信的功能了。
- jsp
香水浓
jsp
JSP初始化
容器载入JSP文件后,它会在为请求提供任何服务前调用jspInit()方法。如果您需要执行自定义的JSP初始化任务,复写jspInit()方法就行了
JSP执行
这一阶段描述了JSP生命周期中一切与请求相关的交互行为,直到被销毁。
当JSP网页完成初始化后
- 在 Windows 上安装 SVN Subversion 服务端
AdyZhang
SVN
在 Windows 上安装 SVN Subversion 服务端2009-09-16高宏伟哈尔滨市道里区通达街291号
最佳阅读效果请访问原地址:http://blog.donews.com/dukejoe/archive/2009/09/16/1560917.aspx
现在的Subversion已经足够稳定,而且已经进入了它的黄金时段。我们看到大量的项目都在使
- android开发中如何使用 alertDialog从listView中删除数据?
aijuans
android
我现在使用listView展示了很多的配置信息,我现在想在点击其中一条的时候填出 alertDialog,点击确认后就删除该条数据,( ArrayAdapter ,ArrayList,listView 全部删除),我知道在 下面的onItemLongClick 方法中 参数 arg2 是选中的序号,但是我不知道如何继续处理下去 1 2 3
- jdk-6u26-linux-x64.bin 安装
baalwolf
linux
1.上传安装文件(jdk-6u26-linux-x64.bin)
2.修改权限
[root@localhost ~]# ls -l /usr/local/jdk-6u26-linux-x64.bin
3.执行安装文件
[root@localhost ~]# cd /usr/local
[root@localhost local]# ./jdk-6u26-linux-x64.bin&nbs
- MongoDB经典面试题集锦
BigBird2012
mongodb
1.什么是NoSQL数据库?NoSQL和RDBMS有什么区别?在哪些情况下使用和不使用NoSQL数据库?
NoSQL是非关系型数据库,NoSQL = Not Only SQL。
关系型数据库采用的结构化的数据,NoSQL采用的是键值对的方式存储数据。
在处理非结构化/半结构化的大数据时;在水平方向上进行扩展时;随时应对动态增加的数据项时可以优先考虑使用NoSQL数据库。
在考虑数据库的成熟
- JavaScript异步编程Promise模式的6个特性
bijian1013
JavaScriptPromise
Promise是一个非常有价值的构造器,能够帮助你避免使用镶套匿名方法,而使用更具有可读性的方式组装异步代码。这里我们将介绍6个最简单的特性。
在我们开始正式介绍之前,我们想看看Javascript Promise的样子:
var p = new Promise(function(r
- [Zookeeper学习笔记之八]Zookeeper源代码分析之Zookeeper.ZKWatchManager
bit1129
zookeeper
ClientWatchManager接口
//接口的唯一方法materialize用于确定那些Watcher需要被通知
//确定Watcher需要三方面的因素1.事件状态 2.事件类型 3.znode的path
public interface ClientWatchManager {
/**
* Return a set of watchers that should
- 【Scala十五】Scala核心九:隐式转换之二
bit1129
scala
隐式转换存在的必要性,
在Java Swing中,按钮点击事件的处理,转换为Scala的的写法如下:
val button = new JButton
button.addActionListener(
new ActionListener {
def actionPerformed(event: ActionEvent) {
- Android JSON数据的解析与封装小Demo
ronin47
转自:http://www.open-open.com/lib/view/open1420529336406.html
package com.example.jsondemo;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
impor
- [设计]字体创意设计方法谈
brotherlamp
UIui自学ui视频ui教程ui资料
从古至今,文字在我们的生活中是必不可少的事物,我们不能想象没有文字的世界将会是怎样。在平面设计中,UI设计师在文字上所花的心思和功夫最多,因为文字能直观地表达UI设计师所的意念。在文字上的创造设计,直接反映出平面作品的主题。
如设计一幅戴尔笔记本电脑的广告海报,假设海报上没有出现“戴尔”两个文字,即使放上所有戴尔笔记本电脑的图片都不能让人们得知这些电脑是什么品牌。只要写上“戴尔笔
- 单调队列-用一个长度为k的窗在整数数列上移动,求窗里面所包含的数的最大值
bylijinnan
java算法面试题
import java.util.LinkedList;
/*
单调队列 滑动窗口
单调队列是这样的一个队列:队列里面的元素是有序的,是递增或者递减
题目:给定一个长度为N的整数数列a(i),i=0,1,...,N-1和窗长度k.
要求:f(i) = max{a(i-k+1),a(i-k+2),..., a(i)},i = 0,1,...,N-1
问题的另一种描述就
- struts2处理一个form多个submit
chiangfai
struts2
web应用中,为完成不同工作,一个jsp的form标签可能有多个submit。如下代码:
<s:form action="submit" method="post" namespace="/my">
<s:textfield name="msg" label="叙述:">
- shell查找上个月,陷阱及野路子
chenchao051
shell
date -d "-1 month" +%F
以上这段代码,假如在2012/10/31执行,结果并不会出现你预计的9月份,而是会出现八月份,原因是10月份有31天,9月份30天,所以-1 month在10月份看来要减去31天,所以直接到了8月31日这天,这不靠谱。
野路子解决:假设当天日期大于15号
- mysql导出数据中文乱码问题
daizj
mysql中文乱码导数据
解决mysql导入导出数据乱码问题方法:
1、进入mysql,通过如下命令查看数据库编码方式:
mysql> show variables like 'character_set_%';
+--------------------------+----------------------------------------+
| Variable_name&nbs
- SAE部署Smarty出现:Uncaught exception 'SmartyException' with message 'unable to write
dcj3sjt126com
PHPsmartysae
对于SAE出现的问题:Uncaught exception 'SmartyException' with message 'unable to write file...。
官方给出了详细的FAQ:http://sae.sina.com.cn/?m=faqs&catId=11#show_213
解决方案为:
01
$path
- 《教父》系列台词
dcj3sjt126com
Your love is also your weak point.
你的所爱同时也是你的弱点。
If anything in this life is certain, if history has taught us anything, it is
that you can kill anyone.
不顾家的人永远不可能成为一个真正的男人。 &
- mongodb安装与使用
dyy_gusi
mongo
一.MongoDB安装和启动,widndows和linux基本相同
1.下载数据库,
linux:mongodb-linux-x86_64-ubuntu1404-3.0.3.tgz
2.解压文件,并且放置到合适的位置
tar -vxf mongodb-linux-x86_64-ubun
- Git排除目录
geeksun
git
在Git的版本控制中,可能有些文件是不需要加入控制的,那我们在提交代码时就需要忽略这些文件,下面讲讲应该怎么给Git配置一些忽略规则。
有三种方法可以忽略掉这些文件,这三种方法都能达到目的,只不过适用情景不一样。
1. 针对单一工程排除文件
这种方式会让这个工程的所有修改者在克隆代码的同时,也能克隆到过滤规则,而不用自己再写一份,这就能保证所有修改者应用的都是同一
- Ubuntu 创建开机自启动脚本的方法
hongtoushizi
ubuntu
转载自: http://rongjih.blog.163.com/blog/static/33574461201111504843245/
Ubuntu 创建开机自启动脚本的步骤如下:
1) 将你的启动脚本复制到 /etc/init.d目录下 以下假设你的脚本文件名为 test。
2) 设置脚本文件的权限 $ sudo chmod 755
- 第八章 流量复制/AB测试/协程
jinnianshilongnian
nginxluacoroutine
流量复制
在实际开发中经常涉及到项目的升级,而该升级不能简单的上线就完事了,需要验证该升级是否兼容老的上线,因此可能需要并行运行两个项目一段时间进行数据比对和校验,待没问题后再进行上线。这其实就需要进行流量复制,把流量复制到其他服务器上,一种方式是使用如tcpcopy引流;另外我们还可以使用nginx的HttpLuaModule模块中的ngx.location.capture_multi进行并发
- 电商系统商品表设计
lkl
DROP TABLE IF EXISTS `category`; -- 类目表
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `category` (
`id` int(11) NOT NUL
- 修改phpMyAdmin导入SQL文件的大小限制
pda158
sqlmysql
用phpMyAdmin导入mysql数据库时,我的10M的
数据库不能导入,提示mysql数据库最大只能导入2M。
phpMyAdmin数据库导入出错: You probably tried to upload too large file. Please refer to documentation for ways to workaround this limit.
- Tomcat性能调优方案
Sobfist
apachejvmtomcat应用服务器
一、操作系统调优
对于操作系统优化来说,是尽可能的增大可使用的内存容量、提高CPU的频率,保证文件系统的读写速率等。经过压力测试验证,在并发连接很多的情况下,CPU的处理能力越强,系统运行速度越快。。
【适用场景】 任何项目。
二、Java虚拟机调优
应该选择SUN的JVM,在满足项目需要的前提下,尽量选用版本较高的JVM,一般来说高版本产品在速度和效率上比低版本会有改进。
J
- SQLServer学习笔记
vipbooks
数据结构xml
1、create database school 创建数据库school
2、drop database school 删除数据库school
3、use school 连接到school数据库,使其成为当前数据库
4、create table class(classID int primary key identity not null)
创建一个名为class的表,其有一