Tag: java

寻找Java拼写检查器库

我正在寻找一个开源的Java拼写检查库,它至less包含以下语言的字典:法语,德语,西class牙语和捷克语。 任何build议?

使用命令行从JUnit类运行单个testing

我正试图find一种方法,使我能够使用命令行和java从JUnit类运行单个testing。 我可以使用下面的命令来运行整套的testing: java -cp …. org.junit.runner.JUnitCore org.package.classname 我真正想做的是这样的: java -cp …. org.junit.runner.JUnitCore org.package.classname.method 要么: java -cp …. org.junit.runner.JUnitCore org.package.classname#method 我注意到可能有方法使用JUnit注释来做到这一点,但我宁愿不要手动修改我的testing类的来源(试图自动执行此操作)。 我也看到,Maven可能有办法做到这一点,但如果可能的话,我想避免取决于Maven。 所以我想知道是否有办法做到这一点? 我正在寻找的关键点: 能够从JUnittesting类运行单个testing 命令行(使用JUnit) 避免修改testing源 避免使用其他工具

如何获取jar文件中的类名称?

我有一个JAR文件,我需要得到这个JAR文件中所有类的名字。 我怎样才能做到这一点? 我GOOGLE了一下,看到了一些关于JarFile或Java ClassLoader但我不知道如何做到这一点。

如何在Eclipse中使用条件断点?

我想知道如何在Eclipse中放置一个条件断点。 我有一个代码: public static void doForAllTabs(String[] tablist){ for(int i = 0; i<tablist.length;i++){ –> doIt(tablist[i]); } } 现在我想用箭头在行上放置一个断点,但只有在以下情况下才会触发它: tablist[i].equalsIgnoreCase("LEADDELEGATES");

Java不可变集合

从Java 1.6 Collection Framework文档 : 不支持任何修改操作(如add , remove和clear )的集合被称为不可修改 。 […]另外保证集合对象永远不可见的集合被称为不可变的集合。 第二个标准混淆了我一点。 鉴于第一个集合是不可修改的,并且假设原始集合参考已被废弃,第二行中提到的变化是什么? 它是指在集合中所包含的元素的变化,即元素的状态? 第二个问题: 对于一个集合是不可改变的,一个人怎么去提供额外的保证人? 如果集合中元素的状态由线程更新,那么为了不可变性就足够了:状态中的那些更新在持有不可变集合的线程中不可见? 编辑:(突出第二个问题的重点): 对于一个集合是不可改变的,一个人怎么去提供额外的保证人?

如何使用java套接字实现客户端和服务器之间的传输文件

我已经实现了简单的TCP服务器和TCP客户端类,可以将消息从客户端发送到服务器,消息将在服务器端转换为大写,但是如何实现从服务器到客户端的传输文件并从客户端上传文件到服务器。 以下代码是我得到的。 TCPClient.java import java.io.*; import java.net.*; import java.util.Scanner; class TCPClient { public static void main(String args[]) throws Exception { int filesize=6022386; int bytesRead; int current = 0; String ipAdd=""; int portNum=0; boolean goes=false; if(goes==false){ System.out.println("please input the ip address of the file server"); Scanner scan=new Scanner(System.in); ipAdd=scan.nextLine(); System.out.println("please input the port number of the […]

如何在自定义filter中使用Javaconfiguration注入AuthenticationManager

我正在使用Spring Security 3.2和Spring 4.0.1 我正在把XMLconfiguration转换成Javaconfiguration。 当我在Filter中使用@Autowired注解AuthenticationManager时,我收到一个exception Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.security.authentication.AuthenticationManager] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {} 我已经尝试注入AuthenticationManagerFactoryBean但也失败了一个类似的exception。 这是我正在从事的XMLconfiguration <?xml version="1.0" encoding="UTF-8"?> <beans …> <security:authentication-manager id="authenticationManager"> <security:authentication-provider user-service-ref="userDao"> <security:password-encoder ref="passwordEncoder"/> </security:authentication-provider> </security:authentication-manager> <security:http realm="Protected API" use-expressions="true" auto-config="false" create-session="stateless" […]

如何在Java中使用单独的线程调用方法?

比方说,我有一个方法doWork() 。 我如何从一个单独的线程(而不是主线程)调用它。

如何将字节数组转换为其数值(Java)?

我有一个8字节的数组,我想将其转换为相应的数值。 例如 byte[] by = new byte[8]; // the byte array is stored in 'by' // CONVERSION OPERATION // return the numeric value 我想要一个将执行上述转换操作的方法。

如何让ThreadPoolExecutor在排队之前将线程增加到max?

我一直在使用ThreadPoolExecutor的默认行为感到沮丧, ThreadPoolExecutor支持许多人使用的ExecutorService线程池。 引用Javadocs: 如果有多于corePoolSize但小于maximumPoolSize线程正在运行,则只有在队列已满时才会创build一个新线程。 这意味着如果使用下面的代码定义一个线程池,它将永远不会启动第二个线程,因为LinkedBlockingQueue是无界的。 ExecutorService threadPool = new ThreadPoolExecutor(1 /*core*/, 50 /*max*/, 60 /*timeout*/, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>()); 只有当你有一个有限的队列和队列已满时 ,核心号码以上的任何线程才会启动。 我怀疑有大量的初级Javamultithreading程序员不了解ThreadPoolExecutor的这种行为。 现在我有特定的用例,这是不是最佳的。 我正在寻找方法,而无需编写自己的TPE课程来解决这个问题。 我的要求是一个Web服务,正在回电给一个可能不可靠的第三方。 我不想与web请求同步callback,所以我想使用线程池。 我通常得到这些几分钟,所以我不想有一个newFixedThreadPool(…)与大量的线程,大多是hibernate的。 每隔一段时间,我都会碰到这种stream量,我想把线程的数量扩大到最大值(比方说50)。 我需要做一个最好的尝试来做所有的callback,所以我想排队50以上的任何额外的。我不想通过使用newCachedThreadPool()淹没我的networking服务器的其余部分。 如何解决ThreadPoolExecutor中的限制, 在更multithreading启动之前队列需要被限制和已满? 如何在排队任务之前启动更multithreading? 编辑: @Flavio关于使用ThreadPoolExecutor.allowCoreThreadTimeOut(true)使核心线程超时并退出很有用。 我认为,但我仍然需要核心线程function。 如果可能的话,我不希望池中的线程数量低于核心大小。