在java regex中获取组名

我正在尝试接收模式和字符串并返回组名称的地图 – >匹配结果。 例: (?.*) 我想返回一个包含“user”作为键的映射以及它匹配的值作为其值。 问题是我似乎无法从Java正则表达式api获取组名。 我只能按名称或索引获取匹配的值。 我没有组名列表,Pattern和Matcher似乎都没有公开这些信息。 我检查了它的来源,似乎信息就在那里 – 它只是没有暴露给用户。 我尝试了Java的java.util.regex和jregex。 (并且不关心是否有人建议任何其他库,这些库是良好的,受支持的并且具有支持此function的高性能)。

在Java中加密和在C#中解密为AES 256位

1.我有java函数加密xml文件并返回加密的String。 /// Java Class import java.security.Key; import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec; import org.apache.commons.codec.binary.Base64; public class Crypt { public static String key = “xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”; public static byte[] key_Array = Base64.decodeBase64(key); public static String encrypt(String strToEncrypt) { try { //Cipher _Cipher = Cipher.getInstance(“AES”); //Cipher _Cipher = Cipher.getInstance(“AES/ECB/PKCS5PADDING”); //Cipher _Cipher = Cipher.getInstance(“AES/CBC/PKCS5PADDING”); Key SecretKey = new SecretKeySpec(key_Array, “AES”); Cipher […]

用于泊松和均匀分布的Java生成器?

据我所知,标准发生器用于正态分布。 我必须根据正态,均匀和泊松分布生成随机数,但我似乎找不到最后2个的类。 我必须在0 – 999999范围内生成它们。

运行时的Hibernate配置

我有hibernate.cfg.xml文件。 com.mysql.jdbc.Driver 1 ………………… 这是文件中最有趣的部分。 现在我必须设置缺失值:url,username,password。 我试图这样做: public static void SetSessionFactory() { try { AnnotationConfiguration conf = new AnnotationConfiguration().configure(); // conf.setProperty(“connection.url”, URL); conf.setProperty(“connection.username”, USERNAME); conf.setProperty(“connection.password”, PASSWORD); SESSION_FACTORY = conf.buildSessionFactory(); } catch (Throwable ex) { // Log exception! throw new ExceptionInInitializerError(ex); } } 但它只是从hibernate.cfg.xm加载我的配置,并且不更改任何属性… url,username,passoword – 是命令行参数,所以我必须在运行时设置它们。

显式serialVersionUID被认为有害吗?

我可能会冒这个问题冒险。 在我看来,为新类明确指定serialVersionUID是不好的。 考虑两种情况,即在布局应该更改时不更改它,并在不应该更改时更改它。 几乎只有在明确的情况下才会发生变化。 在这种情况下,它会导致一些非常微妙,难以发现的错误。 特别是在开发过程中,类布局经常变化。 但是如果它没有明确指定,它将会改变并且反序列化将大声破坏,最有可能通过清除存储库来解决。 不应该发生的情况几乎只有在隐含时才会发生。 这是一种罕见的情况,其中类布局已更改但我们仍希望从旧的序列化blob反序列化。 这可能会在QA期间被捕获( 从5.2升级到5.2.1之后的奇怪错误,请参阅附加的堆栈跟踪 ),并且可以通过设置显式值来轻松修复。 注释?

处理multipart / form-data请求失败。 读取超时

关于Stack Overflow的其他问题已经解决了这个问题,但是所提供的答案都没有帮助我解决这个问题。 我正在尝试使用Apache HTTP Commons从applet上传一个介于10 kB到16 MB之间的文件。 在我的本地环境中一切正常。 我只在我的生产服务器(Tomcat 6.0, https://www.dailyrazor.com/ )上收到以下exception,无论文件大小如何: org.apache.commons.fileupload.FileUploadException: Processing of multipart/form-data request failed. Read timed out at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:384) at org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:116) at com.actura.helper.UploadHelper.processUpload(UploadHelper.java:92) at com.actura.voice.upload.FileUploadServlet.process(FileUploadServlet.java:85) at com.actura.voice.upload.FileUploadServlet.doPost(FileUploadServlet.java:75) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291) […]

对Java程序进行基准测试

对于大学,我执行字节码修改并分析它们对Java程序性能的影响。 因此,我需要Java程序—最好用于生产 – 以及适当的基准测试。 例如,我已经获得了HyperSQL并通过基准程序PolePosition测量其性能。 在没有JIT编译器的JVM上运行的Java程序。 谢谢你的帮助! PS:我不能使用程序来测试JVM或Java语言本身(例如Wide Finder)的性能。

如何在Spring applicationContext.xml中读取JVM参数

我有一个使用Spring的JSF Web应用程序,我正在尝试找出一种从applicationContext.xml引用JVM参数的方法。 我使用环境参数启动JVM(例如-Denv = development)。 我找到并尝试了一些不同的方法,包括: ${environment} 但是,当在MyClass中调用setter方法时,将传递字符串“$ {environment}”,而不是“development”。 我有一个使用System.getProperty()的工作,但是能够通过Spring设置这些值会更好,更清晰。 有没有办法做到这一点? 编辑:我之前应该提到的是我使用JDBC连接从我的数据库加载属性。 这似乎增加了复杂性,因为当我向配置添加属性占位符时,属性占位符将覆盖从数据库加载的属性。 我不确定它是依赖于顺序还是其他东西。 这就像我可以做其中一个,但不是两个。 编辑:我目前正在使用以下配置加载属性:

两个具有相同哈希码的不等对象

Hashcode()和equals()的概念是 1)如果两个对象根据equal()相等,则在这两个对象中的每一个上调用hashcode方法应该产生相同的哈希码。 而另一个是 2)如果两个对象根据equal()不相等,则不需要在两个对象中的每一个上调用hashcode方法必须产生不同的值。 我尝试并理解了第一个,这是第一点的代码。 public class Test { public static void main(String[] args) { Map map = new HashMap(); map.put(1, 11); map.put(4, 11); System.out.println(map.hashCode()); Map map1 = new HashMap(); map1.put(1, 11); map1.put(4, 11); System.out.println(map1.hashCode()); if (map.equals(map1)) { System.out.println(“equal “); } } } 上面的程序为两个不同的对象提供相同的哈希码。 有人可以用一个例子来解释我,根据equals()不同的两个不同对象如何具有相同的哈希码。

关于Java中死锁情况的问题

我正在学习Java中的死锁,并且有来自Sun官方教程的示例代码: 阿方斯和加斯顿是朋友,也很有礼貌的信徒。 严格的礼貌规则是,当你向朋友鞠躬时,你必须保持鞠躬,直到你的朋友有机会归还弓。 不幸的是,这条规则没有考虑到两个朋友可能同时互相鞠躬的可能性。 public class Deadlock { static class Friend { private final String name; public Friend(String name) { this.name = name; } public String getName() { return this.name; } public synchronized void bow(Friend bower) { System.out.format(“%s: %s has bowed to me!%n”, this.name, bower.getName()); bower.bowBack(this); } public synchronized void bowBack(Friend bower) { System.out.format(“%s: %s […]