- 博客(17)
- 收藏
- 关注
原创 ROP框架收不到POST请求数据问题
一.业务场景 今天在写图片上传接口时,由于ROP框架的本身的限制原因不能以流的形式进行上传操作(有待考证,一直没办法sh),实现我和APP的兄弟商量以后把图片转换成Base64编码的框架的数据进行传输。二.问题出现 刚开始我们使用了GET请求的形式,进行数据请求。出现了head TOO Large的异常。于是开始调整Tomcat的参数,设置了maxPostSize和ma...
2019-04-02 22:26:02
297
原创 tomcat增加jvisualvm监控
当你使用tomcat部署web系统时,过了一段时间发现cpu暴涨,你不防试试下面的方法,看看是否程序内的死循环导致cpu暴涨。 第一步:增加tomcat监控对外端口 在你的tomcat的bin目录下找到catalina.sh在二行加上 Java代码 JAVA_OPTS='-server -Xms1024m -Xmx1024m -XX:PermSize=128M -XX:MaxPerm...
2018-11-14 10:37:26
353
原创 POI做office2007数据导出报异常AbstractMethodError: org.apache.xerces.dom.DocumentImpl.getXmlStandalone()Z
一.问题说明 在做poi导出为xlsx文件时,工具类抛出异常。异常如下:java.lang.AbstractMethodError: org.apache.xerces.dom.DocumentImpl.getXmlStandalone()Z at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.setDocumen...
2018-11-14 10:13:08
3082
2
转载 分布式系统的ID生成方案
一、需求几乎所有的业务系统,都有生成一个记录标识的需求,例如:(1)消息标识:message-id(2)订单标识:order-id(3)帖子标识:tiezi-id这个记录标识往往就是数据库中的唯一主键,数据库上会建立聚集索引(cluster index),即在物理存储上以这个字段排序。 这个记录标识上的查询,往往又有分页或者排序的业务需求,例如:(1)拉取最新的一页...
2018-11-09 11:03:20
150
转载 线程数究竟设多少合理
一、需求缘起 Web-Server通常有个配置,最大工作线程数,后端服务一般也有个配置,工作线程池的线程数量,这个线程数的配置不同的业务架构师有不同的经验值,有些业务设置为CPU核数的2倍,有些业务设置为CPU核数的8倍,有些业务设置为CPU核数的32倍。“工作线程数”的设置依据是什么,到底设置为多少能够最大化CPU性能,是本文要讨论的问题。二、一些共性认知在进行进一步深...
2018-11-09 11:00:44
199
转载 用Redis实现分布式锁以及redission使用
分布式环境有很多问题,比如你前一个请求访问的是服务器A,第二个请求访问到了服务器B,就会发生并发重复插入问题,这个时候需要依赖单点来实现分布锁,而redis就是,因为redis的操作是原子性的,所以不会有线程安全问题,也适合作为锁来应用。不多说直接上代码。 一.导入maven依赖<dependency> <groupId>org.redi...
2018-11-09 10:00:06
1200
原创 线程池使用不当导致内存暴涨
问题描述:最近一个非WEB项目(定时任务运行的核心业务系统),线上服务开始变得不那么稳定。在高峰期,时常有机器的内存持续飙升,并且无法回收,导致服务不可用,最后直接把一个16g内存的服务器跑宕机了(一首凉凉送给自己)。经过排查,最终确定为为线程池导致。一.线程池 虽然Java线程池理论,以及构造线程池的各种参数,以及 Executors 提供的默认实现之前研读过,不过线上还没有...
2018-11-05 09:07:29
13339
2
原创 springboot利用Mybatis分包集成多数据源
一.配置文件spring: datasource: test: driver-class-name: com.mysql.jdbc.Driver jdbc-Url: jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8&useUnicode=true&useSSL=false ...
2018-11-02 14:07:10
1009
原创 springboot利用JPA分包集成多数据源
一.配置数据库spring.datasource.primary.url=jdbc:mysql://localhost:3306/test1?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC&useSSL=truespring.datasource.primary.username=rootspr...
2018-11-02 12:02:41
447
1
原创 springboot利用AOP集成多数据源
一.书写数据源配置类/** 数据源配置类 * <pre> * * @version 0.9 * * 修改版本: 0.9 * 修改日期: 2018年11月1日 * 修改人 : zhouxiaoyu * 修改说明: 初步完成 * 复审人 : * </pre> */@Configurationpublic class DynamicDataSou...
2018-11-02 11:57:02
243
原创 SimpleDateFormat的线程安全性
一.多线程并发执行SimpleDateFormat的异常@Slf4j@NotThreadSafepublic class DateFormatExample1 { private static SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd"); // 请求总数 public...
2018-07-18 14:23:11
253
原创 关于缓存的选择
要根据不同缓存的特性和原理,才能根据业务选出最合适的,来看看几种常用的缓存 1. varnish,可以作为反向代理,缓存一些资源,例如可以把struts,freemarker动态生成的页面存储起来,达到直接挡掉到达web服务器的请求。 2. ehcache,主要存储在当前机器内存中,存取非常快,缺点是内存有限,各台机器内存中各存一份,失效时间不一致,数据就会出现不一致,一般用来缓存不常变化,且缓存...
2018-06-26 15:52:58
711
原创 关于后台模拟进行上传文件的实现
我们公司以流量话费为主,今天下来一个贼奇葩的通道。天津移动的一家通道,需要对他们的管理系统进行抓包。然后上传一个txt文件作为充值的手机号码和面值。那么后台模拟登录和上传文件成了大问题。这里写一下调试心得,希望遇到的同行们能够少走弯路。 1.登录模块。 其实本网站的登录还是挺简单的,更让人开心的是它的验证码是你给它请求多少就给你返回相对应验证码图片。所以不需要借助第三...
2018-05-10 20:34:25
884
原创 bootstraptable只能搜索当前页问题
在进行bootstrapTable的使用过程中遇到了自己添加条件查询时,总是只能查询到当前页面的符合条件的数据,遇到当前页面没有的情况那么直接显示空。这个问题困扰了很久,最终在很多博客中进行整合才得以解决,这里进行下总结。 1.bootstarpTable的条件查询的集成。 (1)页面加载位置的更改。 <table id...
2018-02-23 17:35:29
2481
原创 Msql优化那些事儿
1. 为查询缓存优化你的查询?•大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了。这里最主要的问题是,对于程序员来说,这个事情是很容易被忽略的。因为,我们某些查询语句会让MySQL不使用缓存。请看下面的示例
2017-11-28 16:31:30
445
原创 spring-boot-devtools在Idea中热部署方法
1.修改pom.xml文件,添加依赖和插件 (注:热部署功能spring-boot-1.3开始有的)<!--添加依赖--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <!-- optional=true,依赖不会传
2017-10-09 14:26:16
382
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人