人気の面接質問と回答・オンラインテスト
面接対策、オンラインテスト、チュートリアル、ライブ練習のための学習プラットフォーム

集中型学習パス、模擬テスト、面接向けコンテンツでスキルを伸ばしましょう。

WithoutBook は、分野別の面接質問、オンライン練習テスト、チュートリアル、比較ガイドをひとつのレスポンシブな学習空間にまとめています。

面接準備
ホーム / 面接科目 / Java 15
WithoutBook LIVE 模擬面接 Java 15 関連する面接科目: 39

Interview Questions and Answers

Java 15 の人気面接質問と回答を確認し、新卒者や経験者が就職面接の準備を進められます。

合計 16 問

面接前に確認しておきたい最高の LIVE 模擬面接

Java 15 の人気面接質問と回答を確認し、新卒者や経験者が就職面接の準備を進められます。

Interview Questions and Answers

質問を検索して回答を確認できます。

初心者 / 新卒向けの質問と回答

質問 1

What is Java 15?

Released on September 15, 2020.

There are a few new features and updates have been provided here:

The JDK class library, Text Blocks, performance changes, experimental, preview, and incubator features, deprecations and deletions, and finally, other changes that we rarely come into contact with.

But that's not all: A total of 14 JDK Enhancement Proposals (JEPs) have made it into this release.

復習用に保存

復習用に保存

この項目をブックマークに追加したり、難しい内容としてマークしたり、復習セットに入れたりできます。

マイ学習ライブラリを開く
役に立ちましたか?
コメントを追加 コメントを見る
質問 2

What is Text Blocks or Multi-line string in Java 15?

Until now, when we wanted to define a multi-line string in Java, it usually looked like this:

String sql =
" SELECT id, title, text\n"
+ " FROM Article\n"
+ " WHERE category = \"Java\"\n"
+ "ORDER BY title";

Starting with Java 15, we can notate this string as a "text block":

String sql = """
SELECT id, title, text
FROM Article
WHERE category = "Java"
ORDER BY title""";
復習用に保存

復習用に保存

この項目をブックマークに追加したり、難しい内容としてマークしたり、復習セットに入れたりできます。

マイ学習ライブラリを開く
役に立ちましたか?
コメントを追加 コメントを見る
質問 3

What are New String and CharSequence Methods in Java 15?

  • String.formatted()
  • String.stripIndent()
  • String.translateEscapes()
  • CharSequence.isEmpty()
復習用に保存

復習用に保存

この項目をブックマークに追加したり、難しい内容としてマークしたり、復習セットに入れたりできます。

マイ学習ライブラリを開く
役に立ちましたか?
コメントを追加 コメントを見る
質問 4

What is String.formatted() in Java 15?

We could previously replace placeholders in a string as follows, for example:

String message =    String.format(        "User %,d with username %s logged in at %s.",        userId, username, ZonedDateTime.now());

Starting from Java 15, we can use an alternative syntax:

String message =    "User %,d with username %s logged in at %s."        .formatted(userId, username, ZonedDateTime.now());

It makes no difference which method you use. Both methods will eventually call the following code:

String message =    new Formatter()        .format(            "User %,d with username %s logged in at %s.",            userId, username, ZonedDateTime.now())        .toString();

So the choice is ultimately a matter of taste. I quickly made friends with the new spelling.

復習用に保存

復習用に保存

この項目をブックマークに追加したり、難しい内容としてマークしたり、復習セットに入れたりできます。

マイ学習ライブラリを開く
役に立ちましたか?
コメントを追加 コメントを見る
質問 5

What is String.translateEscapes() in Java 15?

Occasionally we get to deal with a string that contains escaped escape sequences, such as the following:

String s = "foo\\nbar\\tbuzz\\\\";System.out.println(s);

The output looks like this:

foo\nbar\tbuzz\\

Sometimes, however, we want to display the evaluated escape sequences: a newline instead of "\n", a tab instead of "\t", and a backslash instead of "\".

Until now, we had to rely on third-party libraries such as Apache Commons Text for this:

System.out.println(StringEscapeUtils.unescapeJava(s));

Starting from Java 15, we can avoid the additional dependency and use the JDK method String.translateEscapes():

System.out.println(s.translateEscapes());

The output now reads:

foobar     buzz
復習用に保存

復習用に保存

この項目をブックマークに追加したり、難しい内容としてマークしたり、復習セットに入れたりできます。

マイ学習ライブラリを開く
役に立ちましたか?
コメントを追加 コメントを見る
質問 6

What is CharSequence.isEmpty() in Java 15?

Also new is the default method isEmpty() in the CharSequence interface. The method simply checks whether the character sequence's length is 0:

default boolean isEmpty() {  return this.length() == 0;}

This method is thus automatically available in the Segment, StringBuffer, and StringBuilder classes.

String and CharBuffer, which also implement CharSequence, each have their optimized implementation of isEmpty(). With String, for example, the call to length() is unnecessarily expensive because, since Java 9 (JEP 254 "Compact Strings"), the string's encoding must also be taken into account when calculating its length.

復習用に保存

復習用に保存

この項目をブックマークに追加したり、難しい内容としてマークしたり、復習セットに入れたりできます。

マイ学習ライブラリを開く
役に立ちましたか?
コメントを追加 コメントを見る

中級 / 1年から5年経験向けの質問と回答

質問 8

What is the Garbage Collector ZGC + Shenandoah in Java 15?

The requirements for modern applications are becoming increasingly demanding. With memory requirements ranging from gigabytes to terabytes, they may have to achieve response times in the single-digit millisecond range.

Conventional garbage collectors (such as the allrounder G1) with stop-the-world phases of a hundred milliseconds and more are not optimally suited to such requirements.

Aiming to eliminate stop-the-world pauses as much as possible (by doing most of the work in parallel with the running application), or at least reduce them to a few milliseconds, Oracle and RedHat have developed two new garbage collectors that have been shipped as preview features since Java 11 and 12, respectively.

As of Java 15, they are ready for productive use and will hopefully make the Java platform attractive to even more developers.

復習用に保存

復習用に保存

この項目をブックマークに追加したり、難しい内容としてマークしたり、復習セットに入れたりできます。

マイ学習ライブラリを開く
役に立ちましたか?
コメントを追加 コメントを見る
質問 9

What is String.stripIndent() in Java 15?

Suppose we have a multi-line string where each line is intended and has some trailing spaces, such as the following. We print each line, bounded by two vertical bars.

String html = """
<html> s
<body> s
<h1>Hello!</h1>
</body> s
</html> s
""";

html.lines()
.map(line -> "|" + line + "|")
.forEachOrdered(System.out::println);
Code language: Java (java)

As you learned in the first chapter, the alignment of a text block is based on the closing quotation marks. The output, therefore, looks like this:

|  <html>     |
| <body> |
| <h1>Hello!</h1>|
| </body> |
| </html> |

Using the stripIndent() method, we can remove the indentation and trailing spaces:

html.stripIndent()
.lines()
.map(line -> "|" + line + "|")
.forEachOrdered(System.out::println);

The output is now:

|<html>|
| <body>|
| <h1>Hello!</h1>|
| </body>|
|</html>|
復習用に保存

復習用に保存

この項目をブックマークに追加したり、難しい内容としてマークしたり、復習セットに入れたりできます。

マイ学習ライブラリを開く
役に立ちましたか?
コメントを追加 コメントを見る
質問 10

What is the change of Helpful NullPointerExceptions in Java 15?

Helpful NullPointerExceptions, introduced in Java 14, are enabled by default in Java 15 and later.

"Helpful NullPointerExceptions" no longer only show us in which line of code a NullPointerException occurred, but also which variable (or return value) in the corresponding line is null and which method could therefore not be called.

You can find an example in the article linked above.

復習用に保存

復習用に保存

この項目をブックマークに追加したり、難しい内容としてマークしたり、復習セットに入れたりできます。

マイ学習ライブラリを開く
役に立ちましたか?
コメントを追加 コメントを見る
質問 11

What are Specialized Implementations of TreeMap Methods in Java 15?

In TreeMap, specialized methods putIfAbsent(), computeIfAbsent(), computeIfPresent(), compute(), and merge() were implemented.

These methods were only specified as default methods in the Map interface since Java 8.

The TreeMap-specific implementations are optimized for the underlying red-black tree; accordingly, they are more performant than the interface's default methods.

復習用に保存

復習用に保存

この項目をブックマークに追加したり、難しい内容としてマークしたり、復習セットに入れたりできます。

マイ学習ライブラリを開く
役に立ちましたか?
コメントを追加 コメントを見る
質問 12

What are the Deprecations and Deletions in Java 15?

  • Remove the Nashorn JavaScript Engine
  • Remove the Solaris and SPARC Ports
  • Deprecate RMI Activation for Removal
復習用に保存

復習用に保存

この項目をブックマークに追加したり、難しい内容としてマークしたり、復習セットに入れたりできます。

マイ学習ライブラリを開く
役に立ちましたか?
コメントを追加 コメントを見る

経験者 / エキスパート向けの質問と回答

質問 13

What is ZGC: A Scalable Low-Latency Garbage Collector in Java 15?

The Z Garbage Collector, or ZGC, promises not to exceed pause times of 10 ms while reducing overall application throughput by no more than 15% compared to the G1GC (the reduction in throughput is the cost of low latency).

ZGC supports heap sizes from 8 MB up to 16 TB.

The pause times are independent of both the heap size and the number of surviving objects.

Like G1, ZGC is based on regions, is NUMA compatible and can return unused memory to the operating system.

You can configure ZGC with a "soft" heap upper limit (VM option -XX:SoftMaxHeapSize): ZGC will only exceed this limit if necessary to avoid an OutOfMemoryError.

To activate ZGC, use the following VM option:

-XX:+UseZGC

復習用に保存

復習用に保存

この項目をブックマークに追加したり、難しい内容としてマークしたり、復習セットに入れたりできます。

マイ学習ライブラリを開く
役に立ちましたか?
コメントを追加 コメントを見る
質問 14

What is Shenandoah: A Low-Pause-Time Garbage Collector in Java 15?

Just like ZGC, Shenandoah promises minimal pause times, regardless of the heap size.

You can read about exactly how Shenandoah achieves this on the Shenandoah wiki.

You can activate Shenandoah with the following VM option:

-XX:+UseShenandoahGC

Just like G1 and ZGC, Shenandoah returns unused memory to the operating system after a while.

There is currently no support for NUMA and SoftMaxHeapSize; however, at least NUMA support is planned.

復習用に保存

復習用に保存

この項目をブックマークに追加したり、難しい内容としてマークしたり、復習セットに入れたりできます。

マイ学習ライブラリを開く
役に立ちましたか?
コメントを追加 コメントを見る
質問 15

What Is Biased Locking in Java 15?

Biased locking is an optimization of thread synchronization aimed at reducing synchronization overhead when the same monitor is repeatedly acquired by the same thread (i.e., when the same thread repeatedly calls code synchronized on the same object).

In the example above, this means that the first time the add() method is called, the vector monitor is biased to the thread in which the test method is executed. This bias speeds up the monitor's acquisition in the following 9,999,999 add() method calls.

復習用に保存

復習用に保存

この項目をブックマークに追加したり、難しい内容としてマークしたり、復習セットに入れたりできます。

マイ学習ライブラリを開く
役に立ちましたか?
コメントを追加 コメントを見る
質問 16

Why Was Biased Locking Disabled in Java 15?

Biased locking mainly benefits legacy applications that use data structures such as Vector, Hashtable, or StringBuffer, where each access is synchronized.

Modern applications usually use non-synchronized data structures such as ArrayList, HashMap, or StringBuilder – and the data structures optimized for multithreading in the java.util.concurrent package.

Because the code for biased locking is highly complex and deeply intertwined with the JVM code, it requires a great deal of maintenance and makes changes within the JVM's synchronization system costly and error-prone.

Therefore, the JDK developers decided in JDK Enhancement Proposal 374 to disable biased locking by default, mark it as "deprecated" in Java 15 and remove it entirely in one of the following releases.

復習用に保存

復習用に保存

この項目をブックマークに追加したり、難しい内容としてマークしたり、復習セットに入れたりできます。

マイ学習ライブラリを開く
役に立ちましたか?
コメントを追加 コメントを見る

ユーザー評価で最も役立つ内容:

著作権 © 2026、WithoutBook。