- pip安装慢导致超时问题
Cyfeng
1.视情况开/关翻墙2.在pip后面跟-i来指定源比如用豆瓣的源来安装web.py框架:sudopipinstallnumpy-ihttps://pypi.doubanio.com/simple/sudopip3installnumpy-ihttps://pypi.doubanio.com/simple/注意后面要有/simple/目录推荐的源除了豆瓣之外,还推荐清华大学的tuna源:sudopi
- 2020-12-13
程序员目目
原始Python服务器之前我的Python教程中有人留言,表示只学Python没有用,必须学会一个框架(比如Django和web.py)才能找到工作。而我的想法是,掌握一个类似于框架的高级工具是有用的,但是基础的东西可以让你永远不被淘汰。不要被工具限制了自己的发展。今天,我在这里想要展示的,就是不使用框架,甚至不使用Python标准库中的高级包,只使用标准库中的socket接口(我不是很明白套接字
- Jupyter因卸载重装导致的问题修复
白日与明月
pythonpython
因为一些原因,卸载了Anaconda2的版本,转向3..发现Jupyter挂了.百思不得其解.后来了解到是因为内核找不到的问题导致的.这里整理了一下处理办法错误内容:Traceback(mostrecentcalllast):File"c:\programfiles\python36\lib\site-packages\tornado\web.py",line1543,in_executeresu
- 【错误记录/web.py】RuntimeError: generator raised StopIteration(in __iter__ raise StopIteration())
o0o_-_
错误记录
错误详情web.py版本0.40Traceback(mostrecentcalllast):File"/home/pi/.local/lib/python3.7/site-packages/web/httpserver.py",line239,in__iter__raiseStopIteration()StopIterationTheaboveexceptionwasthedirectcauseo
- 通过web.py搭建基础HTTP蜜罐
Ditto2008
PythonPython蜜罐web.py
honeypot.py:#-*-coding:utf-8-*-'基于webpy的http蜜罐。根据需求开放不同的监听端口。'__author__='GoGoCaptain'importwebimportsysimportplatformimportos#根据命令行输入获取监听的端口port=sys.argv[1]#创建log存放目录ifplatform.system()=='Linux':log_
- web.py 的基本使用方法
gootyking
一些方法记录python后端ubuntu
最近要快速做一些DEMO,所以直接用了web.py做后台web服务,记录下最基本最简单使用方法,理解一下它的逻辑。web.py的介绍就不说了,一搜就有,直接开始。-------------------------------------我的环境是这样的:系统:ubuntu22.04python:3.8(conda环境)如果大家用下来和我经历的不一样,那就再琢磨琢磨,总会解决的~----------
- 记一次:Python的学习笔记二(Django项目1)
敬业小码哥
python学习笔记
前言:书接上回,认识了Python项目环境,那么开始做一些案例了,笔者是Java出身,接触的也大都是web项目,那么Python的web项目有哪些呢?了解了一下有很多,37个之多,有Django框架Flask框架Pyramid框架web.py框架Tornado框架TurboGears框架...各种各样吧。所以学习的话也是推荐排名靠前的,各个框架的优缺点不做展开讲解目录总结图1.安装django安装
- 多平台自动登录校园网drcom
3D_DLW
Linux网络编程pythonLinux网络校园网
目录使用python实现drcom服务的接口web.py编写PowerShell脚本执行自动登录auto_login_web.ps1实现开机自动启动编写bash脚本执行自动登录auto_login_web.sh配置启动服务使用python实现drcom服务的接口根据校园网登录界面F12解析请求,使用python3实现3个功能:检查登录状态登录注销web.pyimportrequestsimport
- web.py python服务器两种模板template使用方法
Coding的叶子
pythonpythonweb.pyhtmlxml模板消息
【版权声明】本文为博主原创文章,未经博主允许严禁转载,我们会定期进行侵权检索。更多python应用或算法总结请关注我的博客:https://blog.csdn.net/suiyingy,或”乐乐感知学堂“公众号。web.py是PythonWeb框架之一,可以用于开发Web应用程序。web.template.render是web.py中的一个模板引擎类,用于从文件系统中加载和渲染模板文件。Web.p
- 趣学python编程(七、实现个小网站如此简单 web.py使用介绍)
特立独行的猫a
趣学python编程前端javascriptlinuxweb.py网站
这里先拿一个小网站的例子来举例,保持好奇心就可以了。因为兴趣才是最好的老师,它能激发人内在的行动力。这里介绍个使用web.py轻量级框架实现的一个小网站,可以看到实现个小网站并不难。python都能用来干什么?那么网站就是它众多功能中的其中之一。web.py框架介绍正如其名,web.py是一个采用Python作为开发语言的Web框架,简单且强大。俄罗斯排名第一的Yandex搜索引擎基于这个框架开发
- python web py 封装_web.py网络框架
细雨9523
pythonwebpy封装
玩webpy记本人从来没有接触过web编程,突然对这个产生了兴趣。本人之前学过一些Python语言,有点基础。看到网上有很多关于Python的网络开发的资料,于是想玩一玩。我所了解的Python网络开发框架有django,webpy。由于本人在web上没有什么基础,于是决定从轻量级的webpy入手。我这里...文章李名赫2016-04-229533浏览量Python3|Django后台管理框架Xa
- Django
Juye
1.什么是Django?Django,web.py,flash....网页框架Django优点:1.优雅的orm映射2.完善的后台管理系统3.完美的路由系统4.强大的表单功能5.完善的模板试图的支持6.实现了mvt先进理念的架构框架:一堆模块的集合,提供了基本的特定的复杂功能和处理流程的实现,扩展功能模块:一堆函数的集合,一个或者多个py文件组成,很少具有流程控制,封装功能Django安装pipi
- python3.7.2使用web.py报错解决办法
SaylerZheng
python3.7.2使用web.py报错解决办法首先请确保使用pipinstallweb.py==0.40-dev11安装web.py。运行官网实例:importweburls=('/(.*)','hello')app=web.application(urls,globals())classhello:defGET(self,name):ifnotname:name='World'return'
- python web.py框架 无法正常打开0.0.0.0:8080网页
HackerLZH
Pythonpythonweb
最近意外用到了web.py框架,才发现这家伙比Django还轻量,还简洁。但是开局就碰到了问题。importweburls=('/(.*)','hello')app=web.application(urls,globals())classhello:defGET(self,name):ifnotname:name='World'return'Hello,'+name+'!'if__name__==
- LLM-RAG-WEB 大模型+文件+可视化对话界面
loong_XL
深度学习langchainLLMstreamlitRAG
注意:这里只是简单实现了功能和界面,文件对话也暂时只支持一个文件,如果跳到模型对话再切换回文件对话会文件会删除重置会话,但模型对话切换回来时保留之前会话的。1、代码(使用步骤说明在链接里)参考下载地址:https://github.com/lonngxiang/LLM-RAG-WEB/代码框架说明:web.py:项目入口,web页面model.py:对接模型接口split.py:文档切分confi
- python web py官网_2020让人又爱又恨的python web框架--web.py
weixin_39989215
pythonwebpy官网
之前想搞个微信公众号,官方拿web.py框架举的例子,然后我入坑了,我被它的简约所吸引了,如果说Django是轻量级框架,那web.py简直就是超轻量级框架,比起Django,它省去了很多繁琐的东西,自然也有一些web领域的东西尚未实现,毕竟网上有人说早期版本连数据库都不支持。对于初学者入门web开发是再合适不过了,更能专注于web基础概念的理解与掌握(比如GET和POST请求)。我爱的是它的简约
- Python web 框架web.py「简约美」
刘贤松
基础前端
web.pyisawebframeworkforPythonthatisassimpleasitispowerful.web.pyisinthepublicdomain,youcanuseitforwhateverpurposewithabsolutelynorestrictions.web.py是一个简单而强大的PythonWeb框架。web.py属于公共领域,您可以将其用于任何目的,绝对没有任
- 华为云服务器如何搭建微信公众号后台-收发文本信息?
有头发程序猿
云服务器华为云服务器微信
概述在本教程中,您将学会使用弹性云服务器(以下简称ECS)搭建微信公众号处理后台,使用Python语言编写对应的微信消息处理逻辑代码,接收从微信服务端转发过来的消息,并返回处理结果给最终用户,如图1所示。图1流程简介您需要了解的背景知识有:CentOS(Linux)操作系统、Python语言、Web.py框架、HTTP/XML协议。说明:您还可以选择SolutionasCode一键式部署方式自动部
- 【web开发】1、flask入门和html开发
TechMasterPlus
web开发flaskwebpython
文章目录一、前端三剑客是什么?二、快速开发网站1.安装flask2.根目录下创建templates目录及web.py文件三、HTML3.1常用标签3.2列表标签3.3表格标签3.4INPUT系列(7个)3.5下拉框3.6多行文本3.7案例:用户注册页面一、前端三剑客是什么?HTML:标签具有模式特点。CSS:修改标签的特点。JavaScript:动态效果。二、快速开发网站1.安装flask在终端输
- web.py获取请求头中的数据
空山晚来秋
想获取headers中的数据,但没能找到明细的说明。官方wiki地址:https://webpy.org/cookbook/ctx.zh-cnweb.py中,web.ctx还有一个方法是values(),可以查看所有请求头中的数据#获取方式print(web.ctx.values())#返回数据dict_values(['200OK',[],'',{'ACTUAL_SERVER_PROTOCOL'
- python 模板语言
清晨起床敲代码
前言:公司之前的项目是用web.py开发的,使用的模板也是自带的Templetor模板。参考Python模板引擎性能对比:funcname:render_djangoused0.071762funcname:render_webpyused0.015729funcname:render_bottleused0.008752funcname:render_tornadoused0.005675fun
- Python Web 编程, Django 框架 -- (1)Django基本介绍
李秀亮
Django基本介绍当我们在浏览器上输入URL并回车的时候,浏览器作为客户端,会将URL的请求发送给指定的服务器,然后服务器会返回一系列的响应,包括网页,图片,视频等。利用Python进行网站开发,有一些框架可以用来简化开发过程,例如,web.py,Django,Flask,Tornado,FastAPI,aiohttp等框架。Django是一个由Python语言开发的开源的Web框架,采用MTV
- 【Python Web】Flask框架(一)快速开发网站
LibraFree
python篇pythonflask前端
文章目录Flask快速开发网站网站优化html综合实例(二)-链接,表格,列表,表单,的使用Flask快速开发网站终端执行以下命令,安装flaskpip3installflask创建python文件夹,并且创建文件(文件名不为flask),以下以web.py为例fromflaskimportFlask#导入flaskapp=Flask(__name__)#Flsak是一个类#创建了网址/show/
- 【Docker实战】在Docker下部署python测试环境
江湖有缘
Docker小白快速入门dockerpython容器
【Docker实战】在Docker下部署python测试环境一、检查本地环境1.1本地实践介绍1.2环境规划1.3检查Docker状态二、下载python镜像三、创建python文件3.1新建目录3.2编辑测试python文件四、直接使用python容器方式4.1给临时容器设置别名4.2运行python文件五、使用Dockerfile构建镜像方式5.1编辑web.py文件5.2编辑dockerfi
- python用web.py之登录界面
boger666
pythonpythonhtmlcss
web.py是python第三方库,用于web开发的一个库,用它来做一个简单的登录界面;前提是python导入了web.py库;首先我们建立一个hello.py文件;importweb//导入web模块;urls=(‘/(.*)’,‘hello’)//正则表达式;app=web.application(urls,globals())classhello:defGET(self,name)://请求
- 轻量级Python web 框架:web.py
MiracleJQ
From:https://www.oschina.net/question/5189_4306Web.pygithub地址:https://github.com/webpy/webpyhttps://pypi.python.org/pypi/web.pyWeb.pyCookbook简体中文版:http://webpy.org/cookbook/index.zh-cnweb.py0.3新手指南:ht
- python 3.x import web不成功 & python 3.x中安装web.py
邹霍梁@多度物联
微信公众平台
python3.x中安装web.py最近决定从python2.7转移到3.x上工作。使用数据库的时候,依然选用了之前比较感兴趣的web.py但安装的时候似乎发现有各种问题。ImportError:Nomodulenamed‘utils’ModuleNotFoundError:Nomodulenamed‘db’等等,似乎也没有发现新的解决方案。最后决定试一试dev的版本。pipinstallweb.
- Flask的简单介绍及使用方法简介
珂鸣玉
一、什么是flask?Falsk是由python开发的轻量的web框架,小巧,灵活,一个脚本就可以启动一个web项目,开发的难度比较大,flask好多的模块是按照django的思路开发的。和flask类似的框架还有web.py,那么,flask和django有什么区别呢?详细区别可参照https://blog.csdn.net/tulan_xiaoxin/article/details/79132
- 2019-06-26 NER展示界面建设01(安装和使用web.py)
BreendaWang
使用语言:python3.6使用框架:web.py1.安装框架:由于使用python3,所以在控制台中使用以下命令进行安装:pipinstallweb.py==0.40.dev02.helloworld:新建一个python文件,写入如下代码:importweburls=('/','index')classindex:defGET(self):return"Hello,world!"if__nam
- web.py个人项目开发实录(序)
Daivlin
web.py是我见过的最简单的web开发框架,没有之一。作为业余的编程爱好者,既然人生苦短,要用python,那web开发,我就用最简的web.py吧。本序列主要为记录个人在web.py的使用中的一些总结,权当备忘,作为以后的一些回顾。因为个人是业余的,对于计算机知识,很多方面是理解不够的,有些观点也许是错误的,望看官予以指正为谢!参考资料:1.https://www.imooc.com/arti
- java责任链模式
3213213333332132
java责任链模式村民告县长
责任链模式,通常就是一个请求从最低级开始往上层层的请求,当在某一层满足条件时,请求将被处理,当请求到最高层仍未满足时,则请求不会被处理。
就是一个请求在这个链条的责任范围内,会被相应的处理,如果超出链条的责任范围外,请求不会被相应的处理。
下面代码模拟这样的效果:
创建一个政府抽象类,方便所有的具体政府部门继承它。
package 责任链模式;
/**
*
- linux、mysql、nginx、tomcat 性能参数优化
ronin47
一、linux 系统内核参数
/etc/sysctl.conf文件常用参数 net.core.netdev_max_backlog = 32768 #允许送到队列的数据包的最大数目
net.core.rmem_max = 8388608 #SOCKET读缓存区大小
net.core.wmem_max = 8388608 #SOCKET写缓存区大
- php命令行界面
dcj3sjt126com
PHPcli
常用选项
php -v
php -i PHP安装的有关信息
php -h 访问帮助文件
php -m 列出编译到当前PHP安装的所有模块
执行一段代码
php -r 'echo "hello, world!";'
php -r 'echo "Hello, World!\n";'
php -r '$ts = filemtime("
- Filter&Session
171815164
session
Filter
HttpServletRequest requ = (HttpServletRequest) req;
HttpSession session = requ.getSession();
if (session.getAttribute("admin") == null) {
PrintWriter out = res.ge
- 连接池与Spring,Hibernate结合
g21121
Hibernate
前几篇关于Java连接池的介绍都是基于Java应用的,而我们常用的场景是与Spring和ORM框架结合,下面就利用实例学习一下这方面的配置。
1.下载相关内容: &nb
- [简单]mybatis判断数字类型
53873039oycg
mybatis
昨天同事反馈mybatis保存不了int类型的属性,一直报错,错误信息如下:
Caused by: java.lang.NumberFormatException: For input string: "null"
at sun.mis
- 项目启动时或者启动后ava.lang.OutOfMemoryError: PermGen space
程序员是怎么炼成的
eclipsejvmtomcatcatalina.sheclipse.ini
在启动比较大的项目时,因为存在大量的jsp页面,所以在编译的时候会生成很多的.class文件,.class文件是都会被加载到jvm的方法区中,如果要加载的class文件很多,就会出现方法区溢出异常 java.lang.OutOfMemoryError: PermGen space.
解决办法是点击eclipse里的tomcat,在
- 我的crm小结
aijuans
crm
各种原因吧,crm今天才完了。主要是接触了几个新技术:
Struts2、poi、ibatis这几个都是以前的项目中用过的。
Jsf、tapestry是这次新接触的,都是界面层的框架,用起来也不难。思路和struts不太一样,传说比较简单方便。不过个人感觉还是struts用着顺手啊,当然springmvc也很顺手,不知道是因为习惯还是什么。jsf和tapestry应用的时候需要知道他们的标签、主
- spring里配置使用hibernate的二级缓存几步
antonyup_2006
javaspringHibernatexmlcache
.在spring的配置文件中 applicationContent.xml,hibernate部分加入
xml 代码
<prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>
<prop key="hi
- JAVA基础面试题
百合不是茶
抽象实现接口String类接口继承抽象类继承实体类自定义异常
/* * 栈(stack):主要保存基本类型(或者叫内置类型)(char、byte、short、 *int、long、 float、double、boolean)和对象的引用,数据可以共享,速度仅次于 * 寄存器(register),快于堆。堆(heap):用于存储对象。 */ &
- 让sqlmap文件 "继承" 起来
bijian1013
javaibatissqlmap
多个项目中使用ibatis , 和数据库表对应的 sqlmap文件(增删改查等基本语句),dao, pojo 都是由工具自动生成的, 现在将这些自动生成的文件放在一个单独的工程中,其它项目工程中通过jar包来引用 ,并通过"继承"为基础的sqlmap文件,dao,pojo 添加新的方法来满足项
- 精通Oracle10编程SQL(13)开发触发器
bijian1013
oracle数据库plsql
/*
*开发触发器
*/
--得到日期是周几
select to_char(sysdate+4,'DY','nls_date_language=AMERICAN') from dual;
select to_char(sysdate,'DY','nls_date_language=AMERICAN') from dual;
--建立BEFORE语句触发器
CREATE O
- 【EhCache三】EhCache查询
bit1129
ehcache
本文介绍EhCache查询缓存中数据,EhCache提供了类似Hibernate的查询API,可以按照给定的条件进行查询。
要对EhCache进行查询,需要在ehcache.xml中设定要查询的属性
数据准备
@Before
public void setUp() {
//加载EhCache配置文件
Inpu
- CXF框架入门实例
白糖_
springWeb框架webserviceservlet
CXF是apache旗下的开源框架,由Celtix + XFire这两门经典的框架合成,是一套非常流行的web service框架。
它提供了JAX-WS的全面支持,并且可以根据实际项目的需要,采用代码优先(Code First)或者 WSDL 优先(WSDL First)来轻松地实现 Web Services 的发布和使用,同时它能与spring进行完美结合。
在apache cxf官网提供
- angular.equals
boyitech
AngularJSAngularJS APIAnguarJS 中文APIangular.equals
angular.equals
描述:
比较两个值或者两个对象是不是 相等。还支持值的类型,正则表达式和数组的比较。 两个值或对象被认为是 相等的前提条件是以下的情况至少能满足一项:
两个值或者对象能通过=== (恒等) 的比较
两个值或者对象是同样类型,并且他们的属性都能通过angular
- java-腾讯暑期实习生-输入一个数组A[1,2,...n],求输入B,使得数组B中的第i个数字B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]
bylijinnan
java
这道题的具体思路请参看 何海涛的微博:http://weibo.com/zhedahht
import java.math.BigInteger;
import java.util.Arrays;
public class CreateBFromATencent {
/**
* 题目:输入一个数组A[1,2,...n],求输入B,使得数组B中的第i个数字B[i]=A
- FastDFS 的安装和配置 修订版
Chen.H
linuxfastDFS分布式文件系统
FastDFS Home:http://code.google.com/p/fastdfs/
1. 安装
http://code.google.com/p/fastdfs/wiki/Setup http://hi.baidu.com/leolance/blog/item/3c273327978ae55f93580703.html
安装libevent (对libevent的版本要求为1.4.
- [强人工智能]拓扑扫描与自适应构造器
comsci
人工智能
当我们面对一个有限拓扑网络的时候,在对已知的拓扑结构进行分析之后,发现在连通点之后,还存在若干个子网络,且这些网络的结构是未知的,数据库中并未存在这些网络的拓扑结构数据....这个时候,我们该怎么办呢?
那么,现在我们必须设计新的模块和代码包来处理上面的问题
- oracle merge into的用法
daizj
oraclesqlmerget into
Oracle中merge into的使用
http://blog.csdn.net/yuzhic/article/details/1896878
http://blog.csdn.net/macle2010/article/details/5980965
该命令使用一条语句从一个或者多个数据源中完成对表的更新和插入数据. ORACLE 9i 中,使用此命令必须同时指定UPDATE 和INSE
- 不适合使用Hadoop的场景
datamachine
hadoop
转自:http://dev.yesky.com/296/35381296.shtml。
Hadoop通常被认定是能够帮助你解决所有问题的唯一方案。 当人们提到“大数据”或是“数据分析”等相关问题的时候,会听到脱口而出的回答:Hadoop! 实际上Hadoop被设计和建造出来,是用来解决一系列特定问题的。对某些问题来说,Hadoop至多算是一个不好的选择,对另一些问题来说,选择Ha
- YII findAll的用法
dcj3sjt126com
yii
看文档比较糊涂,其实挺简单的:
$predictions=Prediction::model()->findAll("uid=:uid",array(":uid"=>10));
第一个参数是选择条件:”uid=10″。其中:uid是一个占位符,在后面的array(“:uid”=>10)对齐进行了赋值;
更完善的查询需要
- vim 常用 NERDTree 快捷键
dcj3sjt126com
vim
下面给大家整理了一些vim NERDTree的常用快捷键了,这里几乎包括了所有的快捷键了,希望文章对各位会带来帮助。
切换工作台和目录
ctrl + w + h 光标 focus 左侧树形目录ctrl + w + l 光标 focus 右侧文件显示窗口ctrl + w + w 光标自动在左右侧窗口切换ctrl + w + r 移动当前窗口的布局位置
o 在已有窗口中打开文件、目录或书签,并跳
- Java把目录下的文件打印出来
蕃薯耀
列出目录下的文件文件夹下面的文件目录下的文件
Java把目录下的文件打印出来
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年7月11日 11:02:
- linux远程桌面----VNCServer与rdesktop
hanqunfeng
Desktop
windows远程桌面到linux,需要在linux上安装vncserver,并开启vnc服务,同时需要在windows下使用vnc-viewer访问Linux。vncserver同时支持linux远程桌面到linux。
linux远程桌面到windows,需要在linux上安装rdesktop,同时开启windows的远程桌面访问。
下面分别介绍,以windo
- guava中的join和split功能
jackyrong
java
guava库中,包含了很好的join和split的功能,例子如下:
1) 将LIST转换为使用字符串连接的字符串
List<String> names = Lists.newArrayList("John", "Jane", "Adam", "Tom");
- Web开发技术十年发展历程
lampcy
androidWeb浏览器html5
回顾web开发技术这十年发展历程:
Ajax
03年的时候我上六年级,那时候网吧刚在小县城的角落萌生。传奇,大话西游第一代网游一时风靡。我抱着试一试的心态给了网吧老板两块钱想申请个号玩玩,然后接下来的一个小时我一直在,注,册,账,号。
彼时网吧用的512k的带宽,注册的时候,填了一堆信息,提交,页面跳转,嘣,”您填写的信息有误,请重填”。然后跳转回注册页面,以此循环。我现在时常想,如果当时a
- 架构师之mima-----------------mina的非NIO控制IOBuffer(说得比较好)
nannan408
buffer
1.前言。
如题。
2.代码。
IoService
IoService是一个接口,有两种实现:IoAcceptor和IoConnector;其中IoAcceptor是针对Server端的实现,IoConnector是针对Client端的实现;IoService的职责包括:
1、监听器管理
2、IoHandler
3、IoSession
- ORA-00054:resource busy and acquire with NOWAIT specified
Everyday都不同
oraclesessionLock
[Oracle]
今天对一个数据量很大的表进行操作时,出现如题所示的异常。此时表明数据库的事务处于“忙”的状态,而且被lock了,所以必须先关闭占用的session。
step1,查看被lock的session:
select t2.username, t2.sid, t2.serial#, t2.logon_time
from v$locked_obj
- javascript学习笔记
tntxia
JavaScript
javascript里面有6种基本类型的值:number、string、boolean、object、function和undefined。number:就是数字值,包括整数、小数、NaN、正负无穷。string:字符串类型、单双引号引起来的内容。boolean:true、false object:表示所有的javascript对象,不用多说function:我们熟悉的方法,也就是
- Java enum的用法详解
xieke90
enum枚举
Java中枚举实现的分析:
示例:
public static enum SEVERITY{
INFO,WARN,ERROR
}
enum很像特殊的class,实际上enum声明定义的类型就是一个类。 而这些类都是类库中Enum类的子类 (java.l