Questions tagged «java»

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

9
将PEM导入Java密钥库
我正在尝试连接到SSL服务器,这需要我进行身份验证。为了在Apache MINA上使用SSL,我需要一个合适的JKS文件。但是,我只得到了一个.PEM文件。 如何从PEM文件创建JKS文件?
144 java  ssl  keystore  pem  apache-mina 

4
将Java与Nvidia GPU(CUDA)结合使用
我正在做一个用Java完成的业务项目,它需要巨大的计算能力才能计算业务市场。简单的数学运算,但具有大量数据。 我们订购了一些CUDA GPU进行尝试,并且由于CUDA不支持Java,所以我想知道从哪里开始。我应该建立一个JNI接口吗?我应该使用JCUDA还是其他方法? 我没有这方面的经验,我想知道是否有人可以指导我从事某些工作,以便我可以开始研究和学习。


3
为什么Java 11基础Docker映像如此之大?(openjdk:11-jre-slim)
宣布Java 11是最新的LTS版本。因此,我们正在尝试基于此Java版本启动新服务。 但是,Java 11的基本Docker映像比Java 8的等效映像大得多: openjdk:8-jre-alpine:84 MB openjdk:11-jre-slim:283 MB (我只考虑官方的OpenJDK和每个Java版本的最轻量的映像。) 更深入的挖掘发现了以下“事物”: 该openjdk:11-jre-slim图像使用基本图像debian:sid-slim。这带来了两个问题: 比60 MB大 alpine:3.8 在Debian的sid版本是不稳定 openjdk-11-jre-headless镜像中安装的软件包比(运行Docker容器内部)大3倍openjdk8-jre: openjdk:8-jre-alpine: / # du -hs /usr/lib/jvm/java-1.8-openjdk/jre/lib/ 57.5M /usr/lib/jvm/java-1.8-openjdk/jre/lib/ openjdk:11-jre-slim: # du -sh /usr/lib/jvm/java-11-openjdk-amd64/lib/ 179M /usr/lib/jvm/java-11-openjdk-amd64/lib/ 更深入地讲,我发现了这种繁重的“根”-它modules是JDK 的文件: # ls -lhG /usr/lib/jvm/java-11-openjdk-amd64/lib/modules 135M /usr/lib/jvm/java-11-openjdk-amd64/lib/modules 因此,现在出现的问题是: 为什么alpine不再将其用作Java 11超薄映像的基础映像? 为什么不稳定的sid版本用于LTS Java映像? 为什么与类似的OpenJDK 8软件包相比,OpenJDK 11的slim / headless …
144 java  docker  alpine  java-11 

8
如何在Android(9)Pie中允许所有网络连接类型HTTP和HTTPS?
从现在的Android 9 Pie开始,没有加密的请求将永远无法使用。默认情况下,系统会期望您默认使用TLS。您可以在此处阅读此功能,因此,如果仅通过HTTPS发出请求,则将是安全的。但是,通过不同站点发出请求的应用程序(例如类似浏览器的应用程序)呢? 如何在Android 9 Pie中启用对所有类型的连接HTTP和HTTPS的请求?

2
从Java匿名类访问“ this”
给出以下代码: public interface Selectable { public void select(); } public class Container implements Selectable { public void select() { ... } public void createAnonymousClass() { Selectable s = new Selectable() { public void select() { //see comment below. } }; } } 我想Container.select()从我的匿名类select()方法中访问。但是,this.select()将再次调用匿名类的select()方法。 我的建议是: 将字段引入到Container中,例如 private Container self = this; …


4
Eclipse .classpath / .project文件中包含什么?
最近,我们的一个团队成员遇到了一个Eclipse项目的问题。Tomcat尚未部署该应用程序的JAR。 我们最终注意到.classpathEclipse文件与项目正常的团队成员不同。我们.classpath用一个正常的项目中的文件替换了该文件,并且Tomcat部署已完成。 出于好奇,想知道将来如果出现问题,和文件中的内容,将会如何处理。我可以在其中添加什么,这意味着什么?.classpath.project

11
随机“元素不再附加到DOM” StaleElementReferenceException
我希望只是我一个人,但是Selenium Webdriver似乎是一场噩梦。Chrome网络驱动程序当前无法使用,而其他驱动程序则非常不可靠,似乎如此。我正在与许多问题作斗争,但这是一个。 随机地,我的测试会因 "org.openqa.selenium.StaleElementReferenceException: Element is no longer attached to the DOM System info: os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.6.0_23'" 我正在使用2.0b3版的网络驱动程序。我已经看到FF和IE驱动程序会发生这种情况。我可以防止这种情况的唯一方法是Thread.sleep在发生异常之前添加一个实际的调用。但是,这是一个很差的解决方法,所以我希望有人指出我的错误,这将使一切变得更好。

4
为什么有人将Java接口方法声明为抽象方法?
今天,我使用了Eclipse的“拉接口”重构功能来基于现有类创建一个接口。该对话框提供了将新界面的所有新方法创建为“抽象”方法的功能。 这样做的好处是什么? 我认为,允许您将接口方法声明为抽象的事实是该语言的多余且无害的功能,因此不建议特别提倡。 为什么Eclipse支持这种样式,或者为什么有人自愿选择支持这种样式? 澄清:我不是在问为什么接口方法是抽象的,这是显而易见的。我想问为什么人们会明确选择将它们标记为抽象,因为如果它们在接口中,它们无论如何都是抽象的。

8
类路径资源的java.nio.file.Path
是否有API可以获取类路径资源(例如,我将从中获得的资源Class.getResource(String))java.nio.file.Path?理想情况下,我想将新的PathAPI与类路径资源一起使用。
143 java  java-7  nio2 


16
Kotlin-android:未解决的参考数据绑定
我有以下使用新的数据绑定库用Java编写的片段类 import com.example.app.databinding.FragmentDataBdinding; public class DataFragment extends Fragment { @Nullable private FragmentDataBinding mBinding; @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { mBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_data, container, false); return mBinding.getRoot(); } } 它可以编译并运行良好。 我试图用Kotlin重写它,并提出了以下内容: import com.example.app.databinding.FragmentDataBdinding class ProfileFragment : Fragment() { private var mBinding: FragmentDataBinding? = null override …

12
您对Java中的个人/爱好项目使用什么程序包命名约定?
我已经熟悉使用域名创建唯一的包名称(即package com.stackoverflow.widgets)的标准Java包命名约定。但是,对于如何为个人项目选择包名称,我从未见过任何建议。我认为是因为这确实是个人喜好问题。 因此,如何为永远不会投入生产的个人项目选择软件包名称(您可能会在业余时间尝试使用新框架)。假设您没有一个个人网站,可以使用其域来创建您的包裹结构,您将(或将要)做什么?您是否有一个逻辑系统可以为爱好项目生成新的程序包名称,还是仅使用简单的一次性程序包名称mypackage? 由于我只是想知道人们对此有何想法,因此我将其设为社区Wiki。 就我个人而言,我从来没有想过,但是我想今晚与Wicket一起玩耍,结果发现我对如何组织自己的业余项目并不清楚。对于爱好项目,至少有一个单独的,不同的软件包命名约定(至少在我看来是这样)将是使个人代码和与工作相关的代码清楚地分开的一种好方法。 我在考虑一个简单的层次命名约定,以将个人项目的源代码保存在单个根文件夹中: 使用myprojects作为根文件夹 追加项目名称 添加任何其他子包名称 因此,我的Wicket项目将在软件包中,myprojects.learningwicket而单元测试将在软件包中myprojects.learningwicket.tests(例如)。

11
“ Java DateFormat不是线程安全的”这会导致什么?
每个人都对Java DateFormat并不是线程安全的警告,我从理论上理解了这个概念。 但是我无法想象由此导致的实际问题。假设我在一个类中有一个DateFormat字段,并且在多线程环境中该类的不同方法(格式化日期)中使用了相同的字段。 这会导致: 任何异常,例如格式异常 数据差异 还有其他问题吗? 另外,请解释原因。

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.