
java
zerovpp
共享单车行业
展开
-
用tunnel查询阿里云
阿里云用tunnel下载并read数据原创 2022-10-11 17:59:09 · 352 阅读 · 0 评论 -
Eova&JFinal在阿里云K8S实现多环境自动化部署
JFinal&Eova在阿里云K8S实现多环境自动化部署原创 2022-04-03 21:13:47 · 1271 阅读 · 0 评论 -
Mybatis 处理 dateTime格式字段
背景:数据库中user表,如下:create table user(id int(11),name varchar(20),create_time datetime default null )ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='user表'其中:create_time 的类型为datetime...原创 2020-03-04 18:54:38 · 9277 阅读 · 1 评论 -
微服务报 fallback got invoked的解决
场景:A服务暴露一个接口getUser(),封装在AClient中,以Feign微服务形式提供给B服务调用,却一直报“ **** fallback got invoked ”错误分析:A、B2个服务各自的自身服务都能正常,相互调用时,通过微服务Feign,同时报错的“ **** fallback got invoked ”提示,显示被熔断了,而熔断是Hystrix按超时规则执行的,难道是...原创 2020-02-11 12:14:36 · 264 阅读 · 0 评论 -
开发调试时报“验证失败","status":401
一 、问题 场景:开发debug时,需要用postman调用接口,在headers中需要传入Cookie,即登录user相关信息 之前都能正常调用的接口,这次突然死活调不通,一直报“{"message":"验证失败","status":401}”,很显然,是验证没通过。 传入的cookie长这样:而其他同事却正常,死活找不到原因。后来无意对比了下Cookie,发现...原创 2020-02-04 16:47:12 · 8500 阅读 · 0 评论 -
AtomicInteger实现分布式、自增ID
一、场景 引入ElasticJob,跑task时,总会莫名原因暂停一会,短则10秒,多则近分钟。二、故障定位原创 2021-10-25 18:09:17 · 1140 阅读 · 0 评论 -
JFinal 调用方法时报404 Action Not Found解决办法
在用JFinal 开发时,调用controller的方法时,有时会报404 Action not found错误,意思是没找到正确的方法,如下图:从报错信息来看,问题主要是:1、路径不对;2、方法未暴露出来;3、方法带参了,如 public void test (String a){.....}这种,对外调用的方法,参数一般是用this.getPara("xx"),而不...原创 2019-05-30 17:01:27 · 5755 阅读 · 3 评论 -
excel导出时报错 “文件格式和扩展名不匹配,文件可能已损坏或不安全”解决办法
近期在开发一个导出功能时,突然报“警告 ***文件格式和扩展名不匹配,文件可能已损坏或不安全。”的错误,如下图:从提示可看出,文件没有成功导出,损坏了。查下后台,报错如下:原来是列属性错了,重新设置成正确的列属性(double 改为 string )成功解决。...原创 2019-05-30 18:34:25 · 31908 阅读 · 1 评论 -
诡异Incorrect integer value 错误之解决:SQLException: Incorrect integer value: '**' for column '**'
症状:在导入数据时,报错:com.jfinal.plugin.activerecord.ActiveRecordException: java.sql.SQLException: Incorrect integer value: '**' for column 'type' at row 1 at com.jfinal.plugin.activerecord.DbPro.save(Db...原创 2019-06-26 16:56:10 · 12135 阅读 · 0 评论 -
SpringBoot中方法中用Http调用远程方法,Body传参
场景:A服务方法中调用B服务(跨域),方式为HttpPost。postman直接调用,查询B服务返回的数据如下: 实现步骤: 1、准备好B服务的URL,用org.apache.http.client的HttpClient方法,并设置header。 String url = seagull.getSupplierUrl(); ...原创 2019-07-19 18:08:04 · 4324 阅读 · 0 评论 -
extend继承后@Override被重写方法继续调用原Method解决之道
场景:父类有个方法t,子类继续父类后,@Override了原方法t,但又不想丢失原方法t翠花上酸菜!不,上code,父类:public class TestSuper { public void t(String s) { System.out.println("TestSuper.t(String)方法:"+ s); }}子类继承后,用@O...原创 2019-08-06 15:59:08 · 1425 阅读 · 0 评论 -
Stream作groupingBy多组统计求和报non-static method cannot be referenced from a context异常的解决方法
场景:对一组刚毕业的学生按城市进行分组统计,求各组的工资总和,如下:List<Student> list = new ArrayList<>(); list.add(new Student(1, "张三", "M", "北京", 9886.32)); list.add(new Student(2, "李娟", "F", "北京"...原创 2019-08-19 11:43:21 · 2266 阅读 · 1 评论 -
JAVA开发debug之道
开发调试时,难免会出各种各样幺蛾子,别怕,不出bug的程序员不是好程序员!关键我们怎么来解决些问题! 一、认真查看报错信息 如下图,虽然看起来一长串的报错信息很恐怖,实际关键信息都告诉你了,问题就出在第一行的“ManpowerCostController.java:59”!java.lang.NullPointerException: null at com.**...原创 2019-08-12 18:46:38 · 303 阅读 · 0 评论 -
一次FullGC 血案侦破过程
一、持续报警恢复2、查后台日志topjstat -gc pidjstat -gc()capacity -pid查看head(关于Java Dump日志重点关注点,见这篇文章《三个实例分析Java Thread Dump日志》jstack pid这种信息量太大且杂乱,不易定位问题点,加grep 搜索关键词 waiting on 定位下...原创 2019-09-23 10:50:41 · 201 阅读 · 0 评论 -
JFinal 调用HttpKit通过URL获取其他网站的数据
日常服务,特别是企业大了,各种异构系统存在,需要相互之间进行交互,有直接查表的,最常见也最安全通过HTTP从接口获取数据或服务。 Jfinal通过URL获取其他系统数据,用HttpKit工具方法get或post,具体如下://GET方法public static String get(String url, Map<String, String> queryPa...原创 2019-05-27 18:48:25 · 2038 阅读 · 0 评论 -
Spring Boot +MyBatis用PageHelper 实现一行代码分页
先看使用方法:public PageResult<List<PolymerizationRowVO>> getPolyRow( @RequestParam(value = "pageNum", defaultValue = "1", required = false) Integer pageNum, @Reques...原创 2019-05-24 15:57:02 · 257 阅读 · 0 评论 -
一次提升45倍的Java优化之旅
之前写的一个业务服务,也就跨库的增查改,随着业务量在增加,慢到无法忍受的地步了,小2万的数据,竟然耗时3630s,一个多小时! 后来经过一番优化,实现了20倍的提升,且还有提升空间! 此番优化,主要集中在以下几个方面: 1、减少select语句,或将查询结果缓存起来; 2、能一次性insert的,不做多次update,之前是先将主要数据i...原创 2019-03-19 10:24:16 · 229 阅读 · 0 评论 -
利用多层套接view解决一对多的查询
一、某表有5列,想实现不同的人,自动显示不同的列;如张三登录显示ABC列,Robbet登录则显示EF列;二、解决过程: 1、A表有type和值2列,CDEF表分别存储了不同的type和value; 2、先逐一用CDEF表去A表查出不同的type和value; 3、再到最终view中,关联并取出不同列的不同value;...原创 2018-04-24 18:19:04 · 228 阅读 · 0 评论 -
JAVA中String字符串删除指定字符的办法
场景: 有个字符串oldStr,内容为“a,b,c,d,e",想动态删除某个字符,或c或b。 解决办法: 1、转数组String[] arr = oldStr.split(",");ArrayList<String> m = new ArrayList<>();for (int i = 0; i < arr.length; i++) {//add进Arr...原创 2018-05-17 16:15:12 · 34681 阅读 · 0 评论 -
列名不能以数字开头
在一次数字校验中,老是报错,开始为rules的正则错误,以为规则写错了,想实现只能录小数的需求,最后一查一查,发现规则在其他列可以用,只在某列有数字的列中,报错, 只能输入小数的正则是这样的: min :[/^(0\.\d*[1-9])?$/,"请填写小数"]而这个列为以数字开头,把列名改为非数字开头的,就成功了。 列名不能以数字开头! 列名不能以数...原创 2018-07-16 19:05:47 · 3264 阅读 · 0 评论 -
万能的JAVA任何格式日期转换工具类
过程中,被dash.length()坑了一把。 废话少说,上coding. public static Date convertStrToDate(String s) throws Exception { String dash = "-";String slash = "/";String str = s.replace("*", "");int f...原创 2018-09-29 10:13:54 · 1480 阅读 · 0 评论 -
Spring之依赖注入(控制反转)概念对比
一直对众人一致称赞的Spring 依赖注入概念领悟不深,今天跟着一个大神,重温了下这个神奇技术,文字难以说清楚,直接上图: 1、在Spring之前,大家是这么处理的: 2、有了Spring 后,借助依赖注入简单多了:...原创 2018-11-19 16:00:37 · 252 阅读 · 0 评论 -
Date的after与before比较问题
在使用Date的比较时,一般会用after和before,但有时理解起来易混淆,如果把after当作" > (大于)"号,把before当作" <(小于)"就好理解了,例如: Date1.after(Date2)即(如date1为12月1日、date2为12月2日,date1 > date2或理解为:date1在前,date2在后),当Date1大于Date2时,...原创 2018-12-24 16:57:00 · 12672 阅读 · 6 评论 -
SpringBoot:No qualifying bean of type 'com.xxxx.dao.DailyMapper' available: expected at least 1问题的解决
异常代码: No qualifying bean of type 'com.xxxx.dao.DailyMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}如图: 原因:Spring boot Appli...原创 2019-01-10 18:59:48 · 52068 阅读 · 6 评论 -
Jfinal Eova下提示“excel的文件格式和扩展名不匹配。文件可能已损坏或不安全”解决办法
近日在做一个项目时,某页面提示“**.xls的文件格式和扩展名不匹配。文件可能已损坏或不安全。除非您信任其来源,否则请勿打开。是否仍要打开它?”,如下图: 从提示判断,一定是系统在导出时发生了exception,导致导出失败,看后台日志,如下:意思是,某个只能为数字的列,结果有汉字字符,所以报RenderException,一查Mysql的表属性,如下:原...原创 2019-01-21 08:34:35 · 2964 阅读 · 0 评论 -
Double 类型造成千万级别数据显示成科学计数方式的解决
一次在项目将数字用Double类型,结果当数字达到千万级别时,却变成1.0000914E7 将Double 改为BigDecimal后问题得以解决。原创 2019-01-25 22:06:00 · 3961 阅读 · 0 评论 -
用Runable多线程跑任务提升速度
之前在跑定时任务时,就单线程用for轮询,不仅慢,如果一个NPE还造成整个Task中断,用Runable就方便多了。 1、定义一个task类,作为调用一个线程 2、ExecutorService开启多个线程ExecutorService executorService = Executors.newFixedThreadPool(dates.size()...原创 2019-01-31 18:15:04 · 1034 阅读 · 0 评论 -
git之暂存功能:stash
有时开发到一半,因故需要将上一版本push下,同时也不想将现在的feature再新拉一个,就可以用stash上场了,它的功能是将之前commit后至现在的代码暂存到电脑,同时恢复至上次commit的版本,具体用法: 暂存:git stash 如下图:会自动保存到电脑中; 恢复:git stash pop ...原创 2019-01-16 17:46:41 · 688 阅读 · 0 评论 -
IDEA+maven 用浏览器调试debug WEB 项目程序后端
许多涉及web项目的调试起来非常麻烦,除了要用抓包工具外,还要用postman等,今天经同事指点,找一个非常简单、无需其他工具或插件,利用浏览器debug程序后端,并能打断点的方法。 1、maven设置:这里command line有个非常重要的参数(*号为环境名):spring-boot:run -Dci.environment.slug=** -Dspri...原创 2019-01-29 18:44:17 · 1562 阅读 · 0 评论 -
源码解析:FileInjputStream/FilterInputStream/BufferedInputStream/ InputStream之read方法为何是int型
如果看过Java I/O类图,就会明白,无论是FileInjputStream 还是StringBufferInputStream异或ByteArrayInputStreamg或FilterInputStream,都是继承于InputStream。 而PushbackInputStreamt、BufferedInputStream、DataInputStream、Lin...原创 2019-02-09 15:01:27 · 440 阅读 · 0 评论 -
mysql如何利用好左前缀索引调优
总结起来就一句话: 1、索引的列越简单越好,或来自于简单的表; 2、最好将 索引列 放在where 条件中,且越简单的值越要放在左边,如 sex与车型,sex就2个值:男、女,而车型N个,所以就得把sex放在左边。下面部分为转载, 2.1在where条件常用的列上加上索引。 例如:where cat_id=3 and price>100;// 查询第3个栏目,100元以上的商...原创 2018-02-08 10:12:31 · 239 阅读 · 0 评论