- Swift语言的多线程编程
Code侠客行
包罗万象golang开发语言后端
Swift语言的多线程编程在现代软件开发中,多线程编程是提高应用性能和响应速度的重要手段。尤其是在iOS和macOS开发中,由于用户界面(UI)的交互性和复杂性,合理利用多线程可以极大地提升用户体验。本文将深入探讨Swift语言中的多线程编程机制,包括GCD(GrandCentralDispatch)、NSOperation、线程的基本概念及其使用场景。一、什么是多线程多线程是一种程序设计理念,通
- AFN用什么方式实现多线程
natewang
AF3.03.0基于NSURLsession。网络请求的线程可由NSURLSessionConfiguration的HTTPMaximumConnectionsPerHost控制。delegate回调在一个线程上。AF2.0基于NSOperation、NSOperationQueue。使用常驻线程来发起请求、接受delegate回调数据。可以自己设置NSOperationQueue的最大线程数来控
- iOS面试题(三)
WinJayQ
1、Objective-C中创建线程的方法是什么?如果在主线程中执行代码,方法是什么?如果想延时执行代码、方法又是什么?线程创建有三种方法:使用NSThread创建、使用GCD的dispatch、使用子类化的NSOperation,然后将其加入NSOperationQueue;在主线程执行代码,方法是performSelectorOnMainThread,如果想延时执行代码可以用performSe
- Effective Objective-C 学习(四)
糸师凛
objective-c学习ios
掌握GCD及操作队列的使用时机在执行后台任务时,GCD并不一定是最佳方式。还有一种技术叫做NSOperationQueue,它虽然与GCD不同,但是却与之相关,开发者可以把操作以NSOperation子类的形式放在队列中,而这些操作也能够并发执行。GCD是纯C的API,而NSOperationQueue是Objective-C的对象。这意味着使用GCD时,任务通过块(block)来表示,而块是一种
- iOS 多线程
注册麻烦
pthread:C,开发者管理生命周期NSThread:OC,开发者管理生命周期GCD:C,自动管理生命周期NSOperation:OC,底层装GCD
- iOS 多线程基础 六、NSOperation
PPFSaber
NSOPeration是苹果面向对象的并发框架,是基于OC的,对GCD的再封装。(NSOperation本质上是对队列的操作框架,并不是对线程,所以不能算作严格意义上的多线程);核心类NSOperation;NSInvocationOperation;NSBlockOperation;这三个类对应的是GCD中的任务,其中NSInvocationOperation和NSBlockOperation是
- NSOperation的理解与使用
武_IOS书
一、NSOperation是基于GCD之上的更高一层封装,NSOperation需要配合NSOperationQueue来实现多线程。NSOperation实现多线程的步骤如下:1、创建任务:先将需要执行的操作封装到NSOperation对象中。2、创建队列:创建NSOperationQueue。3、将任务加入到队列中:将NSOperation对象添加到NSOperationQueue中。需要注意
- 优雅地处理网络请求的依赖关系
溪石iOS
处理网络时,经常会遇到网络请求相互依赖的情况,如B请求的参数依赖A请求的回调结果,直接在A请求的回调中请求B,会导致回调嵌套,这样导致请求之间紧张耦合。这里介绍一个较优雅的方法:利用NSOperation的操作依赖。本例尝试下载两张图片,假设图片2总是在图片1显示后再显示。下载框架选用AFNetworking3要使用NSOperation的操作依赖首先需要一个NSOperationQueue:NS
- 重温01-iOS多线程编程
那月无痕
OC中的多线程OC中多线程根据封装程度可以分为三个层次:NSThread、GCD和NSOperation,另外由于OC兼容C语言,因此仍然可以使用C语言的POSIX接口来实现多线程,只需引入相应的头文件:#includeNSThreadNSThread是封装程度最小最轻量级的,使用更灵活,但要手动管理线程的生命周期、线程同步和线程加锁等,开销较大;NSThread的基本使用比较简单,可以动态创建初
- iOS面试—0、技术点
weixin_30919235
面试runtimeswift
初级:先简单自我介绍一下自己聊一聊过往项目中你觉得收获最大的一个模块。运行时:https://juejin.im/post/5ac0a6116fb9a028de44d717#heading-19多线程:iOS多线程:『pthread、NSThread』详尽总结iOS多线程:『GCD』详尽总结iOS多线程:『NSOperation、NSOperationQueue』详尽总结viewcontrolle
- NSOperation queue?
小小鱼类
存放NSOperation的集合类。操作和操作队列,基本可以看成java中的线程和线程池的概念。用于处理ios多线程开发的问题。网上部分资料提到一点是,虽然是queue,但是却并不是带有队列的概念,放入的操作并非是按照严格的先进现出。这边又有个疑点是,对于队列来说,先进先出的概念是Afunc添加进队列,Bfunc紧跟着也进入队列,Afunc先执行这个是必然的,但是Bfunc是等Afunc完全操作完
- Ios 多线程之NSOperation与NSOprationQueue
VE视频引擎
在说NSOperation之前,先说一下gcd,gcd技术是一个轻量的,底层实现隐藏的神奇技术,我们能够通过gcd和block轻松实现多线程编程,有时候,gcd相比其他系统提供的多线程方法更加有效,当然,有时候gcd不是最佳选择,另一个多线程编程的技术NSOprationQueue让我们能够将后台线程以队列方式依序执行,并提供更多操作的入口,这和gcd的实现有些类似。这种类似不是一个巧合,在早期,
- 如何成为更高级的iOS开发工程师?
Sunnyxi
如何成为更高级的iOS开发工程师?熟练掌握C/C++/Objective-C/Swift语言;熟悉CocoaTouch(Foundation,UIKit)、Objective-C中block,gcd,NSOperation等;熟悉Object消息传递等机制,Objective-CRuntime,阅读源码;熟练使用大部分iOS平台常用库,开源库(AFNetworking,SDWebImage,fmd
- AFNetworking 学习笔记
祥子_HelloWorld
AFNetwork是一个轻量级的网络请求api类库。是以NSURLConnection,NSOperation和其他方法为基础的。Github:https://github.com/AFNetworking/AFNetworking/下面这个例子是用来处理json请求的:NSURL*url=[NSURLURLWithString:@"https://alpha-api.app.net/stream
- c语言线程锁的原理开锁原理图,多线程、锁和线程同步方案
灰白光
c语言线程锁的原理开锁原理图
多线程多线程技术大家都很了解,而且在项目中也比较常用。比如开启一个子线程来处理一些耗时的计算,然后返回主线程刷新UI等。首先我们先简单的梳理一下常用到的多线程方案。具体的用法这里我就不说了,每一种方案大家可以去查一下,网上教程很多。常见的多线程方案我们比较常用的是GCD和NSOperation,当然还有NSThread,pthread。他们的具体区别我们不详细说,给出下面这一个表格,大家自行对比一
- NSOperation、NSOperationQueue 简介
Cooci_和谐学习_不急不躁
1.NSOperation、NSOperationQueue简介转载:行走少年郎NSOperation、NSOperationQueue是苹果提供给我们的一套多线程解决方案。实际上NSOperation、NSOperationQueue是基于GCD更高一层的封装,完全面向对象。但是比GCD更简单易用、代码可读性也更高。为什么要使用NSOperation、NSOperationQueue?可添加完成
- ios开发 之 多线程
TO_ZRG
SDKiosobjective-c
目录第一节:多线程简介线程执行原理主线程多线程解决方案pthread__bridgeNSThread线程的状态第二节:多线程访问资源@Synchronizednonatomic、atomic自动释放池属性修饰符第三节:消息循环消息模式第四节:GCDBarrierdispatch_once、dispatch_after构建单例模式调度组第五节:NSOperationGCD与NSOperation的区
- 关于AFNetwork的应用----知识储备
买俩西瓜的程序员
知识储备1.1AFNetworking是一个轻量级的iOS网络通信类库1.2AFNetworing基于NSOperation和NSURLConnection等类库的基础上,让很多网络通信的功能变得更简单1.2.1NSURLConnection用于处理网络连接1.2.2NSOperation是管理NSURLConnection的,可以监视一个网络请求的生命周期.1.3AFNetworking支持HT
- iOS『多线程』使用总结(NSThread、NSOperation、GCD)
tito
NSThreadGCDNSOperation其中用的最多的就是GCD了,其实还有一种Pthreads,但是实在不常用,所以不太了解,就不说了。文章中主要使用Objective-C语言,示例代码会用Swift翻译过来,如有错误请指出。Swift打印的时候最好使用NSLog,这样可以看到打印时间,以及线程信息。1.NSThreadNSThread面向对象,比较直观,但是需要手动管理生命周期,虽然不常用
- iOS多线程编程
红太羊_8225
OC中的多线程OC中多线程根据封装程度可以分为三个层次:NSThread、GCD和NSOperation,另外由于OC兼容C语言,因此仍然可以使用C语言的POSIX接口来实现多线程,只需引入相应的头文件:#include。NSThreadNSThread是封装程度最小最轻量级的,使用更灵活,但要手动管理线程的生命周期、线程同步和线程加锁等,开销较大;NSThread的基本使用比较简单,可以动态创建
- 多线程之NSOperation
山河丘壑
开发语言objective-c
套话与GCD一样,NSOperation也是我们日常开发中经常用到的多线程技术。本文将会介绍NSOperation的基本使用、添加依赖、初次使用NSOperation是个抽象类,依赖于子类NSInvocationOperation、NSBlockOperation去实现下面是开发者文档上对NSOperation的一段描述NSInvocationOperation基本使用-(void)test{//
- 利用 GCD 信号量、NSOperation管理请求
NN_逝去
需求:若干个request依次执行,若其中一个失败,则取消剩余未执行的request1.自定义operation//.h实现如下@protocolCustomOperationDelegate-(void)cancelAllRequest:(NSInteger)indexparams:(NSDictionary*)dictisSuccess:(BOOL)isSuccess;@end@interfa
- iOS 多线程
可地出溜
前言:这可能是史上最全面的一篇iOS多线程博客了(王婆卖瓜一番),从多线程的基本概念,进程的概念,引出iOS中的四种多线程方案pthread、NSThread、NSOperation和GCD,每一部分都有详细的代码和解释说明;在GCD中,引出同步、异步、串行队列(包括主队列)和并发队列概念,并对他们的六种组合进行详细的代码验证和说明,把这些概念安排的明明白白,然后详细的说明了GCD常见的其他用法;
- iOS-任务依赖-while
笑破天
NSOperation、dispatch_semaphore_t、子线程while子线程while:-(void)viewDidLoad{[superviewDidLoad];queue=dispatch_queue_create("com.xx.test",DISPATCH_QUEUE_SERIAL);[selftest];}-(void)touchesBegan:(NSSet*)touches
- AFNetwork SDWebImage
云无心
NSOperation,AFN用Operation可以实现可以随时取消已经设定要准备执行的任务,已经执行的除外可以跨队列设置操作的依赖关系可以设置队列中每一个操作的优先级最大操作并发数(GCD不好做)继续/暂停/全部取消跨队列设置操作的依赖关系SDWebImage复用cell下载逻辑https://www.jianshu.com/p/bf998b2538b9解决tableView复用错乱问题:每次
- NSOperation & NSThread
荷码人生
相关描述:1、首先我们创建一个NSThread对象,调用它的Start()-->然后在期方法中创建一个Pathread线程,然后指定他的启动函数,main函数,调用targetpreform方法指定Thread在创建时的选择器。最后调用线程的exit()方法结束当前线程。2、如何实现一个常驻线程:主要使用在其方法选择器中维持一个常驻线程。NSOperationQueue的优点:1、添加线程依赖2、
- iOS GCD(Grand Central Dispatch)
zanxinz
iOSios
iOS常用有三种线程管理方式,分别是NSThread、GCD与NSOperation,现在我们先来了解一下其中的GCD串行与并行针对的是任务队列,而同步与异步,针对的则是线程。SerialQueue+Sync序列执行+同步SerialQueue+Async序列执行+异步(按顺序)ConcurrentQueue+Sync并发+同步(按顺序)ConcurrentQueue+Async并发+异步(真正多
- iOS进阶之多线程--NSOperation
一个默默无闻的程序猿
NSOperation简介熟悉了解GCD之后,对于NSOperation的理解和使用相对简单一点。首先,NSOperation是基于GCD面向对象的封装,是一种“并发”技术,之所以是“并发”技术,后面会有详细的代码演示。队列:NSOperationQueue操作:NSOperation(下面提到的“操作”指的就是NSOperation)NSOperation位于Foundation系统框架下,是一
- 472,iOS多线程NSOperation 与 GCD的区别(面试点:GCD 和 NSOperation的区别主要表现在以下几方面: 1) GCD是一套 C 语言API,执行和操作简单高效,因...
枫叶1234
GCD和NSOperation的区别主要表现在以下几方面:1)GCD是一套C语言API,执行和操作简单高效,因此NSOperation底层也通过GCD实现,这是他们之间最本质的区别.因此如果希望自定义任务,建议使用NSOperation;依赖关系,NSOperation可以设置操作之间的依赖(可以跨队列设置),GCD无法设置依赖关系,不过可以通过同步来实现这种效果;3)KVO(键值对观察),NSO
- iOS NSThread & GCD & NSOperation
辉辉岁月
本文的主要目的是介绍NSThread、GCD、NSOperation常见的使用方式NSthreadNSthread是苹果官方提供面向对象的线程操作技术,是对thread的上层封装,比较偏向于底层。简单方便,可以直接操作线程对象,使用频率较少。创建线程线程的创建方式主要以下三种方式通过init初始化方式创建通过detachNewThreadSelector构造器方式创建通过performSelect
- 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