apache

Jmeter响应内容显示乱码问题的解决办法

烈酒焚心 提交于 2021-02-12 22:38:32
Jmeter在访问接口的时候,响应内容如果有中文可能会显示乱码,原因应该是响应页面没有做编码处理,jmeter默认按照ISO-8859-1编码格式进行解析。 下面把解决步骤列一下: 现象:jmeter访问本地文件,文件内容有中文,jmeter返回内容显示乱码: 方法一:改配置文件 进入Jmeter的bin目录下,找到jmeter.properties文件,以文本形式打开 本例目录:D:\apache-jmeter-4.0\bin 找到sampleresult.default.encoding这个参数,此行默认是注释的。 可以看到说明,默认值是ISO-8859-1 将ISO-8859-1修改成utf-8,去掉注释符号,重启Jmeter 重启可以在命令行界面,进入jmeter的bin目录下,运行jmeter.bat,如果添加了环境变量,可以在任何位置运行jmeter.bat重启jmeter 再次访问文件,已经不显示乱码了 方法二:通过后置处理器BeanShell PostProcessor 问题还原: 添加后置处理器:BeanShell PostProcessor 输入prev.setDataEncoding("utf-8"); 目的是修改响应数据编码格式为utf-8,保存 再次请求,响应结果中已经没有乱码了 由以上方法可见,用后置处理器修改响应编码的方式更方便一些,不用改文件

Java优化性能

☆樱花仙子☆ 提交于 2021-02-12 12:00:36
尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面: 第一,控制资源的使用,通过线程同步来控制资源的并发访问; 第二,控制实例的产生,以达到节约资源的目的; 第三,控制数据共享,在不建立直接关联的条件下,让多个不相关的进程或线程之间实现通信。 2、尽量避免随意使用静态变量 当某个对象被定义为static变量所引用,那么GC通常是不会回收这个对象所占有的内存,如 3、尽量避免过多过常地创建Java对象 尽量避免在经常调用的方法,循环中new对象,由于系统不仅要花费时间来创建对象,而且还要花时间对这些对象进行垃圾回收和处理,在我们可以控制的范围内,最大限度地重用对象,最好能用基本的数据类型或数组来替代对象。 4、尽量使用final修饰符 带有final修饰符的类是不可派生的。在JAVA核心API中,有许多应用final的例子,例如java、lang、String,为String类指定final防止了使用者覆盖length()方法。另外,如果一个类是final的,则该类所有方法都是final的。java编译器会寻找机会内联(inline)所有的final方法(这和具体的编译器实现有关),此举能够使性能平均提高50%。 5、尽量使用局部变量

Shiro入门学习与实战(一)

强颜欢笑 提交于 2021-02-12 09:56:39
一、概述 1、Shiro是什么?   Apache Shiro是java 的一个安全框架,主要提供:认证、授权、加密、会话管理、与Web集成、缓存等功能,其不依赖于Spring即可使用;   Spring Security(Oauth2)也是一个开源的权限框架,但其依赖于Spring运行,功能相对强大;而Shiro相对独立,不依赖于Spring,使用简单、灵活,所以我选择Shiro学习。哈哈~ 2、Shiro基本功能 ①Authentication(音标: [ɔːˌθentɪˈkeɪʃn] )   身份认证,验证用户是不是拥有相应的身份。 ②Authorization(音标:[ˌɔːθərəˈzeɪʃn])   授权即权限验证,验证某个已认证的用户是否拥有某个权限(比如接下来我要实现的:不用用户拥有不用的菜单树) ③Session Management   会话管理,在用户登录后,退出之前,所有信息都存在于会话中(这里可以用于sso单点登录) ④Crptography   加密,保护数据的安全性(比如密码加密存储到数据库,而不是明文存储) ⑤Web支持   非常容易集成到Web环境 ⑥Caching   缓存,比如用户登录后,其用户信息、拥有的角色/权限不必每次去查,这样可以提高效率 ⑦Concurrency   Shiro支持多线程应用宝并发验证,(即在一个线程中开启另一个线程

POI导出

◇◆丶佛笑我妖孽 提交于 2021-02-12 09:36:15
一、pom.xml添加依赖 < dependency > < groupId > org.apache.poi </ groupId > < artifactId > poi </ artifactId > < version > 4.1.0 </ version > </ dependency > 二、导出 package com.example.testpoi.controller; import com.example.testpoi.entity.emp; import com.example.testpoi.service.DcService; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping;

Java-Maven:Maven百科

大憨熊 提交于 2021-02-12 08:54:30
ylbtech-Java-Maven:Maven百科 1. 返回顶部 1、 Maven项目 对象模型(POM) ,可以 通过一小段描述信息来管理项目的构建,报告和文档的软件项目 管理工具。 Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。 由于 Maven 的缺省构建规则有较高的可重用性 ,所以常常用 两三行 Maven 构建脚本就可以构建简单的项目 。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。 Maven这个单词来自于 意第绪语(犹太语) ,意为 知识的积累 ,最初在Jakata Turbine项目中用来简化构建过程。当时有一些项目(有各自Ant build文件),仅有细微的差别, 而JAR文件都由CVS来维护 。于是希望有 一种标准化的方式构建项目 , 一个清晰的方式定义项目的组成 , 一个容易的方式发布项目的信息 , 以及一种简单的方式在多个项目中共享JARs 。 2、 2. 返回顶部 1、 特点 那么,Maven 和 Ant 有什么不同呢?在回答这个问题以前,首先要强调一点:Maven 和 Ant 针对构建问题的两个不同方面。 Ant 为 Java 技术开发项目提供跨平台构建任务 。 Maven 本身描述项目的高级方面,它从 Ant

离线安装Superset 0.37(截图详细版)

末鹿安然 提交于 2021-02-12 03:38:22
上文提到了Superset 0.37的在线安装方式,只需要更新pip,然后pip install就可以了。但是在生产环境中,特别是内网环境中,很多时候是没有外网的,这时候就需要采取离线安装的方式。 本文将详细介绍在Linux系统中离线安装Superset的全过程,并整理了安装过程中遇到的错误。 下载相关安装包 注:本文所有安装包均可以关注 “实时流式计算” 回复 “superset0916” 获取 下载好安装包以后,可以跳过本教程的所有下载步骤。 下载Superset,不要走错路,是apache-superset https://pypi.org/project/apache-superset/#files 源码包下载位置 https://downloads.apache.org/incubator/superset/0.37.0/ 在源码下有一个 requirements.txt 可以通过其下载所需依赖包 安装 Anaconda3 在安装superset之前,我们还需要一个python环境,当然也得离线安装,这里推荐使用Ananconda Anaconda是一个包含180+的科学包及其依赖项的发行版本。其包含的科学包包括:conda, numpy, scipy, ipython notebook等。 https://www.anaconda.com/products

java.lang.UnsupportedClassVersionError:JDK版本不一致报错

陌路散爱 提交于 2021-02-12 01:41:51
交代一下背景:公司运行的一个上线项目,打了个补丁发给客户后,反馈说运行不了。把源码拿回来场景重现。贴上报错信息: 08-15 14:13:29 ERROR doPost(jcm.framework.rmi.RMIServlet:155) - SchedulerService.forceRunJobFlow error. 未指定错误,请查看详细信息 at jcm.framework.rmi.ClientService.execute(ClientService.java: 129 ) at ...(...) at jcm.flowengine.impl.JobFlowEngine.runJobFlow(JobFlowEngine.java: 230 ) Caused by: java.lang.UnsupportedClassVersionError : jcm /flowengine/impl/JobFlowInstance : Unsupported major.minor version 52.0 (unable to load class jcm.flowengine.impl.JobFlowInstance) at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader

jvm调优神器——arthas

别等时光非礼了梦想. 提交于 2021-02-11 21:52:36
在上一篇 《jvm调优的几种场景》 中介绍了几种常见的jvm方面调优的场景,用的都是jdk自带的小工具,比如jps、jmap、jstack等。用这些自带的工具排查问题时最大的痛点就是过程比较麻烦,就好比如排查cpu占用率过高的问题,就要top->jps->printf->jstack等一系列的操作。本篇介绍一个jvm工具,它是阿里巴巴开源的一个工具——arthas(阿尔萨斯)。 一、安装 arthas在github上有个page,地址是 https://alibaba.github.io/arthas/ 。 安装的方式有好几种: 直接下载一个可以启动的jar包然后用java -jar的方式启动 用官方提供的as.sh脚本一键安装 用rpm的方式安装 本篇介绍第一种方式,因为它简单而且想迁移的时候也超级方便(毕竟只需要把下载的jar包拷贝走就行了)。 curl -O https://alibaba.github.io/arthas/arthas-boot.jar 如果下载速度太慢,可以用gitee上的源 curl -O https://arthas.gitee.io/arthas-boot.jar curl命令直接把arthas-boot.jar下载到你想要的目录 [root@localhost ~]# ll -lrt -rw-r--r--. 1 root root 138880

一文读懂Flink容错数据流

放肆的年华 提交于 2021-02-11 21:02:59
Flink容错数 据流概念 有状态的函数和操作需要存储计算相关的数据,这使得状态成为复杂计算的关键。在 Flink 中的每一种函数和操作都可以成为有状态的。为了达到很好的容错,Flink 的容错机制持续的记录分布式的数据流的快照。这些快照是非常轻量化的,因此高频的记录快照并不会影响性能。当进程由于机器,网络甚至是软件异常而失败的时候,Flink 会停止数据流。系统重启操作同时将他们恢复到最近的快照点。输入流也会被设置到记录快照点那个时间点,通俗点说就是一条记录不会存在于快照中同时还在数据流中等待被处理。 问题1:哪些函数是有状态的? 问题2:为什快照是非常轻量化的? 问题3:快照如何设置异步的? 问题4:如何在配置中设置多个快照 问题5:快照支持哪几种方式,如何配置 问题6:Checkpoint和Snapshots如何使用 Checkpointing Flink 容错机制的核心就是,记录分布式的数据流和状态的一致性快照。通过这些快照,系统可以从失败中恢复回来 屏障Barriers Flink分布式快照的一个核心元素是流屏障。这些屏障被注入到数据流中,并将记录作为数据流的一部分。障碍永远不会超过记录,它们严格按照顺序流动。一个屏障将数据流中的记录分隔为进入当前快照的记录集和进入下一个快照的记录集。每个屏障都携带快照的ID,快照将快照的记录推到它前面。屏障不会中断流,因此非常轻

Apache Flink

梦想与她 提交于 2021-02-11 20:55:22
Apache Flink提供了一种容错机制,可以持续恢复数据流应用程序的状态。该机制确保即使出现故障,程序的状态最终也会反映来自数据流的每条记录(只有一次)。 从容错和消息处理的语义上(at least once, exactly once),Flink引入了state和checkpoint。 state 一般指一个具体的task/operator的状态。而 checkpoint 则表示了一个Flink Job,在一个特定时刻的一份全局状态快照,即包含了所有task/operator的状态。 Flink通过定期地做checkpoint来实现容错和恢复,容错机制连续绘制了分布式流数据流的快照。对于小状态的流应用程序,这些快照非常轻量级并且可以经常绘制,而不会对性能产生太大的影响。流应用程序的状态存储在一个可配置的地方(例如主节点或HDFS)。 如果出现程序故障(由于机器、网络或软件故障),Flink将停止分布式流数据流。然后系统重新启动操作符并将其重新设置为最新成功的检查点。输入流被重置到状态快照的点。默认情况下,检查点是禁用的。 要使此机制实现其全部的保证,数据流源(如消息队列或代理)需要能够将流倒回到其定义的最近点。Apache Kafka可以做到,而Flink的Kafka连接器可以利用这些。 因为Flink通过分布式检查点实现快照,我们使用快照和检查点互换。