Tag: 优化

尽量减少class级中的代码重复?

我正在使用下面的类通过使用套接字发送数据到我们的消息队列以同步的方式或异步的方式,如下所示。 到目前为止,我在下面的课程中复制了很多代码。 我有以下5个方法用于同步或异步发送数据,我相信可能有更好的方法来重写这些方法。 public class SendRecord { private final ScheduledExecutorService executorService = Executors.newScheduledThreadPool(2); private final Cache cache = CacheBuilder .newBuilder() .maximumSize(2000000) .concurrencyLevel(100).build(); private static class Holder { private static final SendRecord INSTANCE = new SendRecord(); } public static SendRecord getInstance() { return Holder.INSTANCE; } private SendRecord() { executorService.scheduleAtFixedRate(new Runnable() { @Override public void run() { […]

如何在Clojure中快速移除向量中的元素?

我试图从Clojure向量中移除元素: 请注意,我正在使用Kotlin的Clojure操作 val set = PersistentHashSet.create(“foo”) val vec = PersistentVector.create(“foo”, “bar”) val seq = clojure.`core$remove`.invokeStatic(set, vec) as ISeq val resultVec = clojure.`core$vec`.invokeStatic(seq) as PersistentVector 这相当于下面的Clojure代码: (remove #{“foo”} [“foo” “bar”]) 代码工作正常,但我注意到,从seq创建一个向量非常慢。 我写了一个基准,结果如下: | Item count | Remove ms | Remove with converting back to vector ms| —————————————————————– | 1000 | 51 | 1355 | | 10000 […]

将多个方法合并为一个函数的方法

我是function风格编程的世界相当新的我正在尝试在Kotlin的一些代码,下面给出的代码片段是我所做的,但看起来这么强迫我 @EmailTemplate(“onCallTemplate”) fun retrieveNextOnCallCreateMailRecipientAndSendMail(time: LocalDateTime, trial: Boolean = true) { val emailTemplateID = extractEmailTemplateValue( “retrieveNextOnCallAndSendMail”) val messageTemplate = emailTemplateID?.let { messageTemplateAccessPoint.findByID(it) } val lisOfOnCalls = dataHubCommunicator .listOfOnCallToSendNotificationFromDataHub(time) val listOfMailRecipient = lisOfOnCalls ?.let { onCallListToMailRecipient.buildMailRecipientFromOnCalls(it) } listOfMailRecipient ?.let { messageTemplate ?.let { it1 -> emailSender .sendNotificationToOnCallPersons(it, it1, trial) } } log.info(“Message Has been sent Successfully”) } […]