零碎的知识点(十二):卷积神经网络CNN通道数的理解!
墨绿色的摆渡人
零碎知识点cnn深度学习神经网络
卷积神经网络CNN通道数的理解!通道数的核心概念解析1.通道数的本质2.单张灰度图的处理示例:3.批量输入的处理通道与批次的关系:4.RGB三通道输入的处理计算过程:示例:5.通道数的实际意义6.可视化理解(1)单通道输入(灰度图)的过滤器(2)三通道输入(RGB)的过滤器总结通道数的核心概念解析1.通道数的本质在卷积神经网络中,通道数(Channels)表示不同过滤器的数量。每个通道对应一个独立
第十六题:最接近的三数之和
冰魄雕狼
leetcode算法leetcode数据结构c语言pythonjava
题目描述给定一个包括n个整数的数组nums和一个目标值target。找出nums中的三个整数,使得它们的和与target最接近。返回这三个数的和。假定每组输入只存在唯一答案。示例:输入:nums=[-1,2,1,-4],target=1输出:2解释:与target最接近的和为2(-1+2+1=2)。注意:3intcmp(constvoid*a,constvoid*b){return(*(int*)
登录ChatGPT的时候总是卡在“验证你是人类”
张biubiu
chatgpt
登录Chatgpt时总是验证是不是真人,用了网上的三种方法,还是没有解决,最后把电脑连上手机热点,就可以成功使用Chatgpt。网上比较常用的解决办法(以谷歌浏览器为例)切换无痕浏览清除所有cookie。(Ctrl+Shift+Delete)。会提示清除多久的,是24小时之内的,还是一周之内的等等等。更换科学上网节点。((软件的代理位置))如果上面三个都不行的话,建议关闭防火墙试试。关闭防火墙。最
【Java】通俗易懂方法引用
麻辣香蝈蝈
Javajavapython开发语言springboot学习方法mybatis
Java系列文章目录补充内容Windows通过SSH连接Linux第一章Linux基本命令的学习与Linux历史文章目录Java系列文章目录一、前言二、学习内容:三、问题描述四、解决方案:4.1解释4.2使用场景4.3为何使用Lambda表达式五、总结:5.1方法引用主要有四种类型:5.2方法引用的好处一、前言方法引用学习与见方法引用理解一下wrapper.set(request.getName(
在 Python 中如何删除文本文件中的特定行
信息科技云课堂
python
目录:方法1:按照行号删除行方法2:通过匹配内容删除行方法3:删除包含特定字符串的行方法4:删除文件中最短的行在本文中,将介绍使用Python从文本文件中删除行的几种方法。由于Python没有提供删除文件中特定行的直接方法,因此有必要找到我们自己的方法。文中示例使用的文本文件“1.txt”内容如下:穿针引线无忧无虑无地自容学习三位一体原来如此落叶归根相见恨晚惊天动地滔滔不绝相濡以沫方法1:按照行号
软考中级-数据库工程师。 以下三个专题是数据库系统工程师下午案例非SQL部分的解题思路。干货不断,敬请关注点赞收藏转发~
杨云龙666
经验笔记数据库
本人于20240525通过软考中级数据库工程师。以下三个专题是数据库系统工程师下午案例非SQL部分的解题思路。专题一:数据库故障与恢复检查点机制(CHECKPOINT):在日志中设置检查点,当发生故障需要利用日志文件恢复时,反向扫描日志文件,找到检查点,确认检查点时刻正在执行的事务(活动事务),即检查点前有事务开始标志但没有事务结束标志。对于检查点后提交的事务,执行REDO(重做)对于检查点后未提
html5 h265播放器,PC端播放H265
健康和谐男哥
html5h265播放器
说明需要在PC端浏览器(Chrome)中播放直播视频,视频格式有H264/H265。有不少三方库可以实现。通过video.js(支持H264,不支持H265)videojs-contrib-hlsembedVideo.jsExampleEmbeddata-setup='{}'>参考地址:通过hls.js(支持H264,不支持H265)pcplaym3u8(hlsjs)video{width:600
【云原生】Docker 部署 Nacos使用详解
逆风飞翔的小叔
运维docker搭建nacos详解docker部署nacosdocker安装nacos腾讯云搭建nacoscentos7搭建nacos
目录一、前言二、使用Docker部署Nacos2.1环境准备2.2搭建Nacos操作过程2.2.1拉取Nacos镜像2.2.2创建配置数据库2.2.3启动容器2.2.4删除nacos容器2.2.5再次启动容器2.2.6访问nacos三、基于Centos7搭建Nacos3.1搭建过程3.1.1服务器环境3.1.2mysql环境3.1.3提前下载安装包3.1.4初始化sql脚本3.1.5修改配置文件3
一、复杂度分析之——2、空间复杂度
记得多吃点
从零开始学算法算法python
空间复杂度前言一、空间复杂度是什么?二、算法相关空间1、算法在运行过程中使用的内存空间主要包括以下几种。2、暂存空间可以进一步划分为三个部分。三、推算方法四、常见类型五、不同复杂度代码演示1、常数阶O(111)2、对数阶O(lognlog_nlogn)3、线性阶O(nnn)4、平方阶O(n2n^2n2)5、指数阶O(2n2^n2n)总结前言本文将介绍空间复杂度相关知识。如果下面内容看不懂的话,那就
【Docker】私有Docker仓库的搭建
RumIV
工具dockereurekaspringcloud
一、准备工作确保您的系统已安装Docker。如果没有安装,请参考Docker官方文档进行安装。准备一个用于存储仓库数据的目录,例如/registry_data/。二、拉取官方registry镜像首先,我们需要从DockerHub拉取官方的registry镜像。执行以下命令:dockerpullregistry三、启动私有Docker仓库接下来,我们使用以下命令启动私有仓库:dockerrun-d-
「 机器人 」“控制权”在扑翼飞行器中的重要性及其优化挑战
Robot_Starscream
「机器人学」「运动控制」机器人人工智能
前言对于扑翼飞行器而言,“控制权”不仅决定其飞行稳定性,也决定其在高动态任务(如快速机动、障碍规避)中的表现能力。以下内容从控制目标和控制权的定义出发,阐述了控制权的重要作用及优化难点,并探讨了潜在的解决方案。1.控制目标1.1飞行稳定性•通过调节机翼的运动(如振幅、频率、对称性等),在俯仰、滚转与偏航三轴上维持或恢复姿态稳定。1.2运动控制•借助机翼独立运动所产生的推力和力矩,不依赖额外舵面或尾
Celery(三)Celery其他
呀儿呦丶
#celeryPythonpython
文章目录1.config1.1通过app.conf进行配置1.2通过app.conf.update进行配置1.3通过配置文件进行配置1.4通过配置类的方式进行配置2.任务相关2.1任务基类(base)2.2任务名称(name)2.3任务请求(request)2.4任务重试(retry)2.4.1指定最大重试次数2.4.2设置重试间隔时间2.4.3最大重试次数时报告的自定义异常2.4.4重试指定异常
SQLAlchemy
呀儿呦丶
Python#SQLAlchemy数据库pythonmysql
1.介绍SQLAlchemy以其对象关系映射器(ORM)而闻名,它是一个提供数据映射器模式的可选组件,其中类可以以开放式、多种方式映射到数据库——允许对象模型和数据库模式在一个从一开始就干净地解耦。简单来讲只需要用python的语法来操作对象,就能被自动映射为sql语句。sqlalchemy第三方orm框架(对象关系映射),可以单独使用。底层依附于pymysql2.安装pipinstallsqla
《Python 基础知识点解析--01》
青柠小卖部
python开发语言
在编程的世界里,Python以其简洁易懂的语法和强大的功能受到了广大开发者的喜爱。本文将为您详细介绍Python基础中的一些重要知识点。一、注释的作用与分类注释在代码中起着至关重要的作用,它可以帮助开发者更好地理解代码的功能和逻辑。单行注释:以#开头,其后的内容为注释。例如:#这是一个单行注释多行注释:使用三个单引号'''或三个双引号"""包裹注释内容。例如:'''这是一个多行注释'''注释可以用
JMeter性能测试入门-不同类型线程组的使用
温金垚
jmeret软件测试基础多线程
在做性能测试之前,我们来了解一下JMeter多个不同线程组的应用。首先,JMeter提供了三个基本的线程组,分别为:ThreadGroupsetUpThreadGrouptearDownThreadGroup其他线程组可以通过集成插件的方式使用,包括:bzm-ArrivalsThreadGroupbzm-ConcurrencyThreadGroupbzm-Free-FormArrivalsThre
指针(C语言)从0到1掌握指针,为后续学习c++打下基础
Hou'
c语言开发语言
目录一,指针二,内存地址和指针1,什么是内存地址2,指针在不同系统下所占内存三,指针的声明和初始化以及类型1,指针的声明2,指针的初始化1,初始化方式优点及适用场景4,指针的声明初始化类型四,野指针(永远都要避免)1,野指针的定义2,野指针产生的原因1,指针没有初始化2,释放内存后未置空3.局部变量超出作用域3,野指针的危害4,如何避免野指针五,取地址符和解引用1,取地址符&2,解引用*六,指针的
python变量赋值
zombee0
编程
赋值python变量赋值传递的都是引用,变量赋新对象相当于将当前变量名的标签从原变量上撕下来,贴到新的对象上。a=[1,2]b=a此时a=[1,2],b=[1,2]a[1]=3此时a=[1,3],b=[1,3]a=[2,3]此时a=[2,3],b=[1,2]Python中一切皆为对象,数字是对象,列表是对象,函数也是对象,任何东西都是对象。而变量是对象的一个引用(又称为名字或者标签),对象的操作都
【线性代数】如何判断矩阵是否可以相似对角化
x66ccff
数学线性代数矩阵机器学习
步骤第一步,看是不是实对称矩阵,如果是实对称矩阵,立即推可相似对角化,如果不是实对称矩阵,看第二步;第二步,求方阵的n个特征值,如果特征值彼此都不相同,也就是都是单根的话,立即推可相似对角化,如果有重根,看第三步;第三步,来验证k重根是不是具备k个线性无关的特征向量,也就是看A-λE或λE-A的秩是否等于n-k,若相等,立即推可相似对角化,不相等,则不能进行相似对角化原理:(1)实对称矩阵->不同
【杂记-浅谈BGP边界网关协议】
叫我小虎就行了
网络工程进阶知识BGPBGP边界网关协议边界网关协议
BGP边界网关协议一、BGP边界网关协议概述二、BGP的特点及与IGP的区别三、BGP的路由属性四、BGP协议中使用的报文一、BGP边界网关协议概述1、BGP,BorderGatewayProtocol,即边界网关协议,是一种在自治系统(AS)之间交换网络层可达性信息的路由选择协议。每个AS通常由一个或多个网络组成,并由单一的技术管理机构管理,使用相同的选路策略。BGP协议运行在TCP之上,端口号
外部网关路由协议-----BGP
bugggggggg
外部网关路由协议bgp
文章目录一、BGP定义1.1、概述1.2、特点1.3、分类1.4、工作原理1、五种报文2、六种状态机3、九个原则1.5、如何建立对等体1.6、相关配置二、实验三、BGP选路3.1、路径属性3.2、BGP选路原则一、BGP定义边界网关协议(BGP)是运行于TCP上的一种自治系统的路由协议。BGP是唯一一个用来处理像因特网大小的网络的协议,也是唯一能够妥善处理好不相关路由域间的多路连接的协议。BGP构
10.创建和加载布局 (添加一个按钮)
我也念过晚霞
Android学习androidvscodeide
步骤1:创建一个新的布局文件1.右击app/src/main/res目录->New->Directory,弹出一个窗口,然后创建一个名为layout的目录然后对着layout继续->New->Layoutresourcefile我们把这个布局文件命名为finrst_layout,根元素为LinearLayout此时,AndroidStudio会为你生成一个新的布局文件打开它。2.右上角三种视图形式
Kafka 压缩算法详细介绍
王多鱼的梦想~
kafka分布式运维apache
文章目录一、Kafka压缩算法概述二、Kafka压缩的作用2.1降低网络带宽消耗2.2提高Kafka生产者和消费者吞吐量2.3减少Kafka磁盘存储占用2.4减少KafkaBroker负载2.5降低跨数据中心同步成本三、Kafka压缩的原理3.1Kafka压缩的基本原理3.2.Kafka压缩的工作流程3.3Kafka压缩的数据存储格式四、Kafka压缩方式配置4.1Kafka生产者(Produce
logstash(自动拉取,过滤,推送日志的应用,也是elk架构中的l)
长东737
elk架构
elk是指elasticsearch,logstash,kibana三款软件搭配组成的架构logstash是一个数据采集加工处理以及传输的工具logstash类似于流水线,有三个模块,分辨是input>filter>output,input模块负责收集数据,filter负责处理数据,output负责输出数据logstash需要先保证web集群和ela集群运行正常才能搭建,运行logstash需要先
Java序列化进阶篇
g21121
java序列化
1.transient
类一旦实现了Serializable 接口即被声明为可序列化,然而某些情况下并不是所有的属性都需要序列化,想要人为的去阻止这些属性被序列化,就需要用到transient 关键字。
escape()、encodeURI()、encodeURIComponent()区别详解
aigo
JavaScriptWeb
原文:http://blog.sina.com.cn/s/blog_4586764e0101khi0.html
JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:,decodeURI,decodeURIComponent 。
下面简单介绍一下它们的区别
1 escape()函
ArcgisEngine实现对地图的放大、缩小和平移
Cb123456
添加矢量数据对地图的放大、缩小和平移Engine
ArcgisEngine实现对地图的放大、缩小和平移:
个人觉得是平移,不过网上的都是漫游,通俗的说就是把一个地图对象从一边拉到另一边而已。就看人说话吧.
具体实现:
一、引入命名空间
using ESRI.ArcGIS.Geometry;
using ESRI.ArcGIS.Controls;
二、代码实现.
Java集合框架概述
天子之骄
Java集合框架概述
集合框架
集合框架可以理解为一个容器,该容器主要指映射(map)、集合(set)、数组(array)和列表(list)等抽象数据结构。
从本质上来说,Java集合框架的主要组成是用来操作对象的接口。不同接口描述不同的数据类型。
简单介绍:
Collection接口是最基本的接口,它定义了List和Set,List又定义了LinkLi
旗正4.0页面跳转传值问题
何必如此
javajsp
跳转和成功提示
a) 成功字段非空forward
成功字段非空forward,不会弹出成功字段,为jsp转发,页面能超链接传值,传输变量时需要拼接。接拼接方式list.jsp?test="+strweightUnit+"或list.jsp?test="+weightUnit+&qu
全网唯一:移动互联网服务器端开发课程
cocos2d-x小菜
web开发移动开发移动端开发移动互联程序员
移动互联网时代来了! App市场爆发式增长为Web开发程序员带来新一轮机遇,近两年新增创业者,几乎全部选择了移动互联网项目!传统互联网企业中超过98%的门户网站已经或者正在从单一的网站入口转向PC、手机、Pad、智能电视等多端全平台兼容体系。据统计,AppStore中超过85%的App项目都选择了PHP作为后端程
Log4J通用配置|注意问题 笔记
7454103
DAOapachetomcatlog4jWeb
关于日志的等级 那些去 百度就知道了!
这几天 要搭个新框架 配置了 日志 记下来 !做个备忘!
#这里定义能显示到的最低级别,若定义到INFO级别,则看不到DEBUG级别的信息了~!
log4j.rootLogger=INFO,allLog
# DAO层 log记录到dao.log 控制台 和 总日志文件
log4j.logger.DAO=INFO,dao,C
SQLServer TCP/IP 连接失败问题 ---SQL Server Configuration Manager
darkranger
sqlcwindowsSQL ServerXP
当你安装完之后,连接数据库的时候可能会发现你的TCP/IP 没有启动..
发现需要启动客户端协议 : TCP/IP
需要打开 SQL Server Configuration Manager...
却发现无法打开 SQL Server Configuration Manager..??
解决方法: C:\WINDOWS\system32目录搜索framedyn.
[置顶] 做有中国特色的程序员
aijuans
程序员
从出版业说起 网络作品排到靠前的,都不会太难看,一般人不爱看某部作品也是因为不喜欢这个类型,而此人也不会全不喜欢这些网络作品。究其原因,是因为网络作品都是让人先白看的,看的好了才出了头。而纸质作品就不一定了,排行榜靠前的,有好作品,也有垃圾。 许多大牛都是写了博客,后来出了书。这些书也都不次,可能有人让为不好,是因为技术书不像小说,小说在读故事,技术书是在学知识或温习知识,有些技术书读得可
document.domain 跨域问题
avords
document
document.domain用来得到当前网页的域名。比如在地址栏里输入:javascript:alert(document.domain); //www.315ta.com我们也可以给document.domain属性赋值,不过是有限制的,你只能赋成当前的域名或者基础域名。比如:javascript:alert(document.domain = "315ta.com");
关于管理软件的一些思考
houxinyou
管理
工作好多看年了,一直在做管理软件,不知道是我最开始做的时候产生了一些惯性的思维,还是现在接触的管理软件水平有所下降.换过好多年公司,越来越感觉现在的管理软件做的越来越乱.
在我看来,管理软件不论是以前的结构化编程,还是现在的面向对象编程,不管是CS模式,还是BS模式.模块的划分是很重要的.当然,模块的划分有很多种方式.我只是以我自己的划分方式来说一下.
做为管理软件,就像现在讲究MVC这
NoSQL数据库之Redis数据库管理(String类型和hash类型)
bijian1013
redis数据库NoSQL
一.Redis的数据类型
1.String类型及操作
String是最简单的类型,一个key对应一个value,string类型是二进制安全的。Redis的string可以包含任何数据,比如jpg图片或者序列化的对象。
Set方法:设置key对应的值为string类型的value
Tomcat 一些技巧
征客丶
javatomcatdos
以下操作都是在windows 环境下
一、Tomcat 启动时配置 JAVA_HOME
在 tomcat 安装目录,bin 文件夹下的 catalina.bat 或 setclasspath.bat 中添加
set JAVA_HOME=JAVA 安装目录
set JRE_HOME=JAVA 安装目录/jre
即可;
二、查看Tomcat 版本
在 tomcat 安装目
【Spark七十二】Spark的日志配置
bit1129
spark
在测试Spark Streaming时,大量的日志显示到控制台,影响了Spark Streaming程序代码的输出结果的查看(代码中通过println将输出打印到控制台上),可以通过修改Spark的日志配置的方式,不让Spark Streaming把它的日志显示在console
在Spark的conf目录下,把log4j.properties.template修改为log4j.p
Haskell版冒泡排序
bookjovi
冒泡排序haskell
面试的时候问的比较多的算法题要么是binary search,要么是冒泡排序,真的不想用写C写冒泡排序了,贴上个Haskell版的,思维简单,代码简单,下次谁要是再要我用C写冒泡排序,直接上个haskell版的,让他自己去理解吧。
sort [] = []
sort [x] = [x]
sort (x:x1:xs)
| x>x1 = x1:so
java 路径 配置文件读取
bro_feng
java
这几天做一个项目,关于路径做如下笔记,有需要供参考。
取工程内的文件,一般都要用相对路径,这个自然不用多说。
在src统计目录建配置文件目录res,在res中放入配置文件。
读取文件使用方式:
1. MyTest.class.getResourceAsStream("/res/xx.properties")
2. properties.load(MyTest.
读《研磨设计模式》-代码笔记-简单工厂模式
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
package design.pattern;
/*
* 个人理解:简单工厂模式就是IOC;
* 客户端要用到某一对象,本来是由客户创建的,现在改成由工厂创建,客户直接取就好了
*/
interface IProduct {
SVN与JIRA的关联
chenyu19891124
SVN
SVN与JIRA的关联一直都没能装成功,今天凝聚心思花了一天时间整合好了。下面是自己整理的步骤:
一、搭建好SVN环境,尤其是要把SVN的服务注册成系统服务
二、装好JIRA,自己用是jira-4.3.4破解版
三、下载SVN与JIRA的插件并解压,然后拷贝插件包下lib包里的三个jar,放到Atlassian\JIRA 4.3.4\atlassian-jira\WEB-INF\lib下,再
JWFDv0.96 最新设计思路
comsci
数据结构算法工作企业应用公告
随着工作流技术的发展,工作流产品的应用范围也不断的在扩展,开始进入了像金融行业(我已经看到国有四大商业银行的工作流产品招标公告了),实时生产控制和其它比较重要的工程领域,而
vi 保存复制内容格式粘贴
daizj
vi粘贴复制保存原格式不变形
vi是linux中非常好用的文本编辑工具,功能强大无比,但对于复制带有缩进格式的内容时,粘贴的时候内容错位很严重,不会按照复制时的格式排版,vi能不能在粘贴时,按复制进的格式进行粘贴呢? 答案是肯定的,vi有一个很强大的命令可以实现此功能 。
在命令模式输入:set paste,则进入paste模式,这样再进行粘贴时
shell脚本运行时报错误:/bin/bash^M: bad interpreter 的解决办法
dongwei_6688
shell脚本
出现原因:windows上写的脚本,直接拷贝到linux系统上运行由于格式不兼容导致
解决办法:
1. 比如文件名为myshell.sh,vim myshell.sh
2. 执行vim中的命令 : set ff?查看文件格式,如果显示fileformat=dos,证明文件格式有问题
3. 执行vim中的命令 :set fileformat=unix 将文件格式改过来就可以了,然后:w
高一上学期难记忆单词
dcj3sjt126com
wordenglish
honest 诚实的;正直的
argue 争论
classical 古典的
hammer 锤子
share 分享;共有
sorrow 悲哀;悲痛
adventure 冒险
error 错误;差错
closet 壁橱;储藏室
pronounce 发音;宣告
repeat 重做;重复
majority 大多数;大半
native 本国的,本地的,本国
hibernate查询返回DTO对象,DTO封装了多个pojo对象的属性
frankco
POJOhibernate查询DTO
DTO-数据传输对象;pojo-最纯粹的java对象与数据库中的表一一对应。
简单讲:DTO起到业务数据的传递作用,pojo则与持久层数据库打交道。
有时候我们需要查询返回DTO对象,因为DTO
Partition List
hcx2013
partition
Given a linked list and a value x, partition it such that all nodes less than x come before nodes greater than or equal to x.
You should preserve the original relative order of th
Spring MVC测试框架详解——客户端测试
jinnianshilongnian
上一篇《Spring MVC测试框架详解——服务端测试》已经介绍了服务端测试,接下来再看看如果测试Rest客户端,对于客户端测试以前经常使用的方法是启动一个内嵌的jetty/tomcat容器,然后发送真实的请求到相应的控制器;这种方式的缺点就是速度慢;自Spring 3.2开始提供了对RestTemplate的模拟服务器测试方式,也就是说使用RestTemplate测试时无须启动服务器,而是模拟一
关于推荐个人观点
liyonghui160com
推荐系统关于推荐个人观点
回想起来,我也做推荐了3年多了,最近公司做了调整招聘了很多算法工程师,以为需要多么高大上的算法才能搭建起来的,从实践中走过来,我只想说【不是这样的】
第一次接触推荐系统是在四年前入职的时候,那时候,机器学习和大数据都是没有的概念,什么大数据处理开源软件根本不存在,我们用多台计算机web程序记录用户行为,用.net的w
不间断旋转的动画
pangyulei
动画
CABasicAnimation* rotationAnimation;
rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
rotationAnimation.toValue = [NSNumber numberWithFloat: M
自定义annotation
sha1064616837
javaenumannotationreflect
对象有的属性在页面上可编辑,有的属性在页面只可读,以前都是我们在页面上写死的,时间一久有时候会混乱,此处通过自定义annotation在类属性中定义。越来越发现Java的Annotation真心很强大,可以帮我们省去很多代码,让代码看上去简洁。
下面这个例子 主要用到了
1.自定义annotation:@interface,以及几个配合着自定义注解使用的几个注解
2.简单的反射
3.枚举
Spring 源码
up2pu
spring
1.Spring源代码
https://github.com/SpringSource/spring-framework/branches/3.2.x
注:兼容svn检出
2.运行脚本
import-into-eclipse.bat
注:需要设置JAVA_HOME为jdk 1.7
build.gradle
compileJava {
sourceCompatibilit
利用word分词来计算文本相似度
yangshangchuan
wordword分词文本相似度余弦相似度简单共有词
word分词提供了多种文本相似度计算方式:
方式一:余弦相似度,通过计算两个向量的夹角余弦值来评估他们的相似度
实现类:org.apdplat.word.analysis.CosineTextSimilarity
用法如下:
String text1 = "我爱购物";
String text2 = "我爱读书";
String text3 =