如何下载文件并在本地获取路径位置

我有一个URL,即http://downloadplugins.verify.com/Windows/SubAngle.exe 。 如果我将其粘贴到选项卡上并按Enter键,则文件(SubAngle.exe)将被下载并保存在下载文件夹中。这是手动过程。但是可以使用java代码完成。 我用文件名即SubAngle.exe编写了获取绝对路径的代码。 要求: – 在下载URL文件的帮助下,validation文件是否已下载并返回文件的绝对路径。 where locfile is “http://downloadplugins.verify.com/Windows/SubAngle.exe” public String downloadAndVerifyFile(String locfile) { File fileLocation = new File(locfile); File fileLocation1 = new File(fileLocation.getName()); String fileLocationPath = null; if(fileLocation.exists()){ fileLocationPath = fileLocation1.getAbsolutePath(); } else{ throw new FileNotFoundException(“File with name “+locFile+” may not exits at the location”); } return fileLocationPath; }

Grails / Groovy内存泄漏疑难解答?

我有一个Grails应用程序,它做了相当不错的领域对象创建和破坏,它似乎以非常非常快的速度耗尽了PermGen空间。 我做了通常的调整(碰到PermGen到256M,启用了类GC等),但没有骰子。 是否有人愿意推荐一些(并希望免费或非常低成本)工具来解决Groovy和/或Java中的这种内存消耗? 或者您用来解决JVM内存问题的一些技巧? 编辑:这是在生产模式下在Tomcat内部署应用程序的时间; 我没试过其他容器。 即便如此,拥有一些资源来追踪问题会很好。

ExecutorService令人惊讶的性能收支平衡点 – 经验法则?

我试图弄清楚如何正确使用Java的Executors。 我意识到向ExecutorService提交任务有其自己的开销。 但是,我很惊讶它看到它的高度。 我的程序需要以尽可能低的延迟处理大量数据(股票市场数据)。 大多数计算都是相当简单的算术运算。 我试着测试一些非常简单的东西:“ Math.random() * Math.random() ” 最简单的测试在一个简单的循环中运行这个计算。 第二个测试在匿名Runnable中进行相同的计算(这应该衡量创建新对象的成本)。 第三个测试将Runnable传递给ExecutorService (这测量引入执行程序的成本)。 我在我的小型笔记本电脑上运行测试(2 cpus,1.5 gig ram): (in milliseconds) simpleCompuation:47 computationWithObjCreation:62 computationWithObjCreationAndExecutors:422 (大约四次运行中,前两个数字最终相等) 请注意,执行程序所花费的时间远远多于在单个线程上执行的时间。 对于1到8之间的线程池大小,数字大致相同。 问题:我是否遗漏了一些明显的或预期的结果? 这些结果告诉我,我传递给执行程序的任何任务都必须进行一些非平凡的计算。 如果我正在处理数百万条消息,并且我需要对每条消息执行非常简单(且便宜)的转换,我仍然可能无法使用执行程序…尝试在多个CPU之间传播计算可能最终会比仅仅更昂贵在一个线程中完成它们。 设计决策变得比我原先想象的要复杂得多。 有什么想法吗? import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; public class ExecServicePerformance { private static int count = 100000; public static void main(String[] args) throws InterruptedException { […]

管理Java servlet的数据库连接的最佳方法

在Java servlet中管理数据库连接的最佳方法是什么? 目前,我只是在init()函数中打开一个连接,然后在destroy()关闭它。 但是,我担心“永久”持有数据库连接可能是一件坏事。 这是处理这个问题的正确方法吗? 如果没有,有什么更好的选择? 编辑:进一步澄清:我已经尝试过为每个请求打开/关闭一个新连接,但是通过测试我看到由于创建了太多连接而导致的性能问题。 在多个请求上共享连接有什么价值吗? 对这个应用程序的请求几乎都是“只读”并且相当快(尽管请求的数据相当小)。

一次登录应用程序 – FirebaseAuth

我正在开发一款使用Firebase身份validation通过电话号码登录用户的应用。 我想添加一个function,使用户只有一次性登录,即使用户杀死应用程序并再次启动它,他应该登录。此外,我不想添加注销function。 可以做些什么呢?

自动化Eclipse插件开发的unit testing(junit)

我正在开发Eclipse插件,我需要能够为每个插件自动构建和执行测试套件。 (使用Junit) 测试在Eclipse中工作,我可以将插件分解为实际的插件和片段插件,用于unit testing,如此处所述, 此处以及此处的几个地方。 但是,上述每种方法都会导致相同的问题:发出构建或应触发测试的java ant task / commandline命令,不会产生可观察到的副作用,并返回值“13”。 我已经尝试了所有我能找到的东西,并且我已经了解了Eclipse如何启动(例如:从v3.3开始,你不能再使用startup.jar – 它不存在 – 但你应该使用org.eclipse.equinox.launcher )。 不幸的是,虽然这显然是必要的信息,但远远不够。 我正在使用Eclipse 3.4,Junit 4.3.1(org.junit4包,但我更喜欢使用JUnit 4.4。请看这里 。) 所以,我的问题是:你如何自动化Eclipse插件的构建和测试? 编辑:为了澄清,我想使用像ant +巡航控制这样的东西,但我甚至无法让unit testing在 Eclipse之外运行。 我说“类似的东西”,因为还有其他技术可以完成同样的事情,而且我不会那么挑剔,因为它丢弃了一个可行的解决方案,因为它使用的是Say,Maven或Buckminster,如果这些技术使这变得更容易。 Edit2:上面提到的’Java Result 13’似乎是由于无法找到coretestrunner造成的。 从日志中: java.lang.RuntimeException: Application “org.eclipse.test.coretestapplication” could not be found in the registry. The applications available are: org.eclipse.equinox.app.error, com.rcpquickstart.helloworld.application. at org.eclipse.equinox.internal.app.EclipseAppContainer.startDefaultApp(EclipseAppContainer.java:242) at org.eclipse.equinox.internal.app.MainApplicationLauncher.run(MainApplicationLauncher.java:29) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at […]

当Java计算一个连词( && )时,如果exp1为false,它是否eval exp2?

我想知道是否保证在Java程序中,只要左边的表达式(exp1)评估为false,就不会计算连接右边的布尔表达式(上面的exp2)。 我想知道因为我有一个如下表达式: if (var != null && var.somePredicate()) // do something 如果Java在看到var为null之后不能保证停止评估(var != null && var.somePredicate()) ,那么它可能会尝试评估会引发NullPointerException的var.somePredicate() 。 所以我的问题是,Java在这方面是否保证了某种行为? 或者写起来会更安全 if (var != null) { if (var.somePredicate()) // do something }

如何使用java访问github graphql API

我需要访问github graphql API来获取有关某个存储库的一些数据。 以下curl命令工作正常 curl -i -H “Authorization: bearer myGithubToken” -X POST -d ‘{“query”: “query { repository(owner: \”wso2-extensions\”, name: \”identity-inbound-auth-oauth\”) { object(expression:\”83253ce50f189db30c54f13afa5d99021e2d7ece\”) { … on Commit { blame(path: \”components/org.wso2.carbon.identity.oauth.endpoint/src/main/java/org/wso2/carbon/identity/oauth/endpoint/authz/OAuth2AuthzEndpoint.java\”) { ranges { startingLine endingLine age commit { message url history(first: 2) { edges { node { message url } } } author { name email […]

Spring – 以编程方式生成一组bean

我有一个Dropwizard应用程序,需要为配置列表中的每个配置生成十几个bean。 健康检查,石英调度等等。 像这样的东西: @Component class MyModule { @Inject private MyConfiguration configuration; @Bean @Lazy public QuartzModule quartzModule() { return new QuartzModule(quartzConfiguration()); } @Bean @Lazy public QuartzConfiguration quartzConfiguration() { return this.configuration.getQuartzConfiguration(); } @Bean @Lazy public HealthCheck healthCheck() throws SchedulerException { return this.quartzModule().quartzHealthCheck(); } } 我有多个MyConfiguration实例都需要像这样的bean。 现在我必须复制并粘贴这些定义,并为每个新配置重命名它们。 我可以以某种方式迭代我的配置类并为每个类生成一组bean定义吗? 我可以使用子类化解决方案或类型安全的任何东西,而不会让我复制并粘贴相同的代码,并在我必须添加新服务时重命名方法。 编辑:我应该补充一点,我有其他依赖这些bean的组件(例如,他们注入Collection 。)

这个小程序是否适用于冰茶JRE?

我提到了一个小型演示。 在为HTML中嵌入的Applet设置策略和冰茶JRE用户评论该演示。 他们失败了。 他们拒绝了对applet的许可 (因此将其限制在沙盒中)并且应该看到绿色的“这个applet是沙盒子”页面。 相反,小程序完全失败了,他们看到了小程序应该在的“灰色空间”。 我想说它正在尝试实例化一个与众不同的File对象。 IE Sun / Oracle JRE将允许它没有问题,只在applet尝试创建JFileChooser时抛出安全exception。 OTOH冰茶JRE不允许创建File 。 因此,此代码应该解决该问题。 它会移动创建/添加JEditorPane并在new File(..)调用之前安装第一个“所有其他失败”消息,然后是绿色的“沙盒”页面。 我的问题是。 对于使用Iced Tea JRE的用户,此代码是否“广告化”? 测试它: 访问pscode.org/test/docload/applet-latest.html上的applet 拒绝经过数字签名的代码。 这对于创建测试applet的正确条件非常重要。 观察/报告applet是否加载了绿色的sandbox.html 。 沙箱文档将代表修复错误的“成功”。 同样令人感兴趣的是(可能很少)是可信小程序防御加载演示的主页,它链接到小应用程序页面,小程序中显示的每个HTML文件,以及包含源代码的ZIP存档代码和HTML,以及Ant build.xml,这样你就可以“在家里,孩子们”这样做。 这是新代码。 package org.pscode.eg.docload; import java.awt.BorderLayout; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import javax.swing.JApplet; import javax.swing.JButton; import javax.swing.JEditorPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JFileChooser; import java.net.URL; import java.net.MalformedURLException; […]