- CSS学习笔记9——定位position
green_pine_
CSScss学习笔记前端html
CSS定位可以让盒子自由的在某个盒子内移动位置或者固定屏幕中某个位置,并且可以压住其他盒子定位组成定位=定位模式+边偏移定位模式用于指定一个元素在文档中的定位方式边偏移决定了该元素的最终位置定位模式通过position属性来设置值语义static静态定位relative相对定位absolute绝对定位fixed固定定位边偏移属性:top、bottom、left、right属性示例描述toptop:
- 矩阵可逆的充要条件及证明
吴天德少侠
线性代数
1.定理设AAA为nnn阶矩阵,则如下命题等价AAA是可逆的AX=0AX=0AX=0只有0解AAA与III行等价AAA可表示为有限个初等矩阵的乘积2.证明2.1证明:1→21\rightarrow21→2已知AAA可逆,证明AX=0AX=0AX=0只有0解。证明:∵A\because\A∵A可逆∴A−1\therefore\A^-1∴A−1存在⇒A−1AX=A−10\Rightarrow\A^{-
- HarmonyOS相对布局
秃顶老男孩.
harmonyos华为ui
RelativeContainer()12+1:概念相对布局容器内部一定要有子组件才能显示,如果没子组件,该容器不占空间容器内子组件区分水平方法和垂直方向2:子组件方向水平方向:left,middle,right对应容器的HorizontalAlign.Start,HorizontalAlign.Center,HorizontalAlign.end垂直方向:top,center,bottom对应的
- 【自动化】使用PlayWright+代理IP实现多环境隔离
青塬科技
Python
Playwright是由微软公司2020年初发布的新一代自动化测试工具,相较于目前最常用的Selenium,它仅用一个API即可自动执行Chromium、Firefox、WebKit等主流浏览器自动化操作。对各种开发语言也有非常好的支持。常用的NodeJs、Java、python都有支持,且有丰富的文档参考。Python环境下的安装使用1、安装依赖库pipinstallplaywright2、安装
- 如何修改Chromium内核|浏览器指纹伪装|Puppeteer指纹|Playwright指纹- Chromium内核修改与浏览器指纹伪装方法-anti-fingerprint指纹浏览器如何搭建环境
药尘韩立
前端javascript开发语言python自动化ai
Chromium内核是许多现代浏览器的基础,如Chrome和Edge。在进行网络爬取、自动化测试或数据挖掘等任务时,使用Puppeteer或Playwright等工具时,浏览器指纹的重要性不言而喻。本文将介绍如何修改Chromium内核以及浏览器指纹伪装的方法,以构建一个抗指纹的浏览环境。首先,了解如何修改Chromium内核是至关重要的。您可以从Chromium源代码仓库中获取最新的代码,并根据
- 使用python做出一只懒羊羊
大G哥
python开发语言
今天使用Python的Turtle库做出一只懒羊羊PythonTurtle库功能与用途一、绘图基础功能Turtle库提供了一种简单易用的方式来进行图形绘制。通过控制屏幕上的海龟指针移动来完成线条和形状的创建。可以设置画笔的颜色、大小以及方向等属性,从而实现多样化的视觉效果。importturtlet=turtle.Turtle()t.forward(100)#向前走100像素距离t.right(9
- Oracle 普通用户连接hang住处理方法
夜光小兔纸
数据库Oracle运维oracle数据库运维
一、现象说明$sqlplus/assysdbaSQL*Plus:Release19.0.0.0.0-ProductiononWedDec1816:49:192024Version19.11.0.0.0Copyright(c)1982,2020,Oracle.Allrightsreserved.Connectedto:OracleDatabase19cEnterpriseEditionRelease
- 算法随笔_20:区间子数组个数
程序趣谈
算法
上一篇:算法随笔_19:数组中的最长山脉-CSDN博客=====================题目描述如下:给你一个整数数组nums和两个整数:left及right。找出nums中连续、非空且其中最大元素在范围[left,right]内的子数组,并返回满足条件的子数组的个数。生成的测试用例保证结果符合32-bit整数范围。示例1:输入:nums=[2,1,4,3],left=2,right=3输
- 【Day1 Leetcode 】二分查找和双指针
银河梦想家
leetcode算法
一、二分查找1.1二分查找704这题比较简单,是二分查找的入门题,主要是要注意二分区间的写法,我个人是比较喜欢左闭右闭的写法。代码如下:classSolution{public:intsearch(vector&nums,inttarget){intleft=0,right=nums.size()-1;while(lefttarget)right=mid-1;elseleft=mid+1;}ret
- C++之初识模板
4U247
C++c++开发语言函数模板类模板函数模板匹配规则classtypename
C++之初识模板文章目录C++之初识模板1.函数模板1.1概念1.2格式1.3函数模板的实例化1.4函数模板的匹配规则2.类模板2.1格式2.2类模板实例化1.函数模板voidSwap(int&left,int&right){inttmp=left;left=right;right=tmp;} 上述代码是一个简单的交换函数,但是只能用来交换int,要想交换其他类型的变量,则需要重新写一个,但是代
- python+playwright自动化测试(四):元素操作(键盘鼠标事件)、文件上传
觅远
python自动化测试爬虫python自动化
目录鼠标事件悬停移动按键点击滚轮操作拖拽键盘事件输入文本内容type输入内容fill输入内容按键操作press文件上传下拉选/单选框/复选框滚动条操作鼠标事件悬停page.get_by_text('设置',exact=True).nth(1).hover()移动page.mouse.move(x=33,y=50)按键#点击操作可设置button参数,选择点击键["left","middle","r
- html两级地区选择级联,index.html · RockYang/JAreaSelect-js省市区级联选择插件 - Gitee.com...
猫咪兔兔
html两级地区选择级联
地区选择插件.form-control{margin-right:5px;}传统表单selectUI样式获取地址仿京东UI样式选择区域vararea=$("#area-select-box").JAreaSelect({prov:1,city:72,dist:2839,level:3});$(".btn-success").on('click',function(){$(this).text(ar
- 【Python】高效的Web自动化测试利器—Python+Playwright快速上手自动化实战指南
墩墩分墩
Pythonpython自动化测试playwright爬虫UI自动化
文章目录前言一.playwright是什么二.python引入playwright1.安装2.playwright命令行参数3.playwrightcodegen自动生成代码4.Chrome和Chromium有什么关系?三.基本概念1.无头浏览器(HeadlessBrowser)2.同步和异步模式操作playwright2.1.同步(Sync)模式同步方式代码模板2.2.异步(Async)模式异步
- 代码随想录day1
独正己身
c语言算法数据结构c++
704.二分查找:1.左闭右闭intsearch(vector&nums,inttarget){intright=nums.size()-1;intleft=0;while(left>1);if(nums.at(middle)==target){returnmiddle;}elseif(nums[middle]>target){right=middle-1;}else{left=middle+1;
- LeetCode hot 热题100 对称二叉树
篮l球场
leetcode算法职场和发展
classSolution{public:boolisSymmetric(TreeNode*root){returncheak(root->left,root->right);}private:boolcheak(TreeNode*left,TreeNode*right){if(left==nullptr&&right==nullptr)returntrue;if(left==nullptr||r
- Java:获取本地文件
dingcho
Javajavahttp
/***Function:todo**@program:获取本地图片*@Package:com.kingbal.king.dmp*@author:dingcho*@date:2025/01/22*@version:1.0*@Copyright:2024www.kingbal.comInc.Allrightsreserved.*/@Slf4jpublicclassBaseTest{publicsta
- mysql内外三种连接,MySQL内连接和外连接
LiuYanagi
mysql内外三种连接
INNERJOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录。LEFTJOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录。RIGHTJOIN(右连接):与LEFTJOIN相反,用于获取右表所有记录,即使左表没有对应匹配的记录。MySQL内连接(innerjoinon)MySQL的内连接使用innerjoinon,它的效果跟使用where是一样的,如果联结的是两个表,那么需
- rman创建 DG 备库时报错:ORA-17629
leegong23111
oracle数据库
[oracle@pridb~]$rmantarget/auxiliarysys/oraclesys@sbdb2RecoveryManager:Release11.2.0.1.0-ProductiononWedJul2421:36:452013Copyright©1982,2009,Oracleand/oritsaffiliates.Allrightsreserved.connectedtotarg
- 滑动窗口1
笔耕不辍cj
算法数据结构java
给定一个含有n个正整数的数组和一个正整数s,找出该数组中满足其和>=s的长度最小的连续子数组,并返回起长度。如果不存在符合条件的子数组,返回0。intmin(vector&nums,ints){ intleft=0, intn=nums.sizeof(); intsum=0; intmin_len=INT_MAX; for(intright=0;right=s) { min
- CSS属性:fit-content
Frilled Lizard
css前端css3scss
Thisisafrostedglasseffect..frosted-glass{position:absolute;top:10vh;left:0;right:0;margin:auto;width:fit-content;background:rgba(0,0,0,0.3);font-size:28px;color:#fff;border-radius:40px;padding:8px28px
- echarts柱状图象形图,支持横向滑动
肖老师xy
echarts前端javascript
展示效果代码letxData=['2020','2021','2022','2023','2024','2025','2026'];letyData=[267,2667,2467,2667,3234,4436,666];option={grid:{left:'5%',right:'5%',top:'15%',bottom:'5%',containLabel:true},//滚动条dataZoom:
- 小白WEB前端学习(五)
Sun ᥫᩣ涵
WEB前端前端学习
续:小白WEB前端学习(四)继续正式学习CSS(三)6.float布局!主要用于左右做图片,右文字的题目标准流标准流也叫文档流,指的是标签在页面中默认的排布规则,使⼀个元素脱离标准文档流有三种方式1.浮动2.绝对定位3.固定定位例如:块元素独占一行,行内元素可以一行显示多个。浮动作用:让块元素水平排列属性名:float属性值:left和right浮动后会脱离标准流,等于开了一个新的页面,内容在的话
- 东南大学研究生-数值分析上机题(2023)Python 1 绪论
天空的蓝耀
python
舍入误差与有效数1.1题目设SN=∑j=2N1j2−1S_N=\sum\limits_{j=2}^{N}\displaystyle\frac{1}{j^2-1}SN=j=2∑Nj2−11其精确值为12(23−1N−1N+1)\displaystyle\frac{1}{2}\left(\frac{2}{3}-\frac{1}{N}-\frac{1}{N+1}\right)21(32−N1−N+11)
- 知识点 | Oracle内部数据的加密_使用DBMS_CRYPTO实现
db_murphy
对Oracle内部数据的加密,可简单得使用DBMS_CRYPTO实现;DBMS_CRYPTO默认需要有SYSDBA系统权限的用户才可执行,其他用户都需要SYSDBA进行赋权。一、授权方式[ora11g@dl980a-ora~]$sqlplus/assysdbaSQL*Plus:Release11.2.0.3.0ProductiononWedMar315:38:572021Copyright(c)1
- MySQL多表连接查询详解与实例
Imaginaerum02
mysql数据库linuxsql
目录内连接查询等值连接查询对连接后的查询结果,筛选、分组、排序、过滤非等值连接查询左连接右连接全外连接嵌套查询where之后嵌套查询having之后嵌套查询from之后嵌套查询(其使用效果不如内连接)select之后嵌套查询连接查询连接类型:内连接:innerjoin外联接:左外连接:leftjoin右外连接:rightjoin全外连接:union[all]连接方式:交叉连接:等值连接:不等值连接
- 使用echarts实现3d柱状图+折线图
吉吉安
echarts前端javascript
以下代码有问题请直接问国内直连GPT/ClaudeHTML需要注意threeDchart一定要设置宽度高度,不然图不显示,然后echarts版本不要太低,不然也不显示jsset3DBarChart2(data){varmyChart=echarts.init(document.getElementById('middle-right-top-chart'));data=[2000,1529,225
- Python_线性插值
胡小记
python
1、语法解释线性插值主要用到的是numpy中的interp函数interp(x,xp,fp,left=None,right=None,period=None)其中x为要插值点的横坐标,xp为x的坐标值(必须是递增),fp为y的坐标值left是可选择参数,如果x小于xp,则会默认返回xp[0]对应的fp值,right同理。period可设定横坐标的周期,该选项打开时,则忽略left和right。具体
- 每日读码1 Unity GL
hookby
每日读码unity
//一般在渲染函数里实现,比如:OnPostRender()/*相机后处理*/,OnRenderImage()/*图像处理*/voidOnRenderImage(RenderTexturesrc,RenderTexturedst){Vector3toRight=cameraTransform.right*halfHeight*aspect;Vector3toTop=cameraTransform.
- 【Java数据结构】二叉树相关算法
回响N
算法数据结构java开发语言链表
第一题:获取二叉树中结点个数得到二叉树结点个数,如果结点为空则返回0,然后再用递归计算左树结点个数+根结点(1个)+右树结点个数。publicintnodeSize(Noderoot){if(root==null)return0;returnnodeSize1(root.left)+nodeSize1(root.right)+1;}第二题:获取叶子结点的个数得到叶子结点个数和结点总数的做法相同,也
- 二叉树算法 JAVA
爱掉发的小龙
java开发语言前端后端python
二叉树是一种常用的数据结构,它由一系列的节点组成,每个节点最多有两个子节点,分别称为左子节点和右子节点。在Java中,我们可以通过定义一个二叉树的节点类来实现二叉树算法。一个典型的二叉树节点类如下所示:classNode{intval;Nodeleft;Noderight;publicNode(intval){this.val=val;this.left=null;this.right=null;
- 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