我读了一些声称Fibonacci搜索平均比二分搜索快的材料,主要原因是"它只涉及加法和减法,而不是除以2".
我有一些问题:
1.斐波那契搜索比二进制搜索更快,而不考虑操作速度吗?因为二进制搜索的步骤较少.
2.除以2可以通过位移操作来完成,它是否真的慢于加法?
3.与二进制搜索相比,斐波那契搜索的优势是什么?
我正在使用hbase-client 1.2.3,我看到Connection.getTable()方法中有一条注释:
检索用于访问表的Table实现.
返回的表不是线程安全的,应为每个使用线程创建一个新实例.
这是返回Table的轻量级操作,池化或缓存
既不需要也不需要.
所以我开始想知道处理连接和表的最佳做法是什么?
例如,我有一个主类,将启动几个线程,让我们调用A,B,C ......
现在我调用"Connection connection = ConnectionFactory.createConnection();" 在main方法中,将连接传递给每个线程作为每个线程的参数.然后在每个线程中使用init Table类.
我想知道这是最好的方法吗?它会导致一些线程安全或效率或任何其他问题吗?
使用kotlin maven插件时,我得到了不受支持的major.minor版本52.0。
细节 :
5721/25818 KB 19242/25818 KB 25693/25818 KB Downloaded: http://maven.aliyun.com/nexus/content/groups/public/org/jetbrains/kotlin/kotlin-compiler/1.1.2-2/kotlin-compiler-1.1.2-2.jar (25818 KB at 113.2 KB/sec)
[WARNING] Error injecting: org.jetbrains.kotlin.maven.K2JVMCompileMojo
java.lang.TypeNotPresentException: Type org.jetbrains.kotlin.maven.K2JVMCompileMojo not present
at org.eclipse.sisu.space.URLClassSpace.loadClass(URLClassSpace.java:115)
at org.eclipse.sisu.space.NamedClass.load(NamedClass.java:46)
at org.eclipse.sisu.space.AbstractDeferredClass.get(AbstractDeferredClass.java:48)
at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:86)
at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:54)
at com.google.inject.internal.ProviderInternalFactory$1.call(ProviderInternalFactory.java:70)
at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:113)
at org.eclipse.sisu.bean.BeanScheduler$Activator.onProvision(BeanScheduler.java:176)
at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:122)
at com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:68)
at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:68)
at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:46)
at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1009)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1059)
at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1005)
at com.google.inject.Scopes$1$1.get(Scopes.java:59)
at org.eclipse.sisu.inject.LazyBeanEntry.getValue(LazyBeanEntry.java:82)
at org.eclipse.sisu.plexus.LazyPlexusBean.getValue(LazyPlexusBean.java:51)
at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:263)
at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:255)
at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(DefaultMavenPluginManager.java:464)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:119)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) …Run Code Online (Sandbox Code Playgroud) 我真正想做的是在不同屏幕上查看某个项目中的不同文件。
如果它们在不同的窗口中,我可以轻松地将一个窗口拖到另一个屏幕上。
如果有其他方法可以做到这一点就好了。我用的是windows7。
假设我有一个主题的 3 个订阅者 A、B、C,并且我希望 A、B 被视为“同一订阅者”,这意味着他们只能获得每条消息的一份副本。而 C 又拿到了一份。
我发现http://activemq.apache.org/virtual-destinations.html是一种方式。但是如果我无法更改 activemq 代理的配置怎么办?
不知道有没有什么“id”的道具,可以让两个订阅者当做一个吗?喜欢 kafka 中的组 ID?