乘以长值?

class Main { public static void main (String[] args){ long value = 1024 * 1024 * 1024 * 80; System.out.println(Long.MAX_VALUE); System.out.println(value); } } 输出是: 9223372036854775807 0 如果long value = 1024 * 1024 * 1024 * 80L;这是正确的long value = 1024 * 1024 * 1024 * 80L; !

格式化具有相同填充量的数字

我想在Java中格式化3位浮点数,以便它们垂直排列,使得它们看起来像: 123.45 99 23.2 45 当我使用DecimalFormat类时,我接近,但我想在项目有1或2位数时插入空格。 我的代码: DecimalFormat formatter = new java.text.DecimalFormat(“####.##”); float [] floats = [123.45, 99.0, 23.2, 45.0]; for(int i=0; i<floats.length; i++) { float value = floats[i]; println(formatter.format(value)); } 它产生: 123.45 99 23.2 45 如何打印它以使除第一行以外的所有行都移过1个空格?

为什么没有捕获“java.lang.OutOfMemoryError:Java堆空间”?

我在Java Web应用程序中有一个线程导致java.lang.OutOfMemoryError:Java堆空间exception,但try / catch块没有捕获错误。 示例代码: private void doSomeWork() { try { processData(); //Causes OutOfMemoryError System.out.println(“This line does not execute”); } catch (Exception e) { System.out.println(“Exception. This line does not execute.”); //Log error } finally { System.out.println(“finally. This line does execute”); System.out.println(“Thread name: ” + Thread.currentThread().getName()); } } 输出: 最后。 这一行确实执行 线程名称:_Worker-8 线程“_Worker-8”中的exceptionjava.lang.OutOfMemoryError:Java堆空间 … 背景: 我最近接手了这个Java项目,我正在努力加快Java和这个项目的速度。 […]

任何人都可以通过ConcurrentModificationException解释我吗?

情况1:这不会导致ConcurrentModificationException ? 任何人都可以告诉我为什么这不会导致ConcurrentModificationException。 public class UpdatePeople { List records = new ArrayList (); public class AsyncTask extends AsyncTask { List people; public AsyncTask(List allergy) { this.people = people; }@ Override protected Boolean doInBackground(Void…params) { List responses = new ArrayList (); for (People peopleList: this.people) { } } } } 情况2:这会导致ConcurrentModificationException因为我正在尝试访问我的AsyncThread中不是线程安全的人员列表。 我可以让我的人员列表实现CopyOnWriteArrayList ,这是线程安全的,这应该工作。 public class UpdatePeople […]

在JSch中使用channelsftp传输文件夹和子文件夹?

我想使用channelsftp传输文件夹和子文件夹。 我可以使用channelsftp.put(src,dest)命令成功传输文件channelsftp.put(src,dest)但这对文件夹不起作用(至少我无法使其工作)。 那么有人可以解释我如何使用channelsftp传输文件夹和子文件夹?

数组在方法中有变化吗?

我写这样的时候: public class test { void mainx() { int fyeah[] = {2, 3, 4}; smth(fyeah); System.out.println(“x”+fyeah[0]); } void smth(int[] fyeah) { fyeah[0] = 22; } } 它打印x22; 我写这样的时候: public class test { void mainx() { int fyeah = 5; smth(fyeah); System.out.println(“x”+fyeah); } void smth(int fyeah) { fyeah = 22; } } 它不打印x22,但打印x5。 为什么在第二个版本函数中,值没有变化? 它是否只更改数组元素的值?

使用自定义类加载器中的javax.tools.ToolProvider?

似乎不可能使用Ant或Webstart所需的自定义类加载器中的javax.tools.ToolProvider : http ://bugs.sun.com/view_bug.do?video_id = 6548428 javax.tools.ToolProvider.getSystemJavaCompiler()将javax.tools.JavaCompiler加载到URLClassLoader中,其父级是系统类加载器。 API似乎不允许用户指定父类加载器。 如何从自定义类加载器中使用javax.tools.JavaCompiler ? 例如: Ant加载MyParserTask MyParserTask解析Java源代码 AntClassLoader由委托给系统类加载器的AntClassLoader加载 javax.tools.JavaCompiler由URLClassLoader加载,代理到系统类加载器 稍后, MyParserTask调用: javax.tools.CompilationTask task = compiler.getTask(…); com.sun.source.util.JavacTask javacTask = (com.sun.source.util.JavacTask) task; javacTask.parse().next().accept(visitor, unused); // parsing happens here 看到这两个类如何驻留在不同的类加载器上, JavacTask没有办法在不获取ClassCastException错误的情况下与JavacTask进行交互。 有任何想法吗?

从一个开发服务器提供多个GAE模块?

我正在将一些后端转换为模块,并且在设置开发环境配置时感到困惑。 我在Eclipse中使用Java而不是Maven。 架构非常简单: 前端模块是默认的。 基本的GAE / GWT应用程序。 将项目放在任务队列上。 后端模块处理任务队列。 使用旧的后端架构,一个调试配置将启动开发服务器,该服务器将为GWT DevMode UI 和后端任务处理提供服务。 问题的关键在于DevMode的参数提供了一个-war命令行参数。 现在我们不再有一个war文件(有一个包含两个war文件的ear),我们必须独立启动它们。 这很好,我们可以创建一个启动前端和后端的启动组。 问题是每个war文件都有自己的WEB-INF / appengine-generated / local_db.bin,它实际上创建了两个独立的应用程序。 我在这里错过了什么吗? 我需要能够在我的前端RPC服务和处理新后端中的任务队列项的servlet中放置一个断点,并让它们在一个调试会话中命中。 谢谢你的任何想法。

在Android Studio中使用unirest的问题

我在我的logcat中遇到了一些错误,这些错误导致我的应用程序在尝试执行某些不正确的请求时崩溃。 我知道你必须生成一个包含所有依赖项的特殊unirest jar但是我遇到了maven的问题并且没有这样做,而是我已经在libs文件夹中单独包含了依赖项。 我已将问题缩小到下面的这个错误。 logcat的: java.lang.VerifyError: com/mashape/unirest/http/options/Options at com.mashape.unirest.http.HttpClientHelper.prepareRequest(HttpClientHelper.java:154) at com.mashape.unirest.http.HttpClientHelper.request(HttpClientHelper.java:131) at com.mashape.unirest.request.BaseRequest.asJson(BaseRequest.java:68) 我知道java.lang.verifyerror是由编译时与运行时给出的不同库引起的。 但我不知道如何解决这个问题。 请帮助,确保我需要的所有依赖项都在下面,因为我之前没有使用过unirest。 的build.gradle: dependencies { compile fileTree(include: [‘*.jar’], dir: ‘libs’) compile files(‘libs/unirest-java-1.3.20.jar’) compile files(‘libs/rebound-0.3.6.jar’) compile files(‘libs/commons-io-2.4.jar’) compile files(‘libs/json-20140107.jar’) compile files(‘libs/httpmime-4.3.5.jar’) compile files(‘libs/httpclient-4.3.5.jar’) compile files(‘libs/httpasyncclient-4.0.2.jar’) compile files(‘libs/httpcore-4.3.2.jar’) compile files(‘libs/commons-codec-1.6.jar’) compile files(‘libs/commons-logging-1.1.3.jar’) } 我的libs文件夹是什么样的: commons-io-2.4.jar httpcore-4.3.2.jar httpclient-4.3.5.jar commons-logging-1.1.3.jar json-20140107.jar rebound-0.3.6.jar unirest-java-1.3.20.jar commons-codec-1.6.jar httpmime-4.3.5.jar […]

Java Stacktrace错误不支持的major.minor版本51.0

可能重复: 不支持的主要.minor版本51.0 我制作了这个脚本,它给了我这个错误: java.lang.UnsupportedClassVersionError: net/glitching/client : Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(Unknown Source) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$000(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) Exception in thread “main” 这是什么意思? 这是我的代码…… package net.glitching; import […]