Java专栏
文章平均质量分 79
记录java相关项目,框架,黑科技等等
善良勤劳勇敢而又聪明的老杨
这个作者很懒,什么都没留下…
展开
-
【Java编程系列】查询打印出项目中mybatis的所有sql语句,全网独一份,亲自实践可用
以上就是本次主题的全部内容啦,希望可以帮助到感兴趣和有需求的同学们。如果有什么大家认为不合理的地方,也欢迎大家在下方留言讨论,我会第一时间回复大家的!!!纯原创文章,禁止转载或盗链,原创不易,请大家多多支持,喜欢就一键三连吧!!原创 2023-10-01 09:00:00 · 4617 阅读 · 4 评论 -
【一天一坑系列】Mysql中INSERT IGNORE INTO插入时去重无效,插入了重复数据
今天刚好有一个需求,需要插入数据时去重。所以第一下就想到了insert ignore into方法,但是使用过程中,发现虽然设置了唯一键,但插入时还是出现了重复插入的情况。具体信息如下,表的约束设置如下:有一个主键,和一个唯一键索引idx_s******,这个唯一索引是一个组合索引,里面由4个字段组成。前面4个字段,就是唯一索引的组合字段,所以正常情况下,插入应该是可以达到去重的效果的。然鹅,测试插入时,重复数据还是出现了。。。瞬间懵逼,开始找原因咯~~~原创 2023-12-06 11:53:40 · 765 阅读 · 0 评论 -
【一天一坑系列】系统接口调用过程中,Hystrix居然“莫名其妙”的熔断降级到了fallback方法,并且无法恢复
近期做了一个功能模块的限流熔断处理,使用的是hystrix来做熔断处理。在需要熔断的接口上,加了注解;在启动类上也加上了注解,如此一来熔断配置就会生效啦。配置信息就是这样啦,主要想其中有一个被调用的接口,,从而进入降级的方法中,导致功能无法正常使用,简直莫名其妙,还刚好在上线发版时出现了,一头雾水~~~,没有办法只好先撤掉Hystrix的熔断配置,恢复功能使用。原创 2024-04-03 11:24:39 · 664 阅读 · 0 评论 -
【Java编程系列】gateway限流实践时发生的问题和解决方案
【Java编程系列】Springcloud-gateway自带限流方案实践篇主要有以下几个问题:返回后显示的情况如下:有一部分情况会出现:Error [java.lang.UnsupportedOperationException]详细信息如下:3、在nacos配置gateway的限流配置不生效问题在nacos的配置中,配置gateway的限流配置,如下:你会发现这样配置是不会生效的~~~,测试时都有点不理解。。。首先,我们分析一下2种情况导致的原因,第一个问题,因为源码的过滤器Reques原创 2023-05-24 09:00:00 · 2199 阅读 · 0 评论 -
【Java编程系列】Springcloud-gateway自带限流方案实践篇
在实践过程中,有2个点需要注意:①第一点,yml中的配置一定要注意缩进格式,以及path路径的配置(我一开始就是路径少写了,导致没生效;缩进不对会导致启动报错)②第二点,redis中的限流存储的key值,只有在请求执行过程中才会查看的到,请求结束后不一会儿,key就会被删除,看不到这个key值啦(刚开始我去查询key值就是在执行结束之后,一直看不到key值效果)原创 2023-05-22 11:24:47 · 1781 阅读 · 1 评论 -
【漏洞修复系列】如何不安装软件或应用,直接查看软件内依赖包的版本信息?记一次漏洞修复实践分享
本次修复漏洞的实践分享,就到这里啦。其实本次,主要是想记录一下如何快速找到安全版本的安装包或依赖包的经验,希望能帮助到遇到类似问题的朋友们~~另外,升级安装包或依赖包,一定要注意版本不同,可能或带来一些差异,或是报错等异常问题,所以,需要非常谨慎。建议在,开发测试环境,实践运行观察稳定之后,再切换到生产环境。避免线上出BUG,那就难搞了额!!!原创 2022-10-24 10:44:41 · 2393 阅读 · 0 评论 -
【Java编程系列】JWT秘钥生成
JWT其全称是JSON Web Token,也是经常作为一种安全的token使用。通俗地说,JWT的本质就是一个字符串,它是将用户信息保存到一个Json字符串中,然后进行编码后得到一个JWT token,并且这个JWT token带有签名信息,接收后可以校验是否被篡改,所以可以用于在各方之间安全地将信息作为Json对象传输。原创 2022-09-29 15:06:37 · 6458 阅读 · 0 评论 -
猿创征文|技术成长之路-【Java编程系列】文件存储实践:Amazon S3实现文件上传下载,总结坑点,积累成长经验
主要记录Amazon s3存储技术的实现api使用,以及解决一些s3上传下载使用过程中遇到的问题原创 2022-09-01 08:30:00 · 6142 阅读 · 9 评论 -
【Java编程系列】Minio实现文件上传下载
最近给一个租户做minio的独立存储部署,使用过程中,有了一点使用心得,做一个记录分享,希望可以帮到有需要的朋友~~~原创 2022-09-26 19:26:38 · 15972 阅读 · 8 评论 -
【Java编程系列】Mybatis的Interceptor注入yml自定义变量,多种实现方式
Mybatis的Interceptor注入yml自定义变量,多种实现方式原创 2022-12-17 11:57:03 · 1617 阅读 · 1 评论 -
【Java编程系列】容易忘记和记混的Cron表达式,一张图就够
热门系列: 程序人生,精彩抢先看 1、前言 最近在写定时任务时,一时记不起了Cron表达式的语法,只能搜索了。今天,自己花时间总结画一个图来说明一下,我觉得图比较方便理解,就此记录一下。2、正文 话不多说,直接上图举几个例子:(1)0 0 2 1 * ? *表示在每月的1日的凌晨2点调整任务(2)0 15 10 ? * MON-FRI 表示周一到周五每天上午10:15执行作业(3)0 15 10 ? 6L 2002-2...原创 2022-02-07 10:26:35 · 311 阅读 · 0 评论 -
【全栈编程系列】SpringBoot整合Shiro(含KickoutSessionControlFilter并发在线人数控制以及不生效问题、配置启动异常No SecurityManager...)
热门系列: 程序人生,精彩抢先看 目录1、前言2、正文2.1 环境介绍2.2 shiro配置2.3 shiro并发在线人数控制KickoutSessionControlFilter2.3.1 自定义shiro的KickoutSessionControlFilter请求时报错异常2.3.2KickoutSessionControlFilter并发在线人数控制失效3、总结1、前言 好久没整活儿了。最近在整合shiro的时候,出现了诸多问题。还...原创 2021-09-01 11:47:42 · 1871 阅读 · 0 评论 -
【Java编程系列】Java8使用List的Stream收集转换成Set,数据却丢失了,你知道为啥吗?
热门系列: 程序人生,精彩抢先看 1、前言 前段时间,做业务时。一个列表数据,为了达到去重的效果。然后直接顺手,就用了List的stream流收集器,直接转成Set了。结果上线之后,出现了数据“莫名奇妙的”缺失情况。。。 于是开始了日志查看情况,最终将问题定位在了类似如下这段代码处:List<Object> list = new ArrayList<>();Set<Object> set = list.stream...原创 2021-08-09 11:25:38 · 4417 阅读 · 0 评论 -
【Java编程系列】解决Java类或对象属性首字母大写无法获取值问题
1、前言 前段时间,对接一分API接口时。该API定义的入参出参的属性,都是大写字母开头的。而这与Java的一些命名规则是相反的。 但SpringBoot中,如果这么定义,那么是会在取不到值的!例如定义一个Name的数据,即使设置了set与get方法,也会获取不到这个属性的值!2、解决方式加上以下注解即可:@JsonProperty原创 2021-07-19 15:19:52 · 6766 阅读 · 0 评论 -
【Java编程系列】存储对象的Map集合转成Json,再从Json转换回原Map集合!哎哟,不错哦
1、前言 做开发的同学,一般肯定有遇到过需要将数据库中一堆常用且不常变动的数据,作为缓存cun2、正文原创 2021-06-15 09:34:10 · 1409 阅读 · 14 评论 -
【一天一坑系列】Mysql数据库表莫名其妙插入了重复数据,如何一招妙手回春
1、前言又是忙碌开发的一天。然鹅,群里老板突然发飙:为什么线上数据出现了重复数据????十万火急,快点处理!!!(这种紧迫感,做过开发的都懂 π__π !)还能咋办?连接服务器,开整吧~~~~~~~~~~~~~~~2、解决过程2.1 查看问题先根据重复数据订单,查下数据库,看看数据情况:通过数据表可以看到,同一订单号1961,确实在同一时间创建了两条同样的数据。。炸裂!!2.2 分析问题通过数据可以知道,插入数据的时候,数据相同,时间点完全一致,那么肯定是同一操作,出原创 2021-05-28 09:46:35 · 5469 阅读 · 11 评论 -
【Java虚拟机JVM系列】JVM总结篇
热门系列: 程序人生,精彩抢先看 1、前言前段时间,金三银四,应聘旺季。大学的学弟们找到我,说面试经常有被问到Java中的JVM相关的问题。但因为自己基础差,也不够了解相关的知识。希望能给出一些建议!于是,我就发给了他们一些我之前总结的JVM相关的博文。之前都只是利用零散时间,自我记录,也没有好好整理。今天,也是趁着忙里偷闲,整理了这篇博客,希望能帮助到更多的朋友们~2、JVM干货记录以下是我之前整理记录的JVM系列相关文章,也是写的比较详细。可以点击直达: 【Java虚..原创 2021-06-07 09:47:59 · 2020 阅读 · 19 评论 -
【Java 8系列】全网最通俗易懂的Java8版本新特性知识汇总,看完不懂你捶我
精心实践总结的Java8主流内容大全原创 2021-05-19 09:28:02 · 5680 阅读 · 39 评论 -
【一天一坑系列】SpringCloud微服务项目本地可以正常启动,但在Flink中却无法启动,莫名其妙????
热门系列: 程序人生,精彩抢先看 1.前言今天启动测试环境的一个实时计算服务。。该服务是使用Flink结合启动的。但是,偏偏出现了如题的问题!于是开始查看flink打印日志。爆出了如下错误:org.apache.flink.runtime.JobException: Recovery is suppressed by NoRestartBackoffTimeStrategy at org.apache.flink.runtime.executiongraph.failover...原创 2021-05-06 09:09:11 · 896 阅读 · 2 评论 -
【Java 8系列】收集器Collector与工具类Collectors
热门系列: 【Java 8系列】Java日期时间的新主宰者:LocalDate、LocalTime、LocalDateTime、ZonedDateTime 【Java 8系列】Stream详解,看这一篇就够啦 【Java 8系列】Lambda 表达式,一看就废 【Java 8系列】Java开发者的判空利器 -- Optional 程序人生,精彩抢先看 1.前言好久没有输出啦。今天接着前面说到的Java8系列,聊一聊最后的收集器:Collecto..原创 2021-04-01 12:01:40 · 4691 阅读 · 0 评论 -
【一天一坑系列】无法访问Controller:SpringBoot项目启动后,请求无法进入控制器Controller中(可以进入服务,但是无法访问控制器)
热门系列: 程序人生,精彩抢先看 1.前言最近任务紧,需求“享之不尽”。。开发联调之时,却出现了如题的一个Question。正是忙的时候,却出现这种幺蛾子,WTF。。还是那句话,抱怨是没有卵用的。。抓紧解决问题咯。。。。2.正文2.1 问题分析首先,同样的代码。开发环境会出现这种问题,测试环境不会!!!这里有猫腻、、、、 其次,项目服务启动后,接口是可以访问到该服务的。只是进入不到相应的控制器、、、 最后,接口访问的路径,有对比过,不存在路径问题、、、2.2 解决问题..原创 2021-03-12 11:55:10 · 3035 阅读 · 0 评论 -
【一天一坑系列】手动提交事务,开启后未关闭导致的bug!啊,多么痛的领悟...MySQLTransactionRollbackException: Lock wait timeout exceeded
热门系列: 程序人生,精彩抢先看 1、前言前几天,春节过完开工第一天,结果运营就反应生产环境有BUG了。真是“开门红”啊~~~先和运营了解到线上的问题症状,然后就连接生产服务器,开始逐步排查了!2、正文2.1 生产环境的问题症状症状一:查询列表的数据,有的数据会时有时无!(如ABCD四条数据,刷新页面,B数据时而出现,时而没有)症状二:新建订单,创建成功后,数据并没有入库前面两点是通过web端页面操作,所反映出来的异常情况!后续我们通过查看日志,还发现了另外两种日志..原创 2021-02-23 16:57:55 · 2481 阅读 · 0 评论 -
【Java 8系列】Java日期时间的新主宰者:LocalDate、LocalTime、LocalDateTime、ZonedDateTime
热门系列: 【Java 8系列】Stream详解,看这一篇就够啦 【Java 8系列】Lambda 表达式,一看就废 【Java 8系列】Java开发者的判空利器 -- Optional 程序人生,精彩抢先看 1、前言本系列一直在分享Java8的新增特性与API,今天和大家一起扒一扒Java的新时间类库:java.time;之前我在往期博文:【Java编程系列】Java判断世界各时区的夏令时、冬令时中就有提到过,为什么现在不适用Date时间类,而改...原创 2020-12-29 18:12:50 · 4017 阅读 · 0 评论 -
【Java 8系列】Stream详解,看这一篇就够啦
热门系列: 【Java 8系列】Java开发者的判空利器 -- Optional 【Java 8系列】Lambda 表达式,一看就废 程序人生,精彩抢先看 1.前言2.正文3.总结...原创 2020-12-23 18:37:47 · 56601 阅读 · 34 评论 -
【Java 8系列】Lambda 表达式,一看就废
热门系列: 【Java编程系列】二进制如何表示小数?0.3+0.6为什么不等于0.9?纳尼!!! 【Java 8系列】Java开发者的判空利器 -- Optional 程序人生,精彩抢先看 目录1.前言1.1 为什么 Java 需要 Lambda 表达式?2.正文2.1Lambda的编写方式2.2Lambda 表达式的结构2.3函数式接口2.4方法引用3.总结1.前言Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的...原创 2020-12-10 16:03:48 · 3986 阅读 · 4 评论 -
【Java 8系列】Java开发者的判空利器 -- Optional
最近,我会不定期,持续输出Java 8新特性且常用的一些技术点,例如Optional、Lambda表达式和函数式接口、Stream、日期时间API、重复注释、类型推断、注解的扩展等等,与大家一起分享并记录!感兴趣,可以插个眼~~~!原创 2020-12-07 16:50:42 · 4764 阅读 · 4 评论 -
【Java编程系列】Java判断世界各时区的夏令时、冬令时
热门系列: 【Java编程系列】java用POI、Itext生成并下载PPT、PDF文件 【Java编程系列】二进制如何表示小数?0.3+0.6为什么不等于0.9?纳尼!!! 程序人生,精彩抢先看 目录1.前言2.正文 2.1 设置时区 2.2 判断夏令时、冬令时3.结尾1.前言前段时间在做一个需求的时候,其中有一个环节是需要判断当前时段,是否属于夏令时或是冬令时!对于做过国际业务或是外贸业务的童靴,应该都可能有接触到这一块。在我...原创 2020-11-30 16:23:00 · 4073 阅读 · 0 评论 -
【Java编程系列】java用POI、Itext生成并下载PPT、PDF文件
热门系列: 【Java编程系列】WebService的使用 【Java编程系列】在Spring MVC中使用工具类调用Service层时,Service类为null如何解决 【Java编程系列】Spring中使用代码实现动态切换主从库(多数据源) 【Java编程系列】log4j配置日志按级别分别生成日志文件 【Java编程系列】使用Java进行串口SerialPort通讯 【Java编程系列】comet4j服务器推送实现 【Java编程系列】原创 2020-11-06 17:00:48 · 2576 阅读 · 4 评论 -
【一天一坑系列】Springcloud服务接口请求超时
1.问题 今天查找线上生产数据问题,发现偶现后端请求服务超时问题,该信息由网关返回。拉取接口后,通过postman调用接口,高频率点击,十几二十次,则会出现一次后端服务超时问题。后查看日志,返现错误日志一直显示如下错误:然后就以为是参数丢失问题。开始排查,从网关,到生产服务器,都没找到可疑点!2.解决后来考虑可能是网关或nginx路由时请求限流导致。于是将接口域名换成服务...原创 2019-12-26 16:34:10 · 14719 阅读 · 0 评论 -
【Java多线程系列】经典面试题:使用多线程,循环10次并按顺序打印出ABC
目录1.前言问题点分析:2.上才艺2.1 方式一:使用AtomicInteger2.2 方式二:使用线程池newSingleThreadExecutor2.3 方式三:使用join2.4 方式四:使用CyclicBarrier3.总结1.前言前段时间,有个同事朋友出去面试,遇到一个有意思的面试题,内容如下:现有3个线程(命名为T1,T2,T3,后续内容以此描述进行),线程1能打印输出字母A;线程2能打印输出字母B;线程1能打印输出字母C;要求,循环10次,使原创 2020-10-24 08:51:47 · 2578 阅读 · 2 评论 -
【SpringCloud微服务系列】Hystrix熔断器底层原理,一看就废
SpringCloud系列:往期回顾:SpringCloud组件原理:Eureka,Feign,Ribbon,Hystrix,Zuul1.序言本篇主要算是复习及分享,聊一聊Hystrix底层流程。个人觉得文字描述其实是比较繁琐和乏味的,而且整体结构上也不易于理解。所以我觉得使用图来说明,既清晰,又好理解。话不多讲,直接上图。以为为我个人亲手绘制的流程图(如需借用,请标明出处,谢谢)2.Hystrix流程图如有不对或是瑕疵的地方,请各位大佬不吝赐教,谢谢!感觉本文对..原创 2020-09-28 11:37:29 · 901 阅读 · 0 评论 -
【Java编程系列】二进制如何表示小数?0.3+0.6为什么不等于0.9?纳尼!!!
1.序言如题所述,小数用二进制的方式怎么表示呢?小数相加为什么会出现精度丢失呢,在哪里丢失的呢?如果做支付类,金融类业务和money打交道的开发,你会关注这些细节点吗?2.正题2.1 小数的二进制表示方式小数的整数部分,按正常的二进制转换即可。小数部分,则需要按如下规则进行转换:将该小数单独乘以2,取出整数部分作为二进制表示的第1位;然后再将小数部分乘以2,将得到的整数部分作为二进制表示的第2位;以此类推,直到小数部分为0为止!举个特殊的例子,比如 0.6 的二进制表示.原创 2020-08-27 14:43:11 · 2452 阅读 · 0 评论 -
【Java基础巩固系列】Java双亲委派机制理解
1.类加载过程2.JVM中的类加载器①、启动类加载器(Bootstrap ClassLoader) 负责将存放在<JAVA_HOME>/lib目录中的,或者被-Xbootclasspath参数所指定的路径中的,并且是虚拟机按照文件名识别的(仅按照文件名识别,如rt.jar,名字不符合的类库即使放在lib目录中也不会被加载)类库加载到虚拟机内存中。 启动类加载器无法被Java程序直接引用。 JDK 中的源码类大都是由启动类加载器加载,比如前面说的 java.lang...原创 2020-06-01 17:54:30 · 654 阅读 · 0 评论 -
【Java虚拟机JVM系列】为什么新生代的内存占比分为8:1:1
1.引言看到这个问题,很多同学可能会有点懵B。觉得是虚拟机自己就是这么分配的,那有那么多的为什么?????但当你面试的时候,被面试官这么问到时,难道你也如此答复别人吗?如果是的,兄嘚。你可能就得被扣分了!2.原理GC是统计学测算出当内存使用超过98%以上时,内存就应该被minor gc时回收一次。但是实际应用中,我们不能较真的只给 他们留下2%,换句话说当内存使用达到98%时才GC 就有点晚了,应该是多一些预留10%内存空间,这预留下来的空间我们称为S区(有两个s区s1 和s0...原创 2020-05-18 20:30:11 · 4402 阅读 · 8 评论 -
【Java编程系列】Java与Mysql数据类型对应表
类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) 描述 VARCHAR L+N VARCHAR java.lang.String 12 CHAR N CHAR java.lang.String 1 BLOB L+N BLOB java.lang.byte[] ...原创 2020-05-18 19:38:02 · 653 阅读 · 0 评论 -
【Java虚拟机JVM系列】GC配置及详解,持续输出中,不容错过
1.GC参数配置1.1堆空间参数-Xms:初始堆大小 默认物理内存的1/64(小于1GB)空余堆大小小于40%时,JVM就会增大堆直到-Xmx的最大限制-Xmx:最大堆大小 默认物理内存的1/4(小于1GB)空余堆大小大于70%时,JVM就会减少堆直到-Xms的最小限制-Xmn:指定新生代的大小(Eden + Survior from + Survior to)的大小,增大新生代的大小,老年代的大小将被减小,sun 官方推荐 新生代的大小:堆 = 3 : 8-XX:NewSize=512k:设原创 2020-10-24 08:53:35 · 1602 阅读 · 0 评论 -
【Spring框架系列】Spring循环依赖问题如何解决?Caused by: org.springframework.beans.factory.BeanCurrentlyInCreationExc
目录1.序言2.什么是循环依赖?3.如何解决循环依赖?4.解决循环依赖的方式的底层原理是什么?1.序言针对本篇博文的主题,咱们先来个无情拷问三连!!!什么是循环依赖?怎么解决循环依赖?解决方式的原理是什么?一波三连,脑瓜子嗡嗡的吧。。。。。莫方,既来之,则安之。接着往下看!2.什么是循环依赖?上一段最直观的代码吧!!!看不懂的人,出门靠墙站10分钟再回来看!!public class A { public A() {new B();}}.原创 2020-10-24 08:54:42 · 6209 阅读 · 6 评论 -
【Java面试系列】Linux面试题
目录1.Linux 面试题2.Linux 面试题答案解析1、绝对路径用什么符号表示?当前目录、上层目录用什么表示?主目录用什么表示? 切换目录用什么命令?2、怎么查看当前进程?怎么执行退出?怎么查看当前路径?3、怎么清屏?怎么退出当前命令?怎么执行睡眠?怎么查看当前用户 id?查看指定帮助用什么命令?4、Ls 命令执行什么功能? 可以带哪些参数,有什么区别?5、建立软链...原创 2020-05-01 10:03:52 · 16831 阅读 · 0 评论 -
【Java面试系列】ElasticSearch面试题
目录1.Elasticsearch 面试题2.Elasticsearch 面试题解析1、elasticsearch 了解多少,说说你们公司 es 的集群架构,索引数据大小,分片有多少,以及一些调优手段 。1.1、设计阶段调优1.2、写入调优1.3、查询调优1.4、其他调优2、elasticsearch 的倒排索引是什么3、elasticsearch 索引数据多了...原创 2020-05-01 10:05:03 · 19548 阅读 · 1 评论 -
【Java面试系列】Dubbo面试题
目录1.Dubbo 面试题2.Dubbo 面试题答案解析1、为什么要用 Dubbo?2、Dubbo 的整体架构设计有哪些分层?3、默认使用的是什么通信框架,还有别的选择吗?4、服务调用是阻塞的吗?5、一般使用什么注册中心?还有别的选择吗?6、默认使用什么序列化框架,你知道的还有哪些?7、服务提供者能实现失效踢出是什么原理?8、服务上线怎么不影响旧版本?9...原创 2020-05-01 11:14:10 · 14671 阅读 · 0 评论