- 用Python实现读取统计单词个数
程序媛了了
python游戏java
完整实例代码:fromcollectionsimportCounterdefpythonit():danci={}withopen("pythonit.txt","r",encoding="utf-8")asf:foriinf:words=i.strip().split()forwordinwords:ifwordnotindanci:danci[word]=1else:danci[word]+=
- 【JVM】Java内存分配与回收:深入理解Java内存管理
逐星ing
Java#jvm八股文/面试题jvmjava开发语言
Java内存分配与回收:深入理解Java内存管理引言Java虚拟机(JVM)的内存管理是确保Java应用程序性能和稳定性的关键。理解Java的内存分配方式和回收过程对于开发者来说至关重要。基础知识JVM内存模型:JVM内存分为堆(Heap)、栈(Stack)、方法区(MethodArea)和程序计数器(ProgramCounter)。堆(Heap):存储对象实例和数组。栈(Stack):存储局部变
- pytorch计算网络参数量和Flops
Mr_Lowbee
PyTorchpytorch深度学习人工智能
fromtorchsummaryimportsummarysummary(net,input_size=(3,256,256),batch_size=-1)输出的参数是除以一百万(/1000000)M,fromfvcore.nnimportFlopCountAnalysisinputs=torch.randn(1,3,256,256).cuda()flop_counter=FlopCountAna
- 【MySQL】批量插入数据造数-存储过程
兴焉
SQL数据库
日常工作中可能有针对需要对某个表进行造数,如何批量插入呢?可以使用存储过程循环结构。下面是一个存储过程以插入100条,while语句后的<=控制循环次数。concat是一个拼接语句,拼接后是test_1-100,这种也适用于ID/name唯一的情况。CREATEPROCEDUREinsert_data()BEGINDECLAREcounterINTDEFAULT1;WHILEcounter<=10
- 2022-05-22
李雨轩l
Part11,从本单元中我学到的最重要的理念(精读和视听说分别总结)精读:有更多比实验好的方法去探索动物的智商视听说:梦想着去许多国外的城市看看2,我在本片文章/音频/视频中学到的怦然心动的单词(精读和视听说分别总结)精读:extensively广泛地controversy争论explore探索vet兽医research研究员keeper饲养员encounter遇到reveal展示feat技艺do
- 通过mvn dependency:tree 查看依赖树,解决依赖jar冲突问题
常敲代码手不生
IDEA学习与实践
举例:E:\01workspace\chenxh\09research\rop\rop>mvndependency:tree[WARNING][WARNING]Someproblemswereencounteredwhilebuildingtheeffectivesettings[WARNING]'pluginRepositories.pluginRepository.id'mustnotbe'l
- python闭包的作用
hzw0510
pythonpython开发语言
python闭包的作用Python中的闭包是一种强大的编程概念,它在处理函数和作用域时提供了灵活性和便利性。下面是闭包的一些主要作用和应用:1.封装数据和函数闭包可以将数据和操作这些数据的函数封装在一起,使得外部无法直接访问这些数据。这有助于创建数据的私有性。defmake_counter():count=0defcounter():<
- java运行时内存数据区_运行时数据区域(Java内存结构)
weixin_39724362
java运行时内存数据区
Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而创建,有的区域则依赖用户线程的启动和结束而建立和销毁。JDK1.8和之前的版本略有不同:1.线程私有1.1程序计数器程序计数器(ProgramCounterRegister)是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指
- java 内存划分_Java运行时内存划分
幸福的小酒瓶
java内存划分
其中:1,程序计数器(ProgramCounterRegister):程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,可以理解为是当前线程的行号指示器。字节码解释器在工作时,会通过改变这个计数器的值来取下一条语句指令。每个程序计数器只用来记录一个线程的行号,所以它是线程私有(一个线程就有一个程序计数器)的。如果程序执行的是一个Java方法,则计数器记录的是正在执行的
- Java运行时内存区域
benlocke
Javajavajvmheapstack内存
Java虚拟机(JavaSE7版)管理的内存包括以下几个运行时数据区域。1.程序计数器程序计数器(ProgramCounterRegister)是当前线程所执行的字节码的行号指示器。字节码解释器需要通过这个计数器的值来读取下一条执行的字节码指令,各种分支跳转、异常处理等。Java虚拟机的多线程是通过线程轮流切换并且分配时间片的方式来实现的,所以在任何一个moment,一个处理器都只会执行一条线程中
- CSOL如何高效防护UDP攻击
qq177803623
udp网络协议网络
CSOL如何高效防护UDP攻击?在竞技射击游戏CSOL(Counter-StrikeOnline)的世界里,每一场战斗都充满了紧张与刺激。伴随着游戏的日益火爆,网络攻击尤其是UDP攻击的风险也随之增加。UDP攻击以其快速、高效、难以防范的特点,严重威胁着游戏的稳定性和玩家的体验。那么,CSOL该如何有效防护UDP攻击,保障玩家的流畅游戏体验呢?答案就是引入云加速SDK。云加速SDK:UDP攻击的克
- Python 计数器
weixin_34161029
python
一、counter1、counter是对字典类型的补充,用于追踪值的出现次数。1importcollections2obj=collections.Counter('aabbccddee')3print(obj)4Counter({'a':2,'b':2,'c':2,'d':2,'e':2})转载于:https://www.cnblogs.com/Presley-lpc/p/9164614.htm
- Python Counter()计数工具
pjzxweb
实例与算法
collections.Counter([iterable-or-mapping])用于统计各元素的计数,结果为map,可选的参数为迭代对象或字典map。>>>c2=Counter('banana')#创建字符串的Counter对象>>>c2Counter({'a':3,'n':2,'b':1})>>>c2=Counter({'a':2,'b':3})>>>c2Counter({'b':3,'a'
- Python Counter详解
吹吹晚风-
python开发语言笔记
Counter是Pythoncollections模块中的一个类,用于统计可哈希对象的出现次数。它提供了一种方便的方式来计数元素,返回一个字典,其中元素作为键,出现次数作为值。下面详细介绍Counter类的使用方法:1.创建Counter对象:可以通过传递一个可迭代对象给Counter构造函数来创建一个计数器对象。可迭代对象可以是列表、元组、字符串等。fromcollectionsimportCo
- Python中的Counter(计数器)
生活甜甜好运连连
notepython
Counter(计数器):用于追踪值的出现次数Counter类继承dict类,所以它能使用dict类里面的方法创建一个Counter类importcollectionsres=collections.Counter('aabbccc')print(res)#输出:Counter({'c':3,'a':2,'b':2})
- 详解Python中非常好用的计数器Counter
小斌哥ge
Python/PYPIpython算法Python计数器Counter
详解Python中非常好用的计数器CounterCounter简介Counter是Python内置模块collections中的一个计数器工具,可以方便快捷地计数。Counter是字典dict的子类,用于计数可哈希(hashable)对象。(Python中实现了魔法方法__hash__的对象是hashable对象,关于可哈希和不可哈希,可以自行搜索了解,后面有时间我可以再专门写文章详细介绍)Cou
- 承认事实疗愈法学习资料(15)
若云的心灵成长
代偿反应,英文叫counter-action,你是基于一个负面理由的反弹而做的行为,其实会加强那个负面的能量。比如说,你很怕你的身体变差,为了害怕你的身体变差,所以每个礼拜要安排时间去爬山、健行啊,那真的走久了就走上山了哦。因为为了怕身体差而做的所有的运动,结果都反倒会加强你身体差这个主轴信念的强度。市面上有一些很流行的,所谓吸引力法则的书,书上教你要发出正面的念波,来让自己变瘦、变漂亮、变健康。
- 如何用C#写一个实现像股票行情的波动曲线图
senbar
.NET王国gis开发c#floatgdi+数据库c
有一个数据库A(价格,日期)该表每天都会向里面新增数据,如何用C#实现用横坐标表示时间,纵坐标表示价格的曲线图GDI+看看我大一的时候的课程设计诸如这样的代码就可以啦:for(intcounter=0;counter<=24;counter++){Penmypen=newPen(Color.Green,3);GraphicsmyGraphics=this.tabPage3.CreateGraphi
- react常用 Hooks
_耀北
react.js前端javascript
ReactHooks是React16.8引入的一项功能,它允许你在函数组件中使用状态和其他React特性,而不需要编写类组件。Hooks使函数组件可以管理本地状态、处理副作用、使用上下文等,使得函数组件更加强大和灵活。以下是常用的ReactHooks及其使用方法:useStateimportReact,{useState}from'react';constCounter=()=>{//声明一个状态
- Verilog刷题笔记62
十六追梦记
笔记fpga开发
题目:Exams/review2015fancytimerThisisthefifthcomponentinaseriesoffiveexercisesthatbuildsacomplexcounteroutofseveralsmallercircuits.Youmaywishtodothefourpreviousexercisesfirst(counter,sequencerecognizerF
- 写个vba程序,能合并多个文件
谛听汪
microsoft深度学习人工智能
你好!下面是一个可以合并多个文件的VBA程序:SubMergeFiles()'定义变量DimFilesToOpen,FileNameAsStringDimFileNumAsIntegerDimCounterAsIntegerDimRowNdxAsLongDimColNdxAsIntegerDimSheetAsWorksheetDimWorkBkAsWorkbookDimSourceRangeAsR
- python常用库(二)
Jr_l
pythonpython开发语言
文章目录python常用库4、sys库4.1、**命令行参数**4.2、**模块导入**4.3、**退出程序**4.4、**标准输入输出**4.5、**系统相关信息**4.6、**内存管理**4.7、**其他功能**5、collections库5.1、**Counter计数器**5.2、**defaultdict默认字典**5.3、**OrderedDict有序字典**5.4、**deque双端队
- c++类的构造函数详解
依旧阳光的老码农
C++语法开发语言c++
1、构造函数是干什么的classCounter{public://类Counter的构造函数//特点:以类名作为函数名,无返回类型Counter(){m_value=0;}private://数据成员intm_value;}该类对象被创建时,编译系统对象分配内存空间,并自动调用该构造函数->由构造函数完成成员的初始化工作eg:Counterc1;编译系统为对象c1的每个数据成员(m_value)分
- STM32 HAL库 定时中断和编码输入
仟人斩
随便写点stm32stm32定时中断pwm编码器输入
这些基础的东西看视频很费时间而且有过基础的在学习只是库不太清楚,希望我总结的库使用的一些使用能节约一点大家的时间。voidTIM3_Init(u16arr,u16psc){TIM3_Handler.Instance=TIM3;//通用定时器3TIM3_Handler.Init.Prescaler=psc;//分频系数TIM3_Handler.Init.CounterMode=TIM_COUNTER
- 【OS】AUTOSAR OS Counter实现原理(上篇)
汽车电子嵌入式
AUTOSAR精进之路AUTOSAROSCounter英飞凌
目录前言正文1.STM比较器的中断控制2.OsCounter类别及其适用场景3.OsCounter配置3.1OsCounter配置容器3.2OsDriver配置容器3.3PIT和HRT3.3.1PeriodicalInterruptTimer(PIT)3.3.2HighResolutionTimer(HRT)3.4Counters类别汇总3.5PIT和PFRT对比4.OsCounter具体实现前言
- 2020-03-16
丁丁水天
小丁的ScalersTalk第五轮新概念朗读持续力训练Day146-202003161.练习材料Lesson31AlovableeccentricDickielefttheshopwithoutawordandreturnedcarryingalargeclothbag.Asitwasextremelyheavy,hedumpeditonthecounter.Theassistantaskedhi
- mac 更新系统后 brew 安装报错不支持pre-release version. Error: node: no bottle available
痴情的程序员
macmac
错误信息:Warning:YouareusingmacOS12.Wedonotprovidesupportforthispre-releaseversion.Youwillencounterbuildfailureswithsomeformulae.PleasecreatepullrequestsinsteadofaskingforhelponHomebrew'sGitHub,Twitterora
- 每日英语单词学习 @2023-02-05
Hedgehoginwind
每日5组单词词组学习。第1组bytheyard按码计算;没完没了地kitingcheck空头支票lucrative有利的;赚钱的;合算的outdatedconventionsandcustoms陈规旧习carryforward结转;减免税额clearing清算第2组zipacrossthehorizon一鸣惊人counterfeitbanknote假钞authentication认证;证明fero
- linux下ora 01110,ORA-00376/ORA-01110 故障处理办法
weixin_39895977
linux下ora01110
Oracle数据库实例启动之后发现,9号数据文件发生故障,file9cannotbereadatthistime,ORACLEInstanceilndb2(pid=16)-Error376encounteredwhilerecoveringtransaction(8,21)onobject66190.MonAug2912:15:06EAT2016Errorsinfile/home/oracle/p
- python项目练习——7.网站访问日志分析器
F——
python项目练习python信息可视化数据分析数据挖掘开发语言学习
项目功能分析:这个项目可以读取网站的访问日志文件,统计访问量、独立访客数、访问来源等信息,并以图表或表格的形式展示出来。这个项目涉及到文件操作、数据处理、数据可视化等方面的技术。示例代码:importrefromcollectionsimportCounterimportmatplotlib.pyplotaspltdefparse_log_file(log_file):#读取日志文件内容witho
- ViewController添加button按钮解析。(翻译)
张亚雄
c
<div class="it610-blog-content-contain" style="font-size: 14px"></div>// ViewController.m
// Reservation software
//
// Created by 张亚雄 on 15/6/2.
- mongoDB 简单的增删改查
开窍的石头
mongodb
在上一篇文章中我们已经讲了mongodb怎么安装和数据库/表的创建。在这里我们讲mongoDB的数据库操作
在mongo中对于不存在的表当你用db.表名 他会自动统计
下边用到的user是表明,db代表的是数据库
添加(insert):
- log4j配置
0624chenhong
log4j
1) 新建java项目
2) 导入jar包,项目右击,properties—java build path—libraries—Add External jar,加入log4j.jar包。
3) 新建一个类com.hand.Log4jTest
package com.hand;
import org.apache.log4j.Logger;
public class
- 多点触摸(图片缩放为例)
不懂事的小屁孩
多点触摸
多点触摸的事件跟单点是大同小异的,上个图片缩放的代码,供大家参考一下
import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener
- 有关浏览器窗口宽度高度几个值的解析
换个号韩国红果果
JavaScripthtml
1 元素的 offsetWidth 包括border padding content 整体的宽度。
clientWidth 只包括内容区 padding 不包括border。
clientLeft = offsetWidth -clientWidth 即这个元素border的值
offsetLeft 若无已定位的包裹元素
- 数据库产品巡礼:IBM DB2概览
蓝儿唯美
db2
IBM DB2是一个支持了NoSQL功能的关系数据库管理系统,其包含了对XML,图像存储和Java脚本对象表示(JSON)的支持。DB2可被各种类型的企 业使用,它提供了一个数据平台,同时支持事务和分析操作,通过提供持续的数据流来保持事务工作流和分析操作的高效性。 DB2支持的操作系统
DB2可应用于以下三个主要的平台:
工作站,DB2可在Linus、Unix、Windo
- java笔记5
a-john
java
控制执行流程:
1,true和false
利用条件表达式的真或假来决定执行路径。例:(a==b)。它利用条件操作符“==”来判断a值是否等于b值,返回true或false。java不允许我们将一个数字作为布尔值使用,虽然这在C和C++里是允许的。如果想在布尔测试中使用一个非布尔值,那么首先必须用一个条件表达式将其转化成布尔值,例如if(a!=0)。
2,if-els
- Web开发常用手册汇总
aijuans
PHP
一门技术,如果没有好的参考手册指导,很难普及大众。这其实就是为什么很多技术,非常好,却得不到普遍运用的原因。
正如我们学习一门技术,过程大概是这个样子:
①我们日常工作中,遇到了问题,困难。寻找解决方案,即寻找新的技术;
②为什么要学习这门技术?这门技术是不是很好的解决了我们遇到的难题,困惑。这个问题,非常重要,我们不是为了学习技术而学习技术,而是为了更好的处理我们遇到的问题,才需要学习新的
- 今天帮助人解决的一个sql问题
asialee
sql
今天有个人问了一个问题,如下:
type AD value
A  
- 意图对象传递数据
百合不是茶
android意图IntentBundle对象数据的传递
学习意图将数据传递给目标活动; 初学者需要好好研究的
1,将下面的代码添加到main.xml中
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http:/
- oracle查询锁表解锁语句
bijian1013
oracleobjectsessionkill
一.查询锁定的表
如下语句,都可以查询锁定的表
语句一:
select a.sid,
a.serial#,
p.spid,
c.object_name,
b.session_id,
b.oracle_username,
b.os_user_name
from v$process p, v$s
- mac osx 10.10 下安装 mysql 5.6 二进制文件[tar.gz]
征客丶
mysqlosx
场景:在 mac osx 10.10 下安装 mysql 5.6 的二进制文件。
环境:mac osx 10.10、mysql 5.6 的二进制文件
步骤:[所有目录请从根“/”目录开始取,以免层级弄错导致找不到目录]
1、下载 mysql 5.6 的二进制文件,下载目录下面称之为 mysql5.6SourceDir;
下载地址:http://dev.mysql.com/downl
- 分布式系统与框架
bit1129
分布式
RPC框架 Dubbo
什么是Dubbo
Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。其核心部分包含: 远程通讯: 提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。 集群容错: 提供基于接
- 那些令人蛋痛的专业术语
白糖_
springWebSSOIOC
spring
【控制反转(IOC)/依赖注入(DI)】:
由容器控制程序之间的关系,而非传统实现中,由程序代码直接操控。这也就是所谓“控制反转”的概念所在:控制权由应用代码中转到了外部容器,控制权的转移,是所谓反转。
简单的说:对象的创建又容器(比如spring容器)来执行,程序里不直接new对象。
Web
【单点登录(SSO)】:SSO的定义是在多个应用系统中,用户
- 《给大忙人看的java8》摘抄
braveCS
java8
函数式接口:只包含一个抽象方法的接口
lambda表达式:是一段可以传递的代码
你最好将一个lambda表达式想象成一个函数,而不是一个对象,并记住它可以被转换为一个函数式接口。
事实上,函数式接口的转换是你在Java中使用lambda表达式能做的唯一一件事。
方法引用:又是要传递给其他代码的操作已经有实现的方法了,这时可以使
- 编程之美-计算字符串的相似度
bylijinnan
java算法编程之美
public class StringDistance {
/**
* 编程之美 计算字符串的相似度
* 我们定义一套操作方法来把两个不相同的字符串变得相同,具体的操作方法为:
* 1.修改一个字符(如把“a”替换为“b”);
* 2.增加一个字符(如把“abdd”变为“aebdd”);
* 3.删除一个字符(如把“travelling”变为“trav
- 上传、下载压缩图片
chengxuyuancsdn
下载
/**
*
* @param uploadImage --本地路径(tomacat路径)
* @param serverDir --服务器路径
* @param imageType --文件或图片类型
* 此方法可以上传文件或图片.txt,.jpg,.gif等
*/
public void upload(String uploadImage,Str
- bellman-ford(贝尔曼-福特)算法
comsci
算法F#
Bellman-Ford算法(根据发明者 Richard Bellman 和 Lester Ford 命名)是求解单源最短路径问题的一种算法。单源点的最短路径问题是指:给定一个加权有向图G和源点s,对于图G中的任意一点v,求从s到v的最短路径。有时候这种算法也被称为 Moore-Bellman-Ford 算法,因为 Edward F. Moore zu 也为这个算法的发展做出了贡献。
与迪科
- oracle ASM中ASM_POWER_LIMIT参数
daizj
ASMoracleASM_POWER_LIMIT磁盘平衡
ASM_POWER_LIMIT
该初始化参数用于指定ASM例程平衡磁盘所用的最大权值,其数值范围为0~11,默认值为1。该初始化参数是动态参数,可以使用ALTER SESSION或ALTER SYSTEM命令进行修改。示例如下:
SQL>ALTER SESSION SET Asm_power_limit=2;
- 高级排序:快速排序
dieslrae
快速排序
public void quickSort(int[] array){
this.quickSort(array, 0, array.length - 1);
}
public void quickSort(int[] array,int left,int right){
if(right - left <= 0
- C语言学习六指针_何谓变量的地址 一个指针变量到底占几个字节
dcj3sjt126com
C语言
# include <stdio.h>
int main(void)
{
/*
1、一个变量的地址只用第一个字节表示
2、虽然他只使用了第一个字节表示,但是他本身指针变量类型就可以确定出他指向的指针变量占几个字节了
3、他都只存了第一个字节地址,为什么只需要存一个字节的地址,却占了4个字节,虽然只有一个字节,
但是这些字节比较多,所以编号就比较大,
- phpize使用方法
dcj3sjt126com
PHP
phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块,下面介绍一个它的使用方法,需要的朋友可以参考下
安装(fastcgi模式)的时候,常常有这样一句命令:
代码如下:
/usr/local/webserver/php/bin/phpize
一、phpize是干嘛的?
phpize是什么?
phpize是用来扩展php扩展模块的,通过phpi
- Java虚拟机学习 - 对象引用强度
shuizhaosi888
JAVA虚拟机
本文原文链接:http://blog.csdn.net/java2000_wl/article/details/8090276 转载请注明出处!
无论是通过计数算法判断对象的引用数量,还是通过根搜索算法判断对象引用链是否可达,判定对象是否存活都与“引用”相关。
引用主要分为 :强引用(Strong Reference)、软引用(Soft Reference)、弱引用(Wea
- .NET Framework 3.5 Service Pack 1(完整软件包)下载地址
happyqing
.net下载framework
Microsoft .NET Framework 3.5 Service Pack 1(完整软件包)
http://www.microsoft.com/zh-cn/download/details.aspx?id=25150
Microsoft .NET Framework 3.5 Service Pack 1 是一个累积更新,包含很多基于 .NET Framewo
- JAVA定时器的使用
jingjing0907
javatimer线程定时器
1、在应用开发中,经常需要一些周期性的操作,比如每5分钟执行某一操作等。
对于这样的操作最方便、高效的实现方式就是使用java.util.Timer工具类。
privatejava.util.Timer timer;
timer = newTimer(true);
timer.schedule(
newjava.util.TimerTask() { public void run()
- Webbench
流浪鱼
webbench
首页下载地址 http://home.tiscali.cz/~cz210552/webbench.html
Webbench是知名的网站压力测试工具,它是由Lionbridge公司(http://www.lionbridge.com)开发。
Webbench能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况。webbench的标准测试可以向我们展示服务器的两项内容:每秒钟相
- 第11章 动画效果(中)
onestopweb
动画
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- windows下制作bat启动脚本.
sanyecao2314
javacmd脚本bat
java -classpath C:\dwjj\commons-dbcp.jar;C:\dwjj\commons-pool.jar;C:\dwjj\log4j-1.2.16.jar;C:\dwjj\poi-3.9-20121203.jar;C:\dwjj\sqljdbc4.jar;C:\dwjj\voucherimp.jar com.citsamex.core.startup.MainStart
- Java进行RSA加解密的例子
tomcat_oracle
java
加密是保证数据安全的手段之一。加密是将纯文本数据转换为难以理解的密文;解密是将密文转换回纯文本。 数据的加解密属于密码学的范畴。通常,加密和解密都需要使用一些秘密信息,这些秘密信息叫做密钥,将纯文本转为密文或者转回的时候都要用到这些密钥。 对称加密指的是发送者和接收者共用同一个密钥的加解密方法。 非对称加密(又称公钥加密)指的是需要一个私有密钥一个公开密钥,两个不同的密钥的
- Android_ViewStub
阿尔萨斯
ViewStub
public final class ViewStub extends View
java.lang.Object
android.view.View
android.view.ViewStub
类摘要: ViewStub 是一个隐藏的,不占用内存空间的视图对象,它可以在运行时延迟加载布局资源文件。当 ViewSt