我想使用需要不时排序的数据结构.数据结构的大小几乎不会超过1000个项目.
哪一个更好 - ArrayList或者LinkedList?
哪种排序算法更好用?
有很多类似的问题,但我找不到任何有用的答案.我创建了Facebook应用程序,并代表该应用程序从Facebook获取页面/发布数据. - 我在页面上有特殊的read_insights权限. - 我为我的Facebook App创建了具有该权限的访问令牌.(将自动延长).今天我遇到了暂时性错误的问题:
Error, Code: 4, Message: Application request limit reached
Error, Code: 17, Message: User request limit reached
Run Code Online (Sandbox Code Playgroud)
有相关问题的答案(Facebook api:(#4)达到了应用程序请求限制,Facebook OAuth错误:达到了应用程序请求限制).
根据Facebook平台政策,您应该联系他们,如果您超过或计划超过以下任何阈值,请与我们联系,因为您可能需要遵守其他条款:(> 5M MAU)或(>每天100M API调用)或(每天>> 50M印象).我的应用程序在一周内执行了300K呼叫,因此它不应超过这些限制.我已经联系了Facebook,但他们还没有回复.
我想知道从Facebook获取数据的最佳做法是什么.我需要去取
1. /page_id?fields...
2. /page_id/posts?fields...
3. /post_id/likes?fields...
4. /post_id/comments?fields...
5. /page_id/insights/
6. /post_id/insights/
Run Code Online (Sandbox Code Playgroud)
对于2-4我不能使用批处理请求,因为分页结果,我使用limit = 100,对于5-6我已经创建了具有我需要的特定洞察URL的批处理请求,并且已经无法减少调用次数了.
当我面对时
Error, Code: 4, Message: Application request limit reached
Run Code Online (Sandbox Code Playgroud)
我创建了新的应用程序,用于获取Insights,我同意read_insightsFacebook用户授予权限.然后我面对
Error, Code: 17, Message: User request limit reached
Run Code Online (Sandbox Code Playgroud)
所以我假设如果令牌是由其他拥有read_insights新应用程序权限的用户生成的,那么它可以工作.
有人可以建议什么是最好的方法来解决我的问题?我应该为我的应用程序配置多个页面访问令牌(由不同用户生成),并在发生错误#4或错误#17之一时在它们之间切换?
我已经实现了行为不稳定的servlet,有时它会在内容中混合标题并将其写入两次.
有时它返回的文件包含由内容混合的响应标头,如下所示:
Server: Apache-Coyote/1.1
: W/"43-1353687036000"
DatCCoonntenntt--DDiissppoosittiioonn: : atatatacehnmte;n tf;i lfenlaemnea=m20=12201112211127325421_4W1_Wirnkgi_nSgc_Seern.xnlsx
sx
Content-Typ-eT: ype: applaipcatciaoti/on/toctestt-rstare
am
ConCtoententy-pTeype: appalicatcion/oon/octet-setarm
m
CCoonntent-Lnegtht h: 4199
Date: te: FriF,r i2,3 2No vNo2v0 120162: 215:25 :G4M2T
....
File content bytes ...
And again same header and content
Run Code Online (Sandbox Code Playgroud)
更新 *这种情况发生在Tomcat7*上
我也测试了Tomcat6和Jetty,在这两种情况下都没有注入HTTP-Header来响应内容但是HTTP-Header是错误的并返回错误的文件名,文件内容是正确的文件.我注意到,当返回transfer-encoding被分块时,servlet会发生错误的返回.
当我删除标题内容和第二部分字节时,它是有效文件.可能是同步问题吗?
更新 这里是servlet的完整源代码:
public class ExcelDownloadServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
private static final Logger LOG = Logger
.getLogger (ExcelDownloadServlet.class);
@Override
protected void doGet (HttpServletRequest request,
HttpServletResponse response) …Run Code Online (Sandbox Code Playgroud) 我想将EasyMock Class Extension 3.1添加到我的项目中,我对EasyMock 3.1 CE的依赖性有疑问.我添加依赖项:cglib-2.2.2.jar和asm-4.0.jar并抛出异常:
java.lang.VerifyError: class net.sf.cglib.core.DebuggingClassWriter overrides final method visit.(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
Run Code Online (Sandbox Code Playgroud)
当我使用cglib-nodep-2.1_3.jar和asm-4.0.jar抛出另一个异常时:
java.lang.NoClassDefFoundError: org/objenesis/ObjenesisHelper
at org.easymock.internal.ObjenesisClassInstantiator.newInstance(ObjenesisClassInstantiator.java:26)
at org.easymock.internal.ClassProxyFactory.createProxy(ClassProxyFactory.java:219)
at org.easymock.internal.MocksControl.createMock(MocksControl.java:70)
Run Code Online (Sandbox Code Playgroud)
如何配置EasyMock Class Extension 3.1?我需要使用哪些依赖项?
我注意到以下情况:内部类是在超类中和外部类中调用的方法.这里的代码:
public class Main
{
class Inner extends InnerBase{
public void callMethod(){
method();
}
}
void method(){
System.out.println ("Called Main's method");
}
class InnerBase{
void method(){
System.out.println ("Called InnerBase's method");
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在,当callMethod()调用它时,它调用超类的方法并打印"Called InnerBase的方法".如果我试图在IDE(Eclipse)上调用callMethod()中调用的方法()上的"Open Declaration",那么它将转到外部类中的方法.令人困惑的是,一个人称之为真实.能否建议或提供一些解释在外类和超类中选择同名执行方法的情况的材料.先感谢您.