Questions tagged «java»

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

5
如果非同步静态方法不修改静态类变量,它们是否安全?
我在想,如果您有一个静态方法不同步,但并没有修改任何静态变量是线程安全的?如果该方法在其中创建局部变量该怎么办?例如,以下代码是线程安全的吗? public static String[] makeStringArray( String a, String b ){ return new String[]{ a, b }; } 因此,如果我有两个线程连续并同时调用此方法,一个带狗(例如“大丹狗”和“斗牛犬”),另一个带猫(例如“波斯”和“暹罗”)的猫,我将得到猫和狗在同一阵列中?还是猫和狗永远不会同时处于该方法的同一调用中?

4
“ java”命令可以编译Java程序吗?
互联网上的大多数网站都说: “使用javac命令编译.java文件。然后使用java命令运行它” 但是今天我试图在没有Java的情况下运行Java程序,但javac结果却很奇怪。 以下是名为的文件的内容hello.java: public class Myclass { public static void main(String[] args){ System.out.println("hello world"); } } 然后我跑了: $ javac hello.java 这给了我这个错误: hello.java:1: error: class Myclass is public, should be declared in a file named Myclass.java public class Myclass { ^ 1 error 但是,当我在没有javac命令的情况下运行它时,它的执行没有任何错误。 $ java hello.java hello world 该java命令还会编译程序吗?如果是,为什么我们需要该javac命令? …
145 java  javac 

14
Servlet,用于提供静态内容
我在两个不同的容器(Tomcat和Jetty)上部署了一个webapp,但是它们用于提供静态内容的默认servlet具有处理我要使用的URL结构的不同方式(详细信息)。 因此,我希望在Web应用程序中包含一个小型Servlet,以提供其自己的静态内容(图像,CSS等)。Servlet应该具有以下属性: 没有外部依赖 简单可靠 支持If-Modified-Since标题(即自定义getLastModified方法) (可选)支持gzip编码,etag,... 这样的servlet在某处可用吗?我能找到的最接近的是servlet书中的示例4-10。 更新:我想使用的URL结构-如果您想知道的话-很简单: <servlet-mapping> <servlet-name>main</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>/static/*</url-pattern> </servlet-mapping> 因此,所有请求都应传递到主servlet,除非它们是static路径请求。问题在于,Tomcat的默认Servlet未考虑ServletPath(因此它在主文件夹中查找静态文件),而Jetty则将其考虑(因此在static文件夹中查找)。
145 java  jsp  servlets  jakarta-ee 


12
如何通过某些属性对对象列表进行排序
我上课简单 public class ActiveAlarm { public long timeStarted; public long timeEnded; private String name = ""; private String description = ""; private String event; private boolean live = false; } 和List<ActiveAlarm>骗局。如何按升序排序timeStarted,然后按timeEnded?有人可以帮忙吗?我知道在C ++中具有通用算法和重载运算符<,但是我是Java新手。



7
如何使用TimeUnit枚举将纳秒转换为秒?
如何将值从纳秒转换为秒? 这是代码段: import java.io.*; import java.util.concurrent.*; .. class Stamper { public static void main (String[] args) { long start = System.nanoTime(); //some try with nested loops long end = System.nanoTime(); long elapsedTime = end - start; System.out.println("elapsed: " + elapsedTime + "nano seconds\n"); //convert to seconds TimeUnit seconds = new …
145 java  timeunit 

9
每次重新加载pom时,停止IntelliJ IDEA来切换Java语言级别(或更改默认项目语言级别)
使用IntelliJ 12,我有一个Java项目,并且将maven与pom.xml一起使用。我的项目使用的是Java8,但似乎在导入项目时默认项目语言级别已设置为6。 我可以将语言级别更改为8.0(F4->模块->语言级别),但是每次我编辑pom.xml时,项目级别都会切换回“使用项目语言级别”,并且我必须再次编辑此设置,然后再次。 我需要添加一些东西到pom.xml来将默认语言级别设置为8.0吗?

11
等待未来的清单
我有一种返回List期货的方法 List<Future<O>> futures = getFutures(); 现在,我要等到所有期货都成功完成处理,或者期货输出返回的任何任务都抛出异常。即使一项任务引发异常,也没有必要等待其他期货。 简单的方法是 wait() { For(Future f : futures) { try { f.get(); } catch(Exception e) { //TODO catch specific exception // this future threw exception , means somone could not do its task return; } } } 但是这里的问题是,例如,如果第4个期货抛出异常,那么我将不必要地等待前3个期货可用。 如何解决呢?会以任何方式倒计时闩锁帮助吗?我无法使用Future,isDone因为Java文档说 boolean isDone() Returns true if this …


7
android.content.res.Resources $ NotFoundException:字符串资源ID#0x0
我正在开发一个Android应用,该应用从MySQL数据库读取数据,但遇到了此错误。我有这个XML布局: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/wardNumber" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="3dp" android:text="Ward Number" android:textSize="22dp"/> <TextView android:id="@+id/dateTime" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/wardNumber" android:layout_alignParentRight="true" android:layout_marginRight="3dp" android:text="Date-Time" /> <TextView android:id="@+id/name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/dateTime" android:layout_alignBottom="@+id/dateTime" android:layout_alignLeft="@+id/wardNumber" android:layout_marginLeft="3dp" android:text="Name" /> </RelativeLayout> 这是我的Java文件: public ApplicationAdapter(Context context, List<Application> items) { super(context, R.layout.app_custom_list, items); this.items = …
145 java  android  xml  listview 

6
仅在第一个实例上拆分字符串-Java
我想用'='字符分割字符串。但是我只想在一开始就拆分它。我怎样才能做到这一点 ?这是'_'char的JavaScript示例,但对我来说不起作用, 仅在指定字符的第一个实例上才拆分字符串 范例: apple=fruit table price=5 当我尝试String.split('='); 它给 [apple],[fruit table price],[5] 但是我需要 [apple],[fruit table price=5] 谢谢
145 java  string  split 


7
Java中数组的默认初始化是什么?
所以我要声明并初始化一个int数组: static final int UN = 0; int[] arr = new int[size]; for (int i = 0; i < size; i++) { arr[i] = UN; } 说我改为这样做... int[] arr = new int[5]; System.out.println(arr[0]); ... 0将按标准输出。另外,如果我这样做: static final int UN = 0; int[] arr = new int[5]; System.out.println(arr[0]==UN); ... true将按标准输出。那么Java默认如何初始化我的数组?是否可以安全地假设默认初始化将数组索引设置为零,0这意味着我不必遍历数组并对其进行初始化? 谢谢。

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.