我正在使用Apache Commons HttpClient PostMethod 3.1.
在PostMethod类中,还有三种设置POST方法请求体的方法:
setRequestBody(InputStream body)
setRequestBody(String body)
setRequestBody(NameValuePair[] parametersBody);
Run Code Online (Sandbox Code Playgroud)
NameValuePair API
不推荐使用前两种方法.有人知道为什么吗?因为如果我想将XML放到请求体中,NameValuePair对我没有帮助.
有人知道解决方法或解决方案吗?
equals(object)方法的契约指定了要遵循的4个属性:自反,对称,传递和一致.虽然我理解不遵循Reflexive,Symmetric和Consistent的危险,并且肯定会同意其传递的好处,但我想知道如果违反Transitive属性会带来什么伤害?
具体来说,哪个Java库(或各种第三方库)需要依赖equals才能传递才能正常工作?根据我的理解,如果其他3个属性得到很好的实现,Collections框架将会起作用.
我可以想象一些任务计划花费很长时间,并ScheduledThreadPoolExecutor为其他需要运行的任务创建额外的线程,直到达到最大线程数.
但似乎我只能为池指定固定数量的线程,为什么会这样呢?
为什么不switch表达允许long,float,double或boolean在Java中值?为什么只允许 int(和那些自动升级的int)允许?
我想写一个抽象方法,但编译器持续给出了这个错误:
抽象方法不能有一个体
我有这样的方法:
public abstract boolean isChanged() {
return smt else...
}
Run Code Online (Sandbox Code Playgroud)
这有什么不对?
关于何时应该使用URL的路径参数而不是应该使用查询参数时,是否有经验法则?
说我有一个表发票与字段公司(PK),InvoiceNo(PK),Invoiceline,invoiceValue,noOfLines,salesPerson
我目前的想法是你的网址应该是这样的
/Invoice/
Run Code Online (Sandbox Code Playgroud)
哪个会显示所有发票
/Invoice/{company}
Run Code Online (Sandbox Code Playgroud)
这将显示公司的所有发票.
/Invoice/{company}/{InvoiceNo}
Run Code Online (Sandbox Code Playgroud)
显示特定发票和
/Invoice/{company}/{InvoiceNo}?invoiceLineNo=23
Run Code Online (Sandbox Code Playgroud)
仅显示第23行.
我想的方式是主键字段应该是路径的一部分,你要过滤的任何其他字段都是查询参数的一部分.
这听起来像是区分两者的合理方式吗?
刚做了一个有趣的案例.
我的软件报告了由于路径长于MAX_PATH而导致的故障.
该路径只是我的文档中的一个普通旧文档,例如:
C:\Documents and Settings\Bill\Some Stupid FOlder Name\A really ridiculously long file thats really very very very..........very long.pdf
Run Code Online (Sandbox Code Playgroud)
总长度为269个字符(MAX_PATH == 260).
用户没有使用外部硬盘或类似的东西.这是Windows托管驱动器上的文件.
所以我的问题是这个.我应该关心吗?
我不是说可以我对付长的路径,我问应该 I.是的,我知道一些的Win32 API的"\?\"的Unicode劈,但似乎这个技巧是不是没有风险(如它正在改变API解析路径的行为方式),并且所有API都不支持.
所以,无论如何,让我只说出我的立场/断言:
基本上,人们可以这样看待它:一个胭脂工具允许用户创建一个许多Windows无法访问的文件(例如Explorer).我可以认为我不应该处理这个问题.
(顺便说一下,这不是对最短路径长度的批准投票:我认为260个字符是一个笑话,我只是说如果Windows shell和一些API无法处理> 260那么我为什么要这样做?).
那么,这是一个公平的观点吗?我应该说"不是我的问题"吗?
更新:刚刚让另一个用户遇到同样的问题.这次是一个mp3文件.我错过了什么吗?这些用户如何创建违反MAX_PATH规则的文件?
Java中有没有办法通过反射或一些很棒的API动态获取当前行号?就像异常发生时一样,行号在堆栈跟踪中打印出来,如下所示:
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:348)
Run Code Online (Sandbox Code Playgroud)
现在有没有办法在下面的代码中打印或记录?
log.error("Error in: " + this.getClass.getName() + "at line #"+ this.getClass.getActualLine());
Run Code Online (Sandbox Code Playgroud)
你可能会问,我为什么不简单地打印行号?好吧,因为代码可能会在特定的log.error()方法调用之前被删除或添加.
在实现无限循环时,使用while(1)vs for(;;)vs 会有区别goto吗?
谢谢,陈兹
什么是最大尺寸HashSet,Vector,LinkedList?我知道ArrayList可以存储超过3277000个数字.
但是列表的大小取决于内存(堆)大小.如果达到最大值,JDK会抛出一个OutOfMemoryError.
但我不知道元素数量的限制HashSet,Vector和LinkedList.
java ×8
abstract ×1
c ×1
collections ×1
for-loop ×1
goto ×1
jax-rs ×1
loops ×1
max-path ×1
methods ×1
reflection ×1
request ×1
rest ×1
threadpool ×1
while-loop ×1
winapi ×1