- C语言综合:项目:学生管理系统
lyx 弈心
c语言算法数据结构
概述1.基础2.试题3.实现4.演示1.基础基于之前的C语言内容补充三点:1.1结构体数组栈区的结构体数组:structStudentstu[5]={{},{},{},{},{}};//结构体内容此处省略堆区的结构体数组:structStudent*p=(structStudent*)calloc(5,sizeof(structStudent));二者的区别:栈区的结构体数组可以直接赋值与调用,堆
- 【设计模式09】组合模式
鼠鼠我呀2
设计模式设计模式组合模式
前言适用于树形结构,如公司的组织架构,目录和文件夹UML类图代码示例packagecom.sw.learn.pattern.C_structre.c_composite;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Component;importj
- C++小游戏:欢乐赌场
独孤求拜1024
c++
废话赌博有害,请勿赌博#includeusingnamespacestd;structnode{stringname;intmoney;};nodedu[100];intmain(){srand(time(NULL));intn;cin>>n;for(inti=1;i>du[i].name;du[i].money=100;}inta,d[400],z[400];while(1){for(inti=
- C语言结构体精讲:从定义到初始化的三种核心方式
资料合集下载链接:https://pan.quark.cn/s/472bbdfcd014在C语言编程中,我们经常需要将不同类型的数据组合成一个有机的整体来进行处理,比如记录一个学生的信息(姓名、学号、成绩)。这时,单独的int、char或float变量就显得力不从心了。为了解决这个问题,C语言提供了一种强大的数据类型——结构体(Struct)。本文将根据课堂学习的要点,带你深入理解结构体变量的三种
- OCCT 预览显示与永久显示设计哲学: 非破坏性编辑 (Non-destructive Editing) 设计模式
在现代三维建模和计算机辅助设计(CAD)领域,用户的每一次操作都可能涉及复杂且耗时的计算。如何为用户提供一个既能实时响应、又能确保数据安全的操作环境,是软件架构设计的核心挑战之一。预览与永久应用分离的机制,正是非破坏性编辑(Non-destructiveEditing)这一核心设计模式的经典体现。非破坏性编辑,顾名思义,是指在编辑过程中,用户的任何尝试性操作都不会立即、永久地改变或破坏原始数据。系
- 认知引擎的系统性提升路径:从投影到本体的智慧涌现
核心议题:结合从投影(Projection)推断本体(Ontology)的根本挑战,旨在设计一套认知引擎的系统性提升路径。其最终目标是在知识基础设施(GlobalKnowledgeInfrastructure,GKI)中,构建一个可持续、可进化、能够自我完善并不断逼近“知识奇点”的认知系统。设计视角:以“知识架构师”(KnowledgeArchitect)的身份,我们将构建一个涵盖认知机制、知识结
- (C++)学生管理系统(测试版)(map数组的应用)(string应用)(引用)(C++教学)(C++项目)
双叶836
C++基础教学STLC++C++项目c++算法开发语言数据结构后端
源代码:#include//输入输出流库,提供cin/cout等基本I/O功能#include//映射容器库,提供map数据结构(键值对集合)#include//字符串库,提供string类及字符串操作#include//输入输出格式化库,提供setw等格式化控制usingnamespacestd;//使用标准命名空间,避免写std::前缀//定义学生结构体:包含多个相关数据的复合类型struct
- golang 构造函数
Carver猫哥
后端笔记【Golang】golang开发语言后端
Go语言的类型或结构体没有构造函数的功能,但是我们可以使用结构体初始化的过程来模拟实现构造函数其他编程语言构造函数的一些常见功能及特性如下:每个类可以添加构造函数,多个构造函数使用函数重载实现。Go语言没有重载构造函数一般与类名同名,且没有返回值构造函数有一个静态构造函数,一般用这个特性来调用父类的构造函数一:模拟构造函数重载typeCatstruct{ColorstringNamestring}
- Rust中struct、impl、trait、enum关系解析
在Rust中,struct、enum、impl和trait是面向对象编程的核心概念,它们协同工作以实现数据抽象、封装和多态。以下是详细解释及它们之间的关系:1.struct(结构体)作用:定义自定义数据类型,封装多个相关字段(数据)。特点:类似于其他语言中的"类",但仅包含数据(不包含方法)。支持泛型、生命周期参数等。通过impl块添加方法。示例:structRectangle{width:u32
- 链表经典练习题及题解(c++)
紫色幽灵魔
数据结构链表链表c++数据结构
前言:记录遇到的链表类题目,总结题解方法,加深对链表的理解,题目均来自在线平台。一.160.相交链表-力扣(LeetCode)思路1:分别遍历两个链表得出两个链表长度,然后长的链表向后移动长度之差步,接着长短链表同时移动,直到遇到相交结点或者无交点结束。题解1:/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*
- Swift中常见的面试题
~废弃回忆 �༄
swiftSwift面试题Swift常见面试题Swift面试题总结
1.Swift与OC相比有什么优势?Swift是强类型语言,注重值类型,有类型推断,安全性高Swift的语法更简洁,使用起来方便,支持函数式编程Swift拥有更强大的特性,它有元组类型、支持可选类型(optional)、支持运算符重载、支持泛型、支持静态/动态派发,协议不仅可以被类实现还可以被struct和enum实现Swift支持命名空间、函数支持默认参数Swift的错误处理机制更完善oc的优点
- Instrct-GPT 强化学习奖励模型 Reward modeling 的训练过程原理实例化详解
John_今天务必休息一天
2_大语言模型基础#2.2生成式预训练语言模型GPTgptlog4j语言模型人工智能自然语言处理算法
Instrct-GPT强化学习奖励模型Rewardmodeling的训练过程原理实例化详解一、批次处理的本质:共享上下文的比较对捆绑(1)为什么同一prompt的比较对必须捆绑?(2)InstructGPT的优化方案二、输入输出与损失函数的具体构造(1)输入输出示例(2)人工标注数据的处理(3)损失函数的计算过程(4)反向传播的核心逻辑三、为什么不需要人工标注分值?(1)排序数据的天然属性(2)避
- 08_Excel 导入 - 用户信息批量导入
耀耀_很无聊
【后端开发】Java碎碎念exceljava开发语言
08_Excel导入-用户信息批量导入1.VO类java复制编辑@Data@AllArgsConstructor@NoArgsConstructorpublicclassUserInfoBatch4ExcelReq{@ExcelProperty(value="用户姓名")@Schema(description="用户姓名")privateStringuserName;@ExcelProperty(
- UE4官方文档阅读笔记——蓝图可视化编程
毛甘木
UE4ue4
UE4蓝图官方文档阅读笔记蓝图中的结构体变量拆分结构体Break组成结构体Make修改结构体中个别成员SetMemberinStruct自定义结构体内容浏览器-创建高级资源-蓝图-结构体蓝图数组Add添加元素到末尾ClearContainsFilterArrayFindGetInsertLastLengthRemoveRemoveIndexResizeSetArrayElem<
- 数据结构day6——内核链表
LZA185
数据结构数据结构链表
在Linux内核开发中,链表是最基础且重要的数据结构之一。与普通链表不同,Linux内核采用了一种非常巧妙的"通用链表"设计,它不直接包含数据,而是将数据结构嵌入其中,从而实现了一种高度灵活、可复用的链表机制。本文将深入解析Linux内核链表的设计思想、实现原理及应用场景。一、传统链表的局限性传统链表的实现方式通常是将数据直接包含在节点结构中://传统链表节点结构typedefstructStud
- 数据结构之顺序表
Capricorn_man
数据结构
一、创建头文件typedefintSLDataType;//动态存储typedefstructSeqList{SLDataType*a;//动态开辟的数组intsize;//有效数据的数量intcapacity;//空间大小}SL;二、初始化顺序表voidSLInit(SL*psl){assert(psl);psl->a=NULL;psl->size=0;psl->capacity=0;}三、销毁
- 探索C/C++包管理的新纪元:Conan文档项目推荐
傅尉艺Maggie
探索C/C++包管理的新纪元:Conan文档项目推荐docsconan.ioreStructuredTextdocumentation项目地址:https://gitcode.com/gh_mirrors/docs136/docs项目介绍Conan,作为C/C++领域的一款强大包管理工具,旨在简化跨平台和跨编译器的依赖管理。Conan文档项目(ConanDocumentation)是Conan官方
- 创建对象的步骤和方法
ashui811
Java
创建对象的步骤①为对象分配内存空间,将对象的实例变量初始化为其变量类型的默认值②如果实例变量在声明时被显式的初始化则将初始化值赋给实例变量③调用构造方法④返回对象的引用创建对象的方式①类名对象名=new类名();最常用方式,步骤①②③④②运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法步骤①②③④③
- 基于RapidOCR与LangChain的PDF图文内容解析器开发
要努力啊啊啊
RAG系统开发指南langchainpdfpython
fromtypingimportListfromlangchain.document_loaders.unstructuredimportUnstructuredFileLoaderfromdocument_loaders.ocrimportget_ocrimporttqdmclassRapidOCRPDFLoader(UnstructuredFileLoader):def_get_element
- PAT A 1057 Stack
Stackisoneofthemostfundamentaldatastructures,whichisbasedontheprincipleofLastInFirstOut(LIFO).Thebasicoper‐ationsincludePush(insertinganelementontothetopposition)andPop(deletingthetopelement).Nowyouar
- Go:LinkedList链表(附完整源码)
源代码大师
go语言完整教程链表golang数据结构
Go:LinkedList链表packageLinkedListtypeNodestruct{dataintnext*Node}typeLinkedListstruct{head*Node}func(list*LinkedList)
- PAT A 1052 Linked List Sorting
cwn_
算法c++数据结构
Alinkedlistconsistsofaseriesofstructures,whicharenotnec‐essarilyadjacentinmemory.Weassumethateachstructurecon‐tainsanintegerkeyandaNextpointertothenextstructure.Nowgivenalinkedlist,youaresupposedtosor
- 【Leetcode】423. Reconstruct Original Digits from English
记录算法题解
LC栈队列串及其他数据结构leetcode算法c++数据结构
题目地址:https://leetcode.com/problems/reconstruct-original-digits-from-english/description/给定一个长nnn字符串sss,其是若干数字的英文小写单词连接在一起并且打乱顺序所得,要求将其还原为数字组成的字符串,并且数字按升序排列。题目保证答案存在。我们可以观察哪些字母只在某个数字中出现,然后逐个求出每个数字出现了多少
- Leetcode-423. Reconstruct Original Digits from English
K_W
算法javaleetcode算法
前言:为了后续的实习面试,开始疯狂刷题,非常欢迎志同道合的朋友一起交流。因为时间比较紧张,目前的规划是先过一遍,写出能想到的最优算法,第二遍再考虑最优或者较优的方法。如有错误欢迎指正。博主首发CSDN,mcf171专栏。博客链接:mcf171的博客——————————————————————————————Givenanon-emptystringcontaininganout-of-orderE
- LeetCode423. Reconstruct Original Digits from English
tigerhuli
LeetCode
Givenanon-emptystringcontaininganout-of-orderEnglishrepresentationofdigits0-9,outputthedigitsinascendingorder.Note:InputcontainsonlylowercaseEnglishletters.Inputisguaranteedtobevalidandcanbetransforme
- LeetCode 423. Reconstruct Original Digits from English 解题报告
骆小坑
编程解题leetcode
LeetCode423.ReconstructOriginalDigitsfromEnglish解题报告题目描述Givenanon-emptystringcontaininganout-of-orderEnglishrepresentationofdigits0-9,outputthedigitsinascendingorder.InputcontainsonlylowercaseEnglishl
- Leetcode 423. Reconstruct Original Digits from English
小白菜又菜
Leetcode解题报告leetcodelinux算法
ProblemGivenastringscontaininganout-of-orderEnglishrepresentationofdigits0-9,returnthedigitsinascendingorder.AlgorithmCounttheoccurrencesofcharactersbasedonuniqueletters—forexample,theletter‘z’onlyapp
- Hadoop、Spark、Flink 三大大数据处理框架的能力与应用场景
一、技术能力与应用场景对比产品能力特点应用场景Hadoop-基于MapReduce的批处理框架-HDFS分布式存储-容错性强、适合离线分析-作业调度使用YARN-日志离线分析-数据仓库存储-T+1报表分析-海量数据处理Spark-基于内存计算,速度快-支持批处理、流处理(StructuredStreaming)-支持SQL、ML、图计算等-支持多语言(Scala、Java、Python)-近实时处
- C: error: aggregate value used where an integer was expected
mzhan017
c/c++C
main.c:677:9:error:aggregatevalueusedwhereanintegerwasexpected,这里的aggregatevalue是说一个集合值,比如是结构体,联合体,类。但是当前行需要的类型是一个整型。所以aggregate是一个一般化的概念,将结构体,联合体,类等组合类数据类型一般化为聚集体。比如StructAa;if(a!=0)
- [面试] 手写题-eventBus
533_
#面试javascript
EventBus本质上是一个发布-订阅模式。它的作用是:订阅事件(on):存储回调函数,等待事件触发。触发事件(emit):当事件发生时,执行所有订阅的回调函数。取消订阅(off):移除指定的回调函数。只触发一次(once):回调函数执行一次后自动移除。//定义EventBus事件总线类classEventBus{constructor(){//设置类实例的初始状态//存储所有事件及其对应的回调函
- 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