Articles of java

Kotlin Synchronized

В последние недели я изучал многопоточность java. Я узнал о синхронизации, и понял, что синхронизировано избегать различных потоков доступа к одному и тому же имуществу в одно и то же время. Я написал этот код для запуска двух потоков в одном потоке. val gate = CyclicBarrier(3) val obj = SynchronizedCounter() var nah = object : […]

Что такое идиоматический способ Котлин, чтобы получить Логгера?

Я ищу заменить private static final Logger log = Logger.getLogger(MyClass.class); с чем-то, что немного менее многословно и более идиоматично, тогда class MyClass { companion object { val log = LoggerFactory.getLogger(MyClass::class.java) } fun usage() { log.debug("Success") } } Бонусные баллы за то, что вам не нужно заниматься этим в каждом классе. Я пытался: interface HasLogger { […]

Java vs Kotlin generics

У меня есть следующий класс Java, который я пытаюсь преобразовать в Kotlin, который использует generics. абстрактный класс MvpViewHolder, M, V: View?> (itemView: View): RecyclerView.ViewHolder (itemView) { public abstract class MvpViewHolder<P extends BasePresenter> extends RecyclerView.ViewHolder { protected P presenter; public MvpViewHolder(View itemView) { super(itemView); } public void bindPresenter(P presenter) { this.presenter = presenter; presenter.bindView(this); } public […]

Vert.x. Как создать реальное приложение многопользовательского JVM?

Я проверяю Vert.x , фреймворк, который может запускать приложение на нескольких разных языках JVM. В примерах vertx имеется огромное количество примеров . Но проблема в том, что (и я еще ничего не нашел), как мы могли бы написать приложение Vert.x на реальном полиглотном пути (одновременно используя все поддерживаемые языки JVM)? Например, как мы можем написать […]

Kotlin: Как я могу получить фактический общий тип T в OneClass <T> во время выполнения

Друзья! Я зеленая рука на Котлине, теперь вот проблема. Теперь я хочу получить общий тип T в OneClass, вот некоторые периферийные коды. // IDatabase.kt package com.ra abstract class IDatabase<T> { } // Database1.kt import kotlin.reflect.jvm.javaType open class Database1<T>: IDatabase<T>() { val tClass = this::class.supertypes[0].arguments[0].type!!.javaType as Class<T> } // Database2.kt import kotlin.reflect.jvm.javaType open class Database2<T>: IDatabase<T>() […]

Кинжал 2: несколько записей с одним и тем же ключом

Краткое объяснение Упрощенная диаграмма UML, которая описывается архитектурой Components . И есть исключение: java.lang.IllegalArgumentException: Multiple entries with same key: gson=com.example.di.AppPresentationComponent and gson=com.example.di.gamesession.GameSessionComponent Dagger 2 не может решить, из какого Component предоставить экземпляр Gson . Я никогда не работаю с множественным наследованием. Что вы можете порекомендовать для решения моей ситуации? Я могу избавиться от GameSessionComponent и […]

Как установить прокси для Spring AsyncRestTemplate с помощью Netty4ClientHttpRequestFactory?

Когда я использую SimpleRequestFactory с моей AsyncRestTemplate, я могу легко настроить HTTP-прокси-сервер. Я могу либо сделать (пример кода в Котлине): @Bean open fun asyncRestTemplate(): AsyncRestTemplate { val proxy = Proxy(Proxy.Type.HTTP, InetSocketAddress("127.0.0.1", 8008)) val requestFactory = SimpleClientHttpRequestFactory().apply { this.setConnectTimeout(TimeUnit.SECONDS.toMillis(10).toInt()) this.setReadTimeout(TimeUnit.SECONDS.toMillis(10).toInt()) this.setProxy(proxy) this.setTaskExecutor(taskExecutor()) } return AsyncRestTemplate(requestFactory) } Или я могу просто установить соответствующие системные свойства: -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=8008 […]

Не удалось построить Gradle с помощью Kotlin, Scala и Java

У меня есть проект, написанный на Java, Scala и Kotlin. Но когда я создаю этот проект в Gradle, это ошибка с сообщением: 11:19:51: Executing task 'build'… :compileKotlin Using Kotlin incremental compilation e: F:\Code\Project\Avalon\src\main\kotlin\avalon\group\Execute.kt: (3, 19): Unresolved reference: Flag e: F:\Code\Project\Avalon\src\main\kotlin\avalon\group\Execute.kt: (10, 18): Unresolved reference: GroupMessageResponder e: F:\Code\Project\Avalon\src\main\kotlin\avalon\group\Execute.kt: (13, 2): 'doPost' overrides nothing e: F:\Code\Project\Avalon\src\main\kotlin\avalon\group\Execute.kt: (35, […]

Переменная Kotlin String в параметре функции auto cast to java.lang.String, почему?

Я только что написал код с Kotlin и получил некоторые проблемы, вот тестовый код: fun testString(s: Any) { when(s) { Int -> println("Int parameter!") String -> println("String parameter!") //Boolean -> println("Not boolean thing!") //Why Boolean cannot use in when? else -> println("Other object!") } } var ss = "This is actual a Kotlin String!" println(ss.javaClass.simpleName) […]

Как подключить HazelcastClient к HazelcastServer после перезагрузки сервера

У меня возникла проблема с использованием hazelcast в архитектуре, основанной на микросервисе и пружинной платформе. Я поддерживаю одно из приложений как приложение, которое будет сервером hazelcast, а остальные – это клиенты. Однако, если мне нужно обновить приложение, являющееся сервером hazelcast, клиентские приложения кеша опрокидывают соединение с сервером, и когда я создаю новую версию сервера, эти […]