自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 玩玩屠龙刀ja-netfilter

3 因为我偶尔也玩IDEA插件,也用别人的收费插件,有某个插件我已经用了屠龙刀了,但是嘛,但是别人除了插件中的校验外,还有二次校验,这个校验很简单,大概就是向阿里云上某机器发一个GET请求,现在为了能用这个收费插件,需要屏蔽这个访问,通过简单看后,我懒得跟他这个混淆的插件较劲,直接用字节码工具修改了他依赖的国内某一个也是争议比较大的hutool包。4 现在空闲了一下,我翻了一下URL插件,这代码真是熟啊,然后我就迅速建了一个工程,从这个上面改,巧的是事,大概的指令基本上可以重用,

2024-03-20 19:54:53 350 1

原创 开发个IDEA插件

因为存在多租户,所以经常要切换任务,在测试HTTP请求的时候,无论你是用postman还是用其它的,在本地测试的时候,其实是需要http的头中加一些字段的。分析了IDEA的插件体系,我最后决定在应用程序启用的时候可以配置用户信息,但是优先级低于用户HTTP请求的,即如果用户请求中有公司编码那就不会用你配置的,如果没有才取配置的。我这个针对的是IDEA的 付费版,也就是可以用DB插件,于是我基于它的DB插件又开发了一个功能,添加上面这些信息。IDEA开发一个插件,但是这个插件的功能是个大杂烩吧,

2024-02-21 16:25:44 365

原创 动态线程池问题的解决

从提示上看,根本没有任何动态线程池,我是非常肯定项目中已经有一个官方例子的线程池,并且IOC中肯定是有的(不可能是那种低级错误没扫描到或者没有注册,这个已经排除过),项目的异步这块的加载中导致了它提前初始化,从而hippo4j处理不了,加之我们的线程池本来还需要用TTL包装用于在线程池中作日志追踪用,没办法了,只有翻它的代码了,翻了一下,它的代码应该是在 (spring的扩展点也就那么几个,很容易就能找到)出现问题了,用的和例子一模一样的,也没什么错,但是就是在服务器的管理控制台上没有找到动态的线程池。

2023-07-29 15:02:14 162

原创 Gradle 8.2.1试玩

比如我碰见过要动态依赖版本的,不管这个需求合理与否,为了实现这个,我要么用脚本,要么自己写插件,要么用profile猥琐的写一堆恶心的。3 GRADLE的缺点是向下兼容不好,说好听点是经常变化,说不好听点就是类似于Scala一样,动不动不兼容,这也导致文档最好只看官方的,不然你网上查来的经常不能用(因为我玩的是最新版)另外对于这个GRADLE,不少人用了就喷 ,我觉得没必要喷,玩一下,知道他的优缺点,至少要先学会再来喷吧, 我还是挺喜欢用的,但是真的希望它版本最好控制一下向下兼容。

2023-07-14 12:46:55 302

原创 一个事务回滚问题的解决

解决办法嘛,也很简单,conatins方法判断的对象必须要是实体类或者是 HibernateProxy类似的,如果从这个角度,肯定怕有所遗漏出新的BUG,但是可以反过来判断,如果这个类的包是特定的包,并且这个类上没有@Entity,把这个拔除,然后就OK了。这个事其实以前遇见过类似的,所以先排查出现过异常的,但是这个祖传代码调用非常的深,根本不是单步调试可以的(估摸着几百个调用),利用IDEA工具准备说是一点JPDA的特性,十分钟之内找到异常点了。不要问我为什么没有打印出异常,因为异常被吞了。

2023-07-05 10:03:06 254

原创 mybatis的cache的小坑

大概是这样的 :调用一个mybatis的很简单的mapper,正常查询回来会返回3条数据,但是他这个程序有点特殊的逻辑(其实也是结构没写好),有一点递归,递归中相当于又调用了这个mapper的这个方法,并且方法参数都一样,这时候查出的结果0条数据,出问题后影响非常大,相当于付错钱了这种严重危险。不用分析,先解决,我直接让加上flushCache,因为这对mybatis的源码还比较熟悉,这块应该是缓存方面的问题,试了一下果然就好了。原因是返回的List其实是原始的对象,可是写程序的人又操作了这个对象。

2023-07-04 19:51:16 270

原创 SpringBoot程序启动速度提速分析

这个嘛,想了想,其实大多没有切入点修改(原因随意翻一下就知道,大多是工具类,没有啥好的扩展点),退而求其次的办法是做个java-agent,自动做cache.这个我就不细讲了,熟悉字节码的人玩起来很简单. 更进一步,这是为 了提高开发的效率,可以考虑在IDEA中做个插件,一键启用,开启自动cache.爽翻。随意说一点,你翻翻,大多在加载类的时候是怎么找到自己要代理的类,比如feign.1 优化肯定是需要找工具观察的,不观测还谈什么优化, 每个人可以找不同的工具,我就用用profile工具同样可以,

2023-05-20 15:47:18 925

原创 祖传代码“慢”的解决

祖传代码对我的折磨还没有完。啥啥不让装,profiler之类的想都别想,只有用最原始的命令行来解决。有一天,客户把我们这边的大领导怼得不行了,这边的领导让我帮着看一下这个技术问题。现象:就是有时候会再现用户登录的时候,非常的“慢”,当然这个慢是用户描述的,感觉像卡着了。第一步分析:这是个测试环境,资源分配的是比较少,但是不应该撑不住,但是本着严谨一点的态度,还是先排除了出问题的时候,CPU并不高 top -Hp,并且业务线程和GC的CPU也使用不高。第二步 看看thread

2022-05-09 16:49:44 317

原创 祖传代码的OOM

有一个祖传代码出OOM了,我已经去弄了几回了,每次原因还不一样,随意写一个,以后一定得远离这些代码了 这个图其实已经很清晰了,不过我们看一下更有意思的这是栈上的,并不是释放的问题。解决这个问题 1限制个数(pdf转image) 2 压缩一下图片吧...

2022-05-02 20:32:30 225

原创 ShardingSphere实现多租户

某项目需要实现多租户,当然这里谈论的资源主要是数据库。 评估的时候主要从数据量上去评估,结论是目前只需要一个库。但是有16张表需要进行水平切分从而容纳56个接入公司。目标是为了代码尽可能少改动。评估出来大概是分为 1 表内加字段的区分多租户的表 2 表水平切分的 3 跨多表的我们采用ES来做查询。这里主要是谈第2块 ,实现是基于ShardingSphere的Hint模式。大概是读了一下,官方给的starter对我们这种场景不可用,因为我们是现存的十多个微服务尽量少改动。所以基本上做的事就

2022-03-30 21:00:40 2278

原创 RocketMQ的简单分发的设计

有这样一个业务场景,我们需要整合RocketMQ,引入了maven<dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-spring-boot-starter</artifactId> <version>2.2.1</version></dependency>这个可以查看一下官方的文..

2021-11-18 20:31:15 261

原创 玩转@FeignClient的Decoder

公司有个需求,就是可以实现如下调用 这两个方法 最大的区别就是返回值,一个是包装类,一个是非包装类。 我翻了一会源码,觉得用Decoder解决比较好。 开启懒人模式,有别人写好的我拿来改一下就行,没有我就自己撸呗。 找到了一个,他大概是这样写的 本来他这个和我的业务也不太一样,我一看这直接去读原始的响应,然后开始Decoder,我觉得这个路子有点野。 于是先翻一下源码,源码默认的decoder 仔细读了一下,如果直接拿...

2021-07-16 18:13:21 11338 2

原创 简单写个elasticsearch的agent

闲来无事,经常尝鲜一点es的最新特性,比如各种beats,又看有新的安装管理方式了。 总之,经常要装新版本,xpack又想每次必须要玩的,但是天天手动crack太累了,搞个agent吧,这样升级版本的时候就不用那么累了成功截图入下。 顺便说一句,搞了之后还发现个很小的坑,那就是放开jdk的security的 permission的控制。这使我想起了国外开源中比如spring写代码中都有对这个的判断,国内的都是讲究快,一般不考虑...

2021-04-23 12:25:45 189

原创 也说Springboot的Schedule

 按理说,这玩意简单易用,不值得一提。 事件是这样的,有个同事有几个简单的定时器,因此不需要上升到分布式,或者单独做一个定时器任务管理系统,于是就借用springbootk的@EnableScheduling来开启任务调度,一共大约三个定时器。 过了几天同事说,这玩意有时候灵,有时候不灵,我想了想,问他一个问题,springboot这块的源码我没翻过,但是所有的schedule系统,至...

2020-03-07 23:51:10 123

原创 玩转thrift转http之进一步完善

  上一篇文章中已经完成thrift转http,其实这个在公司内部多用于一些测试或者是一些调用不关心性能的场景下使用,毕竟json-rpc无论在编码还是在寻址上确实是效率不是在高。  用过swagger都知道有时候我们还是需要将参数的请求和响应自动列出来。  为了完成以上功能,其实也很简单。  可在背后用字节码工具悄悄增加一个接口,然后将这个接口自动添加到用户定义的接口中,然后利用反射...

2020-01-10 18:40:53 497

原创 玩转thrift转http

1 有时候我们为了thrift的也能自动支持http访问,需要处理一下。于是想到了json-rpc,找了一下,有人已经有人同样解决过:https://www.jianshu.com/p/a757453523ae这个文章我看了,方案对我没什么太大的意义(因为我不想改开源的源码,这样不方便升级),给我的帮助是提前知道有两个问题需要解决(第一次玩jsonrpc),两个问题:1 thrift生...

2020-01-08 19:48:05 1266

原创 thrift客户端复用链接性能掉坑记之源码分析

这是分析长链掉坑里源码:accept之后只注册了read 这个不是最重点,看看读吧,这是重点org.apache.thrift.server.AbstractNonblockingServer.FrameBuffer#read 基本是正常读了一个Frame后就不读了,就是不关注读的事了重点来了,什么时候再开始呢?我们来看下写需要判断 buffer的状...

2018-10-29 12:02:59 417

原创 thrift客户端复用链接性能掉坑记

1 这次thrift是为了在一个特殊的场景下,我想在客户端来个复用,其实和dubbo在客户端复用连接是一个道理.直接用netty撸一个客户端出来(因为rpc方法只有两个).很快撸出来了,能跑...爽.2 嗯,拿出jmeter出来试试调用速度,毕竟不要跟我说单线程能跑就是能跑了.....  我把业务场景用一个sleep 500-1000毫秒来模拟.  jmeter的截图没有了,现在写...

2018-10-23 11:59:30 1420

原创 thrift写程序时的小问题定位

在这个公司没像以前用thrift多了,最近有需求,直接撸了一串小代码   thrift+zk简单来个服务发现+加权的负载均衡+支持客户端长链接复用+支持客户端每一个请求一个长链接(连接池)+简单的实时统计到了我这年纪,写代码越来越喜欢少debug,尽量在写的时候就能跑起来,剩下的就是压测+调优.但是是一个小手抖,遇见了个小问题,问题的描述: 写完代码跑的时候,总是服务端提示无法...

2018-09-29 10:57:17 166

原创 java中日志框架的一点小分析

 这个话题,估计大多数人没兴趣.因为觉得这个太容易了,直接调用不就完了. 但是呢,以下分析是我当年刚参工作两三年时看到日志调用时候的一点疑问,当时懒惰,没整理出答案.现在整理一下,以备日后查看. 1 这个问题很我觉得有意思是对于写一些中间件或者小框架的人还是很有帮助的.问题如下,对于项目中没有清理过maven的依赖(毕竟有中间依赖,确实会导致同时出现)的情况下,同时出现如下两个&...

2018-08-02 11:20:45 159 1

原创 某医药类APP破解

1 起因   有人通过我朋友找到我,说对某APP的上本地的数据库很感兴趣,问我有没有办法能弄出来,当然是给点奶粉钱的,我也明白我等技术人员在老板员中其实和木匠瓦工是一样的,给钱我就上呗,哦,是我上,不是我被上,粗俗……。2 破解过程2.1 分析APP打开后,找到了Sqlite的数据库,直接双击居然打开了,好嘛,难道天上掉馅饼的事轮到我了?再一看数据,知道自己多想了。数据库没加密,但是里面的数据是加...

2018-06-08 08:53:44 612 2

原创 修复x宝的dubbo在springboot中的bug

闲着无事,记录一下。  很久以前玩springboot(1.0)的时候又没玩dubbox.玩dubbo也是在传统的springmvc中去玩,最近要把两个玩意整在一起,在我的印象中,这两玩意放一起,跑个hellworld起来,最多半小的时候,结果…………我想多了。问题描述:          用的springboot 1.5.1(最新版)+dubbox(dangdang的2.

2017-02-23 17:54:01 710 1

原创 YourKit Java Profiler 2015 build 15042破解

YourKit Java Profiler 2015 build 15042                YourKit Java Profiler 2015 build 15042是4月2号发布的,今天刚好是星期6即4月4号,才知道发了个新版.               借助我自己的写的小辅助工具,很快解决了java端的破解,java&c的破解合二为一就OK了,c的破解我还是得靠

2015-04-04 21:53:25 4382 18

原创 破解YourKit Java Profiler 2014, build 14100

破解YourKit Java Profiler 2014, build 14100

2014-09-07 01:24:48 4556 18

原创 Hello,Cracker!

Hello,Cracker!       自从离开了IBM后,就再没

2014-09-02 09:52:37 1105

原创 随便玩玩java破解

玩玩java破解                                                                                                                                                      写于05/2013        在北京闲着也是闲着,几个景点大致也玩了

2013-11-17 16:37:41 1219

原创 破解,就是个猜谜语的游戏

破解,就是个猜谜语的游戏     在帝都半死不活地混着,在一堆bug中死去活来地折腾着,于个人而言,现在感觉很难有啥提高了,看来要换公司才行。     昨日打开了电脑,发现我蛮喜欢折腾的一个性能分析工具出新版Yourkit2013了,于是速度下载了一个。可是还没有来得及破解,今天来破解的时候,神啊,又出个小版本了,于是下载到最新的版本。    在网上搜索了一下,好像

2013-11-17 16:30:31 1717 1

空空如也

空空如也

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

TA关注的人

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