待记点

本文探讨了在软件开发过程中遇到的多个问题及其解决方法,包括缓存管理、依赖注入、事务处理、性能优化等核心内容。从多角度提供了解决方案,帮助开发者提升效率并确保系统的稳定运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1:Spring 中 通过 RequestContextHolder     获取 HttpServletRequest

2: bean对象 到XML 转换 可利用 XStream 第三方工具包

3:封装文件jsonBean

                            List<MultipartFile> reqFiles = HttpContextHolder.getMultipartFileMap().get(propName);

                                if (!reqFiles.isEmpty()) {

                                    MultipartFile reqFile = reqFiles.get(0);

                                    File file = Files.createTempFile("nfsq_", reqFile.getOriginalFilename()).toFile();

                                    files.add(file);

                                    reqFile.transferTo(file);

                                    method.invoke(obj, file);

                                }

4:hibernate 有点不好就是QBC 复杂查询可读性低

5:hibernte 中iterater() 和list()方法都是放回查询结果集,iterater()会查询实体Id然后再从一级缓存和二级缓存中查询数据,没有再从数据将查询返回

6:64位系统 对于long和 double类型进行读或写操作会分成两个32位的操作。

 

问题?你做了什么

1:memcace缓存满了

2:spring data jpa  对于 Number 及Number之类不会预编译

3:扩展shrio  对于post 请求无法完成跳转

4:Aop切面 excel导出。

5:aop 实现cache 注解;研究视频日哪个基于注解事务源码,找到要调用的真实方法,应用spring 的el表达式。问题1:需要获得方法参数名称,当调用子类方法时,需要获取真正的执行方法用,通过桥接方法获取。

 

6:多数据源

7:spring 对于 A接口 ,B和C两张实现,是无法注入 B和C具体类型的,应该注入的B和C已经被jdk代理了,不是原来类型。

8:jdk 6编译的代码,无法在jdk7上跑

9:mybatis 乐观锁原理是For update 导致,跑Job时大量wait

10: 测试服务器卡主,请求无法进来,发现磁盘满了

11; 短信发送量剧增,Mq消费慢,堵了100多万。总共500多万,加jVM,添加缓存,

12:移除hibernte 包,导致cgilb 无法代理问题

13 : excel 导入 double 类型精度丢失问题 

14: 生产老出现fulllgc ,查找原因研究dump文件,excel导出数据太多

15:对于spring 解析import 重复创建对象问题,import引入会在子容器创建beanDefinition ,就不会再从父容器查找bean了

16:持久层迁移,导致 msm 序列化出现问题

设计模式六大原则(1):单一职责原则       -- 单例

设计模式六大原则(2):里氏替换原则        -- 模板       

设计模式六大原则(3):依赖倒置原则        -- 代理

设计模式六大原则(4):接口隔离原则         --装饰器

设计模式六大原则(5):迪米特法则             --组合模式

设计模式六大原则(6):开闭原则     -- 观察者,装饰器

 

 

创建型

 

1. Factory Method(工厂方法) 

 

2. Abstract Factory(抽象工厂)

 

3. Builder(建造者)    //创建对象的集合 保存各种实现

 

4. Prototype(原型) // 对象复制

 

5. Singleton(单例) //枚举

 

结构型

 

6. Adapter Class/Object(适配器)

 

7. Bridge(桥接)  DriverManager 就是一个bridge

 

8. Composite(组合)  菜单结构tree处理

 

9. Decorator(装饰)

 

10. Facade(外观)

 

11. Flyweight(享元) 对象共享,连接池

 

12. Proxy(代理)  代理redis client ,实现 读写区分 

 

行为型

 

13. Interpreter(解释器)给一个Context 实现类执行不同解析

 

14. Template Method(模板方法)  entity 基类

 

15. Chain of Responsibility(责任链)  

 

16. Command(命令)  发送者 与 接受者 之间解耦

 

17. Iterator(迭代器)

 

18. Mediator(中介者)  处理 对象(持有2中介则)间的信息传递

 

19. Memento(备忘录) 备份-恢复

 

20. Observer(观察者) requestContextHolder

 

21. State(状态)当对象的状态改变时,同时改变其行为 如switch

 

22. Strategy(策略) 多数据源

 

23. Visitor(访问者) 解耦 数据结构 和操作行为   权限树的访问

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值