Java 是 "逐项传递" 还是 "按值传递"?

我一直以为 Java 是通过引用的。 然而, 我已经看到了一些博客文章 (例如,这个博客 [http://javadude.com/articles/passbyvalue.htm]), 声称它不是。 我想我不明白他们的区别。 原因是什么? ……

如何比较 Java 中的字符串?

==到目前为止, 我一直在使用程序中的运算符来比较我的所有字符串。然而, 我遇到了一个 bug, 将其中一个更改为, .equals() 它修复了该 bug。 很 == 糟糕吗?什么时候应该使用, 不应该使用?有什么区别? ……

共23个回答,已解决, 标签: java string equality
什么是 Null Pointerexception, 我如何修复它?

什么是空指针异常 ( java.lang.NullPointerException ), 是什么原因导致它们? 可以使用什么方法/工具来确定原因, 以便阻止异常导致程序过早终止? ……

共12个回答,已解决, 标签: java nullpointerexception
我可以编写一个循环, 迭代两个集合和数组吗?

是否有可能检查对象是数组还是具有一个子句的集合?我正在努力实现的目标: 假设数组实现了迭代, 假设 Object foo 可以是数组或集合, 我想使用如下代码段: if (foo instanceof Iterable) { for (Object f : (Iterable) foo) { // do something with f } } 遗憾的是, 数组不能转换为迭代。它也不实现集合。是否有任何其他的可能性来处理这两个在一个循环像上面吗?而不是--当然--使用 if-否则的子句和两个循环 (这不是很好)。 编辑: 针对这些答案。我知道等数组 () 方法, 但在这种情况下, 铸造 ... for (Object f : (Iterable) foo) { ... 将失败。这将是一个遗憾和代码冗余, 因为我将不得不使用两个循环, 尽管一个前循环的工作与集合和数组。 ……

共6个回答,已解决, 标签: java arrays collections
不返回预期的连接字符串

我改进了科丁巴特的startoz [https://codingbat.com/prob/p199720]任务的解决方案。我从以前的一个找到了更好的解决方案, 当我测试它的时候, 我在一个测试用例中得到了一个意想不到的解决方案。 public String startOz(String str) { String result = (str.indexOf('o') == 0 ? "o" : "").concat(str.indexOf('z') == 1 ? "z" : ""); return result; } // test case: String str = "zzzz"; System.out.println("test=" + startOz(str)); 我不明白为什么我得到空字符串的结果时, 我期望得到测试 = z ……

共4个回答,已解决, 标签: java
使用多个 if 语句而不是逻辑 "和" 运算符 [重复]

这个问题在这里已经有了答案: * 什么更好?多个 if 语句, 或者一个如果有多个条件 [/questions/5259938/what-is-better-multiple-if-statements-or-one-if-with-multiple-conditions] 8个答案 我遇到了一些代码从一个开发人员, 看起来像这样 (代码 1) if(condition1) { if(condition2){ if(condition3){ //stuff in here } } } 我会写这样的, 而不是 (代码 2) if(condition1 && condition2 && condition3) { // stuff in here } 我不得不承认, 代码1看起来更容易阅读, 但我以前从来没有遇到过这种情况。考虑到每个块的工作方式都类似于内存堆栈中的命名空间, 从长远来看, 这是否会影响 java 的性能 (即使是最轻微的)? ……

共4个回答, 标签: java
使用不同的加载程序在 JVM 中加载类两次

我有一个关于类加载概念的问题。如何在 JVM 中加载. class 文件两次。我还在写一个代码的摘录, 我已经写了, 以实现这一点。 1. 装载机1代码 public class MyClassLoader extends ClassLoader { public MyClassLoader(){ super(MyClassLoader.class.getClassLoader()); } public Class loadClass(String classname){ try { return super.loadClass(classname); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } } 2. 装载机2代码 public cl ……

共3个回答, 标签: java classloader
通过反射获取 Java 类的公共静态最终字段属性的价值

假设我有一个类: public class R { public static final int _1st = 0x334455; } 如何通过反思获得 "_1st"的价值? ……

共3个回答,已解决, 标签: java reflection static final
对象是否始终看到其最新的内部状态, 而不考虑线程?

假设我有一个可运行的简单整数计数变量, 每次可运行运行时都会递增。提交此对象的一个实例, 以便在计划的执行器服务中定期运行。 class Counter implements Runnable { private int count = 0; @Override public void run() { count++; } } Counter counter = new Counter(); ScheduledExecutorService executorService = Executors.newScheduledThreadPool(5); executorService.scheduleWithFixedDelay(counter, 1, 1, TimeUnit.SECONDS); 在这里, 对象访问其自身的内部状态在不同线程内 (读取和递增)。此代码是线程安全的, 还是当 count 变量计划在不同的线程中时, 我们可能会丢失对该变量的更新? ……

共3个回答,已解决, 标签: java multithreading concurrency
如何在 Java [复制] 中正确删除数组

这个问题在这里已经有了答案: * 删除 java 中的对象? [/questions/5757552/deleting-an-object-in-java]7个回答 我在 Java 中已经4天了, 从我所搜索的教程中, 教师们集中精力解释如何分配二维数组 (例如): Foo[][] fooArray = new Foo[2][3]; ...但我没有找到任何解释如何删除它们的方法 从内存方面, 变量 fooArray 将指向堆中的内存块, 其中有2个元素。每个元素也指向堆中的另一个块, 其中有3个元素。 话虽如此, 我是否可以参考第一个元素块, 垃圾收集器就会完成这项工作? Foo[1] = null;和Foo[2] = null; 还是我必须将每个实例化的 Foo 元素都清空? Foo[1][1] = null;Foo[1][2] = null; Foo[1][3] = null; ... ……

共3个回答,已解决, 标签: java arrays
Python 中可用处理器的数量 [重复]

这个问题在这里已经有了答案: * 如何使用巨蟒13个答案找出 Cpu 的数量 [/questions/1006289/how-to-find-out-the-number-of-cpus-using-python] 在 Java 中, 这将返回可用处理器的数量: Runtime.getRuntime().availableProcessors() 在决定要创建多少个长时间运行的线程时, 这很方便。 Python 中是否有等效函数可调用? ……

共2个回答,已解决, 标签: java python multithreading python-multithreading
Java: 为什么静态变量的放置问题?

下面的示例定义了2个静态变量。变量 1 (myBoolean1) 定义在 Mysinleton-示例 (实例) 变量的上方。 变量 2 (myBoolean2) 定义在 Mysinleton-示例 (实例) 变量下方。 这两个变量都设置为true , 但只有1个变量 (myboolean1) 在显示时显示正确的值。 public class MySingletonExample { //static volatile boolean myBoolean1 = false; static boolean myBoolean1 = false; private static volatile MySingletonExample instance = new MySingletonExample(); //static volatile boolean myBoolean2 = false; static boolean myBoolean2 = false; private MySingletonExample() { ……

共2个回答,已解决, 标签: java static
如何使用 LocalDateTime java 即最小时间10:00 和最大时间10:30 检查最小和最大时间

我是刚来的 java, 我有一个问题, 检查一个时间是否适合一个时间空间, 即10:00-10:30。 这个想法是为了找出时间是否在10:00 到10:30 之间 下面是我的代码: LocalDateTime timecheck = LocalDate.now().atTime(10, 29); if(timecheck.getHour() == 10 &&(timecheck.getMinute() <= 30 && timecheck.getMinute() >= 0)) { //do something } 有没有一种方法可以简单地做到这一点。 ……

共2个回答, 标签: java time
在 Java 中进行基本添加计算机的读取和读取

我正在尝试做一个简单的加法机。 public class AddingMachine { // Save as 'AddingMachine.java" public static void main(String[] args) { System.out.println(); System.out.println("Welcome to the Adding Machine."); System.out.println(); String name = readLine("What is your name? "); int num1 = readInt("What is the first number? "); int num2 = readInt("What is the second number? "); System.out.println(); int sum = num1 + num2; System.out.print(name); System.out.print(", the sum is: ……

共1个回答, 标签: java
同步是如何工作的?

例如, 我有 @Stateless 的 java 豆: @Stateless(mappedName = "test") public class Test implements ITest { @Override public void updateActivity (SomeObj activity) throws Exception { em.persist(activity); } } 因为它是一个容器管理的 bean, 那么告诉我, 容器何时决定将上下文与 DB 同步?在这种情况下, 我立即看到的结果在 DB, 但有时他们似乎没有立即出现在那里, 对不对? 请解释我同步是如何在容器管理模式下与上下文和数据库一起工作的?容器何时决定将上下文与数据库同步? ……

共1个回答, 标签: java ejb-3.0
在没有最大数字的 java 中使用递归的打印数字

使用递归, 我需要输入一个数字, 控制台将打印这个数字, 没有其最高的数字。如果小于 10, 它将返回0。 我已经找到了最大的数字, 但我怎么能删除它, 并打印数字没有它后?这是最大数字的代码: public static int remLastDigit(int n){ if(n==0) return 0; return Math.max(n%10, remLastDigit(n/10)); } 如果我输入 12345, 我预计输出是12345。如果我输入9或更少, 我希望输出为0。 ……

共1个回答, 标签: java recursion
如果我们在接口中添加方法, 我们如何在倍数类中实现方法

在一次面试中, 面试官问了这个问题。在 Interface1 中有10个方法, 并实现了接口1有1000个类。稍后在接口1中, 我添加了第11种方法。如何在所有类中实现该第11种方法。后来他问你怎么能在只有几个类中实现。因为有1000个类, 你不能只去每个类和实现, 它的时间需要。你能告诉我怎么解决吗? ……

共1个回答, 标签: java
如何在列表视图中的文本视图中显示数据, 每个项目使用单个布局和类显示不同的数据

我想在列表视图的项目中显示文本数据 我尝试过 "布景和额外的"。我发现的方式使更多的10个活动与4个文本视图和使用 setText。 public class Writing extends AppCompatActivity { private ListView itemLisVIew; private ListAdapterForItem customAdapterForItems; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.formenuitem); ArrayList items = new ArrayList<>(); ArrayList task2Item = new ArrayList<>(); //================= mai ……

如何获取 json 数组的数据

我有这个 JSON 里面有数组, 但问题是一些大小为 5, 然后3或 2, 所以我怎么能得到这个在系统视图 @Override public void onBindViewHolder(@NonNull TeacherViewHolder holder, final int i) { Routine routineList = rotingList.get(i); holder.heading.setText(routineList.getName()); for (int s = 0 ;s ` 这是杰森 http://school.titli.co:8002/api/routineresponse [http://school.titli.co:8002/api/routineresponse] ` ……

共0个回答, 标签: java android arrays json retrofit
JVM G1gc 的混合 gc 没有收集太多老区域

我的服务器在 CentOS 6.7 上使用 1.8.0 _ 92, GC param 是 '-Xmsx16g-Xmx16g-XX:+UseG1GC "。因此, 默认的启动 Heapepinepinepin分为 45, G1heapw仓 epep% 为 5, G1 Mixedgmclivepholdep% 为85。我的服务器的混合 GC 从 7.2 gb 开始, 但它清理越来越少, 最后旧的 gen 保持大于 7.2 gb, 所以它总是尝试做并发标记。最后, 所有堆都用完, 并发生了完整的 GC。在完全 GC 后, 使用的旧基因低于500MB。 old gen [https://i.stack.imgur.com/mzDlu.png] [https://i.stack.imgur.com/mzDlu.png] 我很好奇为什么我的混合 GC 不能收集更多, 看起来像实时数据是没有那么多..。 我已经尝试打印 g1 相关信息, 并发现许多像下面这样的消息, 看起来像我的旧 gen 包含了很多实时数据, 但为什么完整的 G1 可以收集这么多..。 G1Ergonomics (Mixed GCs) do not ……

共0个回答, 标签: java garbage-collection weak-references g1gc