ConcurrentLinkedQueue
ConcurrentLinkedQueue是一种适用于高并发场景下的队列,通过无锁的方式,实现了高并发状态下的高性能,由于ConcurrentLinkedQueue是一种非阻塞的队列,通常ConcurrentLinkedQueue性能好于BlockingQueue。是一种基于链表节点的无界线程安全队列。该队列的元素遵循先进先出FIFO的原则,该队列不允许为null
什么是CopyOnWrite容器呢?CopyOnWrite容器是一个写时复制的容器。在向容器中添加元素时,不会直接向当前容器中添加,而是将当前容器进行copy,复制出一个新的容器,然后往新的容器中添加元素,添加完元素之后,再将容器的引用指向新的容器。使得我们可以对CopyOnWrite容器进行并发的读而不需要加锁,采用了读写分离的思想,写时复制的策略
使用的场景是读多写少的时候使用,如redis、Linux的文件管理系统等
可以使用JOptimizer来解决LP问题
1 | <dependency> |
解决问题
1 | /** minimize 4x+3Y |
代码如下
1 | LinearMultivariateRealFunction objectiveFunction = new LinearMultivariateRealFunction(new double[]{4.0, 3.0}, 0); //minimize 4x+3y |
结果为
1 | x1: 0 y1: 4 |