- 博客(10)
- 收藏
- 关注
原创 设计模式之策略模式
策略模式允许我们定义一系列算法,将每一个算法封装起来,并使它们可以互相替换。当存在多种算法或策略可完成同一任务时,如何避免使用大量的条件语句(如if…else或switch…case)来决定使用哪种算法,从而提高代码的可读性和可维护性。需要在运行时根据不同的条件选择不同的算法或策略。策略接口(Strategy Interface):定义所有支持的算法的公共接口。策略接口使得算法可以互换。
2024-05-23 11:25:26 641
原创 设计模式之单例
设计模式分为三大类型,共计23种模式创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。行为型模式:模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式、访问者模式从以上的代码中,我们可以看到单例设计模式的优势以及使用场景,优势:单例模式保证了系统内存中该类只存在一个对象,节省了系统资源,对于一些需。
2024-05-16 22:07:50 582
原创 spring常用注解之@Transactional
事务:方法内多个数据库操作要么同时成功、要么同时失败Atomicity:原子性是指事务是一个不可再分割的工作单元,事务中的操作要么都发生,要么都不发生。在DBMS中,默认情况下一条SQL就是一个单独事务,事务是自动提交的。只有显式的使用start transaction开启一个事务,才能将一个代码块放在事务中执行。Consistency:一致性是指在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。这是说数据库事务不能破坏关系数据的完整性以及业务逻辑上的一致性。
2024-05-16 21:36:36 737 1
原创 一次httpclient不设置超时时长带来的问题排查过程
一些老项目中Api调用使用的httpclient,新项目中基本上使用的都是feign或者rpc框架,基本上不会出现这种低级错误,但是在微服务项目中,还是要为远程调用设置connect time和read time
2024-05-16 21:11:56 805
原创 IText PDF签章时,如何获取PDF页的坐标
在itext中如何获取pdf矩形区域的坐标1.itext5加载pdf后,获取pdf坐标和页面宽高PDDocument document = PDDocument.load(bytes);PDPage pdPage = document.getPage(1);PDRectangle pdRectangle = pdPage.getMediaBox();float x = pdRectangle.getLowerLeftX();float y = pdRectangle.getLowe
2021-04-10 22:17:28 4343 1
原创 mysql连接异常之‘xxxxx’is not allowed to connect to this MySQL server
错误描述:is not allowed to connect to this MySQL server今天使用mysql可视化工具连接其他服务器上的mysql时报了这个错is not allowed to connect to this MySQL server,但是本地连接是正常的,一般都是因为用于连接mysql的用户没有开启连接权限。原因:Mysql配置了不支持远程连接引起,用于连接mysql的用户名开了ip限制解决方法:1.首先在mysql服务器上登录mysql,mysql -u root
2020-07-07 21:58:24 237
原创 org.springframework.security.access.AccessDeniedException: Access is denied异常
在搭建spring oauth2.0 授权码模式demo时,使用code获取token时,一直提示这个错误,后来发现是因为配置问题:[DEBUG] ExceptionTranslationFilter - Access is denied (user is anonymous); redirecting to authentication entry point <org.springframework.security.access.AccessDeniedException: Access is
2020-06-02 17:18:51 1039
原创 一次Cannot create PoolableConnectionFactory(无法从套接字读取更多的数据) 问题的排查过程
今天项目出现了无法连接数据库的异常,错误描述如下(此处只列出部分错误信息):org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot...
2019-07-21 23:45:19 3511
原创 Java中常见的阻塞队列
文章目录1.什么是阻塞队列1.1 队列1.2 什么是阻塞队列2.Java中的阻塞队列2.1 ArrayBlockingQueue2.2 LinkedBlockingQueuePriorityBlockingQueue1.什么是阻塞队列1.1 队列1.2 什么是阻塞队列阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作支持阻塞的插入和移除方式。1.支持阻塞...
2019-07-17 22:38:00 411
原创 Mybatis与Db2、Oracle使用时的主键自增问题
1.Mybatis与Db2、Oracle等结合使用时如何生成主键1.1 使用Sequence生成主键oracle、db2等数据库中不能像mysql一样设置主键自动增加,因此需要我们为oracle/db2设置序列(Sequence),通过获取序列(Sequence)的值来完成主键的自增操作:1.2 使用sys_guid()函数生成主键(仅使用varchar类型的主键)
2019-05-21 23:07:44 890
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人