- 博客(20)
- 资源 (5)
- 收藏
- 关注
原创 ES7简单实践
背景:公司原有报表数据直接查询的mysql,同时部分业务数据以JSON格式存储于mysql字段中, 而随着业务的发展有以下瓶颈出现1、需要JSON中的字段也能作为查询条件,虽然msql支持JSON查询,但是mybatis 貌似不支持2、随着业务的发展,单表数据达到千万级别,而报表查询的查询条件跨度较大,现有报表查询进程出现超时的情况为了解决以上问题,决定把mysql的业务数据迁移到ES集群,为了数据查看做了数据的平移,mysql存储为JSON格式的数据,迁移的ES后数据类型定义为nested
2021-09-29 16:47:39 566
原创 新团队新项目思考
1、日志AOP 统一封装Result返回2、与前端交互,服务之间交互,入参返回值原则(比如时间统一以时间戳格式, 与前端交互Long 统一以 string返回)3、与数据库交互,考虑查询效率,预估数据量提前想好扩容预案,只查询需要的字段,查询sql考虑效率4、研发流程规范化 需求涉及-评审-方案设计-评审-开发-codeview-测试-上线5、安全提前考虑-- 日志脱敏,敏感字段加密存储...
2021-07-29 09:56:36 154
原创 maven下载依赖jar源码
mvn dependency:sourcesmvn dependency:resolve -Dclassifier=javadoc
2021-06-04 14:23:38 264
原创 service 层AOP拦截异常手动回滚事务
背景: 公司内部服务之间调用走RPC框架,服务端提供sdk即可,所以暴露出去的都是 service层接口,但是也有统一封装返回结构体的需求,所以用到了AOP切面import java.lang.annotation.*;/** * @description API异常处理。使用了当前注解的方法在抛出异常统一处理返回 Result对象 */@Target({ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)@Documente.
2021-05-29 17:02:48 732
原创 一次内存溢出分析
服务报错services java.lang.OutOfMemoryError: Metaspace在测试环境启动默认添加了参数-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=dump文件路径, 发生内存溢出时自动生成dump文件-XX:+PrintGCDetails 参数记录GC日志首先在公司监控平台分析通过监控发现 年轻代通过yong gc 会回收大量空间,老年代占用空间比较稳定,在16:30的时候系统发生了3次full gc,对..
2021-04-16 10:11:32 143
原创 接口入参手动校验
开发过程中常常需要手动校验入参 或者 需要校验入参值是否满足要求。import org.hibernate.validator.HibernateValidator;import javax.validation.ConstraintViolation;import javax.validation.Validation;import javax.validation.Validator;import java.util.Set;/** * @description 入参校验工具类
2021-01-14 09:10:10 460 1
原创 Spring AOP拦截记录日志
自定义注解@Target({ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)@Documented@Inheritedpublic @interface IgnoreRequestLog { IgnoreType[] types() default {IgnoreType.REQUEST, IgnoreType.RESPONSE}; enum IgnoreType { REQUEST,
2020-12-17 09:04:17 287
原创 SpringBoot中配置文件加载
<bean id="configProperties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> ...
2019-12-19 08:39:48 142
原创 @NotBlank @NotEmpty不生效,以及对象嵌套问题
问题1:最近做一个新项目,写新接口时发现@NotBlank @NotEmpty不生效,@NotNull则生效,令人费解。通过搜索资料以及对项目依赖一步步排除发现项目中引入的jar包有问题,见红色标识出来的删除以上3个jar,新增org.hibernate后问题解决用法:step1、Controller层接口入参处加@Validated注解(org.springframew...
2019-03-02 19:51:25 18423 6
原创 JAVA面试准备点
java基础:1、常用集合类- 重点 HashMap、ConcurrentHashMap2、多线程并发,AQS3、动态代理、常用设计模式4、java底层 -- 垃圾回收、类加载机制、内存模型、双亲委派 、JVM调优 -- 深入理解java虚拟机框架:1、Spring原理 熟悉并理解记忆 -- AOP IOC 事务2、Springmvc原理 熟悉并理解记忆3、Spr...
2018-12-11 17:55:22 166
原创 cpu、内存偏高排查
top 找出进程idjstack pid >> java.text 输出堆栈top -H -p pid 或者 ps -mp pid -o THREAD、tid、time 找到占用资源最大的 线程idprintf "%x\n" tidjstack pid | grep 线程 -A 30。--查看所搜索文本后面30行 //-A -B -C 后面都跟阿拉伯数字 //-A是显示...
2018-12-06 17:48:39 393
原创 AQS
aqs: https://www.cnblogs.com/daydaynobug/p/6752837.html动态代理:https://www.cnblogs.com/gonjan-blog/p/6685611.html
2018-12-02 14:03:53 147
转载 mac下MAT内存分析工具安装
1、下载地址:https://www.eclipse.org/mat/downloads.php如下图所示选择mac版本 2、下载完毕后双击文件如果如下报错java.lang.IllegalStateException: The platform metadata area could not be written: /private/var/folders/rv/bhc3zs...
2018-08-21 14:47:40 19958 3
原创 scp 命令私钥下载
格式: scp -i 私钥文件目录 -P 远程主机端口 登录用户名@远程主机ip:远程待下载文件 本地文件目录(文件存放目录)例如: scp -i ssk.logman.rsa -P 9812 user_man@187.12.33.12:/home/user_man/logs/errlog.tgz /Users/lishan/Documents...
2018-08-21 14:04:16 4984
原创 mac电脑端口转发
mac下小于1024的端口用不了,所以web项目部署的时候,如果对外只能提供小于1024端口(比如微信公众号是80端口),那么可以做个端口转发。不用改端口,mac下执行端口转发命令就行,如下所示外面访问80端口的请求都会转发到8080端口 Mac 版idea 调试的时候,8080端口转发功能脚本 echo "rdr pass inet proto tcp fro
2017-11-28 15:01:26 1397
原创 mac下微信公众号开发环境搭建
开发工具:idea第一步、ngrok实现内网穿透(开发者配置中心中配置的服务器地址必须是外网地址),操作如下1. 下载MAC版的ngrok(我的是mac电脑):https://ngrok.com/download2. 解压到指定目录3. 打开“终端”,进入到解压后的ngrok所在路径: $ cd /ngrok所在路径4. 开启服务:
2017-11-27 18:34:13 2922
原创 JSTL常用标签
JSTL : javaserverpages standard tag library JSP标准标签库 目的:用这些标签取代JSP页面上的JAVA代码 分为五类: JSTL核心库 [基本的I/O, 流程控制, 循环 等功能] 数据库标签库 [基本的数据库操作功能] XML操作标签库 [用来处理XML文档] 国际化和格式标签库 函数标签库 在这里的例子中 C开头的是核心
2014-03-25 14:33:52 531
Myeclipse2013安装 jrebel6.5方法及破解
2017-01-17
ssh+extjs 小项目
2014-01-09
毕业论文:基于变频器和组态软件的电梯控制系统
2013-05-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人