小编孙兴斌*_*孙兴斌的帖子

特定年份的特定月份的天数?

如何知道特定年份的特定月份有多少天?

String date = "2010-01-19";
String[] ymd = date.split("-");
int year = Integer.parseInt(ymd[0]);
int month = Integer.parseInt(ymd[1]);
int day = Integer.parseInt(ymd[2]);
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR,year);
calendar.set(Calendar.MONTH,month);
int daysQty = calendar.getDaysNumber(); // Something like this
Run Code Online (Sandbox Code Playgroud)

java datetime calendar

150
推荐指数
6
解决办法
19万
查看次数

如何仅使用注释设置JAX-RS应用程序(没有web.xml)?

是否可以仅使用注释设置JAX-RS应用程序?(使用Servlet 3.0和JAX-RS Jersey 1.1.0)

我试过,没有运气.web.xml似乎需要使用一些.


配置A(工作,但具有web.xml配置)

web.xml中

   ...
   <servlet>
      <servlet-name>org.foo.rest.MyApplication</servlet-name>
   </servlet>
   <servlet-mapping>
       <servlet-name>org.foo.rest.MyApplication</servlet-name>
       <url-pattern>/*</url-pattern>
   </servlet-mapping>
   ...
Run Code Online (Sandbox Code Playgroud)

Java的

@ApplicationPath("/")
public class MyApplication extends Application {
    ...
}
Run Code Online (Sandbox Code Playgroud)

配置B(不工作,抛出异常)

@ApplicationPath("/")
@WebServlet("/*") // <-- 
public class MyApplication extends Application {
    ...
}
Run Code Online (Sandbox Code Playgroud)

后者似乎坚持认为Application将是Servlet的子类(例外不会留下任何猜测)

java.lang.ClassCastException: org.foo.rest.MyApplication cannot be cast to javax.servlet.Servlet
Run Code Online (Sandbox Code Playgroud)

问题

  1. 为什么web.xml定义有效,但注释没有?有什么不同?

  2. 有没有办法使它工作,例如有一个没有web.xml的JAX-RS应用程序?

java jax-rs java-ee servlet-3.0

76
推荐指数
4
解决办法
11万
查看次数

在三元运算符中获取不需要的NullPointerException - 为什么?

在执行以下代码时,我得到一个NullPointerException在线:

value = condition ? getDouble() : 1.0;
Run Code Online (Sandbox Code Playgroud)

在早期的行中,当我使用null而不是getDouble()一切都有效时,这很奇怪.

public class Test {
    static Double getDouble() {
        return null;
    }

    public static void main(String[] args) {
        boolean condition = true;
        Double value;

        value = condition ? null : 1.0;         //works fine
        System.out.println(value);              //prints null

        value = condition ? getDouble() : 1.0;  //throws NPE
        System.out.println(value);
    }
}
Run Code Online (Sandbox Code Playgroud)

有人能帮我理解这种行为吗?

java double nullpointerexception conditional-operator

48
推荐指数
2
解决办法
2623
查看次数

存储过程与准备语句之间的差异?

存储过程和准备语句之间有什么区别......哪一个更好,为什么...... !! 我试图谷歌但没有更好的文章......

stored-procedures prepared-statement

34
推荐指数
3
解决办法
3万
查看次数

执行kafka-console-consumer.sh时,zookeeper不是公认的选项

我从这个链接学习如何使用kafka (除了我在zookeeper中使用端口2182),

但它显示:

zookeeper不是公认的选择

执行后:

sudo ./bin/kafka-console-consumer.sh --topic test --zookeeper localhost:2182

我做了一些搜索,似乎有一个未答复的重复问题,但它已被删除.

有人知道怎么解决吗?

ENV:

kafka_2.11-2.1.0
zookeeper-3.4.10
Run Code Online (Sandbox Code Playgroud)

java apache-kafka apache-zookeeper

21
推荐指数
3
解决办法
1万
查看次数

String replace()在Java中返回额外的空间

考虑:

System.out.println(new String(new char[10]).replace("\0", "hello"));
Run Code Online (Sandbox Code Playgroud)

有输出:

hellohellohellohellohellohellohellohellohellohello 
Run Code Online (Sandbox Code Playgroud)

但:

System.out.println(new String(new char[10]).replace("", "hello")); 
Run Code Online (Sandbox Code Playgroud)

有输出:

hello hello hello hello hello hello hello hello hello hello
Run Code Online (Sandbox Code Playgroud)

这些额外空间来自哪里?

java string replace char

17
推荐指数
3
解决办法
712
查看次数

SingleThreadExecutor VS普通线程

除了Executor接口比普通线程(例如管理)具有一些优势之外,在执行以下操作之间是否存在任何真正的内部差异(大的性能差异,资源消耗......)

ExecutorService executor = Executors.newSingleThreadExecutor();
executor.submit(runnable);
Run Code Online (Sandbox Code Playgroud)

和:

Thread thread = new Thread(runnable);
thread.start();
Run Code Online (Sandbox Code Playgroud)

我这里只询问一个帖子.

java multithreading threadpoolexecutor

16
推荐指数
2
解决办法
4049
查看次数

java.lang.ClassNotFoundException:dalvik.system.BaseDexClassLoader.findClass

我在Google Play开发者控制台中不断收到此错误报告.它看起来像MultiDex错误.

java.lang.RuntimeException: 
  at android.app.LoadedApk.makeApplication(LoadedApk.java:516)
  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4514)
  at android.app.ActivityThread.access$1500(ActivityThread.java:151)
  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1381)
  at android.os.Handler.dispatchMessage(Handler.java:110)
  at android.os.Looper.loop(Looper.java:193)
  at android.app.ActivityThread.main(ActivityThread.java:5299)
  at java.lang.reflect.Method.invokeNative(Native Method:0)
  at java.lang.reflect.Method.invoke(Method.java:515)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:829)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645)
  at dalvik.system.NativeStart.main(Native Method:0)

Caused by: java.lang.ClassNotFoundException: 
  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
  at android.app.Instrumentation.newApplication(Instrumentation.java:975)
  at android.app.LoadedApk.makeApplication(LoadedApk.java:511)
Run Code Online (Sandbox Code Playgroud)

我已经将它添加到gradle.build:

defaultConfig {
...
minSdkVersion 14
targetSdkVersion 21
...

// Enabling multidex support.
multiDexEnabled true
}

dependencies {
  compile 'com.android.support:multidex:1.0.0'
}
Run Code Online (Sandbox Code Playgroud)

 @Override
    protected void attachBaseContext(Context newBase) {
        super.attachBaseContext(newBase);
        try {
            MultiDex.install(this);
        }catch (RuntimeException e){
            e.printStackTrace();
        }catch (Exception e){ …
Run Code Online (Sandbox Code Playgroud)

java android classnotfoundexception android-multidex

15
推荐指数
1
解决办法
2845
查看次数

如何从Intellij Idea中删除当前项目中所有未使用的导入

我已经使用Intellij Idea了很长一段时间了.我有几个问题.有没有办法从当前项目的所有文件中删除所有未使用的导入

我知道我可以选择菜单项Code> Optimize Imports(CTRL + ALT + O)来组织单个文件中的导入,但由于我正在处理的应用程序有数百个文件,因此这个过程没有任何意义.如果没有办法做到这一点,我可以为此创建一个宏吗?如果是这样,我该怎么办?

java intellij-idea

15
推荐指数
1
解决办法
4318
查看次数

克隆java.time.LocalDateTime的最佳方法

我想创建一个副本,java.time.LocalDateTime但它没有clone()方法.

我所做的是以下内容:

long epochMilli = Instant.now().toEpochMilli();

LocalDateTime createDate =  LocalDateTime.ofInstant(Instant.ofEpochMilli(epochMilli), ZoneId.systemDefault());

LocalDateTime modificationDate = LocalDateTime.ofInstant(Instant.ofEpochMilli(epochMilli), ZoneId.systemDefault());
Run Code Online (Sandbox Code Playgroud)

有没有最简单的方法来创建具有完全相同的日期时间值的两个LocalDateTime对象?

java datetime java-8

13
推荐指数
2
解决办法
5910
查看次数