Questions tagged «java»

Java是一种流行的高级编程语言。如果您在使用或理解语言本身时遇到问题,请使用此标签。这个标签很少单独使用,最常与[spring],[spring-boot],[jakarta-ee],[android],[javafx],[gradle]和[maven]结合使用。

11
Apache POI Excel-如何配置要扩展的列?
我Apache POI API用来生成excel spreadsheet输出一些数据。 我面临的问题是在创建和打开电子表格时,列不会展开,因此乍一看,某些长文本(如日期格式的文本)不会显示出来。 我可以双击excel中的列边框以扩大或拖动边框以调整列宽,但是可能会有20多个列,而且每次打开电子表格时,我都不想手动进行此操作:( 我发现了(虽然可能是错误的方法)groupRow(),setColumnGroupCollapsed()也许可以做到这一点,但没有运气。也许我以错误的方式使用它。 示例代码段 Workbook wb = new HSSFWorkbook(); CreationHelper createHelper = wb.getCreationHelper(); //create sheet Sheet sheet = wb.createSheet("masatoSheet"); //not really working yet.... :( //set group for expand/collapse //sheet.groupRow(0, 10); //just random fromRow toRow argument values... //sheet.setColumnGroupCollapsed(0, true); //create row Row row = sheet.createRow((short)0); //put a …

9
函数式编程-不变性昂贵吗?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 问题分为两部分。首先是概念上的。接下来的内容将在Scala中更具体地研究相同的问题。 在编程语言中仅使用不可变数据结构是否会使在实践中实现某些算法/逻辑本质上在计算上更加昂贵?这引出了一个事实,即不变性是纯功能语言的核心宗旨。还有其他因素对此有影响吗? 让我们举一个更具体的例子。通常对内存数据结构使用可变操作来教授和实现Quicksort。如何以一种PURE功能方式实现这种事情,并且具有与可变版本相当的计算和存储开销。特别是在Scala中。我在下面列出了一些粗略的基准。 更多细节: 我来自命令式编程背景(C ++,Java)。我一直在探索函数式编程,特别是Scala。 纯函数式编程的一些主要原理: 职能是头等公民。 函数没有副作用,因此对象/数据结构是不可变的。 即使现代JVM在创建对象方面非常高效,并且垃圾回收对于短寿命的对象而言非常便宜,但将对象创建最小化可能还是更好的选择吧?至少在并发和锁定不是问题的单线程应用程序中。由于Scala是一种混合范例,因此可以根据需要选择使用可变对象编写命令性代码。但是,作为一个花了很多年尝试重用对象并最小化分配的人。我希望对不允许的思想流派有所了解。 作为一个具体案例,我对本教程 6中的代码片段感到有些惊讶。它有一个Java版本的Quicksort,然后是一个简洁的Scala实现。 这是我对实现进行基准测试的尝试。我尚未进行详细的分析。但是,我的猜测是,Scala版本的速度较慢,因为分配的对象数是线性的(每个递归调用一个)。尾叫优化有没有机会发挥作用?如果我是对的,Scala支持针对自递归调用的尾部调用优化。因此,它应该只是在帮助它。我正在使用Scala 2.8。 Java版本 public class QuickSortJ { public static void sort(int[] xs) { sort(xs, 0, xs.length -1 ); } static void sort(int[] xs, int l, int r) { if (r >= l) return; int pivot = …

11
Java的类型擦除有什么好处?
我今天读了一条推文说: 当Java用户抱怨类型擦除时,这很有趣,这是Java正确的唯一事情,而忽略了所有错误的事情。 因此,我的问题是: Java的类型擦除是否有好处?除了向后兼容和运行时性能的JVM实现首选项之外,它(可能)还提供了哪些技术或编程风格的好处?


1
PowerMockito模拟单个静态方法和返回对象
我想从包含2个静态方法m1和m2的类中模拟静态方法m1。我希望方法m1返回一个对象。 我尝试了以下 1) PowerMockito.mockStatic(Static.class, new Answer<Long>() { @Override public Long answer(InvocationOnMock invocation) throws Throwable { return 1000l; } }); 这将同时调用m1和m2,它们具有不同的返回类型,因此会给出返回类型不匹配错误。 2)PowerMockito.when(Static.m1(param1, param2)).thenReturn(1000l); 但是,执行m1时不会调用。 3)PowerMockito.mockPartial(Static.class, "m1"); 给出了我无法从http://code.google.com/p/powermock/wiki/MockitoUsage获得的无法提供嘲笑的编译器错误。

11
使用JPA指定索引(非唯一键)
如何定义一个字段,例如email使用JPA批注进行索引。我们需要一个非唯一的键,email因为每天在该字段上有数百万个查询,而没有键的话,它有点慢。 @Entity @Table(name="person", uniqueConstraints=@UniqueConstraint(columnNames={"code", "uid"})) public class Person { // Unique on code and uid public String code; public String uid; public String username; public String name; public String email; } 我已经看到了特定于休眠的注释,但是由于我们仍在决定休眠和数据核之间的关系,因此我试图避免使用特定于供应商的解决方案。 更新: 从JPA 2.1开始,您可以执行此操作。请参阅:此位置不允许使用注释@Index

15
使用Ajax下载并打开PDF文件
我有一个生成PDF的动作类。该contentType适当地设定。 public class MyAction extends ActionSupport { public String execute() { ... ... File report = signedPdfExporter.generateReport(xyzData, props); inputStream = new FileInputStream(report); contentDisposition = "attachment=\"" + report.getName() + "\""; contentType = "application/pdf"; return SUCCESS; } } 我action 通过Ajax调用来称呼它。我不知道将流传输到浏览器的方法。我尝试了几件事,但没有任何效果。 $.ajax({ type: "POST", url: url, data: wireIdList, cache: false, success: function(response) { …
98 javascript  java  jquery  pdf 


26
CreateProcess错误= 206,运行main()方法时文件名或扩展名太长
我在日食日光灯中遇到此错误: 执行命令行时发生异常。无法运行程序“ C:\ Program Files(x86)\ Java \ jre6 \ bin \ javaw.exe”(在目录“ C:\ Users \ motiver \ helios_workspace \ TimeTracker”中):CreateProcess错误= 206,文件名或扩展名是太长 我进行了一些研究,但大多数问题与使用Google App Engine时的DataNucleus有关。但是我没有使用与Google App Engine远程相关的任何东西。我正在JBOSS 6上使用Servlet 3.0做一个小项目。我正在使用Hibernate 4.1.2 for ORM和RESTEasy公开Web服务。我创建了一个具有main()方法的util文件,该方法基本上删除并重新创建了架构。当我需要一个干净的数据库进行测试时,我运行main()方法。它在Tomcat 7上运行良好,但在我移至JBoss 6时停止了工作。 任何提示或解决方案将不胜感激。

10
Java中有序集的任何实现吗?
如果有人熟悉Objective-C中有一种叫做集合NSOrderedSet,它充当一个集及其项目可以作为访问数组的人。 Java中有类似的东西吗? 我听说有一个名为的集合LinkedHashMap,但没有找到类似的集合。
98 java  collections  set 


3
如何在内存中创建新的java.io.File?
如何在内存中(而不是在硬盘上)创建新的File(由java.io)? 我正在使用Java语言。我不想将文件保存在硬盘上。 我遇到了一个错误的API(java.util.jar.JarFile)。期待File file着String filename。我没有文件(只有byte[]内容),可以创建临时文件,但这不是一个漂亮的解决方案。我需要验证签名罐子的摘要。 byte[] content = getContent(); File tempFile = File.createTempFile("tmp", ".tmp"); FileOutputStream fos = new FileOutputStream(tempFile); fos.write(archiveContent); JarFile jarFile = new JarFile(tempFile); Manifest manifest = jarFile.getManifest(); 在不创建临时文件的情况下如何获得清单的任何示例将不胜感激。
98 java  file  java-io 

6
在Java中选择最佳的并发列表
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 改善这个问题 我的线程池具有固定数量的线程。这些线程需要频繁地从共享列表中写入和读取。 那么,java.util.concurrent在这种情况下,包中的哪种数据结构(最好是一个列表,必须没有监视器)是最好的?
98 java  concurrency 

3
无法在IntelliJ中选择班级作为主要班级
我在IntelliJ中有一个Java项目,我只是在嵌套文件夹层次结构中添加了一堆文件。这些文件中的许多都是测试文件,并且包含main方法,因此我应该能够运行它们。但是我不知道该怎么做。 我是IntelliJ的新手,以前的文件已在项目层次结构中显示,并带有与“包含main()方法的声明的Java类”相对应的符号。但是在这种情况下,它们显示为带有与“位于源根目录之外的Java类”相对应的符号。 那么,如何编译和运行这些文件?

1
在Spring Java配置中调用@Bean带注释的方法
我很好奇弹簧注入如何处理带有@Bean注释的调用方法。如果我@Bean在方法上添加注释并返回实例,则我理解这告诉spring通过调用方法并获取返回的实例来创建bean。但是,有时必须使用该bean来连接其他bean或设置其他代码。完成此操作的通常方法是调用带@Bean注释的方法以获取实例。我的问题是,为什么这不会导致有多个bean实例漂浮? 例如,请参见下面的代码(来自另一个问题)。该entryPoint()方法带有注释@Bean,因此我可以想象spring将创建一个BasicAuthenticationEntryPointas的新实例。然后,我们entryPoint()在configure块中再次调用,但是似乎entryPoint()返回了bean实例,并且没有多次调用(我尝试记录,但只有一个日志条目)。可能我们可以entryPoint()在配置的其他部分中多次调用,并且我们总是会得到相同的实例。我对此的理解正确吗?spring是否会对注解的方法进行一些神奇的重写@Bean? @Bean public BasicAuthenticationEntryPoint entryPoint() { BasicAuthenticationEntryPoint basicAuthEntryPoint = new BasicAuthenticationEntryPoint(); basicAuthEntryPoint.setRealmName("My Realm"); return basicAuthEntryPoint; } @Override protected void configure(HttpSecurity http) throws Exception { http .exceptionHandling() .authenticationEntryPoint(entryPoint()) .and() .authorizeUrls() .anyRequest().authenticated() .and() .httpBasic(); }
98 java  spring  cglib 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.