华为OD机试 - 考古学家 - 递归(Python/JS/C/C++ 2024 D卷 200分)
哪 吒
华为odpythonjavascript
一、题目描述有一个考古学家发现一个石碑,但是很可惜发现时其已经断成多段。原地发现N个断口整齐的石碑碎片,为了破解石碑内容,考古学家希望有程序能帮忙计算复原后的石碑文字组合数,你能帮忙吗?备注:如果存在石碑碎片内容完全相同,则由于碎片间的顺序不影响复原后的碑文内容,仅相同碎片间的位置变化不影响组合。二、输入描述第一行输入N,N表示石碑碎片的个数第二行依次输入石碑碎片上的文字内容S共有N组三、输出描述
华为OD机试(D卷+C卷+A卷+B卷)2024真题目录(全、新、准)
哪 吒
搬砖工逆袭Java架构师华为odA卷B卷C卷D卷
目录专栏导读华为OD机试算法题太多了,知识点繁杂,如何刷题更有效率呢?一、逻辑分析二、数据结构1、线性表①数组②双指针2、map与list3、队列4、链表5、栈6、滑动窗口7、二叉树8、并查集9、矩阵三、算法1、基础算法①贪心思维②二分查找③分治递归④回溯⑤全排列递归⑥排序算法2、字符串①字符串处理②KMP③正则表达式3、深度优先搜索①广度优先搜索②矩阵、最短路径问题③拓扑排序4、动态规划①基础d
【花雕学编程】Arduino FOC 之双足机器人的追踪目标移动控制
驴友花雕
机器人嵌入式硬件单片机c++ArduinoFOC双足机器人的追踪目标移动控制
Arduino是一个开放源码的电子原型平台,它可以让你用简单的硬件和软件来创建各种互动的项目。Arduino的核心是一个微控制器板,它可以通过一系列的引脚来连接各种传感器、执行器、显示器等外部设备。Arduino的编程是基于C/C++语言的,你可以使用ArduinoIDE(集成开发环境)来编写、编译和上传代码到Arduino板上。Arduino还有一个丰富的库和社区,你可以利用它们来扩展Ardui
【花雕学编程】Arduino BLDC 之工业机器人关节伺服控制程序
驴友花雕
ArduinoBLDC机器人嵌入式硬件单片机c++ArduinoBLDC工业机器人关节伺服控制程序
Arduino是一个开放源码的电子原型平台,它可以让你用简单的硬件和软件来创建各种互动的项目。Arduino的核心是一个微控制器板,它可以通过一系列的引脚来连接各种传感器、执行器、显示器等外部设备。Arduino的编程是基于C/C++语言的,你可以使用ArduinoIDE(集成开发环境)来编写、编译和上传代码到Arduino板上。Arduino还有一个丰富的库和社区,你可以利用它们来扩展Ardui
【花雕学编程】Arduino BLDC 之仓储机器人抓取控制
驴友花雕
ArduinoBLDC机器人嵌入式硬件单片机c++ArduinoBLDC仓储机器人抓取控制
Arduino是一个开放源码的电子原型平台,它可以让你用简单的硬件和软件来创建各种互动的项目。Arduino的核心是一个微控制器板,它可以通过一系列的引脚来连接各种传感器、执行器、显示器等外部设备。Arduino的编程是基于C/C++语言的,你可以使用ArduinoIDE(集成开发环境)来编写、编译和上传代码到Arduino板上。Arduino还有一个丰富的库和社区,你可以利用它们来扩展Ardui
机器学习:利用sklearn实现心脏病预测
薄化克Oswald
机器学习:利用sklearn实现心脏病预测机器学习sklearn实现心脏病预测项目地址:https://gitcode.com/Resource-Bundle-Collection/171ff欢迎使用本资源仓库,本项目专注于利用Python的sklearn库进行心脏病预测的机器学习实践。通过详尽的步骤和示例代码,本项目为你展示了如何应用不同的机器学习算法来分析心脏病数据集,并预测患者是否有可能患有
CTF-WEB:PHP伪协议用法总结
A5rZ
phpctfweb
php://伪协议:php://是PHP中的一个虚拟协议(或称为流包装器),用于访问PHP内部流资源。它是PHP提供的内置流协议之一,允许你通过流(stream)方式访问PHP内部的数据流、文件或其他资源。与file://等协议不同,php://并不直接映射到文件系统,而是用于处理PHP特有的资源,如输入输出流、临时文件、PHP自身的内存流等。php://协议是PHP流包装器的一部分,允许在PHP
修复ERR_ADDRESS_UNREACHABLE
新青年.
踩坑记录
引言今天在访问服务器地址时出现ERR_ADDRESS_UNREACHABLE,网上资料比较少.问题排查查看自己是不是副WiFi连接,辅助的wifi无法管理自己路由器排查防火墙.排查目标端口有无打开(可以在自己服务器上运行curl测试)地址输错了?是否开启了某种proxy,排查proxy的服务器问题#当然,你可以先排查一下设备的防火墙systemctlstatusfirewalld如果为inacti
前端25.1.26学习记录
RlTED
前端学习javascript
DOM是给予如:JS编程语言使用的apiDOM是树状结构根节点是html节点是DOM的最小单位。等Node类型可以类比于java的object类,所有的节点都需要继承TA。TA提供了最基本的操作方法如:访问父、子、同级节点增加和删除节点。Document类型Document类指向整个HTML界面。操作的是html页面中的节点。Document可以通过class、tag(标签)、id对节点进行查询D
Appium介绍
max500600
开发工具appium
在使用不同版本的Appium包进行自动化测试时,出现警告问题可能是由于版本不兼容、配置不正确等原因导致的。下面将详细介绍解决这些问题的步骤,确保模拟器能够正常启动,并能在Appium查看器中同步显示。1.环境准备首先,确保你已经安装了以下工具和库:AppiumServer:可以从Appium官方网站下载并安装。AppiumPythonClient:使用以下命令安装:pipinstallAppium
二叉树深度的介绍
go5463158465
python算法算法开发语言python
二叉树深度的定义:二叉树的深度(高度)是指从根节点到最远叶子节点的最长路径上的节点数。例如,一个只有根节点的二叉树,其深度为1;如果根节点有两个子节点,且每个子节点又分别有两个子节点,那么这个二叉树的深度为3。计算二叉树深度的方法:递归方法:递归是解决二叉树问题的常用方法。对于二叉树深度的计算,其递归的思想是:二叉树的深度等于其左子树和右子树深度的最大值加1。以下是使用Python实现的代码:cl
决策树算法总结(上:ID3,C4.5决策树)
陈小虾
机器学习ID3决策树决策树
文章目录一、决策树原理1.1决策树简介1.2基本概念二、数学知识2.1信息熵2.2条件熵:2.3信息增益三、ID3决策树3.1特征选择3.2算法思路3.3算法不足四、C4.5决策树算法4.1处理连续特征4.2C4.5决策树特征选取4.3处理缺失值4.4过拟合问题五、决策树C4.5算法的不足决策树是一种特殊的树形结构,一般由节点和有向边组成。其中,节点表示特征、属性或者一个类。而有向边包含有判断条件
新手卖家必看!亚马逊多账号管理的实用工具推荐
跨境卫士球球
经验分享
在亚马逊的跨境电商浪潮中,许多卖家都涉足了多账号经营。但管理多个账号并非易事,稍有不慎就可能面临账号关联、运营混乱甚至封号的风险。今天,我们就来聊聊如何利用一些实用的工具,来轻松高效地管理你的亚马逊账号。多账号管理的重要性亚马逊的规则体系中,账号关联是一个敏感话题。一旦多个账号被认定有关联,可能会导致账号被封禁,这对依赖亚马逊销售业务的卖家来说是个巨大的打击。此外,管理多个账号时,你还需要处理不同
新手卖家必看!亚马逊防关联的核心操作指南
跨境卫士球球
网络教育电商
Hey新手卖家们,欢迎来到亚马逊这个充满机遇的跨境电商平台!但在这之前,有一件至关重要的事情需要你们注意——那就是防关联。别小看了这个看似不起眼的基础工作,它可是关乎你账号生死存亡的大问题。一旦因为关联问题被封号,轻则销量受损,重则账号投资打水漂,甚至无法解封。所以,今天咱们就来聊聊如何巧妙避开这些雷区,让你的亚马逊之旅顺风顺水!亚马逊关联,你了解多少?在深入探讨防关联技巧之前,我们得先搞清楚什么
flutter开发工程师面试(偏android)
孤独的跑者2024
flutter工作笔录
android:点击桌面APP的图片,APP是如何启动的,谈谈APP启动流程及优化说说常见的性能优化(启动优化、卡顿优化、耗电优化、网络优化等等)android是单线程还是多线程线程通信多进程通信方式android图形绘制机制说说你对MVC、MVP、MVVM的理解android事件分发机制android消息机制android如何自定义控件Activity生命周期说下Activity的四种启动模式、
python爬虫框架Scrapy简介
码农~明哥
pythonpython爬虫scrapy
当你写了很多个爬虫程序之后,你会发现每次写爬虫程序时,都需要将页面获取、页面解析、爬虫调度、异常处理、反爬应对这些代码从头至尾实现一遍,这里面有很多工作其实都是简单乏味的重复劳动。那么,有没有什么办法可以提升我们编写爬虫代码的效率呢?答案是肯定的,那就是利用爬虫框架,而在所有的爬虫框架中,Scrapy应该是最流行、最强大的框架。Scrapy概述Scrapy是基于Python的一个非常流行的网络爬虫
数据备份专家:Drive SnapShot高效备份恢复工具
KJ-拾荒者
数据库运维职场和发展性能优化经验分享
你是否在工作中遇到过这样的困扰:系统崩溃或硬盘故障导致重要数据丢失,影响工作效率和项目进度?或者在个人生活中,想要备份重要文件和系统设置,但现有的备份工具操作复杂、效率低下?今天,我要向大家推荐一款能够解决这些问题的高效备份恢复工具——DriveSnapShot!文末有分享链接,一键就能开启高效生活!什么是DriveSnapShot?DriveSnapShot是一款由德国开发者TomEhlert开
用 Python 实现经典的 2048 游戏:一步步带你打造属于你的小游戏!
一位小说男主
pythonpython游戏
用Python实现经典的2048游戏:一步步带你打造属于你的小游戏!(结尾附完整代码)简介2048是一个简单而又令人上瘾的数字拼图游戏。玩家通过滑动方块使相同数字的方块合并,目标是创造出数字2048!在这篇博客中,我们将用Python的Tkinter库从零开始实现这款游戏,涵盖从界面设计到逻辑实现的每一个细节,帮助你全面了解背后的开发思路。游戏特点经典玩法:滑动合并相同数字,尽可能达到2048。随
数据挖掘常用算法模型简介
大乔乔布斯
数据挖掘线性回归决策树
以下是数据挖掘中常用的算法模型及其简称、英文全称和使用场景的简要介绍:1.决策树(DecisionTree,DT)常用算法:CART:ClassificationandRegressionTreeID3:IterativeDichotomiser3C4.5:基于ID3改进使用场景:分类问题(如信用风险评估、客户分类)回归问题(如预测房价)特点:易解释、适合处理非线性数据。2.随机森林(Random
Go语言从入门到精通:一站式学习指南
写代码写到不能自控
golang开发语言后端
Go语言(也称Golang)自2009年由Google推出以来,凭借其简单、并发支持、以及高效的性能,迅速成为开发者的宠儿。它被广泛应用于Web开发、微服务架构、云计算等领域,并且得到了大量开发者的追捧。如果你是Go语言的初学者,或者已经有一定编程经验的开发者,那么这篇博客将帮助你从Go语言的入门知识学起,逐步深入,最终达到精通的水平。一、Go语言概述1.1什么是Go语言?Go语言是由Google
解锁C#泛型:代码世界的万能钥匙
步、步、为营
c#前端.net.netcore
一、引言:开启泛型大门在C#的编程世界中,我们常常面临这样的挑战:如何编写高效、灵活且可维护的代码?当需要处理不同数据类型但逻辑相似的情况时,如果没有合适的工具,代码可能会变得冗长、重复且难以管理。而C#泛型的出现,就像一把万能钥匙,为我们打开了通往高效编程的大门。想象一下,你正在开发一个数据处理系统,其中包含对整数、字符串和自定义对象的排序操作。在没有泛型的情况下,你可能需要为每种数据类型编写独
python创建虚拟环境
k47
pythonpythonlinux开发语言
python创建虚拟环境准备工作python3.8.8(python3.3以上自带venv模块)环境windows10步骤在D盘创建文件夹Env进入Env文件夹执行命令:python-mvenvtest_env(这里名称自己填)进入上一步创建的文件夹内,并进入scripts文件夹下执行命令进入虚拟环境:.\activatecmd命令窗口前面出现(你自己写的名称)就成功了退出虚拟环境deactiva
调用wx.openDocument,文件或文件夹不在白名单中, 上传时会被忽略, 在真机上可能无法读取
黑云压城After
微信uni-app前端微信小程序
1.这个问题可能是由于微信小程序的安全策略导致的。微信小程序对于网络请求和文件读取都有一些限制,其中包括白名单机制。如果你的小程序中的文件不在白名单中,那么在真机上可能无法读取。怎么解决这个问题,我们先使用uni.downloadFile把后台接口或者本地的PDF以及其他格式转为获取到本地临时路径。然后再使用uni.openDocument就可以了。[代码]复制就能用。Click(){//this
VMware Workstation 11 或者 VMware Player 7安装MAC OS X 10.10 Yosemite
iwindyforest
vmwaremac os10.10workstationplayer
最近尝试了下VMware下安装MacOS 系统,
安装过程中发现网上可供参考的文章都是VMware Workstation 10以下, MacOS X 10.9以下的文章,
只能提供大概的思路, 但是实际安装起来由于版本问题, 走了不少弯路, 所以我尝试写以下总结, 希望能给有兴趣安装OSX的人提供一点帮助。
写在前面的话:
其实安装好后发现, 由于我的th
关于《基于模型驱动的B/S在线开发平台》源代码开源的疑虑?
deathwknight
JavaScriptjava框架
本人从学习Java开发到现在已有10年整,从一个要自学 java买成javascript的小菜鸟,成长为只会java和javascript语言的老菜鸟(个人邮箱:
[email protected])
一路走来,跌跌撞撞。用自己的三年多业余时间,瞎搞一个小东西(基于模型驱动的B/S在线开发平台,非MVC框架、非代码生成)。希望与大家一起分享,同时有许些疑虑,希望有人可以交流下
平台
如何把maven项目转成web项目
Kai_Ge
mavenMyEclipse
创建Web工程,使用eclipse ee创建maven web工程 1.右键项目,选择Project Facets,点击Convert to faceted from 2.更改Dynamic Web Module的Version为2.5.(3.0为Java7的,Tomcat6不支持). 如果提示错误,可能需要在Java Compiler设置Compiler compl
主管???
Array_06
工作
转载:http://www.blogjava.net/fastzch/archive/2010/11/25/339054.html
很久以前跟同事参加的培训,同事整理得很详细,必须得转!
前段时间,公司有组织中高阶主管及其培养干部进行了为期三天的管理训练培训。三天的课程下来,虽然内容较多,因对老师三天来的课程内容深有感触,故借着整理学习心得的机会,将三天来的培训课程做了一个
python内置函数大全
2002wmj
python
最近一直在看python的document,打算在基础方面重点看一下python的keyword、Build-in Function、Build-in Constants、Build-in Types、Build-in Exception这四个方面,其实在看的时候发现整个《The Python Standard Library》章节都是很不错的,其中描述了很多不错的主题。先把Build-in Fu
JSP页面通过JQUERY合并行
357029540
JavaScriptjquery
在写程序的过程中我们难免会遇到在页面上合并单元行的情况,如图所示
如果对于会的同学可能很简单,但是对没有思路的同学来说还是比较麻烦的,提供一下用JQUERY实现的参考代码
function mergeCell(){
var trs = $("#table tr");
&nb
Java基础
冰天百华
java基础
学习函数式编程
package base;
import java.text.DecimalFormat;
public class Main {
public static void main(String[] args) {
// Integer a = 4;
// Double aa = (double)a / 100000;
// Decimal
unix时间戳相互转换
adminjun
转换unix时间戳
如何在不同编程语言中获取现在的Unix时间戳(Unix timestamp)? Java time JavaScript Math.round(new Date().getTime()/1000)
getTime()返回数值的单位是毫秒 Microsoft .NET / C# epoch = (DateTime.Now.ToUniversalTime().Ticks - 62135
作为一个合格程序员该做的事
aijuans
程序员
作为一个合格程序员每天该做的事 1、总结自己一天任务的完成情况 最好的方式是写工作日志,把自己今天完成了什么事情,遇见了什么问题都记录下来,日后翻看好处多多
2、考虑自己明天应该做的主要工作 把明天要做的事情列出来,并按照优先级排列,第二天应该把自己效率最高的时间分配给最重要的工作
3、考虑自己一天工作中失误的地方,并想出避免下一次再犯的方法 出错不要紧,最重
由html5视频播放引发的总结
ayaoxinchao
html5视频video
前言
项目中存在视频播放的功能,前期设计是以flash播放器播放视频的。但是现在由于需要兼容苹果的设备,必须采用html5的方式来播放视频。我就出于兴趣对html5播放视频做了简单的了解,不了解不知道,水真是很深。本文所记录的知识一些浅尝辄止的知识,说起来很惭愧。
视频结构
本该直接介绍html5的<video>的,但鉴于本人对视频
解决httpclient访问自签名https报javax.net.ssl.SSLHandshakeException: sun.security.validat
bewithme
httpclient
如果你构建了一个https协议的站点,而此站点的安全证书并不是合法的第三方证书颁发机构所签发,那么你用httpclient去访问此站点会报如下错误
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path bu
Jedis连接池的入门级使用
bijian1013
redisredis数据库jedis
Jedis连接池操作步骤如下:
a.获取Jedis实例需要从JedisPool中获取;
b.用完Jedis实例需要返还给JedisPool;
c.如果Jedis在使用过程中出错,则也需要还给JedisPool;
packag
变与不变
bingyingao
不变变亲情永恒
变与不变
周末骑车转到了五年前租住的小区,曾经最爱吃的西北面馆、江西水饺、手工拉面早已不在,
各种店铺都换了好几茬,这些是变的。
三年前还很流行的一款手机在今天看起来已经落后的不像样子。
三年前还运行的好好的一家公司,今天也已经不复存在。
一座座高楼拔地而起,
【Scala十】Scala核心四:集合框架之List
bit1129
scala
Spark的RDD作为一个分布式不可变的数据集合,它提供的转换操作,很多是借鉴于Scala的集合框架提供的一些函数,因此,有必要对Scala的集合进行详细的了解
1. 泛型集合都是协变的,对于List而言,如果B是A的子类,那么List[B]也是List[A]的子类,即可以把List[B]的实例赋值给List[A]变量
2. 给变量赋值(注意val关键字,a,b
Nested Functions in C
bookjovi
cclosure
Nested Functions 又称closure,属于functional language中的概念,一直以为C中是不支持closure的,现在看来我错了,不过C标准中是不支持的,而GCC支持。
既然GCC支持了closure,那么 lexical scoping自然也支持了,同时在C中label也是可以在nested functions中自由跳转的
Java-Collections Framework学习与总结-WeakHashMap
BrokenDreams
Collections
总结这个类之前,首先看一下Java引用的相关知识。Java的引用分为四种:强引用、软引用、弱引用和虚引用。
强引用:就是常见的代码中的引用,如Object o = new Object();存在强引用的对象不会被垃圾收集
读《研磨设计模式》-代码笔记-解释器模式-Interpret
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
package design.pattern;
/*
* 解释器(Interpreter)模式的意图是可以按照自己定义的组合规则集合来组合可执行对象
*
* 代码示例实现XML里面1.读取单个元素的值 2.读取单个属性的值
* 多
After Effects操作&快捷键
cherishLC
After Effects
1、快捷键官方文档
中文版:https://helpx.adobe.com/cn/after-effects/using/keyboard-shortcuts-reference.html
英文版:https://helpx.adobe.com/after-effects/using/keyboard-shortcuts-reference.html
2、常用快捷键
Maven 常用命令
crabdave
maven
Maven 常用命令
mvn archetype:generate
mvn install
mvn clean
mvn clean complie
mvn clean test
mvn clean install
mvn clean package
mvn test
mvn package
mvn site
mvn dependency:res
shell bad substitution
daizj
shell脚本
#!/bin/sh
/data/script/common/run_cmd.exp 192.168.13.168 "impala-shell -islave4 -q 'insert OVERWRITE table imeis.${tableName} select ${selectFields}, ds, fnv_hash(concat(cast(ds as string), im
Java SE 第二讲(原生数据类型 Primitive Data Type)
dcj3sjt126com
java
Java SE 第二讲:
1. Windows: notepad, editplus, ultraedit, gvim
Linux: vi, vim, gedit
2. Java 中的数据类型分为两大类:
1)原生数据类型 (Primitive Data Type)
2)引用类型(对象类型) (R
CGridView中实现批量删除
dcj3sjt126com
PHPyii
1,CGridView中的columns添加
array(
'selectableRows' => 2,
'footer' => '<button type="button" onclick="GetCheckbox();" style=&
Java中泛型的各种使用
dyy_gusi
java泛型
Java中的泛型的使用:1.普通的泛型使用
在使用类的时候后面的<>中的类型就是我们确定的类型。
public class MyClass1<T> {//此处定义的泛型是T
private T var;
public T getVar() {
return var;
}
public void setVa
Web开发技术十年发展历程
gcq511120594
Web浏览器数据挖掘
回顾web开发技术这十年发展历程:
Ajax
03年的时候我上六年级,那时候网吧刚在小县城的角落萌生。传奇,大话西游第一代网游一时风靡。我抱着试一试的心态给了网吧老板两块钱想申请个号玩玩,然后接下来的一个小时我一直在,注,册,账,号。
彼时网吧用的512k的带宽,注册的时候,填了一堆信息,提交,页面跳转,嘣,”您填写的信息有误,请重填”。然后跳转回注册页面,以此循环。我现在时常想,如果当时a
openSession()与getCurrentSession()区别:
hetongfei
javaDAOHibernate
来自 http://blog.csdn.net/dy511/article/details/6166134
1.getCurrentSession创建的session会和绑定到当前线程,而openSession不会。
2. getCurrentSession创建的线程会在事务回滚或事物提交后自动关闭,而openSession必须手动关闭。
这里getCurrentSession本地事务(本地
第一章 安装Nginx+Lua开发环境
jinnianshilongnian
nginxluaopenresty
首先我们选择使用OpenResty,其是由Nginx核心加很多第三方模块组成,其最大的亮点是默认集成了Lua开发环境,使得Nginx可以作为一个Web Server使用。借助于Nginx的事件驱动模型和非阻塞IO,可以实现高性能的Web应用程序。而且OpenResty提供了大量组件如Mysql、Redis、Memcached等等,使在Nginx上开发Web应用更方便更简单。目前在京东如实时价格、秒
HSQLDB In-Process方式访问内存数据库
liyonghui160com
HSQLDB一大特色就是能够在内存中建立数据库,当然它也能将这些内存数据库保存到文件中以便实现真正的持久化。
先睹为快!
下面是一个In-Process方式访问内存数据库的代码示例:
下面代码需要引入hsqldb.jar包 (hsqldb-2.2.8)
import java.s
Java线程的5个使用技巧
pda158
java数据结构
Java线程有哪些不太为人所知的技巧与用法? 萝卜白菜各有所爱。像我就喜欢Java。学无止境,这也是我喜欢它的一个原因。日常
工作中你所用到的工具,通常都有些你从来没有了解过的东西,比方说某个方法或者是一些有趣的用法。比如说线程。没错,就是线程。或者确切说是Thread这个类。当我们在构建高可扩展性系统的时候,通常会面临各种各样的并发编程的问题,不过我们现在所要讲的可能会略有不同。
开发资源大整合:编程语言篇——JavaScript(1)
shoothao
JavaScript
概述:本系列的资源整合来自于github中各个领域的大牛,来收藏你感兴趣的东西吧。
程序包管理器
管理javascript库并提供对这些库的快速使用与打包的服务。
Bower - 用于web的程序包管理。
component - 用于客户端的程序包管理,构建更好的web应用程序。
spm - 全新的静态的文件包管
避免使用终结函数
vahoa.ma
javajvmC++
终结函数(finalizer)通常是不可预测的,常常也是很危险的,一般情况下不是必要的。使用终结函数会导致不稳定的行为、更差的性能,以及带来移植性问题。不要把终结函数当做C++中的析构函数(destructors)的对应物。
我自己总结了一下这一条的综合性结论是这样的:
1)在涉及使用资源,使用完毕后要释放资源的情形下,首先要用一个显示的方