我正在研究我在Eclipse上的常规项目,它是一个J2EE应用程序,由Spring,Hibernate等构成.我正在使用Tomcat 7(没有特别的原因,我没有利用任何新功能,我只是想尝试一下).每次我调试我的应用程序时,都会发生Eclipse调试器弹出,就像它已到达断点一样,但事实并非如此,实际上它停在Java源文件上ThreadPoolExecutor.控制台上没有堆栈跟踪,它只是停止.然后,如果我点击继续,它继续,应用程序完美.这是调试器窗口中显示的内容:
Daemon Thread ["http-bio-8080"-exec-2] (Suspended (exception RuntimeException))
ThreadPoolExecutor$Worker.run() line: 912
TaskThread(Thread).run() line: 619
Run Code Online (Sandbox Code Playgroud)
我真的无法解释这个,因为我根本就没用ThreadPoolExecutor.必须是来自Tomcat,Hibernate或Spring的东西.这非常烦人,因为我总是要在调试过程中恢复.
有线索吗?
我正在研究Android为我的应用程序处理方向更改的方式(我发现它重新开始了方向更改的主要活动.我已经看到你可以覆盖方法
protected void onSaveInstanceState(Bundle outState)
Run Code Online (Sandbox Code Playgroud)
要保存内容,请在onStart中进行操作.问题是我使用自定义适配器查看自定义对象和列表视图.一切都在这些对象的ArrayList中,但我注意到你不能在bundle中放置任意对象!那么如何保存状态呢?
我正在写一个简单的网络应用程序......我需要知道我的机器在网络上的真实IP,如192.168.1.3.getLocalHost返回127.0.0.1(在Linux上,dunno,如果它在Windows上是相同的)怎么做?
这是一个通用的问题.我不是在寻找最好的答案,我希望你能表达你最喜欢的做法.
我想用Java实现一个网络协议(但这是一个相当普遍的问题,我在C++中面临同样的问题),这不是第一次,正如我之前所做的那样.但我认为我错过了实施它的好方法.实际上通常都是关于在主机之间交换文本消息和一些字节缓冲区,存储状态并等到下一条消息到来.问题是我通常最终得到一堆开关,并且或多或少复杂的if语句对不同的状态/消息作出反应.整件事情通常变得复杂而难以保持.更不用说有时出现的东西有一些"盲点",我的意思是协议的状态没有被覆盖并且以不可预测的方式表现.我试着写下一些状态机类,负责以或多或少的智能方式检查每个动作的开始和结束状态.这使编程协议变得非常复杂,因为我必须编写行和代码行来覆盖每种可能的情况.我喜欢的是一个好的模式,或者用于编写复杂协议的最佳实践,易于维护和扩展,并且非常易读.
你有什么建议?
如何获取元素的实际屏幕位置,比如说按钮?如果我使用getBounds,我得到相对于父容器的位置,而不是屏幕......
我正在编写一些使用HTML5画布的代码.一般来说效果很好,但现在我发现了一种非常奇怪的行为.奇怪的是,它在不同的浏览器上是一致的,所以必须是我理解错误的东西......尽管文档似乎正好说明了我在做什么.这是代码(它是一个对象方法):
MyCanvas.prototype.getElement = function() {
var innerHtml = "<div></div>";
var elem = jQuery(innerHtml, {
'id' : this.viewId
});
var canvas = jQuery("<canvas/>", {
'id' : this.viewId + "canvas",
'width' : this.width,
'height' : this.height
});
var w = this.width;
var h = this.height;
jQuery(elem).append(canvas);
var imgElem = new Image();
imgElem.src = this.maskImage;
imgElem.onload = function() {
var ctx = canvas[0].getContext('2d');
ctx.drawImage(this, 0, 0, w, h);
};
return elem;
};
Run Code Online (Sandbox Code Playgroud)
在此之后,我将再次使用jQuery将此元素附加到已经在页面中的Div(这是空白).结果将是图像过度伸展,就像宽度的十倍......这很奇怪,因为对于我对drawImage的理解,它应该使用w和h值来缩放图像,并且假设w和h是画布的大小,应该很合适.
我究竟做错了什么?是因为我绘制了渲染的DOM树吗?
有一天我试着这样做,但它不起作用:
enum MyEnum {ONE = 1, TWO = 2}
Run Code Online (Sandbox Code Playgroud)
令我惊讶的是,它没有编译!如何定制自定义序列???
我正在尝试从Java连接到ElasticSearch,但我只能通过HTTP连接.我不能用TransportClient.ElasticSearch REST API是否有Java客户端包装器?如果是这样,我该如何使用它?
我对ES文档感到困惑,事实上他们在这里声明索引必须在映射dir(和indexname sub dirs)中:
可以在名为[mapping_name] .json的文件中定义映射,并将其置于config/mappings/_default位置下,或置于config/mappings/[index_name]下(对于应仅与特定索引关联的映射).
但后来这里的"配置"一节中,它指出:
索引模板也可以放在模板目录下的配置位置(path.conf)中(注意,确保将它们放在所有符合条件的主节点上).例如,名为template_1.json的文件可以放在config/templates下,如果它与索引匹配,则会添加它.
我把我的映射放进去/config/mappings/myindexname/mappinfile.json,它就像:
{
"template": "maincontentindex",
"settings": {
"index": {
"analysis": {
"analyzer": {
"htmlStrippingAnalyzer": {
"tokenizer": "standard",
"filter": ["standard", "lowercase"],
"char_filter": "html_strip"
}
}
}
}
},
"mappings": {
"rendition": {
"_timestamp": {
"enabled": true,
"store" : true
},
"properties": {
"key": {
"type": "string",
"store": "yes",
"analyzer": "keyword"
},
"parentPage": {
"type": "string",
"store": "yes",
"analyzer": "keyword"
},
"type": {
"type": "string",
"store": "yes",
"analyzer": "keyword"
}, …Run Code Online (Sandbox Code Playgroud)