Java 考虑到对象封装,getter是否应该返回不可变属性?

当getter返回一个属性时,比如返回一个其他相关对象的列表,该列表及其对象是否应该是不可变的,以防止类外的代码在主父对象不知道的情况下更改这些对象的状态 例如,如果一个Contact对象有一个getDetailsgetter,它返回一个ContactDetails对象的列表,那么调用该getter的任何代码: 可以从该列表中删除ContactDetail对象,而Contact对象不知道它 可以在联系人对象不知道的情况下更改每个联系人详细信息对象 那么我们应该在这里做什么呢?我们应该信任调用代码

如何从ColdFusion访问Java类的公共静态成员?

如何从ColdFusion访问Java类的公共静态成员?在运行静态方法之前,运行createObject但不调用“init”。例如: <cfset systemObject = createObject("java", "java.lang.System") /> <cfoutput>#systemObject.currentTimeMillis()#</cfoutput> #systemObject.currentTimeMillis() 在本例中,

Java 如何让FutureTask在TimeoutException之后返回?

在下面的代码中,我在100秒后捕捉到一个TimeoutException。此时,我希望代码从main退出,程序终止,但它会一直打印到控制台。如何使任务在超时后停止执行 private static final ExecutorService THREAD_POOL = Executors.newCachedThreadPool(); private static <T> T timedCall(Callable<T> c, long timeout, TimeUnit

如何附加到现有的java.io.ObjectStream?

现在,当我尝试附加一个对象时,我将得到java.io.StreamCorruptedException。我在互联网上搜索了一种克服这一问题的方法。到目前为止,我发现答案是这是不可能的。解决此问题的一种方法是将对象写入列表,然后将列表写入文件 但每次添加新对象时,我都必须覆盖该文件。这似乎不是加班的最佳解决方案 有没有办法将对象附加到现有对象流中?您需要创建一个新的ObjectInputStream来匹配每个ObjectOutputStream。我不知道如何将状态从完整的ObjectInputSt

Java 为什么不使用DriverManager.getConnection(字符串url、字符串用户、字符[]密码)?

我们知道,最好使用char[]而不是java.lang.String来存储密码。这是因为以下两个原因(正如我所读到的): char[]是可变的,因此我们可以在使用后清除密码 字符串文本进入一个池,该池不会像其他对象一样被垃圾收集,因此可能会出现在内存转储中 但是java.sql.DriverManager没有符合上述最佳实践的getConnection(),因为它的密码参数是String getConnection(字符串url、字符串用户、字符串密码) 我认为API应该具有具有以下签名的重载方

Java 使用队列的生产者/消费者线程

我想创建一些生产者/消费者线程应用程序。但我不确定在两者之间实现队列的最佳方式是什么 所以我有两个想法(这两个想法可能都是完全错误的)。我想知道哪一个更好,如果它们都很糟糕,那么实现队列的最佳方式是什么。我关心的主要是这些示例中队列的实现。我正在扩展一个队列类,它是内部类,是线程安全的。下面是两个示例,每个示例有4个类 主类- public class SomeApp { private Consumer consumer; private Producer producer;

Java 如何更改webservice url端点?

我使用JBoss utils(JAX-WS兼容)生成了一个web服务客户端 使用Eclipse“来自wsdl的web服务客户端” 所以,我只提供了一个指向web服务WSDL的url 现在,web服务提供者告诉我更改web服务的“客户端端点应用程序访问url” 它是什么以及如何更改它?在我看来,提供商告诉您要更改服务端点(即web服务的访问位置),而不是客户端端点(我不明白这可能是什么)。要更改服务端点,基本上有两种选择 使用绑定提供程序设置端点URL 第一个选项是更改BindingProvide

在Java中表示浮点值

请看下面的三行代码 float f = 1; float g = 1.1; float h = 1.1f; 第二行有编译错误,而其他行没有编译错误。第一行没有后缀f,工作正常,第三行有后缀f。这是为什么?您正在将一个double值分配给float变量1.1本身(没有在末尾加上f)被编译器假定为double类型。编译器不喜欢进行隐式向下转换,因为可能会丢失精度。第一行自动将int转换为float(确定) 由于精度损失,第二行无法将double转换为float。您可以进行显式强制转

基于Java的唯一计算机ID硬件

我需要从一台PC生成一个唯一的代码,我的软件将通过许可证分发,在本地我需要识别环境并将此代码发送到服务器。 我不想在服务器上保留一个序列号,每个客户端都会收到一个序列号,我尝试从网络接口读取MAC地址,但不安全,用户可以轻松更改MAC地址。 我认为最好的方法是读取主板序列号,但我直到现在才找到方法。 有什么建议吗?你的软件值多少钱 目标市场盗版软件多吗 主板序列号读取可以在Windows设备上使用WMI 使用WMI读取序列号 从Java使用WMI 如果Windows XP域成员使用组策略,则

Java 在一个范围内生成一个随机双精度

我有两个双打,如下所示 double min = 100; double max = 101; 使用随机生成器,我需要在最小值和最大值之间创建一个双值 Random r = new Random(); r.nextDouble(); 但是这里没有可以指定范围的内容。要在rangeMin和rangeMax之间生成一个随机值: Random r = new Random(); double randomValue = rangeMin + (rangeMax - rangeMin) * r.ne

Java 具有Android和自签名服务器证书的HTTPS GET(SSL)

我已经阅读了关于如何在Android上通过HTTPS从使用自签名证书的服务器检索内容的各种帖子。然而,它们似乎都不起作用——它们都无法移除 javax.net.ssl.SSLException:不受信任的服务器证书消息 这不是修改服务器以获得受信任证书的选项,也不是使服务器证书与服务器的IP地址匹配的选项 请注意,服务器将没有DNS名称,它将只有一个IP地址。GET请求如下所示: https://username:password@anyIPAddress/blabla/index.php?p

如何在Java中保存首选项用户设置?

例如,我有一个带有首选项按钮的窗口。 我希望这样,当用户按下首选项按钮并检查他/她的适当选项并按下ok时,它会保存首选项,然后当用户在主窗口上按run时,它会根据用户在首选项窗口上更改的首选项运行 提前谢谢。有一个专门用于此目的的。它允许您以简单的跨平台方式存储每个用户的首选项,而API本身负责存储数据的位置和方式。您可以使用该软件包。一个简单的例子: // Retrieve the user preference node for the package com.mycompany Prefe

Java 字节数组是什么意思?

有人能解释一下吗,我不太明白这个概念 什么是字节数组 我们在应用程序/程序中何时何地使用它 使用字节数组的优点和缺点是什么?一个字节是8位(二进制数据) 字节数组是字节数组(同义反复FTW!) 您可以使用字节数组来存储二进制数据的集合,例如,文件的内容。这样做的缺点是必须将整个文件内容加载到内存中 对于大量二进制数据,如果您的语言支持,最好使用流式数据类型。来自: 在计算机科学中,一种数组数据 结构或简单的数组是一个数据 由集合组成的结构 元素(值或变量)的定义, 每个由一个或多个整数标识 索引

Java 如何通过引用传递基元数据类型?

如何在java中通过引用传递基元类型?例如,如何使传递给方法的int可修改?这在Java中是不可能的Java中没有任何东西是通过引用传递的。都是按值传递的 编辑:基本体和对象类型都按值传递。您永远不能更改传递的值/引用,而期望原始值/引用发生更改。例如: String a; int b; doSomething(a, b); ... public void doSomething(String myA, int myB) { // whatever I do to "myA" and

Java Android资源-数组的数组

我试图实现一个资源数据结构,它包含一个数组数组,特别是字符串数组。我遇到的问题是如何获取子数组对象及其特定值。以下是我的资源文件的外观 <resources> <array name="array0"> <item> <string-array name="array01"> <item name="id">1</item> <item name="ti

I';我维护了一个Java类';4万行长。。问题

这可能是一个导致删除的主观问题,但我真的希望得到一些反馈 最近,我转到另一个非常大的企业项目,在那里我作为一名开发人员工作。我惊讶地发现项目中的大多数类都有8K到50K的行长,方法的行长都是1K到8K。它主要是处理DB表和数据管理的业务逻辑,充满了处理用例的条件语句 这样大的类在大型企业系统中常见吗?我意识到不看代码就很难做出决定,但是你有没有在一个类这么大的系统上工作过?哦,我认为这是一个可怕的迹象,我不需要看代码就可以这么说。听起来需要进行大规模的重构工作 让我猜猜——您也没有编写系统的单元

Java 子串索引范围

代码: public class Test { public static void main(String[] args) { String str = "University"; System.out.println(str.substring(4, 7)); } } 输出:ers 我真的不明白substring方法是如何工作的。索引是否从0开始?如果我从0开始,e在索引4处,而charI在7处,那么输出将是ersi请参见。它是第一个参

Java 从集合中返回唯一元素的正确方法

我有以下情况: Set<Element> set = getSetFromSomewhere(); if (set.size() == 1) { // return the only element } else { throw new Exception("Something is not right.."); } Set Set=getsetfromwhere(); if(set.size()==1){ //返回唯一的元素 }否则{ 抛出新异常(“某些内容不正确

Java 字符串数组中的indexOf

是否有任何方法可以像在字符串中一样获得indexOf output.add("1 2 3 4 5 6 7 8 9 10); String bigger[] = output.get(i).split(" "); int biggerWher = bigger.indexOf("10"); 我写了这段代码,但它返回了一个错误,没有编译!有什么建议吗 数组没有indexOf()方法;但是,java.util.List确实如此。因此,您可以将数组包装在列表中,并使用list方法(除了add()等

Java JPA:扩展持久性上下文与分离实体

使用JPA实现跨多个http请求的业务事务似乎有两种模式: 具有分离实体的每个请求的实体管理器 扩展持久性上下文 这些模式各自的优势是什么?什么时候应该选择哪个 到目前为止,我提出了: 扩展的持久性上下文保证对象标识等同于数据库标识,从而简化了编程模型,并潜在地消除了对实体实现equals的需求 分离的实体比扩展的持久性上下文需要更少的内存,因为持久性上下文还必须存储实体以前的状态以进行更改检测 不再被引用的分离实体有资格进行垃圾收集;必须首先显式分离持久对象 然而,由于没有任何JPA的实际

Java 如何在一个项目中使用多个带有回登录的配置?

logback的配置文件位于类路径上,因此是特定于Eclipse项目的,这不是我想要的。我正在使用多个Java实用程序,它们都驻留在一个项目中(这共享类路径),并且我需要为其中一些使用特定的配置 我尝试过变量替换和Joram配置程序,但都不管用。这很可能是我的错,我打算有一天解决它,但现在我需要一个简单的解决方案。选项1:使用logback.configurationFile系统属性指定logback配置文件的位置。这实际上允许您在每个项目中拥有多个配置文件。根据,此属性的值可以是URL、类路径

Java 将IntelliJ IDEA项目导入NetBeans?

如何将IntelliJ IDEA项目导入Netbeans 我知道我可以用IntelliJ,但我更喜欢Netbeans 对于这个特定的项目,我不能将源目录复制到Netbeans项目中。。。那不行吗 我如何在Netbeans中使用IntelliJ IDEA项目?简短回答:我不相信存在这样的工具 更详细的回答:您可能不应该依赖项目的专有格式。取决于项目,或者可能是更好的解决方案。nbproject是NetBeans所需的文件夹,它保存其项目设置。唯一需要的项目生成文件是project.xml和proj

Java BuffereImage到PNG格式Base64字符串

我正在尝试以base64编码字符串的形式获取屏幕截图输出,但距离不远。到目前为止,我的代码使用了Base64库(): 每次我运行它,“result”总是一个空字符串,但我不明白为什么。有什么想法吗 注意:我不想将png写入磁盘上的文件。以下语句的工作方向错误: out.writeTo(b64); 它用out的空字节数组覆盖基64数据 out的目的是什么?我认为你不需要它 更新: 您可以直接将图像写入os,而不是通过Base 64编码器写入 以下代码应该可以工作: ... ByteArrayOu

Java 是什么使得线程的执行顺序不可预测?

是什么使得线程的执行顺序不可预测?调度程序是否在某个时刻使用随机数或检查系统资源,或查看哪个线程等待的时间足够长,或者…?调度程序通常是操作系统的调度程序。它受许多因素的影响,包括机器上的其他进程在做什么,硬件在做什么(中断),等等。根据操作系统的不同,我认为有时可能会涉及随机数,但我怀疑通常不会。这不仅仅是多个可变时间间隔可能重叠的不可预测方式。取决于JVM,JVM可能会将线程按原样传输到操作系统,操作系统调度器将调度线程,或者JVM可能会决定调度线程本身,因此第一个区别(在相同情况下,两台不

如何在Eclipse中从项目运行单个Java文件?

我想从Eclipse中的一个项目运行一个Java文件。在那个Java文件中有要插入到数据库中的代码,我想从单个文件中检查它是否工作。有没有办法从一个项目中运行一个Java文件 需要注意的是,您不能只运行任意Java代码,而必须设置一些结构(例如,如果您要调用一个方法,您要传递什么参数?)来运行特定的Java代码段,您应该考虑在该类中创建一个主< /代码>方法,该方法只在您希望的约束下启动一些特定的代码。一种方法是添加一个方法publicstaticvoidmain(String[]args),其

Java 获取当前年份和月份,从而产生奇怪的结果

我正在做一个与Android相关的学习项目。我正在尝试使用下面的代码获取当前年份和月份,但它不适合我 GregorianCalendar gc = new GregorianCalendar(); gc.YEAR // returning 1 gc.MONTH // returning 2 Calendar c = Calendar.getInstance(); c.YEAR // returning 1 c.MONTH // returning 2 有人能帮我吗

Java 有没有办法知道哪些对象在“中”;旧的;堆面积

我有很长的GC循环。 通过检查,我看到堆的永久(旧)区域中有太多的对象。 知道哪些对象在堆的哪个区域有什么用处,或者知道关于这些对象的任何静态信息。 我正在使用Sun/Oracle HotSpot JVM(Java 6) 编辑:关于我的问题的更多细节: 我有一个很大的堆(32GB),即使旧堆区域只有30%已满,运行GC也会手动暂停15秒。我想知道哪些对象是保留在旧区域中的“幸存者”,以便知道要优化的对象创建。我不知道有任何工具/实用程序可用于当前一代JVM 但另一方面,我不认为这样的实用程序会有

Postgres和Java中将字符串转换为UUID

我需要将字符串(文本)转换为UUID(Postgres),并保持与字符串相同的排序。可能吗?我在时间上看到了UUID的基础,所以可能是不可能的?JDK中有一个类专门用于管理UUID,名为java.util.UUID。其中有一个符合您目标的静态方法fromString。据我所见,您可以在JDBC insert语句中使用UUID实例。在开源项目中,我们使用PostgreSQL UUID类型来存储主键和外键 我们构建了一个名为Guid的包装器,它使用java.util.UUID类保存从数据库读取的数据

Java Spring,使用@Configuration和@Bean注释

我有一个密码: @Configuration public class BeanSample { @Bean(destroyMethod = "stop") public SomeBean someBean() throws Exception { return new SomeBean("somebean name1"); } class SomeBean { String name; public So

Java 当参数为文本空值时,如何选择重载方法?

我在一次测验中遇到了这个问题 public class MoneyCalc { public void method(Object o) { System.out.println("Object Verion"); } public void method(String s) { System.out.println("String Version"); } public static void main(String args[])

Java 为什么合并不是一对多关系的级联

我这里的问题几乎和我的另一个问题相似 但我想进一步简化它,以保证得到更详细的答案 想象一下,我的父母和孩子之间有一种单一的关系 @Entity public class Parent { private String name; @OneToMany(mappedBy="owner",cascade=CascadeType.ALL, fetch=FetchType.EAGER) private List<Child> children; } @Entity p

用java向多个收件人发送邮件

我想使用以下方法向多个收件人发送邮件: message.addRecipient(Message.RecipientType.TO, String arg1); 或 但一个困惑是,在第二次辩论中, 如何传递多个地址,如: message.addRecipient(Message.RecipientType.CC, "abc@abc.com,abc@def.com,ghi@abc.com"); 或 我也可以使用其他方法发送消息,但我想知道上述方法的用途。 如果我不能使用它(到目前为止,我还没有

Java 获取类OwlApi的子类

有一种方法可以找到一个类的所有命名子类,而不使用reasonerfor(OWLClass-child:reasoner.getsubclass(clazz,true).getflatten()),也不使用公理进行推理?谢谢使用owl api可以查询本体以获得所有子类公理。 然后过滤结果以仅保留命名类 for (final OWLSubClassOfAxiom subClasse : ontology.getAxioms(AxiomType.SUBCLASS_OF)) { if (subC

Java 列表到其他列表jasper报告

我有这个对象结构,就像mi jasper报告中的JavaBean一样使用 public class Person{ private String name; private String lastname; private List<Job> jobs; } public class Job{ private String jobName; private String companyName; private List<Reponsabi

Java 默认情况下,don';t使用Spring数据Rest和Jpa公开实体类中的字段

我有一个实体类帐户。它有很多字段。目前,它们中的大多数都在REST调用中公开,除了我使用@JsonIgnore显式忽略密码字段之外,但我将添加更多字段,我不想忘记将@JsonIgnore添加到不应该公开的新内容中 我可以反转曝光,以便显式地启用要导出的字段,默认情况下它不会被曝光吗 import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; impo

Java Android WebView,从缓存加载并尝试刷新

我正在尝试创建一个小应用程序,加载网页并将其存储在缓存中。刷卡刷新时,它必须尝试更新,但如果无法访问internet,则应保持当前版本 目前,我已经有了“刷卡强制刷新”和“从缓存加载”的功能,但似乎无法理解如何“尽可能尝试刷新” 基于forWebSettings.LOAD\u CACHE\u ELSE\u NETWORK: 在缓存资源可用时使用缓存资源,即使它们已经可用 期满。否则,请从网络加载资源 因此,视图始终从缓存加载 您可以使用以下方法: 1.检查连接: private boolean

Java 在Azure CosmosDB上添加附件

我正在寻找一些关于如何在CosmosDB上添加附件的帮助。以下是小背景 我们的应用程序目前在IBMBlueMix上,我们正在使用CloudantDB。我们使用CloudanDB存储附件(PDF文件)。我们不打算使用Azure PaaS应用程序服务,也不打算使用CosmosDB。我正在寻找有关如何使用JavaAPI在CosmosDB上创建附件的帮助。我需要使用什么API?我想做一个小POC 谢谢,我个人觉得在Azure中,如果你想将文件放入documentDb,你将为查询成本付出高昂的代价。相反,

Java Spring ReflectionTestUtils不设置静态最终字段

我有一个静态的最终字段,如下所示: class SomeClass { static final String CONST = "oldValue"; } ReflectionTestUtils.setField(SomeClass.class, "CONST", "newValue"); 我试图在测试中改变这个字段,如下所示: class SomeClass { static final String CONST = "oldValue"; } ReflectionTes

Java 无法在同一个包中单独编译所有类

我有一个“客户机-服务器”程序,它有3个类和1个接口。() AddServerIntf.java import java.rmi.Remote; import java.rmi.RemoteException; interface AddServerIntf extends Remote { double add(double d1, double d2) throws RemoteException; } import java.rmi.*; import java.rmi.ser

Java TestNG报告-按顺序发布测试

TestNG报告-按顺序发布测试 如何在TestNG自定义报告中按执行顺序显示测试。现在,我执行的测试在TestNG报告中随机发布。我正在使用来自的以下自定义侦听器代码 TestNG XML是: <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <suite name="Main Suite" parallel="false"> <listeners> <listener c

Java 二进制运算符'&燃气轮机';使用双打

所以我在findsmalest和findLargest方法中得到了错误,但是我理解错误,我只是不理解为什么会发生。我正在比较2D数组中的两个双精度,但它仍然告诉我不能将它们与'>'进行比较。任何帮助都将不胜感激。你可以跳过大部分的主要方法到我有问题的地方 import java.util.Scanner; public class DivingScores { public static void main(String[] args) { Scanner input = n

Java 卡夫卡原木清理机坠毁

请注意,我已经阅读了很多以下文章,并尝试在不同论坛上查找相关信息,但没有成功: 希望您能理解我的问题并提供一些线索=) 故事是这样的: 几天前,我们在kafka群集上部署了重复数据消除服务。 自从我们使用这项服务以来,我们注意到消费者的话题开始增长。 原因是日志清理器(用于压缩此主题和其他主题)发生以下错误而崩溃: java.lang.IllegalStateException:此日志包含的消息大于最大允许大小1000012 根据我们的理解,我们首先认为这是一个消息大小问题,因此我们增加了max

调用Android Java JNI GetDoubleField()时发出的SIGABORT

调用GetDoubleField()时,我得到一个SIGABORT 我已经写了一个小样本程序来说明这个问题 MainActivity.java package net.directionalsystems.jnitest; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.widget.TextView; pub

在Java中使用递归从和ArrayList中分离奇偶索引

作为赋值的一部分,我试图从java中的ArrayList中分离偶数和奇数索引。它必须是一个递归方法。这是我试过的 public ArrayList<Integer> toOddList(ArrayList<Integer> input) { ArrayList<Integer> copiedList = (ArrayList<Integer>) input.clone(); ArrayList<Integer&

Java 如何通过修改Netbeans中的父项来影响所有子项?

我有一个jPanelpanelA,其中包含jButtons、jlabel和任何其他东西。 我的问题是,如果我可以将panelA中的所有组件都设置为子级,那么我如何才能生成这样的方法 panelA.setEnable(false); 这使得所有的孩子都残疾了,而不必列出他们中的每一个人 在java.Swing-likepanelA.setVisible(false)中是否有任何方法可以将其推广到其他方法?没有预定义的函数,但您可以创建如下函数: void setPanelEnabled(JPan

Java 应用程序链接助手Android Studio在第一个应用程序活动中打开

我使用Android Studio中的“应用链接助手”来配置将通过我的应用打开的链接 一切正常 但我的问题是,当我通过应用程序打开链接时,它会打开在我单击链接的前一个应用程序中定义的活动 例如: 如果我点击WhatsApp中的链接,我会看到如下内容: 当我使用该应用程序打开时,该应用程序将在WhatsApp中打开,如下图所示: 那么,我如何仅在我的应用程序中打开应用程序,而不在WhatsApp或其他应用程序中打开应用程序 下面是此活动的my AndroidManifest.xml代码: &

上一页   1   2   3   4    5   6  ... 下一页 最后一页 共 38123 页