Questions tagged «java»

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


3
返回2xx以外的代码时,如何使用HttpURLConnection获取响应主体?
当服务器返回错误时,我在检索Json响应时遇到问题。请参阅下面的详细信息。 我如何执行请求 我用java.net.HttpURLConnection。我设置请求属性,然后执行: conn = (HttpURLConnection) url.openConnection(); 之后,当请求成功时,我得到响应Json: br = new BufferedReader(new InputStreamReader((conn.getInputStream()))); sb = new StringBuilder(); String output; while ((output = br.readLine()) != null) { sb.append(output); } return sb.toString(); ...而问题是: 当服务器返回诸如50x或40x之类的错误时,我无法检索收到的Json。以下行引发IOException: br = new BufferedReader(new InputStreamReader((conn.getInputStream()))); // throws java.io.IOException: Server returned HTTP response code: 401 for URL: www.example.com 服务器肯定会发送正文,我可以在外部工具Burp …

8
如何为Junit单元测试设置JVM参数?
我有一些Junit单元测试,需要大量的堆空间才能运行-即1G。(他们测试了一个Webstart应用程序的内存密集型功能,该功能仅在具有足够的堆空间的情况下运行,并且将在Win 7 64位计算机上内部运行-因此,重新设计测试是不切实际的建议。) 我正在Intellij IDEA中进行开发,因此我知道可以为测试类设置JVM参数(例如-Xmx1024M)。但是,这仅用于运行整个测试类-如果我想运行单个测试,则必须为该测试方法重新创建运行配置。 另外,这些设置是特定于IDE和特定于盒的-因此,如果我切换盒(在多台计算机上开发)或我的一位同事尝试运行测试,则不会转移这些设置。(此外,我的同事使用了其他IDE(例如Eclipse和NetBeans)。)FWIW,我们正在使用Mercurial进行源代码控制。 在构建周期中,我们使用Maven,所以我知道如何为此指定JVM参数。 所以:-我正在寻找一种指定将适用于整个测试类和各个测试方法的JVM参数的方法;-我想在任何计算机上的IDE之间共享这些规范(已从存储库中获取了代码)。

6
JPA:单向多对一和级联删除
假设我有如下所示的单向 @ManyToOne关系: @Entity public class Parent implements Serializable { @Id @GeneratedValue private long id; } @Entity public class Child implements Serializable { @Id @GeneratedValue private long id; @ManyToOne @JoinColumn private Parent parent; } 如果我有一个父P和一个返回给P的子C 1 ... C n,那么在JPA中是否有一种干净漂亮的方法来在删除P(即)时自动删除子C 1 ... C nentityManager.remove(P)? 我正在寻找的功能类似于ON DELETE CASCADESQL。


5
在不使用调试参数启动JVM的情况下调试Java应用程序
通常,要将调试器附加到正在运行的jvm,您需要使用以下参数启动jvm: > java -Xdebug -Xrunjdwp:transport=dt_socket,address=1000,server=y,suspend=n 现在,如果我要调试不是在调试模式下启动的进程,该怎么办? 当生产系统(即在没有调试args的情况下启动)出现“随机”(我宽松地使用术语)错误时,就会出现这种情况。因此,我无法使用适当的参数重新启动jvm,因为没人知道如何再次再现该错误。在这种情况下是否不可能附加到JVM? 只是为了澄清,除非将它们以调试方式启动,否则无法使用jdb之类的工具来附加至已在运行的JVM。 从JVM手册页 使用jdb的另一种方法是将其附加到已经运行的Java VM。使用jdb调试的VM必须使用以下选项启动:

9
Java JTable设置列宽
我有一个JTable,其中将列大小设置如下: table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); table.getColumnModel().getColumn(0).setPreferredWidth(27); table.getColumnModel().getColumn(1).setPreferredWidth(120); table.getColumnModel().getColumn(2).setPreferredWidth(100); table.getColumnModel().getColumn(3).setPreferredWidth(90); table.getColumnModel().getColumn(4).setPreferredWidth(90); table.getColumnModel().getColumn(6).setPreferredWidth(120); table.getColumnModel().getColumn(7).setPreferredWidth(100); table.getColumnModel().getColumn(8).setPreferredWidth(95); table.getColumnModel().getColumn(9).setPreferredWidth(40); table.getColumnModel().getColumn(10).setPreferredWidth(400); 这可以正常工作,但是当表最大化时,我在最后一列的右侧获得了空白空间。调整大小时是否可以将最后一列调整为窗口的末尾? 我AUTO_RESIZE_LAST_COLUMN在文档中找到了属性,但是它不起作用。 编辑:JTable在JScrollPane其首选大小设置。
95 java  swing  size  jtable 



10
如何覆盖Android中的操作栏后退按钮?
我想在操作栏中自定义活动后退按钮,而不是在硬键后退按钮中自定义。我已经重写了该onBackPressed()方法。它可以与我的模拟器后退按钮一起使用,但不能与操作栏后退按钮一起使用。 我希望它与操作栏一起发生。我怎样才能做到这一点? 这是我的代码: @Override public void onBackPressed() { Toast.makeText(getApplicationContext(),"Back button clicked", Toast.LENGTH_SHORT).show(); return; } 我已经用了这个祝酒,无论是否按回去都可以,但是实际的实现方式有所变化,例如想回到上一个活动。但这不适用于操作栏顶部的按钮(活动标题除外)。 请任何人可以指定我这个问题。
95 java  android 

8
在RESTful和Spring Boot / MVC / JavaConfig中使用GZIP压缩
我们将Spring Boot / MVC与基于注释的java-config一起用于一系列RESTful服务,并且我们希望选择性地HTTP GZIP对某些API响应启用流压缩。 我知道我可以在控制器和a中手动完成此操作byte[] @ResponseBody,但是我们更希望依靠SpringMVC基础结构(过滤器/等)并让它自动进行JSON转换和压缩(即该方法返回POJO)。 如何在ResponseBody或嵌入式Tomcat实例中启用GZIP压缩,并且以某种方式我们可以选择性地仅压缩某些响应? 谢谢! PS .:我们目前没有任何基于XML的配置。

4
JSR-303 @有效注释不适用于子对象列表
我的主要课程是 public class UserAddressesForm { @NotEmpty private String firstName; @NotEmpty private String lastName; private List<AddressForm> addresses; ... setters and getters public class AddressForm { @NotEmpty private String customName; @NotEmpty private String city; @NotEmpty private String streetAn; @NotEmpty private String streetHn; @NotEmpty private String addressCountry; @NotEmpty private String postCode; ... setters …
95 java  json  spring  spring-mvc  jsr 

2
PatternSyntaxException:在Java中使用正则表达式时非法重复
我对正则表达式了解不多,但是我需要匹配一个简单的模式。以下内容应返回true, Pattern.matches("{\"user_id\" : [0-9]*}", inputLine) 当inputLine为 {"user_id" : 34} 但是,我收到此异常: java.util.regex.PatternSyntaxException: Illegal repetition {"user_id" : 24} at java.util.regex.Pattern.error(Unknown Source) at java.util.regex.Pattern.closure(Unknown Source) at java.util.regex.Pattern.sequence(Unknown Source) at java.util.regex.Pattern.expr(Unknown Source) at java.util.regex.Pattern.compile(Unknown Source) at java.util.regex.Pattern.<init>(Unknown Source) at java.util.regex.Pattern.compile(Unknown Source) at java.util.regex.Pattern.matches(Unknown Source) at org.whispercomm.manes.server.http.IntegrationTest.createUser(IntegrationTest.java:173) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown …
95 java  regex  matcher 

10
Android:如何处理按钮点击
我在非Java和非Android领域拥有扎实的经验,正在学习Android。 我对不同领域有很多困惑,其中之一就是如何处理按钮单击。至少有4种方式(!!!),此处简要列出 为了保持一致性,我将列出它们: View.OnClickListener在活动中具有该类的成员,并将其分配给将处理活动方法中的onClick逻辑的实例onCreate。 在“ onCreate”活动方法中创建“ onClickListener”,然后使用setOnClickListener将其分配给按钮 在活动本身中实现“ onClickListener”,并将“ this”分配为按钮的侦听器。对于活动很少的按钮的情况,应分析按钮ID以对适当的按钮执行“ onClick”处理程序 在实现“ onClick”逻辑的活动上具有公共方法,并将其分配给活动xml声明中的按钮 问题1: 这些都是方法吗,还有其他选择吗?(我不需要其他,只是好奇) 对我来说,最直观的方法就是最新的方法:它要求键入的代码量最少,并且可读性最高(至少对我而言)。 不过,我看不到这种方法被广泛使用。使用它有什么缺点? 问题2: 这些方法的优点/缺点是什么?请分享您的经验或一个好的链接。 欢迎任何反馈! PS我已经尝试过Google并为此主题找到一些东西,但是我发现的唯一内容就是描述“如何”做到这一点,而不是为什么它是好是坏。

3
如何使用Gradle运行JUnit测试?
目前,我有以下build.gradle文件: apply plugin: 'java' sourceSets { main { java { srcDir 'src/model' } } } dependencies { compile files('libs/mnist-tools.jar', 'libs/gson-2.2.4.jar') runtime fileTree(dir: 'libs', include: '*.jar') } 这的build.gradle文件是我的仓库在这里。我所有的主要文件都在src / model /中,它们各自的测试都在test / model中。 如何正确添加JUnit 4 依赖项,然后在测试/模型文件夹中运行那些测试?

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.