一个学习设计模式的网站
发表于|更新于
|浏览量:
智的人决不坐下来为失败而哀号,他们一定乐观地寻找办法来加以挽救——莎士比亚
就是这个网站啦

目录还是比较全的,包括有很多的例子

在我看来是干货满满啊~
相关推荐
2020-10-07
java反编译class
让我们不要用过去的哀悉拖累我们的记忆。——莎士比亚 反编译class为java文件,我们可以用到jad 下载 使用方式: 首先解压jar包 在jad所在目录下执行 1jad.exe -r -ff -d D:\mc\source\FortuneTelling -s java D:\mc\source\original-FortuneTelling-1.0-SNAPSHOT\**\*.class ps: 1jad.exe -r -ff -d [反编译后代码存放路径] -s java [需要反编译包含class的目录]\**\*.class 帮助 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810...
2024-12-29
FlexibleAdapter
没有不可治愈的伤痛,没有不能结束的沉沦,所有失去的,会以另一种方式归来。——约翰·肖尔斯 Github: https://github.com/davideas/FlexibleAdapter 最近我在开发一个Android应用时,遇到了一些关于RecyclerView的挑战。RecyclerView是Android中展示列表数据的一个非常强大的控件,但在处理复杂列表,尤其是需要支持不同类型的视图、拖拽、排序等操作时,RecyclerView的实现就变得比较复杂。这时,我发现了一个很有用的开源库——FlexibleAdapter,它提供了一个更灵活和简化的方式来处理这些复杂的需求。 FlexibleAdapter是一个为RecyclerView提供更加灵活的适配器,它支持动态的多类型视图、拖拽、滑动删除等功能。它的设计理念是让开发者能更快速地实现复杂的RecyclerView布局,而不需要大量的冗余代码。 安装FlexibleAdapter的安装方式非常简单。你只需要在你的build.gradle文件中添加以下依赖: 1implementation 'eu.davi...
2023-05-23
获取图片dpi
在只能说谎与沉默两者来选择的时候,沉默也是好的。——何其芳 可以通过下面的代码获取: 123ImageInfo imageInfo = Imaging.getImageInfo(file);imageInfo.getPhysicalWidthDpi();imageInfo.getPhysicalHeightDpi(); 对应的依赖: 12345<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-imaging</artifactId> <version>1.0-alpha3</version></dependency> 用的是apache-commons的commons-imaging这个库 https://commons.apache.org/proper/commons-imaging/index.html
2023-04-13
mp wrapper小技巧
别让你的舌头超越你的思想。——第欧根尼 对于mp的wrapper,直接使用nested+or是可以正确执行的 例如: 1Db.list(Wrappers.lambdaQuery(UserInfo.class).or().eq(UserInfo::getName, "Jon")); 生成 122023-04-13 22:39:54.858 DEBUG 20668 --- [ main] o.d.s.s.p.m.m.UserInfoMapper.selectList : ==> Preparing: SELECT id,name,age,email,version,gmt_deleted FROM user_info WHERE gmt_deleted='2001-01-01 00:00:00' AND (name = ?)2023-04-13 22:39:54.858 DEBUG 20668 --- [ main] o.d.s.s.p.m.m.UserInfoMapper.selectL...
2024-08-20
调试h2数据库
生命中的全部偶然,其实都是命中注定。是为宿命。——《宿命》 在apache-shenyu中也默认用h2数据库作为默认数据库,方便开发、演示、学习、轻量化部署等 但是我们知道h2数据库是基于内存的嵌入式数据库,如何让其在运行动态执行sql呢?一般我们采用h2-console进行: h2-console | 阿超 今天我们换一种方式,直接使用客户端工具连接,默认的url肯定是连不上的: 123456spring: datasource: url: jdbc:h2:mem:${HOME:${HOMEDRIVE}${HOMEPATH}}/shenyu;DB_CLOSE_DELAY=-1;MODE=MySQL; username: sa password: sa driver-class-name: org.h2.Driver 因为这里是h2:mem:路径,即便换成file也是不允许两个连接的 我们换成tcp连接,再指定一下目录 123456spring: datasource: url: ...
2021-08-17
fastjson全局序列化坑
偌大的城市,绵延无尽,并非是我眼见的让我停住了脚步,而是我所看不见的。——《海上钢琴师》 今天遇到这样一个问题:序列化出现了与预期不一致的效果,重现代码很简单,就返回一个list,包含几个对象 12345@GetMappingpublic Result testQueryParam(CommonDTO commonDTO) { final UserDetail userDetail = UserDetail.builder().build(); return Result.ok().data(Arrays.asList(userDetail, userDetail, userDetail));} 但可以看到我这里第一条数据是正确的,第二条开始就变成了{$ref: "$.data[0]"} 这是因为我们在使用fastjson作为mvc全局序列化框架的时候 在fastjson中,会自动检测循环引用,并且输出为fastjson专有的引用表示格式。但这个不能被其他JSON库识别,也不能被浏览器识别,所以fastjson提供了关...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog