自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (4)
  • 收藏
  • 关注

原创 如何全面升级spring-boot-2.x及Spring-security-oauth2

解决CVE-2022-22978和CVE-2022-22965漏洞,全面升级spring-boot-2.x及Spring-security-oauth2

2022-06-17 18:37:00 2393

原创 如何在不激活电脑的情况验机

买到一台新的电脑,想验机,但是售后明确告知,激活后不能7天无理由退货。这里有一个常识,新买的电脑首次进去都会开始一段引导,这其中就是让你联网,只要你联网,电脑就会自动激活。这下好了,你在不知不觉中失去了7天无理由退货的权力。(是不是满满的套路?)小编告诉你,怎么在不联网的情况下,验证机器的配置。

2022-05-10 17:53:55 19322

原创 如何将Log4j彻底切换成logback

如何将Log4j彻底切换成logback?之前有篇文章《彻底搞明白为什么日志框架依赖冲突了》介绍了同一项目中因为依赖了多个日志实现而导致的异常。log4j和logback都是日志实现,通常情况下,我们项目中都不会直接使用实现类,而是使用slf4j、jcl、log4j-api等日志facade。这样最大的好处就是,项目不会和某一日志框架绑定。本篇将介绍如果把项目的日志框架切换成logback,切成其它的实现同理实现即可。1、排除项目中所有的log4j、log4j-core相关的依赖。这里推荐idea插

2021-12-29 15:10:24 3478

原创 探究flink-stream如何增量的读取iceberg table

从iceberg的官方文档上可以看到如下介绍:实例程序中设置了startSnapshotId,介绍说可以从指定的快照版本号开始读取增量的数据。那么笔者的问题来了:flink-stream如何增量的读取iceberg table?flink本身肯定没有增量读取iceberg的能力,这是提供框架层的方法,在源码iceberg/flink/src/main/java/org/apache/iceberg/flink/source/中找到了StreamingReaderOperator.java类,继承了f

2021-11-11 17:10:05 3570 1

原创 SpringBoot工程假死,如何揪出幕后真凶的?

SpringBoot工程假死,如何揪出幕后真凶的?工作中经常会遇到程序不响应,但是进程依然存活的现象。原因有很多,比如内存、CPU占满了(500,连接超时)磁盘满了(500,连接超时)今天笔者遇到的不是前两种,原因也很稀奇,tomcat线程池耗尽了,导致500连接超时。我们是一个spring boot工程,对外提供rest接口服务,但是隔三差五的就会出现500连接超时的现象。排除了内存、CPU、磁盘占满的case后,有个同事无意中发现这台机器出现了大量的网络连接CLOSE_WAIT。查询资料

2021-04-09 11:51:37 4973

原创 关于Nexus你需要掌握的知识点

前言Jar包管理绕不开Maven, Maven的使用必定设计私服Nexus,那么Maven私服是什么,为什么我们开发Spring boot项目需要它?怎么来搭建自己的私服呢?笔者从一个实际工作遇到的问题着手,与大家分享我了解的Nexus私服小知识。问题描述一个沉寂了4个月CICD流水线走到Maven编译的时候,突然报错了:[ERROR] [ERROR] Some problems were encountered while processing the POMs:[FATAL] Non-reso

2020-12-07 14:50:03 857

原创 KafkaProducer调用send之后发生了啥

在使用producer.send(record)这种最简单的方式发送消息时一直没有在topic中读取到这条消息。所以我就开始按照往常一样开始debug,看执行到哪里有问题,但是神奇的是在debug的时候消息发出去了。我诧异为什么run 和debug的结果会不一样,就这个问题看了一下网上普遍说的都是这两种模式的运行结果是一样的,不可能不一样。这时我就有了一个疑问:run和debug在执行中的原理到底是什么?为什么会导致我的程序两次运行结果不一样。在思考这个问题的同时,结合我的代码,我觉得问题就应该是

2020-11-19 11:40:36 2493 2

原创 如何制作一个Fat Jar

笔者日常开发中遇到一个场景,需要将项目依赖的jar打包成一个jar包。下一篇文章我会告诉大家fat jar使用场景。主要有两种方案:借助强大的assembly工具无需任何配置文件,直接修改pom.xml如下:<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId>

2020-11-19 11:38:48 443

原创 Java开发环境的搭建

JDK环境变量 JAVA_HOME=E:\Java\jdk1.7.0 CLASSPATH= .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar Path=%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 进入CMD测试一下:java -versionMaven环境变量 MAVEN_HOME=D:\Ja...

2020-10-23 11:40:57 152

原创 别被NoSuchMethodError骗了

别被NoSuchMethodError骗了NoSuchMethodError不一定方法真的不存在两个Jar包含相同的类怎么办?Jar在classpath中的顺序真的很重要吗?Linux和window环境是怎么排序jar的?结论小编工作中尝尝被NoSuchxxx这类报错拦住,这里面最常见的莫过于NoSuchMethodError。程序所说的“No such meth”真的就是在类里面没有这个方法吗?不,100%的情况是jar包冲突了。程序只是告诉你它在当前这个jar包的类A中没有找到需要的方法,如果真的没有

2020-08-03 18:32:44 665

原创 彻底搞明白为什么日志框架依赖冲突了

项目启动报错如下:Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.qdc is restartingJava HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=1024M; support was removed in 8.0SLF4J: Cl

2020-06-02 10:08:56 1485

原创 一次排查@CacheEvict注解失效的经历

笔者简单看了一下《Spring实战》中的demo,然后就应用到业务代码中了,本以为如此简单的事情,竟然在代码提交后的1个周,被同事发现。selectByTaskId()方法查出来的数据总是过时的。代码如下:@Cacheable("taskParamsCache")List<TaskParams> selectByTaskId(Long taskId);// ...// ...@CacheEvict("taskParamsCache")int deleteByTaskId(Long

2020-05-15 11:56:26 2949

原创 Java Web项目内存溢出问题排查

线上的一个spring boot项目每两个周会出现系统卡死,不能正常提供api服务,重启后恢复。经过查看日志发现大量的“java.lang.OutOfMemoryError: GC overhead limit exceeded”日志。这个异常的官方解释:Exception in thread thread_name: java.lang.OutOfMemoryError: GC Overhead limit exceededCause: The detail message “GC overhead

2020-05-08 18:32:07 1309

原创 系统升级之Mysql数据垮库迁移

场景系统升级时,需要将1.0的mysql数据迁移2.0,但是相关的表结构可能发生了改变,如果不使用程序,使用sql + mysql工具实现数据的迁移。导出数据使用mysqldump命令,将数据导出到文件:mysqldump -u test-p -h localhost -P 3306 --complete-insert --extended-insert=FALSE --set-gti...

2020-03-10 12:46:10 290

原创 IDEA搭建Flutter开发环境,独立安装Android SDK

显示Android license status unknown安装Android SDK Command-line Tools安装Android SDK Command-line Tools后目录找不到sdkmanager建软连接问题解决

2020-03-06 12:36:02 6545

原创 一次装系统惨痛的翻车经历

邻居家的电脑win10系统,在帮忙清理垃圾的过程中发现显卡驱动不是最新的,导致分辨率偏小的问题。笔者的强迫症就烦犯了,主动申请为其更新驱动。安装驱动翻车驱动更新这种活儿轻车熟路,先试用360驱动大师检测显卡驱动,发现没有可更新的资源,难不住笔者,下载驱动精灵检测,欧了!显示有可更新的显卡驱动,激动点了安装,却没想到由此埋下了坑。这个驱动不知道什么路数,更新重启之后电脑直接花屏了,完全不能正...

2020-03-06 00:24:01 521

原创 更新win10显卡驱动翻车痛苦经历

邻居家的电脑win10系统,在帮忙清理垃圾的过程中发现显卡驱动不是最新的,导致分辨率偏小的问题。笔者的强迫症就烦犯了,主动申请为其更新驱动。安装驱动翻车 驱动更新这种活儿轻车熟路,先试用360驱动大师检测显卡驱动,发现没有可更新的资源,难不住笔者,下载驱动精灵检测,欧了!显示有可更新的显卡驱动,激动点了安装,却没想到由此埋下了坑。 这个驱动不知道什么路数,更新重启之后电脑直接花屏...

2020-02-08 09:34:37 1470 1

原创 记一次使用hive-jdbc+tomcat-jdbc连接(Connection)中断的处理过程

现象描述Hive环境一个数据库,拥有表8000+,业务代码需要挨个desc {tableName}来获取表信息。当程序运行到4000+左右,开始出现获取信息失败。查找原因通过查看日志发现是连接已断开,具体如下:【INFO】org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cau...

2019-12-24 16:44:54 3339

原创 Mac搭建python开发环境

笔者是Java开发,但是经常需要写一些小工具,即写即用,如果用Java相对麻烦,起码需要如下步骤:下载jar编写代码打包上传运行MainPython作为脚本语言,直接可以在linux上运行,这一点使得在工具这个小场景下特别适用,因为它只需要两步:编写代码运行之前笔者有介绍怎么在window上搭建Python的开发环境,需要的伙伴请移步。安装pythonbrew install pyth...

2019-11-19 17:32:53 637

原创 如何使用gitlab自带的CICD

上次分享了gitlab+jenkins实现CICD,前提我们需要安装一个jenkins。其实高版本的gitlab已经具备CICD功能,笔者使用的版本是:GitLab 社区版 11.4.10安装RunnersSettings > CI/CD > Runners根据提示点击Install Gitlab Runner下面根据你的系统选择相应的安装包,笔者以linux为例:这里...

2019-10-21 19:09:48 1595

原创 Mac安装Consolas字体最简单的方法

如果你的Mac安装了Microsoft Office1.在终端中进入 Word 字体文件夹cd /Applications/Microsoft Word.app/Contents/Resources/Fonts2.打开字体文件进行安装即可open Consola*.ttf3.以Consola开头的字体可能不止Consolas一个,如果弹出下面的对话框,选择Consola,继续下一步就...

2019-09-19 19:12:45 8235 3

原创 Gitlab+Jenkins实现CICD

手工打包上传,解压启动的过程速度慢,过于繁琐,借助于Jenkins,可以实现自动编译打包部署。安装Jenkins直接从官网https://jenkins.io/zh/download/下载最新的war包,然后解压到某个固定目录,使用java -jar jenkins.war启动即可,默认它会将war包解压到~/.jenkins目录下,并生成一些目录及配置文件。或:后台启动nohup ja...

2019-09-04 13:15:16 1895

原创 纯Spring方式使用spring-data-neo4j

笔者以spring-data-neo4j-5.0.5为例,侧重使用纯spring的方式使用neo4j实现图库的增删改查。spring-boot的方式网上资料很多,不是笔者今天的关注点,因为大部分工作spring-boot都做好了,开发者要做的很少。这里简单使用一个domain,和一个repository模拟一个节点插入的场景。节点定义AssetNodeNeo.java@NodeEnt...

2019-08-28 15:35:48 1043

原创 后端也可以亲自使用IDEA调试angular代码

有时间为了一个问题,需要来来回回跟前端同事联合调试了好多次,既浪费时间,又耽误了前端的进度,OK,为了节省大家的时间,我们自己开动吧!安装nodejs官网(https://nodejs.org/zh-cn/)下载安装包,安装完成后,配置环境变量:path=D:\Program Files\nodejs\在CMD测试安装是否完成:npm r-version6.5.0-next.0下...

2019-08-26 15:58:31 4040

原创 使用Ant编译SpringFramework-1.0

下载SpringFramework源码SpringFramework-3.x以前的版本都在托管在sourceforge.net网站,3.x以后才开源在Github,而笔者想要SpringFramework-1.0,所以先去sourceforge.net网站(https://sourceforge.net/projects/springframework/files/springframework...

2019-08-23 16:05:25 404

原创 如何同步fork的工程的代码

我们经常fork一个github上的工程,但一段时间以后发现和原工程代码不一致了,如何保持代码和fork的工程代码一致呢?创建一个远程分支upstream,关联fork的工程$ git remote -v> origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)> origin https://gi...

2019-06-06 10:21:20 637

原创 Windos使用gradle开发idea插件

使用gradle开发idea插件安装gradle新建Plugin工程创建弹窗运行调试HelloWorld参考安装gradle进入gradle官网下载zip安装包,解压到指定目录,然后设置环境变量GRADLE_HOME=D:\gradle-5.4.1path=%GRADLE_HOME%\bin在命令行中检验设置gradle -version新建Plugin工程以Intelli...

2019-05-11 15:28:53 1822

原创 使用Maven Archetype自定义工程模板

生成模板选择一个maven项目作为模板,进入项目根目录执行:mvn archetype:create-from-project,target/generated-sources/archetype就是我们要的项目了项目中有些地方需要自己手工替换成变量,工具并没有那么智能。1)不用抽取变量的地方被写成了变量import ${package}.dao.po.User; // 这里的c...

2019-03-29 17:13:18 1360

原创 Jmeter压力测试Java API

平时我们会使用Jmeter测试我们的http接口,但如果使用它测试一个Java API呢?比如工具类。相比http接口,会稍微复杂些,需要我们写一个测试程序,具体如下:实现Jmeter的Java Request接口在Jmeter安装目录下面,我们能找到需要的jar,添加到工程的classpath下面:Jmeter_home/lib/ext目录下,如果Jmeter已经启动了,这里要重启一...

2019-03-27 20:12:09 955

原创 Spring-Boot基于配置按条件装载Bean

背景同一个接口有多种实现,项目启动时按某种规则来选择性的启用其中一种实现,再具体一点,比如Controller初始化的时候,根据配置文件的指定的实现类前缀,来记载具体Service,不同Service使用不同的Dao和数据库。看到这里,我们会想到使用SPI机制,或Spring按条件加载Bean机制来实现,下面主要讨论后者。定义接口定义2个Service层接口:OrderService、O...

2019-01-04 20:23:12 4360

原创 前后端分离之Spring-Boot实现CORS跨域访问

关于CORS跨域访问的解释,请参考下面的博客:http://www.ruanyifeng.com/blog/2016/04/cors.html缩简称一张图如下:实现跨域共需要四步:第一步基本不用做什么,浏览器都实现了跨域访问自动在Request Headers添加跨域的信息:Origin: http://localhost:8089Access-Control-Request-He...

2018-12-04 18:05:31 968

原创 Java 8基于Function和自定义接口使用Lamda表达式对比

很多时候我们需要写重复性的代码来实现等效的功能,比如使用原生JDBC实现增删改查都需要创建连接、获取session、捕获异常、关闭连接等,幸好Mybatis、SpringTemplete等框架把我们解放了。但业务代码难免会遇到类似场景,每次copy几行代码来做一些相同的事情。今天笔者遇到的问题就是Dao层批量查询时,总需要我手工去分批,然后再查库,如下:public List&amp;amp;lt;R&amp;amp;gt;...

2018-11-28 14:17:41 662

原创 用Python写一个微信防撤回神器

手写辛苦,希望给赞#!/usr/local/bin/python3# coding=utf-8import osimport reimport timeimport _threadimport itchatfrom itchat.content import *# 可以撤回的消息格式:文本、语音、视频、图片、位置、名片、分享、附件# 存储收到的消息# 格式:{msg_id...

2018-11-28 13:46:52 1737

原创 最简单的基于Maven实现Sring Boot多环境配置和切换

最简单的基于Maven实现Sring Boot多环境配置和切换在做Spring boot工程时,我们希望将那些需要区分环境的配置项挑出来,当idea中勾选了Profiles时,可以动态切换配置项。有两个实现方案:方案一听说Spring boot天生支持多环境的配置,具体配置方式如下:分别创建开发、测试、线上环境的配置文件,文件名需要满足application-{profile}.pr...

2018-11-13 18:43:51 498

转载 Spring Boot事物Transactional不起作用排除

(本文出自oschina博主文章:https://my.oschina.net/happyBKs/blog/1624482)spring对事务的管理,之前的博客文章中也介绍过,不再详细累述。本文想说的是,当@Transactional不起作用如何排查问题。可以按照以下几个步骤逐一确认:首先要看数据库本身对应的库、表所设置的引擎是什么。MyIsam不支持事务,如果需要,则必须改为In...

2018-11-13 18:20:48 3032 2

原创 Nginx搭建映射Linux机器日志

ELK是解决线上机器日志查看的一种比较好的选择,如果公司目前没有这套环境,想看线上日志怎么办?不妨试试利用Nginx映射线上日志目录到某一个端口,供无权限的人查看日志。安装Nginxnginx本身的安装比较简单,这里还可能涉及依赖包的安装,比如pcre、zlib等,不一一介绍。downloadhttp://nginx.org/en/download.htmlinstal...

2018-11-02 14:41:47 468

原创 如何使用Dubbo开发REST接口

Dubbo 2.6.0支持开发Rest接口,下面是一个demo,仅供参考。

2018-01-26 16:41:46 8620 2

原创 利用Python写一个Mysql数据库积压监控

如何使用Python写一个数据积压监控?

2017-08-23 15:38:22 2039

原创 Windows上搭建Python开发环境

1. 安装Python下载:https://www.python.org/downloads/安装完成后,配置环境变量:在cmd中测试是否安装成功:2. 安装IDE-PyCharm下载:https://www.jetbrains.com/pycharm/推荐使用PyCharm,界面风格、快捷键和Idea相同,习惯了使用Idea的人更容易上手。...

2017-08-23 12:31:21 510

原创 Eclipse最简单添加maven依赖的方式

使用Eclipse搜索maven依赖,添加依赖就是这么简单!

2017-04-01 12:10:50 6647 1

人大进仓数据库使用指南pdf中文版

人大进仓数据库使用指南,内容最全。 目录如下: 1.KingbaseES系统安装 2.Kingbase快速入门 3.Kingbase系统管理 4.Kingbase高级管理(含系统表说明) 5.Kingbase安全管理 6.Kingbase Sql参考 7.Kingbase开发指南

2019-11-21

人大进仓数据库kingbase-jdbc驱动jar包

国产金仓数据库(Kingbase)的jdbc驱动jar包,经过线上项目检验过的。Maven信息如下,用户可以上传到私服: com.kingbase kingbase-jdbc4 7.1.2

2019-11-21

中科院ICTCLAS_Java_windows(64位)

ICTCLAS即汉语词法分析系统,能够将一句汉语分成单词,并且标注类别。

2014-03-29

SimpleDES的java实现(有界面)

这是一个用java实现的simple-des加密算法,并有图形界面。这是一个eclipse工程包

2013-12-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除