1.CountDownLatchCountDownLatch.wait()会使当前线程阻塞,直到CountDownLatch中的计数器递减完毕后继续执行。publicclassCountDownLatchDemo{privatefinalstaticLoggerlog=Logger.getLogger(AtomicIntegerCyclicBarrierDemo.class);publicstat
一.jvm分为年轻代,年老代,持久代1.年轻代:年轻代主要存放新创建的对象,垃圾回收会比较频繁。(稍微讲细一点就是即可,年轻代分成EdenSpace和SuvivorSpace。当对象在堆创建时,将进入年轻代的EdenSpace。垃圾回收器进行垃圾回收时,扫描EdenSpace,如果对象仍然存活,则复制到SuvivorSpace。)2.年老代:年老代主要存放JVM认为生命周期比较长的对象(在扫描Su
(注:这里不再对算法公式累述)1.相似度算法1.1Jaccard距离使用集合中的不同元素的比例来衡量两个集合的区分度,但是存在比较明显的问题无法关注到集合中元素的权重值(评分)1.2余弦相似度利用向量空间解决了权重值(评分)带入相似度计算的问题,非常常用的相似度算法,弥补了Jaccard距离计算的不足1.3Pearson相似度(又名中心余弦相似度)Pearson相似度是对余弦相似度改进,简明来说就
FIFO Scheduler是最简单也是最容易理解的调度器,它缺点是不适用于共享集群。大的应用可能会占用所有集群资源,这就导致其它应用被阻塞。在共享集群中,更适合采用Capacity Scheduler或Fair Scheduler,这两个调度器都允许大任务和小任务在提交的同时获得一定的系统资源。从执行过程图中可以看出,在FIFO 调度器中,小任务会被大任务阻塞。而对于Capacity调度器,有一个专门的队列用来运行小任务,但是为小任务专门设置一个队列会预先占用一定的集群资源,这就导致大任务的执行时间会落后于使用FIFO调度器时的时间。在Fair调度器中,我们不需要预先占用一定的系统资源,Fair调度器会为所有运行的job动态的调整系统资源。如下图所示,当第一个大job提交时,只有这一个job在运行,此时它获得了所有集群资源;当第二个小任务提交后,Fair调度器会分配一半资源给这个小任务,让这两个任务公平的共享集群资源。 需要注意的是,在Fair调度器图中,从第二个任务提交到获得资源会有一定的延迟,因为它需要等待第一个任务释放占用的Container。小任务执行完成之后也会释放自己占用
WMS,WFS,WCS请求规范;geoserver管理平台;geoserver发布影像,瓦片,高程,MBtiles
第 1 步:编写接口 BaseDaopublic interface BaseDao<ID extends Serializable, T extends AbstractEntity, I extends BaseDao<?, ?, ?>> { boo
jdk jre hashmap底层 fast-failed机制 BIO NIO AIO 零拷贝 netty 消息队列和栈 AES和RSA jvm内存模型 tcp三次握手四次分手 http和tcp 悲观锁,乐观锁,无锁算法 线程池 消息队列 常用sql关键字 java面试心得
传统行式数据库为了避免产生大量的磁盘io,通过将数据切分成一个一个datapage,比如大小是4k,datapage中使用行最大的长度占位(即使只储存了一个字节的数据),计算出每个datapage可以容纳的行个数,并将每一行数据的索引列取出生成索引表,当读数据的时候只需要到索引表中取出数据所在的datapage,也就是说只进行了4k大小的io操作。当发生数据增删改操作时,因为已经用行最大长度占位,
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号