- 博客(50)
- 资源 (5)
- 收藏
- 关注
原创 Log4j1和log4j2区别
鉴于2021年末爆发的lo4j2的jndi漏洞,开始排查公司项目使用log日志框架情况,之前老项目有log4j1的使用,为了针对log4j2进行升级,了解整理下 log4j1 跟log4j2的区别点。log4j 1 的maven引用:<!-- https://mvnrepository.com/artifact/log4j/log4j --> <dependency> <groupId>log4j</groupId> <artifac
2021-12-13 11:18:45 1243
原创 Lombok @FieldNameConstants 获取类的属性名称
需求近日开发有个需求要获取类属性的名称,当然用 java 反射方式肯定能获取到,但是比较麻烦繁琐,只是想简单便捷的调用下。举例来说,一个实体类 User 含有 id 和 userName 两个属性,现在想要获取 “id” 和 “userName” 两个属性名的字符串。偷懒思路想到 Lombok 在通过注解简化实体类方面有不错的效果,所以想找下 Lombok 是否有什么注解方便实现本需求。偷懒之路经过百度+谷歌的检索定位到了 @FieldNameConstants 满足需求。偷懒所得@Fi
2021-06-02 15:30:36 5947
原创 Java 初始化List、Map常量 Double Brace Initialization should not be used
Collections.unmodifiableMap()用法场景:需要初始化常量List和Map,所以一开始代码如下:/** * List初始化 */public static final List<String> ES_KEY_LIST = new ArrayList(){{ add(ES_KEY_KEY); add(ES_KEY_COUNT); add(ES_KEY_TOTAL_ORDER_COUNT); add(ES_KEY_TOTAL_ENTERPRIS
2021-01-27 15:58:37 2371
原创 sonar 检测 Call “Optional#isPresent()“ before accessing the value.(java 8 版本)
目录问题代码解决问题的背景知识java8 Optional 的使用规范要求的规则。Java 8 Stream修改策略java8方法1方式2问题代码public class demoUtil { public static Long methdName(List<EnterpriseSolutionsSeq> seqList){ if(CollUtil.isEmpty(seqList)){ return null; } // 下面这行代码会被sonar检测有问题,因为在对O
2021-01-14 15:04:18 9241
原创 2020-10-14 KIBANA7 配置(搜索、可视化组件和仪表板)导出导入
需求描述线上Kibana的可视化图表跟仪表盘配置意外丢失了。还好测试环境有相同的配置,根据Kibana的功能进行配置的导出->导入。避免手工一个一个重新配置的繁琐跟配置错误疏漏等情况。也同时进行下配置文件的导出备份工作。参考资料官方文档 Kibana 用户手册 » 管理 » 管理保存的搜索、可视化组件和仪表板具体步骤本次示例以导出可视化visualization模块内容。经验教训:如果想导出的一些配置文件有依赖关系,建议找到相对高层级的那几个配置文件进行导出和导入,勾选包括相关对象,可以减
2020-10-15 11:29:21 2014
原创 2020-09-29 IDEA 软换行 Soft Wraps 和配置介绍(基于2020.2版本)
IDEA 软换行 Soft Wraps开启软换行右击行号区域或者代码编辑区域最下方的状态栏下图红色区域,在弹出栏里 点击 Soft Wrap 即可。进行软换行设置还是右击刚才的区域,再弹出菜单里单击 Configure Soft Wraps...会弹出打开下图 settings 菜单,定位到了 Soft Wraps 设置区域Soft-wrap these files左边的checkbox用来开启/关闭软换行功能;右边文板框配置哪些文件后缀进行软换行,如图所示多个文件类型英文逗号分隔区
2020-09-29 11:06:21 7206 1
原创 2020-09-27 IDEA Maven dependencyManagement中的依赖版本会覆盖传递依赖版本
IDEA Maven dependencyManagement中的依赖版本会覆盖传递依赖版本参考帖子Maven传递依赖的坑:父pom中dependencyManagement版本优先级高于传递依赖版本问题描述同一个项目,同事拉取其他同事更新内容(含有 poi 的版本升级),她的 IDEA无法找到 poi 4.1.2的版本,只能找到之前更新poi前的 3.17 和 3.9 版本。我本地拉取同一个更新分支,没有遇到问题。顶级 pom使用的 springcloud 微服务框架项目,顶级 pom.xm
2020-09-27 17:19:30 2940
原创 2020-09-17 Redis Can‘t save in background: fork: Cannot allocate memory
Redis占用内存过高报错redis 报错详情Can't save in background: fork: Cannot allocate memory解决方案参考文章:redis Can’t save in background: fork: Cannot allocate memory 解决及原理彻底的解决方式:编辑文件 /etc/sysctl.conf 添加:vm.overcommit_memory=1执行sysctl -p使其生效;vm.overcommit_memor
2020-09-17 10:01:36 332
原创 2020-09-14 fastjson对象初始化clone和new set性能对比
@Test public void testFastJsonClone(){ int forNumber = 3000; // 粗略测试 keysize >5之后性能会更有优势 int keySize = 5; long start2 = System.currentTimeMillis(); JSONObject jsonObjectClone = new JSONObject(); for (int i1 = 0; i1 < keySize; i1++) {
2020-09-14 13:51:02 657
转载 IDEA的Maven开始运行时,报程序包****不存在,实际上包已导入 idea安装2020.1.1后踩的坑
IDEA的Maven开始运行时,报程序包****不存在,实际上包已导入 idea安装2020.1.1后踩的坑 这里写自定义目录标题 问题描述:原因分析:解决方案: 问题描述: 上截图 原因分析: 使用IDEA写Java工程时,使用Maven导入依赖包,程序写好后
2020-09-09 15:37:51 835
原创 IDEA查询范围类型过滤器(筛选漏斗)
在IDEA查找替换页面的右侧有个筛选图标.在不同查找需求场景下可以提供更适合的查找范围.**Anywhere:**查找所有内容**In Comments:**仅查找注释内容// 查找 abc 勾选 In Comments// abc //会被查找到/*abc*/ //会被查找到String abc = "abc"; // abc 和 "abc"都不会被查找到**In String Literals:**仅查找字符串 如String s= “String” ,勾选后查找String
2020-08-18 14:08:01 3168
原创 IDEA 2020 java doc 预览效果查看
功能演示当鼠标点击在一个 java doc 内容里是,见下图红框位置,在行号右边会有一个小图标鼠标指向这个图标,会提示快捷键 Ctrl+Alt+Q ;点击该按钮或者使用快捷键 Ctrl+Alt+Q会发现 IDEA 已经把源码格式的 java doc 渲染出预览效果了.先返回编辑模式可以点击左边小图标,或者还是使用快捷键 Ctrl+Alt+Q来切换.预览和源码编辑模式.默认开启 java doc 预览模式右击 java doc 行号右边的小图标,勾选 Render All Doc commen
2020-08-10 14:59:58 3551 4
原创 团队迭代经验总结---测试篇
团队迭代经验总结测试流程完成测试用例库建设,并持续更新(解决用例考虑不周全的问题)—20190410完成新平台核心功能自动化测试(解决测试不全面的问题)—20190410QA完成测试用例后,告知相关开发获取用例方式—20200525测试人员针对页面块级修改,将该页面整体前端展示测试一遍—20191212QA发现问题要及时汇总反馈,邮件红色高亮显示。预判上线风险点,及时沟通。由于开发未送测,到时挤压测试时间的问题。—20191226测试依据送测单更新测试环境代码
2020-07-31 18:51:02 679
原创 团队迭代经验总结---开发篇
团队迭代经验总结测试流程完成测试用例库建设,并持续更新(解决用例考虑不周全的问题)—20190410完成新平台核心功能自动化测试(解决测试不全面的问题)—20190410QA完成测试用例后,告知相关开发获取用例方式—20200525测试人员针对页面块级修改,将该页面整体前端展示测试一遍—20191212QA发现问题要及时汇总反馈,邮件红色高亮显示。预判上线风险点,及时沟通。由于开发未送测,到时挤压测试时间的问题。—20191226测试依据送测单更新测试环境代码
2020-07-31 18:48:22 808
原创 大数据量的分页查询优化方案
大数据量的分页查询优化方案欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入随着业务发展越来越快,原来的数据从几万突破到几百万,分页的查询策略是否需要调整一下?欢迎使用Markdown编辑器
2020-07-31 17:32:21 1802
原创 《重构:改善既有代码的设计》第六章摘要
《重构:改善既有代码的设计》第六章摘要1.提炼函数(Extract Function)说明:把一个方法里的部分代码抽出为一个方法使用条件注意要点做法2.内联函数(Inline Function)说明:是提炼函数的反操作.即把一个方法删除,把其方法内部的代码放在调用该方法的位置.使用场景注意要点做法3.提炼变量(Extract Variable)说明:是把一个表达式的返回值赋值给一个变量使用场景注意要点做法4.内联变量(Inline Variable)说明:提炼变量的逆操作.把被表达式赋值的变量,还原为使用表
2020-07-06 09:25:04 358
原创 IDEA抽取常量到(2019.3版本)
选中要抽取的常量文本(字符串可以不用包含双引号)快捷键 ctrl+alt+c鼠标右键菜单 Refactor ->Introduce ConstantInroduce Variable (Ctrl+Alt+V) 把选中的内容设置抽取为当前方法内的变量.Introduce Constant(Ctrl+Alt+C)把选中内容个抽取为静态常量 static final (可以连按两次快捷键打开更多设置)Introduce Field(Ctrl+Alt+F)把选中的内容设置为当前类的属性
2020-06-11 16:52:39 2577
原创 《重构 改善既有代码的设计》 第2版前三章观后感
重构是什么书中原文解释的很好分为名词,动词两种含义重构(名词):对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。重构(动词):使用一系列重构手法,在不改变软件可观察行为的前提下,调整其结构。重构有什么作用好的方面代码结构优化,降低重复代码,提高代码可读性重构基于测试验证功能准确性的前提下,可以降低bug产生的概率对于复杂和开发周期长的项目,重构可以提高开发效率3.1 基于测试的重构可以快速暴露bug的位置,越快暴露bug越容易解决(毕竟刚
2020-05-15 00:36:39 341
转载 疫情期间数据库压力激增的处理经验---钉钉
挑战:1、 系统所需要的容量是多少,无法预估第一次容量评估,大家给2月3号定了个目标是日常峰值的3倍,随着2月10号开课高峰的到来,又将2月10号的目标调整为10倍,之后又因为2月17号开学季的到来,再次将目标调整为40倍。所以总容量相比日常峰值,翻了40倍!2 、时间紧,扩容需求众多,资源不足疫情流量的猛增,给系统带来的冲击不亚于每年的双11。电商会花半年时间准备双11,但这次留...
2020-04-07 19:23:37 1047
原创 SET NAMES utf8mb4
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2020-04-02 09:34:08 19952
原创 SpringBlade windows环境开发部署
简介上手学习开源项目SrpingBlade,项目地址:https://gitee.com/smallc/SpringBlade到2019 年 12 月 6 日 24 点之前,如果觉得此项目不错.请为SpringBlade投上一票,非常感谢~投票地址:https://www.oschina.net/project/top_cn_2019系统软件环境win10idea 2019.2...
2019-11-20 16:55:35 5586 2
原创 Centos7搭建SpringBlade的前端Saber
简介学习研究springBlade框架中,学习前端Saber的部署.项目地址:https://gitee.com/smallc/Saber开工系统软件环境Centos 7nodejs 12 (20191112官方推荐长期支持稳定版)npm 随nodejs安装,yarn 1.19.1python 3.7 (安装略)安装nodejs和npm访问nodejs官网:https:/...
2019-11-19 14:21:53 1994 2
原创 Kylin2.6.3部署踩坑集锦
软件环境系统centos7hadoop 3.2zookeeper-3.4.14jdk-8u201-linux-x64Hive 3.1.2 (metabase用的mysql)Hbase 2.1.4Kylin 2.3.6(apache-kylin-2.6.3-bin-hadoop3)遇到的各种问题小结原因已解决单独部署好了Hadoop/Zookeeper/Hive/Hbase...
2019-10-12 15:53:37 762
原创 Kylin启动报错hbase-common lib not found
参考链接官方issueskylin hbase-common lib not found问题解决方案修改hbase文件$HBASE_HOME/bin/hbase找到下面这行CLASSPATH=${CLASSPATH}:$JAVA_HOME/lib/tools.jar修改为CLASSPATH=${CLASSPATH}:$JAVA_HOME/lib/tools.jar:/YOU...
2019-09-30 10:11:48 2258
原创 看清OLAP和OLTP
几张图了解简单的OLTP和OLAP定义联机事务处理OLTP(on-line transaction processing):OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。联机分析处理OLAP(On-Line Analytical Processing):OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。...
2019-09-29 15:04:44 265
原创 Centos7安装hive3.1.2遇到报错
Q1hive-site.xml有未识别的字符,需要删除,比如报错xception in thread "main" java.lang.RuntimeException: com.ctc.wstx.exc.WstxParsingException: Illegal character entity: expansion character (code 0x8 at [row,col,syst...
2019-09-26 17:41:52 2937
原创 centos7安装Hive2.3.6(含配置mysql)
软件环境介绍预装好的软件环境centos7hadoop-2.8.5spark-2.4.2zookeeper-3.4.14jdk-8u201-linux-x64mysql 5.7.27mysql安装可以参考:How to Install Latest MySQL 5.7.21 on RHEL/CentOS 7CentOS7 yum方式安装MySQL5.7这帖子Yum Rep...
2019-09-23 17:53:51 5677 1
原创 Hadoop util.NativeCodeLoader: Unable to load native-hadoop library for your platform
参考资料:http://blog.sina.com.cn/s/blog_3d9e90ad0102wqrp.html报错呈现[root@Master sbin]# hadoop checknative19/09/19 15:27:31 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platf...
2019-09-19 15:55:17 591
原创 微服务的好处
微服务有什么好处自治开发团队拥有交付内容所需的整个技术栈的控制权,好处是可以减少与其他团队之间的协调工作,互不影响开发团队可以更专注开发团队可以对自己的业务更了解,专心于自己的业务需求和业务规则,有更多时间和精力完善自己的及时栈伸缩性开发团队可以根据每个服务的性能进行单独的垂直伸缩,而不是整个业务的水平伸缩更容易回滚开发团队可以针对线上出现异常的服务进行单个回滚,不会影响其他线上业...
2019-08-30 16:54:01 211 3
原创 utf8_unicode_ci与utf8_general_ci的区别
这里写自定义目录标题utf8_unicode_ci与utf8_general_ci的区别官方文档说明utf8_unicode_ci与utf8_general_ci的特点生成一个适合你的列表创建一个自定义列表如何创建一个注脚注释也是必不可少的utf8_unicode_ci与utf8_general_ci的区别ci是 case insensitive, 即 “大小写不敏感”,a 和 A 会在字符...
2019-08-20 14:54:02 2596
原创 IDEA中文字体格式
背景:刚刚换了新版的IDEA,然后发现项目中中文巨丑,而且字体大小不一致如下图:原因分析:这两张图就是工具编辑面板的字体设置,只设置了主字体,备用字体没有设置,非常怀疑主字体不支持中文所以想到两种解决方式方式一:设置备用字体,切记一定要选可以支持中文的字体,举个例子“fangsong”,"Microsoft XXX"等等两图中得备用字体都设置成“fangsong”字体格式,然...
2019-08-06 16:00:47 11852 9
原创 Centos安装superset的坑 20190711
官方安装教程https://superset.incubator.apache.org/installation.html遇到的坑Was unable to import superset Error: No module named ‘_sqlite3’执行下图标红语句superset db upgrade报错.解决办法来源:对superset进行初始化遇到Was unabl...
2019-07-11 14:46:39 643 1
原创 超详细Apache NIFI同步Mysql (读取binlog)数据变化到Hbase教程
阅读须知(免责声明)能力有限,NIFI新手入门所写,希望本篇内容错误少一些,避免误导大家的内容存在.本文由互联网知识内容汇总实现的功能,步骤流程有不完善或可优化的地方,欢迎讨论指正.也希望这篇可以抛砖引玉,对于同样NIFI的新手提供一些帮助,少走一些弯路.简介使用Apache NIFI通过读取mysql开启的binlog日志,同步数据库变化到Hbase.参考内容使用NiFi将数据从My...
2019-07-08 16:57:09 11705 10
原创 Hbase与Hadoop的jar包冲突
问题描述Hbase跟Hadoop都安装在了一台服务器里,配置了下/etc/profile中的hadoop变量;启动Hbase报错[root@Master bin]# ./start-hbase.sh SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:/opt/hadoo...
2019-06-10 10:25:32 3748 11
原创 maven使用profile动态配置(IDEA演示)
简介使用Maven的profile来切换不同环境(开发/测试/发布生产)的配置文件原理简介通过把不同环境的配置参数信息,放到不同环境的配置文件里(例如:dev.properties开发环境配置文件).Maven在打包的时候根据选择不同的环境(例如dev:生产环境)调用对应的配置文件(dev.properties)中的属性值,替换其余配置文件里引用的变量.开工配置几个环境打开pom.xm...
2019-05-23 18:35:45 13226 3
原创 Centos7多余1个IP地址
问题描述配置了Centos7的网络配置文件,制定了一个IP:192.168.1.221,但是[root@bogon bin]# ip add1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00...
2019-05-20 16:12:42 1711
原创 zookeeper集群启动状态是standalone
问题部署的zookeeper集群失败,[root@bogon zkdata]# zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /opt/zookeeper-3.4.14/bin/../conf/zoo.cfgMode: standalone问题排查网上有人说删除zookeeper/conf 文件下的...
2019-05-20 11:26:35 17001 4
原创 Centos安装zookeeper
Step1 检查安装环境查看JDK布置服务器JDK环境: 查看 java -version 或者 rpm -qa |grep jdk比如使用 java -version[root@bogon opt]# java -version java version "1.8.0_201"Java(TM) SE Runtime Environment (build 1.8.0_201-b09)...
2019-05-16 17:05:19 663
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人