List<Integer> list = Lists.newArrayList(1, 2, 3);
List<Integer> list2 = null;
// throws NullPointerException
list.addAll(list2);
// using a check here
if (list2 != null) {
list.addAll(list2);
}
Run Code Online (Sandbox Code Playgroud)
有没有一种Java 8方法可以在一行中简单地完成它?
这是我拥有的,但实际上我不需要创建boolean:
boolean added = list2 != null ? list1.addAll(list2) : false;
Run Code Online (Sandbox Code Playgroud) DelegatingFilterProxy有两个我可以在我的应用程序中使用的构造函数
new DelegatingFilterProxy(String beanName);
new DelegatingFilterProxy(Filter delegate);
Run Code Online (Sandbox Code Playgroud)
在我webappIntializer,我有以下.(请参阅下面的完整代码).
servletContext.addFilter("counterMetricsFilter", new DelegatingFilterProxy("counterMetricsFilter").addMappingForUrlPatterns(null,
false, MAPPING_URL);
Run Code Online (Sandbox Code Playgroud)
我不确定DelegatingFilterProxy我的情况是否正常运作.
Controller
@Controller
@RequestMapping("/counter")
public class CounterController {
@Autowired
CounterManager manager;
@RequestMapping(value = "/counterMetrics", method = RequestMethod.GET)
@ResponseBody
public Map getFeatureStatus(final HttpServletResponse response) {
System.out.println("returning feautre status");
return manager.getQueryCounts();
}
}
Run Code Online (Sandbox Code Playgroud)
Manager
@Service
public class CounterManager {
private Map<String,Integer> queryCounts =
new ConcurrentHashMap<String,Integer>(1000);
int threshold;
long timestamp;
@Autowired
public CounterManager(@Value("${healthThreshold: 10}")
int threshold) {
this.threshold = threshold * MEGABYTES;
this.timestamp = System.currentTimeMillis();
} …Run Code Online (Sandbox Code Playgroud) 我org.sun.management在JRE系统库中看到了,但我无法在我的日食中导入.允许它的任何原因.甚至maven编译失败
这是截图.
我在用 Java 8.
我想这样做:
if (operatingSystemBean instanceof com.sun.mananagement.OperatingSystemMXBean) {
})
Run Code Online (Sandbox Code Playgroud) 我在用spring-boot 1.4.0.RELEASE.这是我的测试课
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment= WebEnvironment.RANDOM_PORT)
@WebAppConfiguration
public class ApplicationTests {
@Test
public void contextLoads() {
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行这个测试时(虽然它现在什么都不做),测试因启动而失败NullpointerException(下面的堆栈跟踪)
但是,如果我删除webEnvironment= WebEnvironment.RANDOM_PORT,一切看起来都不错.
堆栈跟踪:
java.lang.IllegalStateException: Failed to load ApplicationContext
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:124)
at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:83)
at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:189)
at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:131)
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:230)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:228)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:287)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:289)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:247)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:119)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:42)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:234) …Run Code Online (Sandbox Code Playgroud) 我有两个X轴和Y轴输入值.我想将直方图绘制为折线图.附图中提供了一个例子.我无法使用这些值绘制直方图.
ys = [0.21428571428571427, 0.14285714285714285, 0.047619047619047616, 0.11904761904761904, 0.09523809523809523, 0.09523809523809523, 0.023809523809523808, 0.09523809523809523, 0.11904761904761904, 0.047619047619047616]
xs = [0,1,2,3,4,5,6,7,8,9]
Run Code Online (Sandbox Code Playgroud)
我试过了
plt.hist(xs,ys)
plt.show()
Run Code Online (Sandbox Code Playgroud)
但它失败了.
我对如下图形感兴趣,最好在直方图上有和没有直线.
.
X轴和Y轴分配有xs和ys的值.
这是Joshua Bloch撰写的有效Java第2版第2章第24页的代码.在他定义的pop方法中,他使用了elements[--size].我想知道他为什么使用--size,而elements[size--]应该返回相同的正确?
public class Stack {
private Object[] elements;
private int size = 0;
private static final int DEFAULT_INITIAL_CAPACITY = 16;
public Stack() {
elements = new Object[DEFAULT_INITIAL_CAPACITY];
}
public void push(Object e) {
ensureCapacity();
elements[size++] = e;
}
public Object pop() {
if (size == 0)
throw new EmptyStackException();
return elements[--size];
}
/**
* Ensure space for at least one more element, roughly
* doubling the capacity each time the array needs to …Run Code Online (Sandbox Code Playgroud) 我有一个脚本,我正在尝试设置shebang,以便我执行
./script.py而不是python script.py.当它是我脚本的最顶层时,这对我有用
#!/usr/bin/env python.这用env.
当我试图改变这个时
#/usr/local/lib/python2.7,我收到此错误消息
/usr/local/lib/python2.7: bad interpreter: Permission denied
Run Code Online (Sandbox Code Playgroud)
当我检查我的python版本时,它是
>>> import sys
>>> sys.version
'2.7.3 (default, Jun 21 2013, 13:45:37) \n[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)]'
>>>
Run Code Online (Sandbox Code Playgroud)
和sys.path给出/usr/local/lib/python2.7/*.虽然我没有看到任何具体的内容python2.7.3.
你可以指导我如何设置使用pythonpath而不是env.
谢谢
我发现这个代码用于在Java中将二叉树展平为数组.我很难理解它是如何工作的.
这是代码:
private static int FlattenTreeIntoArray(Node tree, int[] array, int i)
{
if (tree == null) return i;
// Flatten left subtree
i = FlattenTreeIntoArray(tree.Left, array, i);
// Get data from the current node
array[i] = tree.Data;
// Flatten right subtree
i = FlattenTreeIntoArray(tree.Right, array, i + 1);
return i;
}
Run Code Online (Sandbox Code Playgroud)
我的问题如下:
这是辅助方法,实际调用的方法是什么,或者作为参数(int[] array和int i)传递的是什么?我们不知道二叉树的大小.
该方法如何工作?当它tree是null,它返回i.那是什么意思?
扁平化是如何发生的?为什么i+1被传递给right tree,但i要left tree?
如果您可以使用此二叉树进行演示,则可以很容易地遵循:

我正在读关于instruction set在维基和我碰到这一段就来了:
一些支持字节码作为其ISA的虚拟机,如Smalltalk,Java虚拟机和Microsoft的公共语言运行时,通过将常用代码路径的字节码转换为本机机器代码来实现这一点.此外,这些虚拟机通过解释执行不常用的代码路径(请参阅:即时编译).Transmeta以这种方式在VLIW处理器上实现了x86指令集.
这到底是什么意思?是bytecodesARE ISA的JVM和JVM在转支持ISA的处理器.
在C我可以Endianess通过以下方法的机器.我如何使用python或Java程序?在Java中,char 2-bytes与C它不同1-byte.我认为这可能是不可能的,python因为它是一个dynamic language,但我可能是错的
bool isLittleEndian()
{
// 16 bit value, represented as 0x0100 on Intel, and 0x0001 else
short pattern = 0x0001;
// access first byte, will be 1 on Intel, and 0 else
return *(char*) &pattern == 0x01;
}
Run Code Online (Sandbox Code Playgroud) java ×6
python ×3
java-8 ×2
algorithm ×1
arrays ×1
binary-tree ×1
bytecode ×1
c ×1
collections ×1
endianness ×1
env ×1
histogram ×1
jvm ×1
linegraph ×1
matplotlib ×1
processor ×1
pythonpath ×1
shebang ×1
spring ×1
spring-boot ×1
spring-mvc ×1
spring-test ×1
stack ×1
sun ×1