我有一个端点:
@POST
@Path("/test")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public String canaryTest(String JSON) {
return JSON;
}
Run Code Online (Sandbox Code Playgroud)
当我使用Jersey在Jetty中注册时
ServletHolder holder = new ServletHolder(new ServletContainer());
Run Code Online (Sandbox Code Playgroud)
一切似乎都很好.但是,如果我尝试明确指定默认配置,它将停止工作(从端点返回媒体类型错误).即使只是将ResourceConfig的默认实例传递给ServletContainer,它也会停止工作.
ResourceConfig config = new ResourceConfig();
//config.property(x,defaultX)
//config.property(y,defaultY)
ServletHolder holder = new ServletHolder(new ServletContainer(config));
Run Code Online (Sandbox Code Playgroud)
我想手动和显式地模拟默认配置行为,所以我在这里要问的是我应该如何配置ResourceConfig以使行为保持工作(即,要设置的属性)
PS:我正在使用Jetty 9.2.6.v20141205和Jersey 2.14.Maven中的依赖关系:
我正在寻找一种方法来模拟 Java 8 流的以下行为。给定一个年份流,对它们进行排序,以便输出前 10 个值,这样在输出一年后,该值就会减少,并且迭代会再次重新开始:
如果我输入 2005 年、2020 年、2000 年、1967 年和 2018 年,我预计会得到以下结果(限制为 10):
2020
2019
2018 2018
2017 2017
2016 2016 2016
2015 ...
Run Code Online (Sandbox Code Playgroud)
我正在使用的测试是:
public class LazyTest {
public static void main(String[] args) {
Stream.of(2005,2020,2000,1967,2018)
.map(YearWrapper::new)
.sorted()
.limit(10)
.peek(year -> year.decreaseYear())
.forEach(System.out::println);
}
public static class YearWrapper implements Comparable<YearWrapper>{
private int currentYear;
public YearWrapper(int year){
this.currentYear=year;
}
public void decreaseYear(){
currentYear--;
}
@Override
public int compareTo(YearWrapper yearsToCompare) {
return Integer.compare(yearsToCompare.currentYear, this.currentYear);
}
@Override
public String toString(){
return …Run Code Online (Sandbox Code Playgroud) 似乎有2种方式对Pod进行逻辑分组,分别是:
到底有什么区别和用例?
我会尽量做空,因为这个问题还没有得到很好的回答.经过长时间的解释,请参阅此简报.
我将展示我想做的事情.像这样的东西(从构造函数中推断传入的类型,以便在另一个方法getLeaderHerd中使用它作为返回类型)...:
public class ZooCage{
private CageFamily<T> inhabitants;
public <T>ZooCage(CageFamily<T> herd) {
this.inhabitants=herd;
}
public T getHerdLeader() {
return inhabitants.getLeader();
}
}
Run Code Online (Sandbox Code Playgroud)
或这个
public class ZooCage{
private (Type) T;
public ZooCage(CageFamily<T> herd) {
this.T=T;
}
public T getHerdLeader() {
return inhabitants.getLeader();
}
}
Run Code Online (Sandbox Code Playgroud)
所以我可以从Main调用类似的东西:
ZooCage cage = new ZooCage(new CageFamily<Lion>()); //Imagine new CageFamily its not empty
Lion leader = cage.getHerdLeader();
Run Code Online (Sandbox Code Playgroud)
即使它不可能,为什么我认为这是不合理的功能?它的类型是安全的,如果编译器是智能的并且不那么冗余,那就是没有必要的类ZooCage
我,正在评估使用泛型的特定行为.我设法让它工作,但我不明白为什么我不能从arg中推断出类型.因此,我创建了这个示例,该示例在没有警告的情况下运行正常,目的是简化实际架构.
(直接查看最后的2行代码段以获得快速简报)
假设我有这两个课程.目标之一:
package Zoo;
import Zoo.Main.CageFamily;
import Zoo.Main.Vertebrate;
public class ZooCage<T extends Vertebrate>{
private CageFamily<T> inhabitants;
public ZooCage(CageFamily<T> …Run Code Online (Sandbox Code Playgroud) 我不明白Javadoc:
The natural ordering for a class C is said to be consistent with equals if and only if
(e1.compareTo((Object)e2) == 0) has the same boolean value as e1.equals((Object)e2) for
every e1 and e2 of class C.
Run Code Online (Sandbox Code Playgroud)
为什么要那样?
我知道e1.equals(e2)= true应该始终意味着e1.compareTo(e2)== 0,但我无法理解为什么相反应该是真的.比较不平等!2个相等的对象应该与零进行比较,但是如果排序标准与它们的情况不相关,则2个不同的对象应该能够比较0.我的意思是,让不同的对象等于不正确,但不同的对象与0比较为什么不呢?
编辑:后来它表示强烈建议一致性,因为一些兼容性问题,因此问题
我将通过4个简单的问题总结逻辑:
以前的一些场景是否会改变父页面的行为?我的意思是,允许您对子页面的权限会使您自动获得查看父页面的权限.
此外,hidden和*non-hidde*n页面之间有什么区别?我可以通过链接浏览!
例如,如果我按List<Individual>10人排序Individual::Age,我输入Alice(3),Bob(5)和Charles(3),输出将是Alice(3),Charles(3),Bob(5)或者是爱丽丝和查尔斯有可能以一种不同于输入的顺序输出它们的方式进行交换吗?
编辑:
似乎他的财产有一个正确的名称:https://en.wikipedia.org/wiki/Sorting_algorithm#Stability
在Maven的汇编指南(https://maven.apache.org/guides/mini/guide-assemblies.html)中,声明:
您会注意到程序集描述符位于$ {project.basedir}/src/assembly中,这是程序集描述符的标准位置.
但是在maven程序集插件页面(https://maven.apache.org/plugins/maven-assembly-plugin/examples/sharing-descriptors.html)中,它说:
注意:程序集描述符必须位于目录/ src/main/resources/assemblies中才能用于Assembly Plugin.
他们是两个不同的东西?他们中的任何一个都过时了吗?
我的意思是
for (int i=1; i<7; i++)
Run Code Online (Sandbox Code Playgroud)
当纯粹用于迭代次数时,它更具可读性
for (int i=0; i<6; i++)
Run Code Online (Sandbox Code Playgroud)
但有些另一种方法已经成为标准.
你怎么看?这是一种不好的做法还是气馁?
有没有办法模拟Collections.shuffle的行为而没有比较器易受排序算法实现的影响,结果是安全的?
我的意思是不打破可比合同等.
java ×7
collections ×3
sorting ×3
comparator ×2
java-8 ×2
comparable ×1
containers ×1
equals ×1
for-loop ×1
generics ×1
inference ×1
java-stream ×1
jax-rs ×1
jersey ×1
jetty ×1
json ×1
kubernetes ×1
lambda ×1
liferay ×1
loops ×1
maven ×1
portlet ×1
private ×1
types ×1