草庐IT

外部化

全部标签

java - 从外部获取线程变量的值

假设我有一个像这样运行的线程:privatebooleanworking=true;@Overridepublicvoidrun(){working=true;//dosomethingworking=false;....}在我的主线程中,我不断地展示正在使用的状态while(threadClassObject.isWorking()){System.out.println(threadClassObject.isWorking());}这行得通吗?我试过这个例子,它似乎有效。但是有没有办法让它崩溃呢?什么例如如果线程正在改变工作状态,而同时主线程试图读取它,会发生这种情况吗?

java - 外部洗牌 : shuffling large amount of data out of memory

我正在寻找一种方法来随机播放不适合内存(大约40GB)的大量数据。我有大约3000万个条目,长度可变,存储在一个大文件中。我知道该文件中每个条目的开始和结束位置。我需要随机播放这些不适合RAM的数据。我想到的唯一解决方案是将包含从1到N的数字的数组打乱,其中N是条目数,与Fisher-Yatesalgorithm然后根据此顺序将条目复制到新文件中。不幸的是,此解决方案涉及大量查找操作,因此会非常慢。是否有更好的解决方案来对均匀分布的大量数据进行洗牌? 最佳答案 首先解决shuffle问题。为此,请为您的条目发明一种哈希算法,该算法会

java - 如何在 Linux 终端中编译带有外部 jar 文件的 java 项目

我有一个包含外部jar文件的项目,我点击了这个链接http://www.wikihow.com/Add-JARs-to-Project-Build-Paths-in-Eclipse-%28Java%29添加外部java路径。然后我尝试在终端中编译我的代码,但是我仍然收到关于jar文件不存在的错误。我写了如下命令:(目前我在项目目录下,里面有binsrc和lib三个文件夹)bash-3.2$lsbinlibREADME.txtsrcbash-3.2$javac-cplib/jsoup-1.6.1.jarsrc/DayTradingStockBlog.javabash-3.2$java-c

java - 通过外部属性禁用 spring 方法缓存

我使用ehcache和注释驱动配置配置了spring方法缓存。但是我希望能够从我们在应用程序中使用的配置文件中禁用它。我的第一个想法是在方法缓存被禁用时不带任何参数地调用net.sf.ehcache.CacheManager.CacheManager()。这会引发异常:java.lang.IllegalArgumentException:loadCachesmustnotreturnanemptyCollectionatorg.springframework.util.Assert.notEmpty(Assert.java:268)atorg.springframework.cache

java - 具有不可预测的外部依赖性的单元测试代码

我参与了一个项目,除其他外,该项目必须控制各种实验室仪器(机器人、阅读器等...)大多数这些仪器都是通过基于DCOM的驱动程序、串行端口或通过启动具有各种参数的专有程序来控制的。这些程序或驱动程序中的一些包含模拟模式,一些则不包含。显然,我的开发计算机无法连接到所有仪器,虽然我可以为驱动程序包含模拟模式的仪器启动虚拟机,但如果没有实际仪器,有些东西无法测试。现在,我自己的代码主要不是关于仪器上的实际操作,而是关于开始操作,确保一切正常,并在它们之间进行同步。它是用Java编写的,使用各种库与仪器及其驱动程序进行交互。我想为各种仪器控制模块编写单元测试。然而,因为仪器可能会以多种方式失败

java - 在 Eclipse 中添加外部 .jar 文件

我在添加为Java项目下载的.jar文件时遇到问题。这真的是我第一次使用eclipse,所以请耐心等待,出于某种原因(我不知道为什么),我只是觉得它有点令人困惑。我知道,为了引用不同的类文件,您只需要创建一个类库并将其添加到构建路径中。从那里开始,需要完成的所有工作(除非我出于某种原因误解了这一点)是使用“import”关键字将任何必要的.jar、.java或.class/.interface文件导入到项目中。我已经用我的.jar试过了。我在构建路径中引用了它(我所做的只是将jar复制到项目目录,然后使用构建路径选项在外部添加它),但是每当尝试调用对象“Delegator”时,这显然是

java - 在与外部同步相同的对象上进行内部同步

最近我参加了一个关于一些设计模式的讲座:显示了以下代码:publicstaticSingletongetInstance(){if(instance==null){synchronized(Singleton.class){//1Singletoninst=instance;//2if(inst==null){synchronized(Singleton.class){//3inst=newSingleton();//4}instance=inst;//5}}}returninstance;}取自:Double-checkedlocking:Taketwo我的问题与上述模式无关,但与同

java - 使用外部 jar 文件从命令行运行 java 应用程序

我有一个包含主类的外部jar文件(具有包结构),我可以像这样从命令行运行应用程序:java-jarexample.jar但是我在这个jar文件之外还有一个test.class文件,这个jar文件里面的一些类会调用test.class中的方法。如何在命令行中指定jar文件要使用的test.class文件?试了很多方法,总是显示:NoClassDefFoundErrorfortest.class注意:test.class文件也使用example.jar文件中的类文件,有自己的包结构。我知道我可以将它们放在一个jar文件中,不幸的是我需要分开test.class文件。

java - 字符串的外部文件,而不是对它们进行硬编码

我有开发一些Android应用程序的经验,这些应用程序很容易就有XML字符串文件,您可以在其中存储字符串。上次我开发桌面Java应用程序时,我对字符串进行了硬编码(例如按钮标题、标签等)。从那以后,我了解到这是一种不好的做法,我应该将字符串存储在一个文件中。我不确定该怎么做。我目前正在使用Eclipse进行开发。我应该只在我的项目文件夹中粘贴一个文本文件吗?这是标准吗?如何在代码中定位文件? 最佳答案 Eclipse有一个内置的重构功能,您可能会发现它很有用。Source->ExternaliseStrings这将创建一个属性文件,

java - 使用 BouncyCaSTLe 创建 key 对证书并使用外部 CA 对其进行签名

到目前为止,这是我为用户生成证书的内容try{Security.addProvider(newBouncyCastleProvider());//addingprovider//toStringpathtoSave="D://sureshtest.cer";KeyPairkeyPair=generateKeypair();PublicKeypublicKey=keyPair.getPublic();PrivateKeyprivateKey=keyPair.getPrivate();X509CertificatetrustCert=createCertificate(null,"CN=C