我需要支持比读取更多的插入并保持数据排序.哪个会表现更好:
使用PriorityQueue提供比较器
要么
每次插入后使用ArrayList和调用.sort()?
.sort()每次打电话都感觉不对,但我无法说清楚原因.
尝试模拟 ES6 类,只是为了获得一个我可以监视的虚拟模拟。我的代码似乎非常严格地遵循文档,但是在调用.mock我的虚拟对象时出现此错误:
类型错误:无法读取未定义的属性“实例”
jest.mock('../../../adapters/Cache')
const Fizz = require('../Fizz')
const Cache = require('../../../adapters/Cache')
const fizz = new Fizz()
describe('CACHE', () => {
it('should return a mock', () => {
//This is the line that fails
const mockCache = Cache.mock.instances[0]
const mockRetrieveRecords = mockCache.retrieveRecords
fizz.doStuff()
expect(mockRetrieveRecords).toHaveBeenCalledTimes(1)
})
})
Run Code Online (Sandbox Code Playgroud) 这是我的数据:
item_ID | group_ID | count_of_items_in_group
2|ABC|3
5|ABC|3
9|ABC|3
29|DEF|3
3|DEF|3
4|DEF|3
200|XYZ|2
300|XYZ|2
600|GHI|1
Run Code Online (Sandbox Code Playgroud)
SQL Filddle: http ://sqlfiddle.com/#!2/dfe09/1
对于每个组,我想限制返回的item_ID的数量最多为2.我不关心返回哪两个.如果组少于2行,则只返回1行.
我不能为每个组写一个select top*2并且联合选择因为我有几百个组.
我不知道从哪里开始,非常感谢你的帮助.
使用MS SQL 2005
(表格布局与示例中的完全一样,它是基于多个查询的视图)
我用谷歌搜索了这个,直到我脸色发青,找不到答案.如何配置MyBatis以返回列表地图?
即
HashMap<String, List<Foo>>
Run Code Online (Sandbox Code Playgroud)
例如,如果我有一个查询返回了所有客户的所有订单,我想让它返回一个包含客户ID键入的订单列表的Map.
编辑
我找到了一种方法来编写一个自定义的ResultHandler,但我宁愿让MyBatis为我做这件事,就像Hibernate对map或注释一样.
谢谢.
为什么这是合法的:
for(int i=0; i < arr.size(); i++) {
arr.remove(i);
}
Run Code Online (Sandbox Code Playgroud)
但是使用迭代器或a的语法糖会导致ConcurrentModificationException:
for(String myString : arr) {
arr.remove(myString);
}
Run Code Online (Sandbox Code Playgroud)
iterator.remove();我问为什么不同的行为,而不是如何避免conc mod异常.谢谢.<TL; DR>
问题: 我正在使用Cucumber-JVM和Spring进行集成测试.未创建测试步骤类中的自动装配类,并且该类为null.
</ TL; DR>
测试在本地工作但在构建服务器上失败,在尝试对自动装配的bean进行方法调用时使用空指针.
堆
我尝试了什么
问题类是带注释的@Component,我尝试删除@Component注释并在spring上下文中注册它 - 这没有任何效果.
将Spring日志级别设置为DEBUG几乎没有任何问题.对于使用Cucumber运行程序(@RunWith(Cucumber.class))的测试,我看到来自Spring的相对较少的日志.与使用SpringJunit4Runner的无关测试相比,几乎没有.
我写了一个测试,它使用SpringJunit4Runner而不是Cucumber跑步者并自动测试问题类,它运行良好; 这个类不是null.
码
POM
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.foo</groupId>
<artifactId>matching-engine</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>core</artifactId>
<name>core</name>
<description>core matching engine</description>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>4.1.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.1.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.1.6.RELEASE</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.1.6.RELEASE</version>
<scope>test</scope>
</dependency> …Run Code Online (Sandbox Code Playgroud) 在Java中,如果只在加入突变它的线程后才访问它,则字段不需要是volatile; 联接在关系之前强制执行.
在c#怎么样?使用下面的代码,我保证在调用Join()之后会看到_value的更新值,或者我是否需要使_value变为volatile?
private String _value = "FOO"
public void Foo()
{
Thread myThread = new Thread(Bar);
myThread.Start();
myThread.Join();
Console.WriteLine("[Main Thread] _val = "+ _value);
}
public void Bar()
{
for(int i=0; i<1000; i++)
{
Console.WriteLine("Looping");
if(i==75)
{
_value="BAR";
}
}
Console.WriteLine("DONE Looping");
}
Run Code Online (Sandbox Code Playgroud)
在我的代码片段中,是否会打印"BAR"?
Experimenting with Docker for the first time. Have these steps in my Dockerfile to create a directory, but when I run the container, the directory isn't there.
FROM ubuntu
MAINTAINER AfterWorkGuinness
RUN apt-get update
RUN apt-get install -y openssh-server
RUN mkdir /root/.ssh
RUN cd /root/.ssh
RUN ssh-keygen -t rsa -N "" -f id_rsa
VOLUME /root
EXPOSE 22
Run Code Online (Sandbox Code Playgroud)
Build image:
docker build -t ubuntu-ssh --no-cache .
Run Code Online (Sandbox Code Playgroud)
Testing the directory when I run the container:
docker run -it -v c:/users/awg/dev/tmp/home:/root ubuntu-ssh
root@39eec8fa51ad:/# …Run Code Online (Sandbox Code Playgroud) 我正在尝试构建一条将执行以下操作的路线:
jms:sender-in.我正在使用INOUT请求回复模式.该JMSReplyTo = sender-outjms:consumer1-in,jms:consumer2-in和jms:consumer3-in.所有人都在使用请求回复模式.在 JMSReplyTo每消费指定(在这种情况下,JMSReplyTo在这个顺序jms:consumer1-out, jms:consumer2-out, jms:consumer3-outjms:sender-out.我构建了一条类似于此的路线:
from("jms:sender-in")
.to("jms:consumer1-in?exchangePattern=InOut&replyTo=queue:consumer1-out&preserveMessageQos=true")
.to("jms:consumer2-in?exchangePattern=InOut&replyTo=queue:consumer2-out&preserveMessageQos=true")
.to("jms:consumer3-in?exchangePattern=InOut&replyTo=queue:consumer3-out&preserveMessageQos=true");
Run Code Online (Sandbox Code Playgroud)
然后我将回复发送回某个队列以收集和聚合:
from("jms:consumer1-out?preserveMessageQos=true").to("jms:gather");
from("jms:consumer1-out?preserveMessageQos=true").to("jms:gather");
from("jms:consumer1-out?preserveMessageQos=true").to("jms:gather");
from("jms:gather").aggregate(header("TransactionID"), new GatherResponses()).completionSize(3).to("jms:sender-out");
Run Code Online (Sandbox Code Playgroud)
为了模仿我的消费者的行为,我添加了以下路线:
from("jms:consumer1-in").setBody(body());
from("jms:consumer2-in").setBody(body());
from("jms:consumer3-in").setBody(body());
Run Code Online (Sandbox Code Playgroud)
我有几个问题:
我有一种感觉,我正在努力解决一些基本概念.任何帮助表示赞赏.谢谢.
尝试在 mac 上启动 minikube。VirtualBox 正在提供虚拟化。
$ minikube start
minikube v1.1.0 on darwin (amd64)
Creating virtualbox VM (CPUs=2, Memory=2048MB, Disk=20000MB) ...
Configuring environment for Kubernetes v1.14.2 on Docker 18.09.6
? Unable to load cached images: loading cached images: loading image /Users/paul/.minikube/cache/images/k8s.gcr.io/kube-proxy_v1.14.2: Docker load /tmp/kube-proxy_v1.14.2: command failed: docker load -i /tmp/kube-proxy_v1.14.2
stdout:
stderr: open /var/lib/docker/image/overlay2/layerdb/tmp/write-set-542676317/diff: read-only file system
: Process exited with status 1
Failed to setup certs: pre-copy: command failed: sudo rm -f /var/lib/minikube/certs/ca.crt
stdout:
stderr: rm: cannot remove '/var/lib/minikube/certs/ca.crt': Input/output …Run Code Online (Sandbox Code Playgroud) java ×4
algorithm ×1
apache-camel ×1
arraylist ×1
c# ×1
concurrency ×1
cucumber-jvm ×1
docker ×1
jestjs ×1
kubernetes ×1
minikube ×1
mybatis ×1
node.js ×1
sorting ×1
spring ×1
sql ×1
sql-server ×1
volatile ×1