标签: java-9

JDK 9 及更高版本中已弃用 Java EE

我想知道为什么JDK 9不再有Java EE版本。我读到,由于 JDK 9 版本不再包含 Java EE,因此 Java EE 自己的功能将显示为已弃用。你知道如何解决这个问题吗?

java java-9

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

Observer 和 Observable 已被弃用,原因是:它们传达了某些内容已更改,但未说明已更改的内容,这是错误的吗?

通过打开jdk检查一下

弃用 Observer 和 Observable

观察者和可观察类:

可观察到:-

class NewsAgency extends Observable {

String news;
public void setNews(String news) {
    this.news = news;
    setChanged();
    notifyObservers(news);
 }
}
Run Code Online (Sandbox Code Playgroud)

观察员:-

public class IndiaNews implements Observer {
   @Override
   public void update(Observable o, Object news) {
   System.out.println("Indianews: " +news.toString());
 }
}

class AjjTak implements Observer {
@Override
public void update(Observable o, Object news) {
    System.out.println("AjjTak: " +news.toString());
}
Run Code Online (Sandbox Code Playgroud)

主要类别:-

public class Main {
public static void main(String[] args) {
    NewsAgency newsAgency = new NewsAgency();

    IndiaNews …
Run Code Online (Sandbox Code Playgroud)

java observer-pattern java-8 java-9

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

Java 9:什么是集合工厂方法?

Java 9的出现为Java的Collections API带来了许多新功能,其中一个是集合工厂方法.

它们是什么以及如何正确实施?

java collections factory literals java-9

0
推荐指数
1
解决办法
559
查看次数

java 9紧凑字符串内存管理和垃圾收集.

我知道java 9中的字符串表示有所改进.我也发现了一些信息.我想更多地了解这一点,以及与以前的Java版本相比,如何减少内存使用量并改进垃圾收集.有几个问题只与这个主题有关,但我不完全相信那里的答案.提前致谢.

string java-9

0
推荐指数
1
解决办法
579
查看次数

如何在Java 9中以其名称获取模块?

如何java.lang.Module通过Java 9中的字符串名称获取?

例如,我们有

String name = "some.module";
Module module = //how to get here it?
Run Code Online (Sandbox Code Playgroud)

java java-9 java-module

0
推荐指数
1
解决办法
345
查看次数

在 Java 9 中还可以使用 sun.misc.Unsafe 吗?

在 Java 8 之前,可以sun.misc.Unsafe通过如下方法获取单例实例:

public static Unsafe getUnsafe() {
    try {
        Field f = Unsafe.class.getDeclaredField("theUnsafe");
        f.setAccessible(true);
        return (Unsafe) f.get(null);
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}
Run Code Online (Sandbox Code Playgroud)

尽管强烈建议不要使用Unsafe,但许多供应商和图书馆在内部使用它。

现在,有了 Java 9 和 Jigsaw,我认为Unsafe处理方式也发生了变化。我读了一些带有相反信息的帖子。有人说它已完全隐藏,甚至无法检索,有人说必须启用 VM 标志,而另一些人则写道它现在应该得到正式支持。

那么:是否仍然可以sun.misc.Unsafe在 Java 9 中使用?如果可以,如何使用?

java reflection unsafe native java-9

0
推荐指数
1
解决办法
2135
查看次数

适用于java 10的Apache Ant版本

Ant 1.10.2与Java 10兼容吗?ant文档不是很清楚:它只是说它与最低版本的Java 1.5兼容.我怎么能确定它与java 10兼容?谢谢!

java ant version java-9 java-10

0
推荐指数
1
解决办法
957
查看次数

NoSuchMethodException:springframework.boot.autoconfigure.http.HttpMessageConverters

我想在Spring中使用Java 9。但我得到例外:

Caused by: org.springframework.aop.framework.AopConfigException: Unable to instantiate proxy using Objenesis, and regular proxy instantiation via default constructor fails as well; nested exception is java.lang.NoSuchMethodException: org.springframework.boot.autoconfigure.http.HttpMessageConverters$$EnhancerBySpringCGLIB$$1d90bff9.<init>()
    at deployment.datalis_gateway.war//org.springframework.aop.framework.ObjenesisCglibAopProxy.createProxyClassAndInstance(ObjenesisCglibAopProxy.java:82)
    at deployment.datalis_gateway.war//org.springframework.aop.framework.CglibAopProxy.getProxy(CglibAopProxy.java:205)
    ... 62 more
Caused by: java.lang.NoSuchMethodException: org.springframework.boot.autoconfigure.http.HttpMessageConverters$$EnhancerBySpringCGLIB$$1d90bff9.<init>()
    at java.base/java.lang.Class.getConstructor0(Class.java:3302)
    at java.base/java.lang.Class.getDeclaredConstructor(Class.java:2512)
    at deployment.datalis_gateway.war//org.springframework.aop.framework.ObjenesisCglibAopProxy.createProxyClassAndInstance(ObjenesisCglibAopProxy.java:76)
    ... 63 more
Run Code Online (Sandbox Code Playgroud)

您知道如何配置Java 9来查找此受限Java程序包吗?

java spring java-9

0
推荐指数
3
解决办法
796
查看次数

如何将日历日期限制为 10 分钟?

有一种更好的方法可以通过以下代码的十分钟来舍入(天花板和地板)日期时间:

public void hintOfTime() {
        Date orario = new SimpleDateFormat("hh:mm").parse(usaServizio_standard.setStr());
        // I have skipped the try catch for an easy read
        Calendar calendar = GregorianCalendar.getInstance();
        calendar.setTime(orario);
        int minutes = calendar.get(Calendar.MINUTE);
        if(minutes>=1 && minutes<=9) {
            usaServizio_standard.hint("not valid date","Try with: "+ calendar.get(Calendar.HOUR+1)+":00 or "+calendar.get(Calendar.HOUR+1)+":10");
        }else if(minutes>=11 && minutes<=19) {
            usaServizio_standard.hint("not valid date","Try with: "+ calendar.get(Calendar.HOUR+1)+":10 or "+calendar.get(Calendar.HOUR+1)+":20");
        }else if(minutes>=21 && minutes<=29) {
            usaServizio_standard.hint("not valid date","Try with: "+ calendar.get(Calendar.HOUR+1)+":20 or "+calendar.get(Calendar.HOUR+1)+":30");
        }else if(minutes>=31 && minutes<=39) {
            usaServizio_standard.consiglio("not valid date","Try with: "+ calendar.get(Calendar.HOUR+1)+":30 or …
Run Code Online (Sandbox Code Playgroud)

java calendar date java-9

0
推荐指数
1
解决办法
51
查看次数

有没有办法将Array转换为Map?

我有一个数组,我想转换为Map,这样数组中的第一个元素是键,第二个元素是值,依此类推.

我正在尝试以下内容:

Arrays.asList("Tamilnadu", "chennai", "Karnataka", "Bengluru")
                .stream()
                .collect(HashMap::new,
                        (a, b) -> a.put(b, ""),//value should be next element in array
                        (a, b) -> a.putAll(b)
                );
Run Code Online (Sandbox Code Playgroud)

我的困惑是如何在同一个迭代中获取下一个元素,以便我可以做到a.put(b,nextElementToB).

有人可以通过使用流来帮助解决这个问题,因为我想尝试使用函数式编程吗?迭代将成为这样做的唯一方法吗?

java java-8 java-9 java-10

-1
推荐指数
1
解决办法
1424
查看次数