如何在Clojure中实现Java接口

如何创建实现此接口的Clojure对象,然后从Java代码调用? public interface Doer { public String doSomethin(String input); } Doer clojureDoer = ?; String output = clojureDoer.doSomethin(input);

设置方法/线程的最大执行时间

我有一个写入数据库的方法。 要求是确保在经过一段时间后该方法不会执行。 如果它在此之前返回,则不应该做任何事情。 我能想到的一个基本方法是做这样的事情。 public class LimitedRuntime { public static void writeToDb(){ // writes to the database } public static void main(String[] args) { long totalExecutionTime = 8000L; long startTime = System.currentTimeMillis(); while(System.currentTimeMillis() – startTime < totalExecutionTime ) { writeToDb(); } } } 这种方法的一个问题是,即使该方法在最大总执行时间之前返回,即使这样,程序也会停止以等待经过的时间。 我怎样才能做得更好(或者更正确)? 如果我们使用Thread ,我们怎样才能找出哪个Thread执行该方法?

Jfreechart中条形的宽度

有没有办法调整条形图中条形的宽度? 我使用以下代码创建我的图表。 final JFreeChart chart = ChartFactory.createBarChart(“Report”, // chart title “Date”, // domain axis label “Number”, // range axis label dataset, // data PlotOrientation.VERTICAL, // orientation true, // include legend true, // tooltips? false // URLs? );

Java中的网络发现使用多播

我正在尝试制作客户端/服务器Java App。 客户端和服务器都将在同一个Wi-Fi网络上运行。 服务器将在客户端知道的特定端口上运行。 我打算通过网络从客户端发送多播消息,以发现该服务器。 但是,我不太清楚如何才能找到我网络中的哪些IP收到了我的消息。 我是否需要在客户端上创建套接字并在发送多播消息时侦听传入的数据包,以防服务器回复? 提前致谢。

如何让JToolBars包装到下一行(FlowLayout)而不将它们隐藏在它们下方的JPanel中?

我正在制作一个GUI,它在一个大型JPanel上方显示三个JToolBars。 这些工具栏总体上非常大,所以我使用FlowLayout使它们在到达JFrame边界时换行到下一行。 问题是,当它们换行到下一行时,它们会被下面的JPanel隐藏起来。我希望我可以强制包含工具栏的JPanel增长到足以显示所有工具栏。 有没有办法做到这一点? 或者是否有其他方法可以使这些工具栏可见?

卡片组JAVA

我已经创建了一副卡片,可以处理每张卡片和一套西装,直到没有剩余卡片为止。 对于我的项目,我需要将其拆分为3个类,其中包括一个驱动程序类。 我首先用一切创建了一个类,所以我知道如何使它全部工作。 public class DeckOfCards2 { public static void main(String[] args) { int[] deck = new int[52]; String[] suits = {“Spades”, “Hearts”, “Diamonds”, “Clubs”}; String[] ranks = {“Ace”, “2”, “3”, “4”, “5”, “6”, “7”, “8”, “9”, “10”, “Jack”, “Queen”, “King”}; // Initialize cards for (int i = 0; i < deck.length; i++) { deck[i] […]

Java Http Client通过POST上传文件

我正在开发一个J2ME客户端,它必须使用HTTP将文件上传到Servlet。 使用Apache Commons FileUpload覆盖servlet部分 protected void doPost(HttpServletRequest request, HttpServletResponse response) { ServletFileUpload upload = new ServletFileUpload(); upload.setSizeMax(1000000); File fileItems = upload.parseRequest(request); // Process the uploaded items Iterator iter = fileItems.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); File file = new File(“\files\\”+item.getName()); item.write(file); } } Commons Upload似乎只能上传多部分文件,但没有application / octect-stream。 但是对于客户端,没有Multipart类,在这种情况下,也不可能使用任何HttpClient库。 其他选项可能是使用HTTP Chunk上传,但我还没有找到一个明确的例子,说明如何实现它,特别是在servlet端。 我的选择是: – […]

如何使用jsoup从HTML解析表

5,390.85 5,428.15 5,376.15 5,413.85 这是HTML源代码,我必须从中提取值5390.85,5428.15,5376.15,5413.85。 我想用jsoup来做这件事。 但我对jsoup相对较新(今天我开始使用它)。 那我该怎么做呢? URL url = new URL(“http://www.nseindia.com/content/equities/niftysparks.htm”); Document doc = Jsoup.parse(url,3*1000); String text = doc.body().text(); 我已经使用jsoup提取了网站的内容。 但如何提取我需要的值? 提前致谢

使用相同的字符串文字而不是最终变量?

我遇到过一个包含字符串文字“foo”的多种用法的类。 我想知道的是,使用这种方法有什么好处和影响(在对象创建,内存使用和速度方面),而不是将String声明为final并用最终变量替换所有文字? 例如(虽然显然不是真正的单词用法): private static final String FINAL_STRING = “foo”; public void stringPrinter(){ for(int i=0;i<10;i++){ System.out.println(FINAL_STRING); } } 与: public void stringPrinter(){ for(int i=0;i<10;i++){ System.out.println("foo"); } } 哪个更好,为什么(假设字符串值保持不变)? 上面的(第二个)示例是否会导致创建10个String对象,或者JVM是否会意识到实际只使用了一个文字,并创建了一个引用。 如果是这样,将String声明为final是否有任何优势(如第一个例子中所示)? 如果解释的代码确实用单个引用替换字符串文字,那么如果相同的文字出现在多个位置,那么它是否仍然适用: public void stringPrinter(){ for(int i=0;i<5;i++){ System.out.println("foo"); // first occurence System.out.println("foo"); // second occurence } }

记录axis2客户端请求和响应

我想记录axis2客户端发出的所有请求/响应。 我试图在http://code.google.com/support/bin/answer.py?hl=zh-CN&answer=15137中创建一个名为client-config.wsdd的文件作为描述,但没有成功(我没有得到日志文件)。 请求是通过https进行的,我不确定是否重要。 我试过了 和 没有成功。