- 博客(11)
- 资源 (203)
- 收藏
- 关注
转载 java 根据接口获取所有的实现类
java 反射中没有直接提供给我们方法来根据接口获取所有实现的类,所以要自己去写,网上资料也很多,根据通过ClassLoader获取当前工作目录,对目录下的文件进行遍历扫描。大致思路:1) 获取当前线程的ClassLoader2) 通过ClassLoader获取当前工作目录,对目录下的文件进行遍历扫描。3) 过滤出以.class为后缀的类文件,并加载类到list中4) 对list中所有类进行校验,判断是否为指定接口的实现类,并排除自身。5) 返回所有符合条件的类。这个思路是对的,
2021-01-28 22:23:08 6194
转载 pring 增强之后无法获取自定义注解属性及解决方案
场景为了便于后期代码拓展,在代码中定义了一些注解,统一处理逻辑。后来有开发同事反应,使用了一下@Transactional注解之后,注解直接无效了。还有这种怪事?注解定义为了演示整个过程,我们从最简单的简化版本开始。注解定义@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)public @interface Route { String value() default "";}定义..
2021-01-28 22:20:02 401
转载 Springboot+proguard+maven 混淆代码
最近在弄项目混淆的,proguard是最为广为使用的工具之一,可是用他的客户端来混淆springboot项目的时候最后总得不到可执行的jar。后来发现了proguard-maven-plugin这个插件,所有proguard的指令都可以在pom中实现,正好在github上也找到了参考项目,这里给大家分享下。直接看pom:<build> <finalName>${artifactId}</finalName> <plugins
2021-01-28 22:15:55 367 2
转载 轻量级流程编排框架liteFlow
前言在每个公司的系统中,总有一些拥有复杂业务逻辑的系统,这些系统承载着核心业务逻辑,几乎每个需求都和这些核心业务有关,这些核心业务业务逻辑冗长,涉及内部逻辑运算,缓存操作,持久化操作,外部资源调取,内部其他系统RPC调用等等。时间一长,项目几经易手,维护的成本得就会越来越高。各种硬代码判断,分支条件越来越多。代码的抽象,复用率也越来越低,各个模块之间的耦合度很高。一小段逻辑的变动,会影响到其他模块,需要进行完整回归测试来验证。如要灵活改变业务流程的顺序,则要进行代码大改动进行抽象,重新写方法。实时热变更
2021-01-23 19:43:52 13057 4
转载 技术人如何加速成长?提升你的思维和学习方式
导读:每个人都会经历一个新人的阶段,不管是初入职场,还是到一个新的工作环境。作为技术新人,我们常常会面临哪些困惑?普通人和非凡人的差异在哪里?除了体力上的勤奋,还有哪些方法可以加速成长?本文从第一性原理、结构化思维和多维度思考等方面分享如何从思维深度上提升自己,分享关于技术人成长之道的心得体会。一 摘要阿里优秀的人很多,他们身上共同的特质是什么?让我最佩服的是思考力强的人,对事情有深入洞见和观点的人。大多数人还停留在表面看问题,很多看法禁锢在思想里逃不出来。古人说,立德立言立功为三不朽...
2021-01-14 22:04:51 165
转载 如何使用内存分析工具定位内存泄露?
本文以我司生产环境Java应用内存泄露为案例进行分析,讲解如何使用Eclipse的MAT分析定位问题一. 背景11月10号晚上8点收到报警邮件,一看是OOM打开公司监控系统查看应用各项指标发现JVM中老年代在持续增长(从上次发布10月30号到11月10号的12天内一直在增长, 存在内存泄露迹象)从图中可以看出, 从10月30号发布到11月10号oom期间11天老年代一直在缓慢上涨, 虽然有下降, 但整体趋势是上升的,平均每天泄露约50M内存, 说明每次都无...
2021-01-12 21:46:26 584
转载 对业务系统的可扩展性设计思考
对于业务系统本身在架构设计的时候考虑扩展,原来更多的都是谈的 IT 基础技术架构本身的高可用性和高扩展性。而对于业务系统扩展性,简单来说就是如何灵活的应对需求的变化和扩展,如何减少在处理变更或扩展中代码不断产生的坏味道。说到扩展性,一般会谈到数据库扩展性和应用扩展性两个方面的内容,当然很多应用的扩展性最终会反馈到数据库本身的扩展性上面来。而对于应用本身的扩展性本身又包括了数据模型的扩展,接口的扩展,业务规则的扩展,流程的扩展几个方面的内容,下面分别对上面内容进行描述。1 数据库设计...
2021-01-10 16:20:39 960
转载 不论你技术多牛逼,30岁后,这3件事越早做越好!
在互联网圈有个流传很广的段子,讲述了互联网从业者的职业发展路径:码农:25岁软件工程师→28岁高级软件工程师→32岁架构师→35岁外卖骑手运维:25岁运维工程师→28岁高级运维工程师→32岁运维总监→35岁淘宝店主市场:25岁市场专员→28岁市场经理→32岁市场总监→35岁微商HR:25岁HR专员→28岁HR经理>32岁HR总监→35岁淘宝店主按照这个逻辑,无论你专业技能多牛逼,35岁后的出路不外乎:外卖骑手、淘宝店主、微商。真的是这样吗?...
2021-01-10 16:11:31 317
转载 IDEA 调试技巧,比 Eclipse 强太多了!
一、条件断点循环中经常用到这个技巧,比如:遍历1个大List的过程中,想让断点停在某个特定值。参考上图,在断点的位置,右击断点旁边的小红点,会出来一个界面,在Condition这里填入断点条件即可,这样调试时,就会自动停在i=10的位置二、回到"上一步"该技巧最适合特别复杂的方法套方法的场景,好不容易跑起来,一不小心手一抖,断点过去了,想回过头看看刚才的变量值,如果不知道该技巧,只能再跑一遍。参考上图,method1方法调用method2,当前断点的位置j=100,点击上图红
2021-01-10 16:07:48 89 1
转载 在阿里做了五年技术主管,我有话想说
阿里妹导读:在历史文章《如何成为优秀的技术主管?》中,阿里巴巴高级技术专家云狄从开发规范、开发流程、技术规划与管理三个角度,分享对技术TL的理解与思考。今天的文章,他将继续深入探讨这一话题,从管理的角度分享技术TL的核心职责,主要包括团队建设、团队管理、团队文化、沟通与辅导、招聘与解雇等,希望与大家共同探讨、交流。背景互联网公司的技术团队管理通常分为2个方向:技术管理和团队管理,互联网公司的技术TL与传统软件公司的PM还是有很大的区别,传统软件公司的PM更多注重于对项目的管...
2021-01-08 23:27:57 274
转载 ”出身985,工作996,劝退35“:37岁迟来的醒悟,扎心了!
01“现在想来,在我们这个行业被淘汰,也不是多新鲜的事儿了,要怪就怪我自己,这些年来没有提高自己,还是技术不过硬啊!”来访者周平(化名)在咨询进行到一半的时候,深深地叹息道。 周平,15年前毕业于国内一所985高校,计算机专业。 刚毕业那会儿,周平在一家大厂做程序员,加班加点几乎是常态,有那么一次,周平加班到早上六点,他去开水间接水,窗外的一抹阳光照在他的玻璃杯上,那一刻,周平有些恍惚,他抬起头来,看着镜子里疲惫的自己,不禁在心里质疑道:“该不会这辈子都这样了吧?这真的是...
2021-01-08 22:07:24 297 1
vuepress 前后端在一起部署时,需要把前端生成文件放到 springboot识别的目录中
2023-10-05
spring-boot-route-master.zip
2021-08-25
技术案例课职场生涯回顾介绍.zip
2021-01-10
springcloud-demo.zip
2020-12-07
vue2+springbootPRE.zip
2020-11-05
token_demo.zip
2020-10-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人