Mike Constantin

+ Follow
since Dec 31, 2015
Merit badge: grant badges
For More
Cows and Likes
Total received
In last 30 days
Total given
Total received
Received in last 30 days
Total given
Given in last 30 days
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Mike Constantin

Hi, Jeanne & Scott,

I am (used to be?) Java 8 certified programmer. I skipped 11 but now I want to get back on the horse with 17.

Can I jump straight to your 17 guide or do I need to go through 11 first?

Hi Wallace,

is this book an HTML reference for advanced programmers or can noobs like me use it to learn the language?


In chapter 7, "Creating parallel streams":

On the other hand, flatMap() creates a new stream that is not parallel by default, regardless of whether the underlying elements were parallel.

Also in chapter 7, question 13 the explanation says:

flatMap() is a new stream that is not parallel by default, even though its elements are parallel streams.

But the truth is that flatMap preserves the parallel attribute of the stream going in.

It's the Stream builder the one who sets the parallel attribute to false in the new Stream.


congrats on the book. Does it cover how to integrate a clojure app with a GUI?

7 years ago

chapter 10, question 18 says answer is A but it should be E, absolute() needs a scrollable ResultSet.

chapter 9, Interacting with Path, Changing a File Location with move() says that it accepts the optional value NOFOLLOW_LINKS but the API says otherwise Java 8 API
Also in chapter 3, typo in the choices of question 14:

A. [55. 88] [55, 88]
B. [55. 88] [88, 55]
C. [88. 55] [55, 88]
D. [88. 55] [88, 55]

Should be

A. [55, 88] [55, 88]
B. [55, 88] [88, 55]
C. [88, 55] [55, 88]
D. [88, 55] [88, 55]

In Appendix A, answers to Chapter 3, question 2, the answer is D but at the end of the explanation it says it's E.

2. D. The answer needs to implement Map because you are dealing with key/value pairs per the unique string text. You can eliminate A, C, E, and F immediately. ArrayList and Vector are Lists. HashSet and TreeSet are Sets. Now it is between HashMap and TreeMap. Since the question talks about ordering, you need the TreeMap. Therefore, the answer is E.


I believe there is an error in chapter 3, section Comparable regarding the package:

You might have noticed by now that we have been writing java.util.Comparable. That’s because it is in the java.util package

Comparable is in java.lang, not in java.util; as the book points out in the summary table a little later.

I think it is the wording that got me confused:

"A bounded parameter type is a generic type that specifies a bound for the generic. Be warned that this is the hardest section in the chapter, so don’t feel bad if you have to read it more than once."

It says "hardest section in the chapter" but then there is no section at all.

first post : )

In Sybex OCP Java 8 Study Guide Chapter 3 Generics, section Working with Generics it presents the bounded parameter type and wildcard generic type but it only explains wildcards; it fails to mention that bounded parameter types can extend multiple classes and interfaces (1 class - n interfaces) and the fact that their bounds don't make the collections read-only (https://docs.oracle.com/javase/tutorial/java/generics/bounded.html).

Feel like that could be improved in a future version.