- 第 19 天:时间管理(Timers),让事件按时间执行!
Bluesonli
ue5unrealengine游戏c++前端
目标✅理解UE5中定时器(Timer)的原理与用途✅使用FTimerHandle实现事件延时、倒计时系统✅比较Tick()与Timer的使用场景✅构建一个简单的倒计时示例1️⃣为什么需要时间管理?在游戏开发中,很多行为不需要每帧都更新,而是按照一定时间间隔执行,例如:延迟执行事件(如开火冷却、动画播放完成后触发后续逻辑)倒计时效果(如倒计时计时器)优化性能:与Tick()相比,定时器能减少不必要的
- oracle数据库awr取间隔调整
deadknight9
Oracle运维数据库oracle
一、查看取值间隔SQL>select*fromdba_hist_wr_control;DBIDSNAP_INTERVALRETENTIONTOPNSQL--------------------------------------------------------------------------------1549435079+0000001:00:00.0+0000800:00:00.0DE
- Python 异步协程:从 async/await 到 asyncio 再到 async with
pythonasync
在Python3.8以后的版本中,异步编程变得越来越重要。本文将系统介绍Python标准库中的异步编程工具,带领大家掌握async/await语法和asyncio的使用。从一个简单的场景开始假设我们在处理一些耗时的I/O操作,比如读取多个文件或处理多个数据。为了模拟这种场景,我们先用time.sleep()来代表耗时操作:importtimeimportrandomdefprocess_item(
- Python `*args` 和 `**kwargs`:优雅处理可变参数的终极指南 & 配合 frozenset
python
在Python开发中,我们经常会遇到需要处理不定数量参数的场景。今天就来聊聊Python中的*args和**kwargs,看看它们如何帮我们优雅地解决这类问题。从一个实际场景说起假设你正在开发一个数据处理框架,需要实现一个通用的函数装饰器来记录函数执行时间:importtimefromfunctoolsimportwrapsdeftimer(func):@wraps(func)defwrapper
- android滑动看新闻
太空漫步11
android
packagecom.example.myapplication5;importandroidx.appcompat.app.AppCompatActivity;importandroid.os.Bundle;importandroid.view.GestureDetector;importandroid.view.MotionEvent;importandroid.view.View;impor
- 易语言java通讯_Android/Java/易语言通过TCP实现互相通信
超高校级的社畜
易语言java通讯
首先就要完成Android和易语言之间的通信的源码,我刚开始想着做一个网站来中转通信?后来否定了。为什么?一个单子做三个东西太累了吧。。然后我去百度可是易语言例子本身就少何况挂上了Android,E4A的我倒看到了。但我E4A也没写过呀。研究了一段时间后我知道了基于TCP的Socket通信,这也就是我们的主角然后我又去百度JAVA的相关代码,一阵鼓捣后成功实现了PC服务端和APP客户Duan的交互
- Android实现使用ViewPager实现翻页效果(附完整源码)
源代码大师
Android实战完整教程android
Android实现使用ViewPager实现翻页效果1.创建项目2.添加依赖3.创建布局文件4.创建页面布局5.创建适配器6.实现MainActivity7.运行项目在Android中,使用ViewPager实现翻页效果是一个常见的需求。下面是一个简单的示例,展示如何使用ViewPager来实现翻页效果。1.创建项目首先,在AndroidStudio中创建一个新的项目。2.添加依赖在build.g
- Flutter项目文件目录结构介绍
Android_阿拉拉
Flutterflutter
以下是一个典型的Flutter项目文件目录结构及其各部分的介绍:1.android目录作用:这个目录包含了与安卓平台相关的所有原生代码以及配置文件,用于构建和定制Flutter应用在安卓系统上的表现。具体内容:app文件夹:存放安卓应用的主要代码和资源,比如安卓的MainActivity类就在这里定义(它是安卓应用启动的入口点),还有安卓的布局文件、图片资源等可以按照安卓开发的规范存放在对应的子文
- ConstraintLayout中,想将ViewPager置于某个控件下方
否定观
Android基础系列android
将ViewPager2置于tl_home_menu_bar控件下方<androidx.viewpager2.widget.ViewPager2android:id="@+id/vp_home"android:layout_width="match_parent"android:layout_height="0dp"android:background
- c语言swap是什么,swap(什么是swap)
weixin_39575502
c语言swap是什么
SWAP的中文意思是交换,在Android系统中的意思即为交换分区。由于低端安卓手机配备的运行内存往往比较小,以中兴V880国行版为例,该机配备的运行内存只有256.swap函数一般是一个程序员自定义函数。通常是实现两个变量数值的交换。比如inta=2;intb=3;swap(a,b);//一般用到变量数值交换,交换后a=3b=2;实现的方法多.如题,是当RAM还是ROM?怎么开?swap的中文意
- 教你用Python完成一个贪吃蛇的游戏
2401_87992459
python游戏pycharm
importturtleimporttimeimportrandom#游戏参数设置DELAY=0.1#游戏速度SEGMENT_SIZE=20#蛇身方块大小#初始化窗口window=turtle.Screen()window.title("贪吃蛇")window.bgcolor("black")window.setup(width=600,height=600)window.tracer(0)#关闭
- Android如何将采集到的音频PCM文件转为WAV并保存
不会写代码的猴子
ffmpeg工具使用Android音视频android音视频
1.Android音频采集添加权限动态申请权限PermissionX是一个用于处理Android运行时权限的框架。它的目的是简化和标准化处理运行时权限的申请、拒绝和永久拒绝等操作,让开发者可以更轻松地管理权限。PermissionX通过在每个系统版本上进行额外的适配,确保了对于不同版本的Android系统都能进行有效的权限处理。例如,从Android13开始,READ_EXTERNAL_STORA
- 【iOS】SwiftUI状态管理
coooliang
IOSiosswiftuiswift
@State@ObservedObject@StateObject的使用importSwiftUIclassCountModel:ObservableObject{@Publishedvarcount:Int=0//通过@Published标记的变量会触发视图更新init(){print("TimerModelinitializedat\(count)")}}structContentView:V
- 《Operating System Concepts》阅读笔记:p26-p33
操作系统
《OperatingSystemConcepts》学习第6天,p26-p33总结,总计8页。一、技术总结timer(1)为什么设置timerWemustensurethattheoperatingsystemmaintainscontrolovertheCPU.Wecannotallowauserprogramtogetstuckinaninfinitelooportofailtocallsyst
- Python 并发编程实战:优雅地使用 concurrent.futures
python
在Python多线程编程中,concurrent.futures模块提供了一个高层的接口来异步执行可调用对象。今天,我们将通过一个循序渐进的案例,深入了解如何使用这个强大的工具。从一个模拟场景开始假设我们需要处理一批网络请求。为了模拟这个场景,我们使用sleep来代表耗时操作:importtimeimportrandomdefslow_operation(task_id):"""模拟一个耗时的网络
- Python 自带的日期日历处理大师:calendar 库
python
在Python开发中,我们经常需要处理日期和时间。虽然datetime库是最常用的选择,但其实Python标准库中的calendar模块也是一个强大的工具,特别适合处理日历相关的计算和展示。从一个真实场景开始假设你正在开发一个会议室预订系统,需要:展示月度视图计算工作日处理节假日逻辑让我们看看如何用calendar来优雅地解决这些问题。基础用法:生成日历importcalendar#创建日历对象c
- 《Cell》期刊作者提交指南
TigerZ 生信宝库
科研技能程序人生
❝写在前面在投稿论文前,阅读目标期刊的政策要求是非常必要的。本文为《Cell》期刊提供给作者的提交指南,包含了提交论文的相关信息和政策要求。本着自己学习、分享他人的态度,分享学习笔记,希望能对大家有所帮助。目录1期刊介绍(Aboutthejournal)2编辑评估时间表(Editorialevaluationtimeline)3CellPress期刊之间的关系(Relationshipbetwee
- flutter gradle版本更新到8.9
Alex_z0897
flutter
文章未完成,待续gradle版本更新到8.9项目一些需要变更的位置gradle-wrapper.propertiesandroid/build.gradle两处变更gradle与插件版本对应关系android/app/build.gradle因为java版本更新到21.0.5,打开flutter项目时vscode提示需求更新gradle版本项目一些需要变更的位置gradle-wrapper.pro
- 计算机网络(4)TCP断开
tian-ming
tcp/ip计算机网络网络
1、TCP断开连接四次挥手流程TCP断开连接是通过四次挥手方式。双方都可以主动断开连接,断开连接后主机中的「资源」将被释放。2、为什么TIME_WAIT等待的时间是2MSL?3、为什么需要TIME_WAIT状态?4、拔掉网线后,原本的TCP连接还存在吗?可能有人觉得网线都被拔掉了,那说明物理层被断开了,那在上层的传输层理应也会断开,所以原本的TCP连接就不会存在的了。就好像,我们拨打有线电话的时候
- agoda获取酒店数据
风云路上想改名
笔记pythonagoda爬取报错重启
最近改了改代码,正好解决了一些报错问题,更新出来。个别处会加蜜数据库以及线程控制fromDBUtils.PooledDBimportPooledDBimportrequestsimportdemjsonimporttimeimportrandomimportjsonimportpymysqlimportdatetimeimportthreadingb={"user":"root","passwd"
- python使用技巧
超超是超超
python
1、耗时装饰器importtimedefdecorate(func):definner():begin=time.time()result=func()end=time.time()print(f'函数{func}耗时{end-begin}')returnresultreturninner2、查看代码运行耗时fromline_profilerimportLineProfilerdefoperati
- tidb实时同步到mysql
数据库
客户要求实时同步表的数据到mysql,但这个表在tidb。测试直接通过tidbcdc写入到mysql,有些字段是null,所以中间加了一个kafka实现客户库中创建表CREATETABLEtb_1(idbigintprimarykey,cidbigint,gidbigint,feeDECIMAL(10,2),created_attimestamp,typesmallint,remarkstring
- Android Calendar日历获取几个月的总天数,每月的月初时间和月末时间
OKXLIN
java算法开发语言android
/***获取当月剩余天数(含当天)+往后几个月的天数总和*@parammonthNum往后几个月*@return总天数*/publicstaticintgetDaysWithMonthYear(intmonthNum){intdays=0;Calendarcalendar=Calendar.getInstance();intyear=calendar.get(Calendar.YEAR);intm
- Android arcgis加载在线底图
Angie洛林
androidarcgis
我整理的一些关于【信息系统】的项目学习资料(附讲解~~)和大家一起分享、学习一下:https://edu.51cto.com/mic-position/757.html在Android中使用ArcGIS加载在线底图ArcGIS是Esri提供的一套强大的地理信息系统(GIS)解决方案,支持多种平台,包括Android。本文将介绍如何在Android应用中使用ArcGIS加载在线底图,并配有相关代码示
- 使用Arcgis API for android加载OpenStreetMap底图并完成定位
续汉冕
移动开发androidandroidstudioarcgisapi
为了完成这个应用功能花了三天,代码倒不多就是比较坑!环境:AndroidSDKAPI22,AndroidStudio1.2.2,arcgisandroidSDK10.2.7如何基于ArcgisAPIforandroid在AndroidStudio新建一个项目就不再赘述了,大家可以参考以下网址:使用AndroidStudio与ArcgisandroidSDK的开发环境部署和HelloWorld:ht
- ArcGIS Runtime SDK for iOS 开发之地图范围(map extent)
hlj184
ArcGISforIOSarcgisios开发mapextent
注:本篇文章翻译自:https://developers.arcgis.com/ios/objective-c/guide/iphonesdk-mapnavigation.htm;地图视图包含了地图范围被定义和改变的选项。值得注意的是,底图(加载到地图中的第一层图层)定义了下列地图属性:初始化范围全部范围空间参考系其中,初始范围可以被改变,而空间参考不可以改变。本篇文章主要讨论针对开发者和最终用户
- Python wifi 安装手机app
yichengace
python
目的当测试机数量越来越多时,测试包的安装会成为一个问题,用wifi安装来解决这个问题,并且用脚本语言来批量控制思路思路就是py调用pc端的adb命令,向手机发送请求,无线是因为,如果未来测试机越来越多,一台电脑的usb接口数量肯定不够准备工具python,adb,pycharm,测试用app,这里选择qq(https://qd.myapp.com/myapp/qqteam/AndroidQQ/mo
- 最新版AndroidStudio踩坑(新建项目无法正常运行)
沙漠蓝色披头
androidstudio
2023.7.20日雨今天花了六个小时才搞定新版AS创建app应用并可以运行,所以记录一下as版本是:AndroidStudioFlamingo|2022.2.1Patch2新建一个app应用,结果gradle一直下载不下来,提示connectrefuse,如果你配置了代理,建议设置为无代理同时要记得把.gradle/gradle.properties里面相关的代理设置给清除了,如果设置了代理的话
- Android. WebView出现net::ERR_UNKNOWN_URL_SCHEME错误
沙漠蓝色披头
小技巧webviewandroid
1.仔细观察图中url可以发现这是一个自定协议的url,究其原因,就是拦截webview中的url,如果url是自定义协议(如:tel,weixin,alipays等等)开头的,就url转换成原生调用(intent跳转),因为webview只能识别http,https这样的协议.webview其实就相当于pc端的浏览器,遇到http/https开头的url时会向host发起一个请求,而遇到自定义的
- Flutter一直停在 flutter pub get 的解决方法
沙漠蓝色披头
Flutter移动开发
设置用户变量FLUTTER_STORAGE_BASE_URL:https://storage.flutter-io.cnPUB_HOSTED_URL:https://pub.flutter-io.cn重启androidstudio亲测有效
- Java实现的基于模板的网页结构化信息精准抽取组件:HtmlExtractor
yangshangchuan
信息抽取HtmlExtractor精准抽取信息采集
HtmlExtractor是一个Java实现的基于模板的网页结构化信息精准抽取组件,本身并不包含爬虫功能,但可被爬虫或其他程序调用以便更精准地对网页结构化信息进行抽取。
HtmlExtractor是为大规模分布式环境设计的,采用主从架构,主节点负责维护抽取规则,从节点向主节点请求抽取规则,当抽取规则发生变化,主节点主动通知从节点,从而能实现抽取规则变化之后的实时动态生效。
如
- java编程思想 -- 多态
百合不是茶
java多态详解
一: 向上转型和向下转型
面向对象中的转型只会发生在有继承关系的子类和父类中(接口的实现也包括在这里)。父类:人 子类:男人向上转型: Person p = new Man() ; //向上转型不需要强制类型转化向下转型: Man man =
- [自动数据处理]稳扎稳打,逐步形成自有ADP系统体系
comsci
dp
对于国内的IT行业来讲,虽然我们已经有了"两弹一星",在局部领域形成了自己独有的技术特征,并初步摆脱了国外的控制...但是前面的路还很长....
首先是我们的自动数据处理系统还无法处理很多高级工程...中等规模的拓扑分析系统也没有完成,更加复杂的
- storm 自定义 日志文件
商人shang
stormclusterlogback
Storm中的日志级级别默认为INFO,并且,日志文件是根据worker号来进行区分的,这样,同一个log文件中的信息不一定是一个业务的,这样就会有以下两个需求出现:
1. 想要进行一些调试信息的输出
2. 调试信息或者业务日志信息想要输出到一些固定的文件中
不要怕,不要烦恼,其实Storm已经提供了这样的支持,可以通过自定义logback 下的 cluster.xml 来输
- Extjs3 SpringMVC使用 @RequestBody 标签问题记录
21jhf
springMVC使用 @RequestBody(required = false) UserVO userInfo
传递json对象数据,往往会出现http 415,400,500等错误,总结一下需要使用ajax提交json数据才行,ajax提交使用proxy,参数为jsonData,不能为params;另外,需要设置Content-type属性为json,代码如下:
(由于使用了父类aaa
- 一些排错方法
文强chu
方法
1、java.lang.IllegalStateException: Class invariant violation
at org.apache.log4j.LogManager.getLoggerRepository(LogManager.java:199)at org.apache.log4j.LogManager.getLogger(LogManager.java:228)
at o
- Swing中文件恢复我觉得很难
小桔子
swing
我那个草了!老大怎么回事,怎么做项目评估的?只会说相信你可以做的,试一下,有的是时间!
用java开发一个图文处理工具,类似word,任意位置插入、拖动、删除图片以及文本等。文本框、流程图等,数据保存数据库,其余可保存pdf格式。ok,姐姐千辛万苦,
- php 文件操作
aichenglong
PHP读取文件写入文件
1 写入文件
@$fp=fopen("$DOCUMENT_ROOT/order.txt", "ab");
if(!$fp){
echo "open file error" ;
exit;
}
$outputstring="date:"." \t tire:".$tire."
- MySQL的btree索引和hash索引的区别
AILIKES
数据结构mysql算法
Hash 索引结构的特殊性,其 检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引。
可能很多人又有疑问了,既然 Hash 索引的效率要比 B-Tree 高很多,为什么大家不都用 Hash 索引而还要使用 B-Tree 索引呢
- JAVA的抽象--- 接口 --实现
百合不是茶
抽象 接口 实现接口
//抽象 类 ,方法
//定义一个公共抽象的类 ,并在类中定义一个抽象的方法体
抽象的定义使用abstract
abstract class A 定义一个抽象类 例如:
//定义一个基类
public abstract class A{
//抽象类不能用来实例化,只能用来继承
//
- JS变量作用域实例
bijian1013
作用域
<script>
var scope='hello';
function a(){
console.log(scope); //undefined
var scope='world';
console.log(scope); //world
console.log(b);
- TDD实践(二)
bijian1013
javaTDD
实践题目:分解质因数
Step1:
单元测试:
package com.bijian.study.factor.test;
import java.util.Arrays;
import junit.framework.Assert;
import org.junit.Before;
import org.junit.Test;
import com.bijian.
- [MongoDB学习笔记一]MongoDB主从复制
bit1129
mongodb
MongoDB称为分布式数据库,主要原因是1.基于副本集的数据备份, 2.基于切片的数据扩容。副本集解决数据的读写性能问题,切片解决了MongoDB的数据扩容问题。
事实上,MongoDB提供了主从复制和副本复制两种备份方式,在MongoDB的主从复制和副本复制集群环境中,只有一台作为主服务器,另外一台或者多台服务器作为从服务器。 本文介绍MongoDB的主从复制模式,需要指明
- 【HBase五】Java API操作HBase
bit1129
hbase
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.ha
- python调用zabbix api接口实时展示数据
ronin47
zabbix api接口来进行展示。经过思考之后,计划获取如下内容: 1、 获得认证密钥 2、 获取zabbix所有的主机组 3、 获取单个组下的所有主机 4、 获取某个主机下的所有监控项
- jsp取得绝对路径
byalias
绝对路径
在JavaWeb开发中,常使用绝对路径的方式来引入JavaScript和CSS文件,这样可以避免因为目录变动导致引入文件找不到的情况,常用的做法如下:
一、使用${pageContext.request.contextPath}
代码” ${pageContext.request.contextPath}”的作用是取出部署的应用程序名,这样不管如何部署,所用路径都是正确的。
- Java定时任务调度:用ExecutorService取代Timer
bylijinnan
java
《Java并发编程实战》一书提到的用ExecutorService取代Java Timer有几个理由,我认为其中最重要的理由是:
如果TimerTask抛出未检查的异常,Timer将会产生无法预料的行为。Timer线程并不捕获异常,所以 TimerTask抛出的未检查的异常会终止timer线程。这种情况下,Timer也不会再重新恢复线程的执行了;它错误的认为整个Timer都被取消了。此时,已经被
- SQL 优化原则
chicony
sql
一、问题的提出
在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。系统优化中一个很重要的方面就是SQL语句的优化。对于海量数据,劣质SQL语句和优质SQL语句之间的速度差别可以达到上百倍,可见对于一个系统
- java 线程弹球小游戏
CrazyMizzz
java游戏
最近java学到线程,于是做了一个线程弹球的小游戏,不过还没完善
这里是提纲
1.线程弹球游戏实现
1.实现界面需要使用哪些API类
JFrame
JPanel
JButton
FlowLayout
Graphics2D
Thread
Color
ActionListener
ActionEvent
MouseListener
Mouse
- hadoop jps出现process information unavailable提示解决办法
daizj
hadoopjps
hadoop jps出现process information unavailable提示解决办法
jps时出现如下信息:
3019 -- process information unavailable3053 -- process information unavailable2985 -- process information unavailable2917 --
- PHP图片水印缩放类实现
dcj3sjt126com
PHP
<?php
class Image{
private $path;
function __construct($path='./'){
$this->path=rtrim($path,'/').'/';
}
//水印函数,参数:背景图,水印图,位置,前缀,TMD透明度
public function water($b,$l,$pos
- IOS控件学习:UILabel常用属性与用法
dcj3sjt126com
iosUILabel
参考网站:
http://shijue.me/show_text/521c396a8ddf876566000007
http://www.tuicool.com/articles/zquENb
http://blog.csdn.net/a451493485/article/details/9454695
http://wiki.eoe.cn/page/iOS_pptl_artile_281
- 完全手动建立maven骨架
eksliang
javaeclipseWeb
建一个 JAVA 项目 :
mvn archetype:create
-DgroupId=com.demo
-DartifactId=App
[-Dversion=0.0.1-SNAPSHOT]
[-Dpackaging=jar]
建一个 web 项目 :
mvn archetype:create
-DgroupId=com.demo
-DartifactId=web-a
- 配置清单
gengzg
配置
1、修改grub启动的内核版本
vi /boot/grub/grub.conf
将default 0改为1
拷贝mt7601Usta.ko到/lib文件夹
拷贝RT2870STA.dat到 /etc/Wireless/RT2870STA/文件夹
拷贝wifiscan到bin文件夹,chmod 775 /bin/wifiscan
拷贝wifiget.sh到bin文件夹,chm
- Windows端口被占用处理方法
huqiji
windows
以下文章主要以80端口号为例,如果想知道其他的端口号也可以使用该方法..........................1、在windows下如何查看80端口占用情况?是被哪个进程占用?如何终止等. 这里主要是用到windows下的DOS工具,点击"开始"--"运行",输入&
- 开源ckplayer 网页播放器, 跨平台(html5, mobile),flv, f4v, mp4, rtmp协议. webm, ogg, m3u8 !
天梯梦
mobile
CKplayer,其全称为超酷flv播放器,它是一款用于网页上播放视频的软件,支持的格式有:http协议上的flv,f4v,mp4格式,同时支持rtmp视频流格 式播放,此播放器的特点在于用户可以自己定义播放器的风格,诸如播放/暂停按钮,静音按钮,全屏按钮都是以外部图片接口形式调用,用户根据自己的需要制作 出播放器风格所需要使用的各个按钮图片然后替换掉原始风格里相应的图片就可以制作出自己的风格了,
- 简单工厂设计模式
hm4123660
java工厂设计模式简单工厂模式
简单工厂模式(Simple Factory Pattern)属于类的创新型模式,又叫静态工厂方法模式。是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。
- maven笔记
zhb8015
maven
跳过测试阶段:
mvn package -DskipTests
临时性跳过测试代码的编译:
mvn package -Dmaven.test.skip=true
maven.test.skip同时控制maven-compiler-plugin和maven-surefire-plugin两个插件的行为,即跳过编译,又跳过测试。
指定测试类
mvn test
- 非mapreduce生成Hfile,然后导入hbase当中
Stark_Summer
maphbasereduceHfilepath实例
最近一个群友的boss让研究hbase,让hbase的入库速度达到5w+/s,这可愁死了,4台个人电脑组成的集群,多线程入库调了好久,速度也才1w左右,都没有达到理想的那种速度,然后就想到了这种方式,但是网上多是用mapreduce来实现入库,而现在的需求是实时入库,不生成文件了,所以就只能自己用代码实现了,但是网上查了很多资料都没有查到,最后在一个网友的指引下,看了源码,最后找到了生成Hfile
- jsp web tomcat 编码问题
王新春
tomcatjsppageEncode
今天配置jsp项目在tomcat上,windows上正常,而linux上显示乱码,最后定位原因为tomcat 的server.xml 文件的配置,添加 URIEncoding 属性:
<Connector port="8080" protocol="HTTP/1.1"
connectionTi