![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
项目经验
文章平均质量分 84
vioao
Coding Life
展开
-
程序员的副业: 微信小程序
打工仔谁不想整点副业,整点睡后收入呢? 虽然很早之前就知道淘宝客的模式,但是懒并且知道主要是推广难。所以一直也没有去弄,最近时间比较多,就还是决定整它一整。做好决定后我就开始准备相关的东西了。其实事情不多,主要有如下一些准备工作...原创 2021-06-03 14:55:18 · 995 阅读 · 3 评论 -
微信公众平台SDK JAVA实现WeChat-SDK
前言最近有做一些涉及到微信公众平台和第三方平台开发的工作。需要使用微信提供的接口。然而微信只提供了基于基本的HTTP接口,并没有对应各语言的SDK实现。所以如果自己开发的话需要封装一套SDK。不过,微信公众平台出来几年了,市面上早就有不少JAVA实现的微信SDK了。于是便收集了一些开源的JAVA实现的微信SDK,但是最后都不是特别合适。最终决定自己写一个。下面给出各开源SDK的实现对比和自己的...原创 2018-01-21 10:07:05 · 12769 阅读 · 1 评论 -
Structs2 Reponse rediret 使用https
问题:Structs2 action中的redirect只支持Http,当应用部署在Https环境下时。会报错: Mixed Content: The page at ‘https://managertest.efun.com/userlogin.mainWindow.shtml’ was loaded over HTTPS, but requested an insecure script ‘原创 2017-05-28 22:16:56 · 978 阅读 · 0 评论 -
记一次 Gradle Build 问题分析
问题出现一次项目更新后,发现项目无法正常 build 了,出现如下报错:error: cannot access DoNotMock class file for com.google.errorprone.annotations.DoNotMock not found问题排查处理步骤如下:Review 代码更新,寻找可疑点这一步 review 没有发现什么特殊的改动,只是更...原创 2019-08-22 10:25:26 · 2538 阅读 · 0 评论 -
OTA 项目相关
OTAOnline Travel Agency:在线旅游(OTA,全称为Online Travel Agency),是旅游电子商务行业的专业词语。指“旅游消费者通过网络向旅游服务提供商预定旅游产品或服务,并通过网上支付或者线下付费,即各旅游主体可以通过网络进行产品营销或产品销售”。LCCLow-cost carrier:低成本航空公司PNRPassenger Name Rec...原创 2019-08-21 17:25:36 · 1004 阅读 · 0 评论 -
项目复盘思考
对自己所参与过的事物做个复盘是个好习惯,能让自己对事物有个更深的了解。比如说,读了一本书,那么这个时候你需要回去思考:这本书讲了些啥,对你有何影响;又或者,你参与了一个活动,你完了后,你也可以对其进行复盘,思考下这个活动的意义,这个活动是让你增加见识了还是让你放松心情了等;再或者,你参与了一个项目,这个时候还是可以复盘,考虑项目的进展中的难点等。其实复盘,就是对自己经历过的事物进行思考总结。是一个...原创 2019-07-03 14:16:12 · 2006 阅读 · 1 评论 -
阿里监控诊断工具 Arthas 源码原理分析
阿里开源了 监控与诊断 工具 「 Arthas 」,一款可用于线上问题分析的利器,短期之内收获了大量关注,在 Twitter 上连 Java 官方的 Twitter 也转发了,真的很赞。GitHub 上是这样自述的:Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、...转载 2019-02-20 09:11:23 · 9521 阅读 · 2 评论 -
中国灾害预警爬取解析
有获取灾害信息提醒的需求,但是发现并没有开发的API 。已有的API都需要付钱。 天气预报API,可以看知乎的这边文章。网上的天气 API 哪一个更加可靠? 里面的普通的天气预报部分免费,但是灾害预警的API都是需要收费的。于是自己去摸索了。最后通过发F12发现了中国天气网中可用的请求: http://www.weather.com.cn/data/alarm_xml/alarminfo....原创 2018-07-21 12:41:50 · 2564 阅读 · 3 评论 -
定位CPU异常抖动---tomcat热部署的坑
问题及其罪魁祸首WEB服务器: apache-tomcat-8.0.33 JDK: jdk1.8.0_66 操作系统: Linux SHB-L0064049 2.6.32-642.6.2.el6.x86_6 运维反馈CPU抖动异常,如下。 CPU时不时的会从0%抖动到50%,定位到时tomcat的热部署导致的问题。最终通过显式的加上reloadable=“false” 的配置解决...原创 2018-04-27 10:41:00 · 2198 阅读 · 8 评论 -
java web线上请求问题排查
问题描述简要说明下,系统是一个微信第第三方平台,用于托管微信公众号和小程序的。 在一个普普通通的晚上,19点开始有公众号管理员向我们反馈,托管在我们平台的公众号一直提示 “该公众号提供的服务出现异常,请稍后再试“。问题排查验证问题自己去对应的公众号验证,发送消息,确确实实提示”该公众号提供的服务出现异常,请稍后再试“,影响到了公众号的正常服务。并且每次都是这个返回,说明...原创 2018-04-18 21:53:26 · 1663 阅读 · 0 评论 -
项目重构感悟
重构决定需要提前做好新旧系统的切换方案的规划要高度重视对数据的重构,对数据的调整和兼容是重中之重重构是为了解决实际的项目问题,而不只是作为程序员的一个代码洁癖。所以,需要对新系统有可以量化的指标(eg. 性能提升5个点、开发工作量减少30% 等)技术选型时,不要盲目最求新技术,需要尽量使用成熟、简单的方案,选择成熟简单的方案在遇到问题时多能在网上找到对应的解决方案。文档相对也会更完善。...原创 2018-03-16 20:37:33 · 495 阅读 · 0 评论 -
Jasperreports OOM问题处理
问题描述项目使用Jasperreports来转换导出PDF,不过在转换过程中有时会出现OOM的异常。将直接导致线上系统不可使用。主要导致OOM的问题有如下两种:jasper模板文件设计不合理导致Jasperreports进入死循环需要转换的文件确实很大,超过了系统所支持的内存范围此前就有遇到过上述情况导致系统不可用的情况,这明显影响了程序的健壮性。是需要处理的。此前对该的处理排查原创 2018-01-29 17:13:56 · 2156 阅读 · 1 评论 -
使用Checkstyle统一编码
目前手上接管了一个旧项目,在调整的过程中发现其编码规范非常的多样化。其实就是没有规范了。代码中的命名、注释、换行等风格都有多种,差不多每个曾经修改过代码的程序员都留来过自己的风格。代码风格质量良莠不齐,这导致新员工在阅读代码时需要花更多的时间,也更加痛苦。所以考虑使用checkstyle来校验统一代码风格。原创 2017-11-27 18:01:02 · 1614 阅读 · 2 评论 -
SpringBoot 整合 Mybatis/Druid/Quartz
SpringBoot 整合Mybatis/Druid/Quartz由于项目中定时任务逐渐增多,对系统的压力也慢慢增加。故打算将系统中的定时任务抽离出来。初步决定使用SpringBoot+mybatis+quartz的整合方式进行快速开发。 整个整合会包含如下任务: 1. 整合Mybatis(包括通用Mapper和分页插件) 2. 整合Quartz实现动态定时任务管理(实现可在Quartz...原创 2019-09-27 10:25:49 · 3410 阅读 · 4 评论 -
线上java程序CPU占用过高问题排查
工作中负责的有一个项目是使用iReport+JasperReport实现的一个打印系统。最近这个线上程序经常无响应,重启后恢复正常,但是时不时还是会出现类似的问题。 最后发现是JasperReport的一个问题。有个JasperReport的转换任务内存占用特别高,当新对象需要分配内存时就会内存不够了,于是GC线程就不断GC,占用CPU。 导致系统CPU占用超高。原创 2017-09-18 16:01:55 · 44306 阅读 · 9 评论 -
聊聊缓存
前言如今开发一定规模的web系统时一般会在项目中加入缓存模块块来缓存数据以减轻数据库的压力。从而提高系统的访问速度。最近的面试过程中也有不少是缓存相关的问题,那么下面就来聊下期间被问到的一个缓存更新策略的问题。 我们以Redis作为缓存作为例子。那么问题来了,当缓存的数据需要更新时该如何做才能确保在保证一致性(没有脏数据)的情况下还能有不错的并发量。原创 2017-05-28 22:22:31 · 598 阅读 · 0 评论