Questions tagged «java»

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

7
如何分析.hprof文件?
我的生产服务器运行时带有以下标志:-XX:+ HeapDumpOnOutOfMemoryError 昨晚,当我们的服务器遇到堆错误时,它生成了一个java-38942.hprof文件。事实证明,该系统的开发人员知道该标志,但是无法从中获取任何有用的信息。 有任何想法吗?
227 java  profiling  heap 

17
命名ExecutorService的线程和线程池
假设我有一个利用该Executor框架的应用程序 Executors.newSingleThreadExecutor().submit(new Runnable(){ @Override public void run(){ // do stuff } } 当我在调试器中运行此应用程序时,将使用以下(默认)名称创建线程:Thread[pool-1-thread-1]。如您所见,这并不是非常有用,而且据我所知,该Executor框架没有提供一种简便的方法来命名已创建的线程或线程池。 那么,如何为线程/线程池提供名称呢?例如,Thread[FooPool-FooThread]。

6
Android拆分字符串
我有一个名为的字符串CurrentString,其形式像这样 "Fruit: they taste good"。我想CurrentString使用:分隔符。这样一来,单词"Fruit"将被拆分成自己的字符串,"they taste good"并将成为另一个字符串。然后我只想使用SetText()2种不同的TextViews字符串来显示该字符串。 解决此问题的最佳方法是什么?
227 java  android  string 


8
为什么无法在Java中扩展注释?
我不明白为什么Java注释就像Java类一样没有继承。我认为这将非常有用。 例如:我想知道给定的注释是否为验证者。通过继承,我可以自反地浏览超类,以了解此注释是否扩展了ValidatorAnnotation。否则,我该如何实现? 那么,谁能给我这个设计决定的理由?

4
Spring Security中角色和GrantedAuthority之间的区别
Spring Security中有一些概念和实现,例如GrantedAuthority用于获得授权来授权/控制访问权限的接口。 我希望对允许的操作(例如createSubUsers或deleteAccounts)进行操作,这些操作将允许管理员(具有role ROLE_ADMIN)使用。 我在网上看到的教程/演示让我感到困惑。我尝试将我阅读的内容联系起来,但我认为我们可以将两者互换。 我看到正在hasRole消耗GrantedAuthority字符串吗?我肯定在理解上做错了。Spring Security中的这些概念是什么? 如何将用户的角色与角色的权限分开存储? 我还查看org.springframework.security.core.userdetails.UserDetails了身份验证提供程序引用的DAO中使用的接口,该接口消耗了User(请注意最后的GrantedAuthority): public User(String username, String password, boolean enabled, boolean accountNonExpired, boolean credentialsNonExpired, boolean accountNonLocked, Collection<? extends GrantedAuthority> authorities) 还是有其他方法可以区分其他两个?还是不受支持,我们必须自己做?

30
查看.jar​​文件的内容
在jar文件中查看类,方法,属性等的最简单方法是什么?我正在寻找与非常有用的Lutz Roeder .NET Reflector等效的东西-适用于Java
226 java  jar  viewer 

8
Mockito匹配器和原语数组
使用Mockito,我想在其参数列表中verify()使用方法调用byte[],但是我没有找到如何编写该方法的方法。 myMethod( byte[] ) 我只想要像anyByteArray()Mockito那样的东西?
226 java  mockito 

8
如何将.cer证书导入Java密钥库中?
在Java Web服务客户端的开发过程中,我遇到了一个问题。Web服务的身份验证使用客户端证书,用户名和密码。我从Web服务背后的公司那里收到的客户证书的.cer格式是。当我使用文本编辑器检查文件时,它具有以下内容: -----BEGIN CERTIFICATE----- [Some base64 encoded data] -----END CERTIFICATE----- 我可以在Internet Explorer中将该文件作为证书导入(无需输入密码!),并使用它通过Web服务进行身份验证。 通过首先剥离第一行和最后一行,转换为Unix换行符并运行base64解码,我能够将此证书导入密钥库。可以将生成的文件导入到密钥库中(使用keytool命令)。当我在密钥库中列出条目时,该条目的类型为trustedCertEntry。由于此输入类型(?),我无法使用此证书对Web服务进行身份验证。我开始认为提供的证书是用于身份验证的公共证书... 我发现一种解决方法是在IE中导入证书并将其导出为.pfx文件。该文件可以作为密钥库加载,并且可以用于与Web服务进行身份验证。但是,我不能期望我的客户每次收到新证书时都执行这些步骤。因此,我想将.cer文件直接加载到Java中。有什么想法吗? 附加信息:该网络服务背后的公司告诉我,应该从PC和用户(使用IE和网站)中请求证书,稍后再导入证书。


7
将Instant格式化为String
我正在尝试使用新的Java 8 time-api和模式将Instant格式化为String: Instant instant = ...; String out = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(instant); 使用上面的代码,我得到一个异常,该异常抱怨一个不受支持的字段: java.time.temporal.UnsupportedTemporalTypeException: Unsupported field: YearOfEra at java.time.Instant.getLong(Instant.java:608) at java.time.format.DateTimePrintContext.getValue(DateTimePrintContext.java:298) ...


17
SSL握手警报:自升级到Java 1.7.0后出现unrecognized_name错误
我今天从Java 1.6升级到Java 1.7。从那时起,当我尝试通过SSL建立到我的Web服务器的连接时发生错误: javax.net.ssl.SSLProtocolException: handshake alert: unrecognized_name at sun.security.ssl.ClientHandshaker.handshakeAlert(ClientHandshaker.java:1288) at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1904) at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1027) at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1262) at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1289) at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1273) at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:523) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1296) at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254) at java.net.URL.openStream(URL.java:1035) 这是代码: SAXBuilder builder = new SAXBuilder(); Document document = null; try { url = new URL(https://some url); document = (Document) builder.build(url.openStream()); …
225 java  ssl 

30
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链接失败
我正在努力使数据库与Java程序进行通讯。 有人可以使用JDBC给我一个快速而肮脏的示例程序吗? 我收到一个相当惊人的错误: Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at com.mysql.jdbc.Util.handleNewInstance(Util.java:409) at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1122) at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2260) at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:787) …
225 java  mysql  jdbc 

22
Hibernate-拥有实体实例不再引用具有cascade =“ all-delete-orphan”的集合
尝试更新我的实体时遇到以下问题: "A collection with cascade=”all-delete-orphan” was no longer referenced by the owning entity instance". 我有一个父实体,并且有Set<...>一些子实体。当我尝试更新它时,我将获取所有要设置为此集合的引用并进行设置。 以下代码表示我的映射: @OneToMany(mappedBy = "parentEntity", fetch = FetchType.EAGER) @Cascade({ CascadeType.ALL, CascadeType.DELETE_ORPHAN }) public Set<ChildEntity> getChildren() { return this.children; } 根据此,我尝试仅清理Set <..>:如何“可能”解决问题,但没有成功。 如果您有任何想法,请告诉我。 谢谢!

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.