- 博客(19)
- 收藏
- 关注
原创 单代号网络图(AoN)与双代号网络图(AoA)应用场景区别
可以看到,在表示前后关系时,单纯表示FS关系类型时,AoN表示法比较间接清晰,AoA表示法比较繁琐,不够直观。单代号网路图(activity on node或activity on vertex),与双代号网络图(activity on arrow 或 activity on edge)均可用于表示活动及活动间先后关系。关键路径:[[C, E, F, H, K], [C, K], [C, D, E, F, H, K], [C, D, F, H, K]]
2024-11-29 13:31:58
798
原创 AoV activity on vertex(AoN activity on node)网络求关键路径
S表示栈结构,从起始节点O开始,O为虚拟节点,无工时属性,仅为方便计算关键路径。也就是说A,B,C均同时开始。与O节点开始时间一致。如下网络图,A表示活动节点,0表示经过计算节点总时差为0。此处省略时差计算方式。参考单代号网络图计算总时差。[[]]表示存储关键路径的数组,因为关键路径有可能有多条。因此用二维数组表示。理论上D,H节点不可能总时差为0此处只作为计算考虑。从此图也可看出,关键路径应有4条。后继总时差0节点:O->A,B,C。
2023-08-24 18:29:56
366
1
原创 SpringMVC常见返回消息处理器
ViewMethodReturnValueHandler和ViewNameMethodReturnValueHandler:分别用于处理返回值为View类型和String类型(表示视图名称)的方法,返回对应视图。ModelMethodProcessor和MapMethodProcessor:分别用于处理返回值为Model类型和Map类型的方法,将模型数据添加到request域中。
2023-05-24 16:30:47
173
原创 使用mybatis或mybatisplus导致阻塞,但CPU占用不高的可能问题
bug报告:[JDK-8161372] ConcurrentHashMap.computeIfAbsent(k,f) locks bin when k present - Java Bug Systemhttps://bugs.openjdk.java.net/browse/JDK-8161372一句话说明:mybatis包括mybatis-plus会对实体类的字段映射保留一个缓存,缓存方式是存如concurrentHashMap中,使用了computeIfAbsent方法。这个方法会导致其中的Functi
2021-11-28 15:09:23
1635
原创 Spring Security默认登录页面
使用Spring Security作为权限管理模块的小伙伴们一定醉心于其极少的配置即可满足权限管理需求,以及比springMVC更简洁的filter配置。在刚开始技术验证的demo阶段相信很多人试过在什么都不配置的时候,只写个接口然后访问是会自动跳转到默认的登录页面"/login"。按常理,一般人会好奇,这个登录页面在哪儿?应该是个模板引擎提供的模板,并且应该有个ModeAndView绑定的页面。但实际上并不是。这个默认登录页面其实极其暴力简单。是一个默认filter里面直接写入response
2021-06-29 15:50:06
7496
原创 算法时间复杂度简单理解
常见算法时间复杂度:、、、、、按复杂度从小到大排序很多人肯定对这些算法时间复杂度表示只了解相互之间大小,可能并不清楚具体每种算法时间复杂度对应那些常见的编码写法。下面分别举个例子。1.:算法复杂度是最快的算法时间,其表示算法所需时间与数据量大小无关,所需计算时间是固定的。例如:map.get(x)或array[0],这两个典型的时间复杂度,这里的map底层实现是数组类型,链表类型不一定。这里无论数组多大,数据有多少,都是从数组指定位置的内存直接获取。这也是为什么最朴素的循环数组可能比有些增强写.
2021-01-05 18:00:44
344
原创 spring单例、多例使用方法
今天聊聊单例和多例。只想看受spring管理的实例有哪些模式,直接看最后。相信大部分使用java 做web开发的开发人员都用过spring。spring功能最基础也是功能就是IoC(Inversion of control——控制反转)、AOP(Aspect Oriented Programming——面向切面编程)。其中IoC核心是DI(Dependency injection——依赖注入)。我们最开始写项目自然而然的是没有框架,生写!但代码多了之后,发现有很多代码,可以抽成公共方法。有些又可以抽
2020-07-23 17:40:21
2960
原创 Mybatis 查询语句条件为枚举类型时报错处理
通常我们对于数据库中一些枚举字段使用tinyInt类型,而java对象对应的字段很多时候会为了方便定义成short或者int。但这样显然不美观方便,让后面维护的人抠破脑袋找你的常量定义在哪儿,要是没有注释简直让人崩溃。时间久后,没有人知道这里面的值。只能一行行读源码。优雅的程序员当然想到了优雅的枚举,而mybatis“强大”的枚举类型处理器EnumOrdinalTypeHandler相信都不陌生。然而配置枚举处理器花了九牛二虎之力改好原来的mapper运行测试用例全在报错。而插入、部分查询却没报错。
2020-06-10 19:55:12
2216
2
转载 我应该使用规则引擎吗?
作者:Martin Fowler原文链接:https://martinfowler.com/bliki/RulesEngine.html本文为原文翻译,有条件的还是直接看原文吧。规则引擎就是要提供替代的计算模型。规则引擎基于生产规则系统,而不是通常的命令性模型,该命令性模型由按顺序排列的命令以及条件和循环组成。这是一组生产规则,每个规则都有一个条件和一个动作-简单来说,您可以将其视为一堆if-then语句。精妙之处在于规则可以按任何顺序编写,引擎会决定何时使用对顺序有意义的任何方式来评估它们
2020-05-29 16:07:58
525
原创 布隆过滤器设置合适指标
布隆过滤器用于快速检测不存在数据,主要用位数组的结构来存储。其中为了保证布隆过滤器有适当的正确率通常会设置几个参数。设:k = hash函数个数,用于将一个数据通过不同hash函数计算为不同值,如“test” hash1-> 10,hash2-> 91, hash3->88等等,其中hash值即为位数组下标。如上面计算的三个值则位数组上坐标为10、91、88的位置上会被标......
2019-10-11 16:43:27
7847
转载 hibernate方言集
RDBMS Dialect DB2 org.hibernate.dialect.DB2Dialect DB2 AS/400 org.hibernate.dialect.DB2400Dialect DB2 OS390 org.hibernate.dialect.DB2390Dialect PostgreSQL org.hibernate.dialect....
2018-12-25 10:51:58
357
原创 单向链表是否有环以及入环起点节点
判断一个链表是否有环就有点像判断一个小数是否为循环小数。如:12.3756954756954...循环体为756954进入节点为7。如果我们从这个思路来考虑那就走远了。因为,可能这个循环体长度特别长,而这个循环体中又可能存在很多小的循环体。比如:1.1235353512791235353512791...如果我们把35当做循环体那就错了,循环体应该是123535351279。正确的思路应该是参照环......
2018-05-17 18:05:10
1056
原创 记双重锁验证与volatile关键字的理解
java并发编程可以说是一个非常非常恼火的一个地方了。因为,可能一不小心就出各种莫名奇妙的问题。但这并不意味着我们要逃避。说到并发必然离不开单例模式这一经典设计模式。首先我们来看一个经典的双重锁验证的单例模式:class Singleton{ private static Singleton instance = null; private Singleton() { ...
2018-03-20 15:31:24
1105
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人