- 博客(88)
- 资源 (2)
- 收藏
- 关注
转载 并发模拟工具(JMeter、Apache Bench、postMan)详解
目录简介: 一、Psotman:Http请求模拟工具 1.1 下载地址 1.2 操作说明(以win64为例) 二、Apace Bench(AB):Apache附带的工具,测试网站性能 2.1 简介 2.2 原理 2.3 Apache Bench安装 2.4 Apache Bench 使用 2.5 使用注意 三、JMeter:Apache组织开发的压力测试工具(使用比较多的工具)
2020-10-19 11:58:02 15386 2
转载 java8 小技巧保证分组groupingBy后排序不变
问题:遇到一个小问题,查询出来一组数据后,按照其中的属性进行groupBy 分组 ,分组后要保证顺序不变。但是实际用groupBy进行分组后,返回的数据是杂乱无章的,没有按照原来list 的顺序返回排查首先去api中查找解决,查看Java 的 java.util.stream 包 Collectors 类 groupingBy 方法实现,结果如下://一个参数 public static <T, K> Collector<T, ?, Map<K, List&l
2020-08-25 17:35:34 2310 2
转载 mybatis查询mysql的datetime类型数据时间差问题
今天使用mybatis查询mysql中的数据时,莫名其妙的所有时间都出错了,所有时间都比数据库时间多了14小时,考虑了一下,初步判定是系统时区的问题。因为mysql时区设置默认是操作系统时区,查看了下centos时区,东8区没有错,所以可以判定是代码里面设置了一个错误的时区。现在开始调试mybatis源码,调试到mysql-connector-java-6.0.4.jar包的com.mys...
2020-04-22 14:43:28 2682
转载 java多线程处理导入数据拆分List集合,同步处理插入数据
获取导入excel文件中的数据,存入list中进行多线程处理,设定每个线程处理多少条数据,进行设定值动态启动线程数量数据,根据线程处理数量拆分动态list数据进行相关业务操作package com.ig.bi.game.controller;import org.apache.log4j.Logger;import org.apache.poi.hssf.usermodel.HSSFRo
2017-11-01 11:16:44 1108
原创 servlet 中获取 spring 管理的 bean
package spring.servlets; import java.io.IOException; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import java
2017-04-03 17:32:01 756
转载 实体类与Map互转工具类
import java.beans.BeanInfo; import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.lang.reflect.InvocationTargetException;
2017-03-06 17:18:52 11356 1
原创 JavaScript 限制文本框不可输入英文单双引号
正则实现replaceAll:function replaceLikeVal(comp){ if (comp.value.indexOf("'") != -1 || comp.value.indexOf("\"") != -1) { //comp.value = comp.value.substring(0, comp.value.length-1); comp.value =
2016-12-20 11:24:19 4225
原创 java计算两个日期的月数差
/** * 获取两个日期相差的月数 * @param d1 较大的日期 * @param d2 较小的日期 * @return 如果d1>d2返回 月数差 否则返回0 */ public static int getMonthDiff(Date d1, Date d2) { Calendar c1 = Cal
2016-12-09 14:11:13 17484 3
原创 MySQL数据库获取汉字拼音的首字母函数
DELIMITER $$USE `test`$$DROP FUNCTION IF EXISTS `getFirstHanZiCode`$$CREATE DEFINER=`hjd`@`%` FUNCTION `getFirstHanZiCode`(in_string VARCHAR(100)) RETURNS VARCHAR(100) CHARSET utf8BEGIN#定义临时字符
2016-12-09 14:09:16 1726 1
转载 Spring使用之:Quartz定时任务为什么会被阻塞
周日,公司CTO给我打电话说,监控系统的数据从下午1点就不更新了。我登录服务器排除了数据同步问题,查看日志也没有例外抛出,查询了前一天的 日志发现几个数据库表空间溢出例外。最后定位,Spring定时任务挂掉了。重启应用恢复正常。周一早上,同样的问题又发生了,6点开始定时任务又停了。 Spring定时任务为什么会被阻塞呢? 原因: 周一中午,我在进行接口状态监控测试时发现,接口状态查
2016-08-03 23:28:45 20031 2
原创 Java 动态生成jpg图片
1、生成一个页面数据: import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.BufferedOutputStream; import java.io.FileOutputStre
2016-07-22 15:15:22 19842 2
转载 解决Tomcat catalina.out 不断成长导致档案过大的问题
http://www.joyphper.net/article/201210/181.html本人2013-11-14在Tomcat 6.0.36上测试此配置成功Tomcat的网站上的说法http://wiki.apache.org/tomcat/FAQ/Logging#Q6:System.out 和 System.err 都被打印到 catalina.out。ca
2016-07-04 10:35:56 7262
转载 mysql一主多从同步配置
这次是一主多从的测试,其实和一主一从是一样的原理。一、环境master:192.168.101MYSQL版本:5.1.48-community-logslave1:192.168.2.182MYSQL版本:5.1.48-community-logslave2:192.168.2.111MYSQL版本:5.1.48-community-log
2016-06-27 20:28:20 3093
转载 mysql主从同步配置
一、环境master:192.168.124.51MYSQL版本:5.1.48-community-logslave: 192.168.124.52MYSQL版本:5.1.48-community-log 二、主从数据库将主机上现有的数据库备份,然后在从机上建立同名数据库并还原。(这次做的是51上的两个数据库database1和dat
2016-06-27 20:26:34 617
转载 apache+3tomcat+jk+memcached集群环境搭建
注意本文不讨论原理,只讲述具体的搭建过程,而且步骤都经过了整理,否则过程可能会出现其他异常,请自行google。apache与tomcat整合的方式除了jk之外,使用apache自带的mod_ajp_proxy模块也可以很方便的完成。先来看一下架构图:属于正式环境中原session复制方案的改进。1. 所需软件包12345678910
2016-04-05 16:22:51 1002
转载 Nginx做负载均衡器以及proxy缓存配置
关于nginx的安装和基本配置请参考nginx,本文在原基础上完成以下几个功能:结合proxy和upstream模块实现nginx负载均衡结合nginx_upstream_check_module模块实现后端服务器的健康检查使用nginx-sticky-module扩展模块实现Cookie会话黏贴(session-sticky效果)使用proxy模块实现静态文件缓存使用ngx_cache_
2016-04-05 16:02:08 3461
转载 Nginx配置ssl加密(单双向认证、部分https)
nginx下配置ssl本来是很简单的,无论是去认证中心买SSL安全证书还是自签署证书,但最近公司OA的一个需求,得以有个机会实际折腾一番。一开始采用的是全站加密,所有访问http:80的请求强制转换(rewrite)到https,后来自动化测试结果说响应速度太慢,https比http慢慢30倍,心想怎么可能,鬼知道他们怎么测的。所以就试了一下部分页面https(不能只针对某类动态请求才加密)和双向
2016-04-05 16:01:01 920
转载 Nginx+Keepalived实现站点高可用
公司内部 OA 系统要做线上高可用,避免单点故障,所以计划使用2台虚拟机通过 Keepalived 工具来实现 nginx 的高可用(High Avaiability),达到一台nginx入口服务器宕机,另一台备机自动接管服务的效果。(nginx做反向代理,实现后端应用服务器的负载均衡)快速搭建请直接跳至 第2节。1. Keepalived介绍Keepalived是一个基于VRRP
2016-04-05 15:59:31 4898 4
转载 Nginx配置location总结及rewrite规则写法
1. location正则写法一个示例:1location = / { # 精确匹配 / ,主机名后面不能带任何字符串 [ configuration A ] }location / { # 因为所有的地址都以 / 开头,所以这条规则将匹配到所有请求 # 但是正则和最长字符串会优先匹配 [ configuration B ]
2016-04-05 15:57:51 5520
转载 Nginx服务器安装及配置文件详解
nginx在工作中已经有好几个环境在使用了,每次都是重新去网上扒博客,各种编译配置,今天自己也整理一份安装文档和nginx.conf配置选项的说明,留作以后参考。像负载均衡配置(包括健康检查)、缓存(包括清空缓存)配置实例,请参考http://seanlook.com/2015/05/17/nginx-install-and-config ,ssl加密请参考 http://seanlook.com
2016-04-05 15:55:41 913
转载 Linux下同步工具inotify+rsync使用详解
1. rsync1.1 什么是rsyncrsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。它使用所谓的“Rsync演算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。所以通常可以作为备份工具来使用。运行Rsync server的机器也叫backup server,一个Rsyn
2016-04-05 15:37:44 4948 1
转载 httpclient在并发量较高的调用下问题如何去解决
前面有提及到httpclient模拟系统之间的交互,如果系统之间的交互不高,是非常轻松的动作,不过httpclient是作为WEB容器的web请求存在,在http协议下,都是无状态的协议,也就是连接-请求-反馈-断开几个基本动作,好在现在WEB容器有了keep-alive的功能,包括很多负载均衡设备:如:LB、LVS、nginx、apache、jboss、tomcat等等都是支持的,虽然支持,但是
2016-04-04 15:06:01 16037 4
转载 Java安全(加密、摘要、签名、证书、SSL、HTTPS)
对于一般的开发人员来说,很少需要对安全领域内的基础技术进行深入的研究,但是鉴于日常系统开发中遇到的各种安全相关的问题,熟悉和了解这些安全技术的基本原理和使用场景还是非常必要的。本文将对非对称加密、数字摘要、数字签名、数字证书、SSL、HTTPS等这些安全领域内的技术进行一番简要的介绍,解释他们之间的关系,同时补充一些周边话题。安全领域的技术众多,但是归根结底,他们都是为了保障如下三个方面:
2016-04-04 14:44:17 1071
转载 Git 技能
用git有一年了,下面是我这一年来的git使用总结,覆盖了日常使用中绝大多数的场景。嗯,至少是够用一年了,整理出来分享给大家,不明白的地方可以回复交流。git设置关闭自动换行git config --global core.autocrlf false为了保证文件的换行符是以安全的方法,避免windows与unix的换行符混用的情况,最好也加上这么一句git confi
2016-03-24 11:43:16 767
转载 java socket报文通信(三)java对象和xml格式文件的相互转换
前两节讲了socket服务端,客户端的建立以及报文的封装。今天就来讲一下java对象和xml格式文件的相互转换。上一节中我们列举了一个报文格式,其实我们可以理解为其实就是一个字符串。但是我们不可能每次都去写字符串啊,这样的话肯定要疯。既然是面向对象的编程,肯定会有好的办法来解决这个问题。我们使用JAXBContext这个工具。package cn.com.egj.entity.sh
2016-03-21 20:24:48 9829
转载 java socket报文通信(二)报文的封装
昨天我们谈了怎么建立socket通信的服务端和客户端,今天我们就来谈一谈怎么封装报文。什么是报文这里我就不在阐述了,不清楚的朋友可以自己去查资料。我们今天要谈的报文主要友以下几个部分组成:3位同步校验位+8位报文长度+报文头+报文体+32位MD5校验位基本格式如下:0X110X120X13000002320204201412231412230100081521
2016-03-21 20:20:35 3216 2
转载 Java socket报文通信(一)socket的建立
今天来和大家分享一下java中如何使用socket进行通信。先来啰嗦两句,看看Tcp/ip和udp:TCP是Transfer Control Protocol的 简称,是一种面向连接的保证可靠传输的协议。通过TCP协议传输,得到的是一个顺序的无差错的数据流。发送方和接收方的成对的两个socket之间必须建 立连接,以便在TCP协议的基础上进行通信,当一个socket(通常都是server
2016-03-21 20:16:22 8600
原创 MySql 查询以逗号分隔的字符串的方法(正则)
现数据库表中某个字段保存的值为“01,07,08”,需要sql去查询下表中到相应的名称:NND,一点思路都木有,想了老久,突然想到了正则表达式....!啊哈哈哈.....1、最开始想到的是find_in_set()...查询字段中包含01,07,08的记录:SELECT * FROM test WHERE find_in_set('01',itemn
2016-01-20 19:35:38 18433
原创 定长字节报文,字节截取
指定字节长度的字符串,临时写了个截取...int[] lengthList = {8,32,16,2,14,14,32,120,120,8,100,120,1,120}; int start = 0; int end = lengthList[0]; byte[] valueByte = value.getBytes("GBK"); for (int i
2016-01-08 17:39:37 4193
原创 通过HttpURLConnection模拟post表单提交
package junit;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;import org.junit.Test;import com.hrtx.util.StreamTool;public class EsmTest { /** * 通过
2016-01-04 19:56:37 7089
转载 tomcat多域名配置
OMCAT的域名配置现在很多的公司的网站都是用tomcat作为应用服务区的,可是对于初学者,8080端口号是如何去掉的,这些网站是如何和域名绑定到一起的呢?一个tomcat是如何绑定多域名?并且这些域名是如何对应不同的项目呢?而且我的服务器没放在机房,放在我的本地,我应该如何把我的服务器给映射到外网?这一系列的问题,今天就这个问题,我来说一下。1. 域名。现在的域名不是
2015-11-28 15:01:12 1867
原创 MySQL创建方法错误:This function has none of DETERMINISTIC, NO SQL
select,以及创建function时:出错信息:ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the l
2015-11-05 13:55:05 2978
转载 Redis主从复制
概述一般来说,要将Redis运用于工程项目中,只使用一台Redis是万万不能的,原因如下:从结构上,单个Redis服务器会发生单点故障,并且一台服务器需要处理所有的请求负载,压力较大;从容量上,单个Redis服务器内存容量有限,就算一台Redis服务器内容容量为256G,也不能将所有内容用作Redis存储内存,一般来说,单台Redis最大使用内存不应该超过20G。本文先讨论
2015-10-30 11:34:35 13802 5
转载 Redis持久化
概述Redis的强大性能很大程度上都是因为所有数据都是存储在内存中的,然而当Redis重启后,所有存储在内存中的数据将会丢失,在很多情况下是无法容忍这样的事情的。所以,我们需要将内存中的数据持久化!典型的需要持久化数据的场景如下:将Redis作为数据库使用;将Redis作为缓存服务器使用,但是缓存miss后会对性能造成很大影响,所有缓存同时失效时会造成服务雪崩,无法响应。
2015-10-30 11:33:51 1270 2
转载 Redis过期机制介绍
概述在实际开发过程中经常会遇到一些有时效性数据,比如限时优惠活动,缓存或者验证码之类的。过了一段时间就需要删除这些数据。在关系型数据库中一般都要增加一个字段记录数据的到期时间,然后周期性地检查过期数据然后删除。Redis本身就对键过期提供了很好的支持。Redis过期机制在Redis中可以使用EXPIRE命令设置一个键的存活时间(ttl: time to live),过了
2015-10-30 11:33:02 11676 2
转载 Redis事务介绍
概述相信学过Mysql等其他数据库的同学对事务这个词都不陌生,事务表示的是一组动作,这组动作要么全部执行,要么全部不执行。为什么会有这样的需求呢?看看下面的场景:微博是一个弱关系型社交网络,用户之间有关注和被关注两种关系,比如两个用户A和B,如果A关注B,则B的粉丝中就应该有A。关注这个动作需要两个步骤完成:在A的关注者中添加B;在B的粉丝中添加A。 这两个动作要么都执行成功,
2015-10-30 11:32:19 25752 4
转载 Redis五种数据类型介绍
概述Redis的键值可以使用物种数据类型:字符串,散列表,列表,集合,有序集合。本文详细介绍这五种数据类型的使用方法。本文命令介绍部分只是列举了基本的命令,至于具体的使用示例,可以参考Redis官方文档:Redis命令大全字符串类型字符串是Redis中最基本的数据类型,它能够存储任何类型的字符串,包含二进制数据。可以用于存储邮箱,JSON化的对象,甚至是一张图片,一个字
2015-10-30 11:31:24 42119 4
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人