The document discusses decompiling Java bytecode into source code. It tested 10 decompilers on 10 programs and found that many could not parse the latest class file formats. The best decompiler depends on the tool used to generate the bytecode. Decompilers struggle with type inference, exception handling, and complex control flow. While decompilation technology has improved, fundamental challenges remain in producing readable source code from bytecode.
This document discusses advanced Java debugging using bytecode. It explains that bytecode is the low-level representation of Java programs that is executed by the Java Virtual Machine (JVM). It shows examples of decompiling Java source code to bytecode instructions and evaluating bytecode on a stack. Various bytecode visualization and debugging tools are demonstrated. Key topics like object-oriented aspects of bytecode and the ".class" file format are also covered at a high-level.
This document provides an introduction to the Java programming language. It discusses that Java is an object-oriented programming language used to write computer programs. It also describes the basic elements of the Java language including commands, variables, data types, control statements, and functions/methods. Additionally, it explains that the basic building block of Java is the class, and that a Java program or application consists of multiple classes organized into packages.
The document contains 20 multiple choice questions about Java programming concepts such as threads, assertions, references, operators, and more. For each question, the stem presents a code snippet, output, or statement and asks which answer choice is true. The explanations provided give detailed reasoning for the correct answers and why the incorrect choices are wrong based on Java specifications.
This workshop is about testing the right way. Get a clear view on how to test your code in an efficient and useful way!
This first testing-related workshop is about all aspects of unit testing. Integration testing and TDD will have their own dedicated workshops.
The document discusses Java string performance and summarizes some key findings:
1) The String class is one of the most commonly used in Java projects and consumes significant memory. The most common string operations are concatenation and comparison.
2) For concatenation, StringBuilder.append is generally faster than String.concat. String concatenation at compile-time is the most efficient.
3) For comparison, String.compareTo is the fastest method, followed by String.equals and String.equalsIgnoreCase, with String.intern being the slowest but most memory-efficient for duplicate strings.
This document contains 20 multiple choice questions about Java programming concepts such as classes, constructors, exceptions, arrays, inheritance, and more. The questions cover topics like output of code snippets, default values of array elements, reserved keywords, valid code constructs, and true/false statements about classes, wrappers, and exceptions.
The document provides code examples for several Java programming concepts:
1. A program that takes command line arguments, calculates the sum and average of the numbers passed, and displays the results.
2. A Student class with member functions to read and display student details like name and age.
3. A Square class with data members for length, area, and perimeter, and member functions to read, compute values, and display details.
The document contains 10 additional examples covering topics like inheritance, packages, exceptions, threads, and GUI programming.
The document contains a list of 40 Java interview questions related to core Java, servlets, and JSP. The questions cover topics such as default array values, declaring and initializing arrays, Java keywords, if/else conditions, switch statements, loops, strings, wrappers, methods, threads, JDBC, servlet scopes, servlet lifecycle methods, differences between servlets and JSPs, implicit objects in JSP, and JSP directives.
- Java is a platform independent programming language that is similar to C++ in syntax but similar to Smalltalk in its object-oriented approach. It provides features like automatic memory management, security, and multi-threading capabilities.
- Java code is compiled to bytecode that can run on any Java Virtual Machine (JVM). The JVM then interprets the bytecode and may perform just-in-time (JIT) compilation for improved performance. This allows Java programs to run on any platform with a JVM.
- Java supports object-oriented programming principles like encapsulation, inheritance, and polymorphism. Classes can contain methods and instance variables. Methods can be called on objects to perform operations or retrieve data.
- Java is a platform independent programming language that is similar to C++ in syntax but similar to Smalltalk in its object-oriented approach. It provides features like automatic memory management, security, and multi-threading capabilities.
- Java code is compiled to bytecode that can run on any Java Virtual Machine (JVM). Only depending on the JVM allows Java code to run on any hardware or operating system with a JVM.
- Java supports object-oriented programming concepts like inheritance, polymorphism, and encapsulation. Classes can contain methods and instance variables to define objects.
- Java is a platform independent programming language that is similar to C++ in syntax but similar to Smalltalk in its object-oriented approach. It provides features like automatic memory management, security, and multi-threading capabilities.
- Java code is compiled to bytecode that can run on any Java Virtual Machine (JVM). Only depending on the JVM allows Java code to run on any hardware or operating system with a JVM.
- Java supports object-oriented programming concepts like inheritance, polymorphism, and encapsulation. Classes can contain methods and instance variables. Methods perform actions and can return values.
Java allows writing code once that can run on any platform. It compiles to bytecode that runs on the Java Virtual Machine (JVM). Key features include automatic memory management, object-oriented design, platform independence, security, and multi-threading. Classes are defined in .java files and compiled to .class files. The JVM interprets bytecode and uses just-in-time compilation to improve performance.
FindBugs is a static analysis tool that looks for bugs in Java code based on predefined bug patterns. It analyzes code without executing it and flags issues related to correctness, bad practices, performance, security, and concurrency. Some common bug patterns it finds include null pointer dereferences, ignored return values from methods, and potential infinite recursive loops. The tool is useful for finding bugs early before testing or deployment. Google and other companies use FindBugs to analyze their Java codebases and have found and fixed hundreds of issues through this process.
The document describes a Java program to calculate parcel shipping charges based on weight. It begins with an initial charge of Rs. 15 for the first 1KG. Any additional weight is charged Rs. 8 for every 500g or fraction thereof. The program takes a weight in KGs as input, calculates the remaining weight after deducting 1KG, determines the charge for full 500g increments and any fractional part, and outputs the total charge.
The document provides examples of common syntax errors encountered when compiling code in Java and short explanations of the errors. It then presents a quiz with questions about method signatures, including identifying the method name, return type, number of parameters, and how to call the method. Finally, it presents another quiz about Java concepts like classes, objects, subclasses, and comments.
This begins your journey to java as a very beginner. Prerequisite of the audience is strong understanding of basic language fundamentals of C or C++ or C# .
Explore the rapid development journey of TryBoxLang, completed in just 48 hours. This session delves into the innovative process behind creating TryBoxLang, a platform designed to showcase the capabilities of BoxLang by Ortus Solutions. Discover the challenges, strategies, and outcomes of this accelerated development effort, highlighting how TryBoxLang provides a practical introduction to BoxLang's features and benefits.
Major Outages in Major Enterprises Payara ConferenceTier1 app
In this session, we will be discussing major outages that happened in major enterprises. We will analyse the actual thread dumps, heap dumps, GC logs, and other artifacts captured at the time of the problem. After this session, troubleshooting CPU spikes, OutOfMemoryError, response time degradations, network connectivity issues, and application unresponsiveness may not stump you.
In this session, we explored setting up Playwright, an end-to-end testing tool for simulating browser interactions and running TestBox tests. Participants learned to configure Playwright for applications, simulate user interactions to stress-test forms, and handle scenarios like taking screenshots, recording sessions, capturing Chrome dev tools traces, testing login failures, and managing broken JavaScript. The session also covered using Playwright with non-ColdBox sites, providing practical insights into enhancing testing capabilities.
Alluxio Webinar | 10x Faster Trino Queries on Your Data PlatformAlluxio, Inc.
Alluxio Webinar
June. 18, 2024
For more Alluxio Events: https://www.alluxio.io/events/
Speaker:
- Jianjian Xie (Staff Software Engineer, Alluxio)
As Trino users increasingly rely on cloud object storage for retrieving data, speed and cloud cost have become major challenges. The separation of compute and storage creates latency challenges when querying datasets; scanning data between storage and compute tiers becomes I/O bound. On the other hand, cloud API costs related to GET/LIST operations and cross-region data transfer add up quickly.
The newly introduced Trino file system cache by Alluxio aims to overcome the above challenges. In this session, Jianjian will dive into Trino data caching strategies, the latest test results, and discuss the multi-level caching architecture. This architecture makes Trino 10x faster for data lakes of any scale, from GB to EB.
What you will learn:
- Challenges relating to the speed and costs of running Trino in the cloud
- The new Trino file system cache feature overview, including the latest development status and test results
- A multi-level cache framework for maximized speed, including Trino file system cache and Alluxio distributed cache
- Real-world cases, including a large online payment firm and a top ridesharing company
- The future roadmap of Trino file system cache and Trino-Alluxio integration
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...Hironori Washizaki
Hironori Washizaki, "Charting a Course for Equity: Strategies for Overcoming Challenges and Promoting Inclusion in the Metaverse", IEEE COMPSAC 2024 D&I Panel, 2024.
A captivating AI chatbot PowerPoint presentation is made with a striking backdrop in order to attract a wider audience. Select this template featuring several AI chatbot visuals to boost audience engagement and spontaneity. With the aid of this multi-colored template, you may make a compelling presentation and get extra bonuses. To easily elucidate your ideas, choose a typeface with vibrant colors. You can include your data regarding utilizing the chatbot methodology to the remaining half of the template.
In this session, we discussed the critical need for comprehensive backups across all aspects of our industry—from code and databases to webservers, file servers, and network configurations. Emphasizing the importance of proactive measures, attendees were urged to ensure their backup systems were tested through restoration processes. The session underscored the risk of discovering backup issues only during crises, highlighting the necessity of verifying backup integrity through restoration tests.
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...Ortus Solutions, Corp
Unlock the secrets of seamless ColdFusion error troubleshooting! Join us to explore the potent capabilities of Visual Studio Code (VS Code) and ColdFusion Builder (CF Builder) in debugging. This hands-on session guides you through practical techniques tailored for local setups, ensuring a smooth and efficient development experience.
WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdfonemonitarsoftware
WhatsApp Tracker Software is an effective tool for remotely tracking the target’s WhatsApp activities. It allows users to monitor their loved one’s online behavior to ensure appropriate interactions for responsive device use.
Download this PPTX file and share this information to others.
What is OCR Technology and How to Extract Text from Any Image for FreeTwisterTools
Discover the fascinating world of Optical Character Recognition (OCR) technology with our comprehensive presentation. Learn how OCR converts various types of documents, such as scanned paper documents, PDFs, or images captured by a digital camera, into editable and searchable data. Dive into the history, modern applications, and future trends of OCR technology. Get step-by-step instructions on how to extract text from any image online for free using a simple tool, along with best practices for OCR image preparation. Ideal for professionals, students, and tech enthusiasts looking to harness the power of OCR.
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple StepsEstuary Flow
Unlock the full potential of your data by effortlessly migrating from PostgreSQL to Snowflake, the leading cloud data warehouse. This comprehensive guide presents an easy-to-follow 8-step process using Estuary Flow, an open-source data operations platform designed to simplify data pipelines.
Discover how to seamlessly transfer your PostgreSQL data to Snowflake, leveraging Estuary Flow's intuitive interface and powerful real-time replication capabilities. Harness the power of both platforms to create a robust data ecosystem that drives business intelligence, analytics, and data-driven decision-making.
Key Takeaways:
1. Effortless Migration: Learn how to migrate your PostgreSQL data to Snowflake in 8 simple steps, even with limited technical expertise.
2. Real-Time Insights: Achieve near-instantaneous data syncing for up-to-the-minute analytics and reporting.
3. Cost-Effective Solution: Lower your total cost of ownership (TCO) with Estuary Flow's efficient and scalable architecture.
4. Seamless Integration: Combine the strengths of PostgreSQL's transactional power with Snowflake's cloud-native scalability and data warehousing features.
Don't miss out on this opportunity to unlock the full potential of your data. Read & Download this comprehensive guide now and embark on a seamless data journey from PostgreSQL to Snowflake with Estuary Flow!
Try it Free: https://dashboard.estuary.dev/register
Discover Passkeys, the next evolution in secure login methods that eliminate traditional password vulnerabilities. Learn about the CBSecurity Passkeys module's installation, configuration, and integration into your application to enhance security.
Participants explored how visual and functional coherence strengthened brand identity and streamlined development in this session. They learned to maintain consistency across platforms and enhance user experiences using Design Systems. Ideal for brand designers, UI/UX designers, developers, and product managers who sought to optimize efficiency and ensure consistency across projects.
Discover BoxLang, the innovative JVM programming language developed by Ortus Solutions. Designed to harness the power of the Java Virtual Machine, BoxLang offers a modern approach to application development with robust performance and scalability. Join us as we explore the capabilities of BoxLang, its syntax, and how it enhances productivity in software development.
BoxLang Developer Tooling: VSCode Extension and Debugger
Java SE 17 Study Guide for Certification - Chapter 01
1. Java SE 17 Study Guide
Chapter 1
Bill Herman
WilliamRobertHerman@Gmail.com
2. Question 1
Which of the following are legal entry point
methods that can be run from the command
line? (Choose all that apply)
private static void main(String[] args)
public static final main(String[] args)
public void main(String[] args)
public static final void main(String[] args)
public static void main(String[] args)
public static main(String[] args)
3. Answer 1
Which of the following are legal entry point
methods that can be run from the command
line? (Choose all that apply)
private static void main(String[] args)
public static final main(String[] args)
public void main(String[] args)
public static final void main(String[] args)
public static void main(String[] args)
public static main(String[] args)
Comment: Final is optional
4. Question 2
What order of statements will
compile successfully?
class Rabbit {} import java.util.*;
package animals;
import java.util.*; package
animals; class Rabbit {}
package animals; import
java.util.*; class Rabbit {}
import java.util.*; class Rabbit {}
package animals; class Rabbit {}
class Rabbit {} package animals;
None of the above
5. Answer 2
What order of statements will compile
successfully?
class Rabbit {} import java.util.*;
package animals;
import java.util.*; package animals;
class Rabbit {}
package animals; import java.util.*;
class Rabbit {}
import java.util.*; class Rabbit {}
package animals; class Rabbit {}
class Rabbit {} package animals;
None of the above
Comment: package & import optional:
package then import then class
6. Question 3
Which of the following are true?
(Choose all that apply.)
public class Bunny {
public static void main(String[] x)
{
Bunny bun = new Bunny();
}
}
Bunny is a class.
bun is a class.
main is a class.
Bunny is a reference to an object.
bun is a reference to an object.
main is a reference to an object.
The main () method doesn't run
because the parameter name is
incorrect.
7. Question 3
Which of the following are true?
(Choose all that apply.)
public class Bunny {
public static void main(String[] x)
{
Bunny bun = new Bunny();
}
}
Bunny is a class.
bun is a class.
main is a class.
Bunny is a reference to an object.
bun is a reference to an object.
main is a reference to an object.
The main () method doesn't run
because the parameter name is
incorrect.
8. Question 4
Which of the following are valid
Java identifiers? (Choose all that
apply.)
_
_helloWorld$
true
java.lang
Public
1980_s
_Q2_
9. Answer 4
Which of the following are valid
Java identifiers? (Choose all that
apply.)
_ (single underscore not allowed)
_helloWorld$
true (reserved word)
java.lang (contains .)
Public
1980_s (starts with number)
_Q2_
10. Question 5
Which statements about the following program are correct?
(Choose all that apply.)
2: public class Bear {
3: private Bear pandaBear;
4: private void roar(Bear b) {
5: System.out.println("Roar!");
6: pandaBear = b;
7: }
8: public static void main(String[] args) {
9: Bear brownBear = new Bear();
10: Bear polarBear = new Bear();
11: brownBear.roar(polarBear);
12: polarBear = null;
13: brownBear = null;
14: System.gc(); } }
The object created on line 9 is eligible for garbage collection
after line 13.
The object created on line 9 is eligible for garbage collection
after line 14.
The object created on line 10 is eligible for garbage collection
after line 12.
The object created on line 10 is eligible for garbage collection
after line 13.
Garbage collection is guaranteed to run.
Garbage collection might or might not run.
The code does not compile.
11. Answer 5
Which statements about the following program are correct?
(Choose all that apply.)
2: public class Bear {
3: private Bear pandaBear;
4: private void roar(Bear b) {
5: System.out.println("Roar!");
6: pandaBear = b;
7: }
8: public static void main(String[] args) {
9: Bear brownBear = new Bear();
10: Bear polarBear = new Bear();
11: brownBear.roar(polarBear);
12: polarBear = null;
13: brownBear = null;
14: System.gc(); } }
The object created on line 9 is eligible for garbage collection
after line 13. (set to null)
The object created on line 9 is eligible for garbage collection
after line 14. (new Bear())
The object created on line 10 is eligible for garbage collection
after line 12. (new Bear())
The object created on line 10 is eligible for garbage collection
after line 13. (set to null)
Garbage collection is guaranteed to run.
Garbage collection might or might not run.
The code does not compile.
12. Question 6
Assuming the following class compiles, how
many variables defined in the class or method
are in scope on the line marked on line 14?
1: public class Camel {
2: { int hairs = 3_000_0; }
3: long water, air=2;
4: boolean twoHumps = true;
5: public void spit(float distance) {
6: var path = "";
7: { double teeth = 32 + distance++; }
8: while(water > 0) { int age = twoHumps
? i : 2; Short i=-i; for(i=0; i<10; i++) {var Private
= 2; { // SCOPE } } }
2
3
4
5
6
7
None of the above
13. Question 6
Assuming the following class compiles, how
many variables defined in the class or method
are in scope on the line marked at // SCOPE?
1: public class Camel {
2: { int hairs = 3_000_0; }
3: long water, air=2;
4: boolean twoHumps = true;
5: public void spit(float distance) {
6: var path = "";
7: { double teeth = 32 + distance++; }
8: while(water > 0) { int age = twoHumps
? i : 2; Short i=-i; for(i=0; i<10; i++) {var Private
= 2; { //
SCOPE } } }
2
3
4
5
6
7
None of the above
14. Question 7
Which are true about this code? (Choose all that
apply.)
public class KitchenSink {
private int numForks;
public static void main(String[] args) {
int numKnives;
System.out.print("""
"# forks = " + numForks +
" # knives = " + numKnives +
# cups = 0""");
}
}
The output includes: # forks = 0.
The output includes: # knives = 0.
The output includes: # cups = 0.
The output includes a blank line.
The output includes one or more lines that
begin with whitespace.
The code does not compile.
15. Answer 7
Which are true about this code? (Choose all that
apply.)
public class KitchenSink {
private int numForks;
public static void main(String[] args) {
int numKnives;
System.out.print("""
"# forks = " + numForks +
" # knives = " + numKnives +
# cups = 0""");
}
}
The output includes: # forks = 0.
The output includes: # knives = 0.
The output includes: # cups = 0.
The output includes a blank line.
The output includes one or more lines that
begin with whitespace.
The code does not compile.
Comment: forks and knives are never used
16. Question 8
Which of the following code
snippets about var compile
without issue when used in a
method? (Choose all that apply.)
var spring = null;
var fall = "leaves";
var evening = 2; evening = null;
var night = Integer.valueof(3);
var day = 1/0;
var winter = 12, cold;
var fall = 2, autumn = 2;
var morning = ""; morning = null;
17. Answer 8
Which of the following code
snippets about var compile
without issue when used in a
method? (Choose all that apply.)
var spring = null;
var fall = "leaves";
var evening = 2; evening = null;
var night = Integer.valueof(3);
var day = 1/0;
var winter = 12, cold;
var fall = 2, autumn = 2;
var morning = ""; morning = null;
Comment: var not allowed multi
18. Question 9
Which of the following are correct?
(Choose all that apply.)
An instance variable of type float
defaults to 0.
An instance variable of type char
defaults to null.
A local variable of type double defaults
to 0.0.
A local variable of type int defaults to
null.
A class variable of type String defaults
to null.
A class variable of type String defaults
to the empty string "".
None of the above.
19. Answer 9
Which of the following are correct?
(Choose all that apply.)
An instance variable of type float
defaults to 0.
An instance variable of type char
defaults to null.
A local variable of type double defaults
to 0.0.
A local variable of type int defaults to
null.
A class variable of type String defaults
to null.
A class variable of type String defaults
to the empty string "".
None of the above.
20. Question 10
Which of the following expressions,
when inserted independently into
the blank line, allow the code to
compile? (Choose all that apply.)
public void printMagicData() {
var magic =
___________________;
System.out.println (magic) ;
}
3_1
1_329_.0
3_13.0_
5_291._2
2_234.0_0
9___6
_1_3_5_0
21. Answer 10
Which of the following expressions,
when inserted independently into
the blank line, allow the code to
compile? (Choose all that apply.)
public void printMagicData() {
var magic =
___________________;
System.out.println (magic) ;
}
3_1
1_329_.0
3_13.0_
5_291._2
2_234.0_0
9___6
_1_3_5_0
Comment: _ is legal if not at the
beginning or end or next to “.”
22. Question 11
Given the following two class files, what is the
maximum number of imports that can be
removed and have the code still compile?
// Water.java
package aquarium;
public class Water { }
// Tank.java
package aquarium;
import java.lang.*; import java.lang.System;
import aquarium.Water; import aquarium.*;
public class Tank {
public void print(Water water) {
System.out.println(water); } }
0
1
2
3
4
Does not compile
23. Answer 11
Given the following two class files, what is the
maximum number of imports that can be
removed and have the code still compile?
// Water.java
package aquarium;
public class Water { }
// Tank.java
package aquarium;
import java.lang.*; import java.lang.System;
import aquarium.Water; import aquarium.*;
public class Tank {
public void print(Water water) {
System.out.println(water); } }
0
1
2
3
4
Does not compile
Comment: java.lang included as default.
Aquarium already imported.
24. Question 12
Which statements about the following class
are correct? (Choose all that apply.)
1: public class ClownFish {
2: int gills = 0, double weight=2;
3: { int fins = gills; }
4: void print(int length = 3) {
5: System.out.println(gills);
6: System.out.println(weight);
7: System.out.println(fins);
8: System.out.println(length);
9:} }
Line 2 generates a compiler error.
Line 3 generates a compiler error.
Line 4 generates a compiler error.
Line 7 generates a compiler error.
The code prints 0.
The code prints 2.0.
The code prints 2.
The code prints 3.
25. Answer 12
Which statements about the following class
are correct? (Choose all that apply.)
1: public class ClownFish {
2: int gills = 0, double weight=2;
3: { int fins = gills; }
4: void print(int length = 3) {
5: System.out.println(gills);
6: System.out.println(weight);
7: System.out.println(fins);
8: System.out.println(length);
9:} }
Line 2 generates a compiler error.
Line 3 generates a compiler error.
Line 4 generates a compiler error.
Line 7 generates a compiler error.
The code prints 0.
The code prints 2.0.
The code prints 2.
The code prints 3.
Comment: Line 2 is invalid because
different types and comma instead of semi-
colon. Line 4 is not a valid parameter
signature.
26. Question 13
Given the following classes, which of the
following snippets can independently be
inserted in place of INSERT IMPORTS HERE
and have the code compile? (Choose all
that apply.)
package aquarium;
public class Water { boolean salty = false; }
package aquarium.jellies;
public class Water { boolean salty = true;}
package employee;
INSERT IMPORTS HERE
public class WaterFiller { Water water; }
import aquarium.*;
import aquarium.Water; import
aquarium.jellies.*;
import aquarium.*; import
aquarium.jellies.Water;
import aquarium.*; import
aquarium.jellies.*;
import aquarium.Water; import
aquarium.jellies.Water;
None of these imports can make the code
compile.
27. Answer 13
Given the following classes, which of the
following snippets can independently be
inserted in place of INSERT IMPORTS HERE
and have the code compile? (Choose all
that apply.)
package aquarium;
public class Water { boolean salty = false; }
package aquarium.jellies;
public class Water { boolean salty = true;}
package employee;
INSERT IMPORTS HERE
public class WaterFiller { Water water; }
import aquarium.*;
import aquarium.Water; import
aquarium.jellies.*;
import aquarium.*; import
aquarium.jellies.Water;
import aquarium.*; import
aquarium.jellies.*;
import aquarium.Water; import
aquarium.jellies.Water;
None of these imports can make the code
compile.
Comment: Duplicate class name (Water)
not selected correctly.
28. Question 14
Which of the following statements
about the code snippet are
true?(Choose all that apply.)
3: short numPets = 5L;
4: int numGrains = 2.0;
5: String name = "Scruffy";
6: int d = numPets.length();
7: int e = numGrains.length;
8: int f = name.length();
Line 3 generates a compiler error.
Line 4 generates a compiler error.
Line 5 generates a compiler error.
Line 6 generates a compiler error.
Line 7 generates a compiler error.
Line 8 generates a compiler error.
29. Answer 14
Which of the following statements
about the code snippet are
true?(Choose all that apply.)
3: short numPets = 5L;
4: int numGrains = 2.0;
5: String name = "Scruffy";
6: int d = numPets.length();
7: int e = numGrains.length;
8: int f = name.length();
Line 3 generates a compiler error.
Line 4 generates a compiler error.
Line 5 generates a compiler error.
Line 6 generates a compiler error.
Line 7 generates a compiler error.
Line 8 generates a compiler error.
30. Question 15
Which of the following statements about
garbage collection are correct? (Choose all that
apply.)
Calling System.gc( ) is guaranteed to free up
memory by destroying objects eligible for
garbage collection.
Garbage collection runs on a set schedule.
Garbage collection allows the JVM to reclaim
memory for other objects.
Garbage collection runs when your program has
used up half the available memory.
An object may be eligible for garbage collection
but never removed from the heap.
An object is eligible for garbage collection once
no references to it are accessible in the
program.
Marking a variable final means its associated
object will never be garbage collected.
31. Answer 15
Which of the following statements about
garbage collection are correct? (Choose all that
apply.)
Calling System.gc( ) is guaranteed to free up
memory by destroying objects eligible for
garbage collection.
Garbage collection runs on a set schedule.
Garbage collection allows the JVM to reclaim
memory for other objects.
Garbage collection runs when your program has
used up half the available memory.
An object may be eligible for garbage collection
but never removed from the heap.
An object is eligible for garbage collection once
no references to it are accessible in the
program.
Marking a variable final means its associated
object will never be garbage collected.
32. Question 16
Which are true about this code?
(Choose all that apply.)
var blocky = """
squirrel s
pigeon
termite""";
System.out.print(blocky);
It outputs two lines.
It outputs three lines.
It outputs four lines.
There is one line with trailing
whitespace.
There are two lines with trailing
whitespace.
If we indented each line five
characters, it would change the
output.
33. Answer 16
Which are true about this code?
(Choose all that apply.)
var blocky = """
squirrel s
pigeon
termite""";
System.out.print(blocky);
It outputs two lines.
It outputs three lines.
It outputs four lines.
There is one line with trailing
whitespace.
There are two lines with trailing
whitespace.
If we indented each line five
characters, it would change the
output.
Comment: s = keep white space,
means remove line break
34. Question 17
What lines are printed by the following program?
(Choose all that apply.)
1: public class WaterBottle {
2: private String brand;
3: private boolean empty;
4: public static float code;
5: public static void main(String[] args) {
6: WaterBottle wb = new WaterBottle();
7: System.out.println("Empty = " + wb.empty);
8: System.out.println("Brand = " + wb.brand);
9: System.out.println("Code = " + code);
10: } }
Line 8 generates a compiler error.
Line 9 generates a compiler error.
Empty =
Empty = false
Brand =
Brand = null
Code = 0.0
Code = 0f
35. Answer 17
What lines are printed by the following program?
(Choose all that apply.)
1: public class WaterBottle {
2: private String brand;
3: private boolean empty;
4: public static float code;
5: public static void main(String[] args) {
6: WaterBottle wb = new WaterBottle();
7: System.out.println("Empty = " + wb.empty);
8: System.out.println("Brand = " + wb.brand);
9: System.out.println("Code = " + code);
10: } }
Line 8 generates a compiler error.
Line 9 generates a compiler error.
Empty =
Empty = false
Brand =
Brand = null
Code = 0.0
Code = 0f
Comment: printed values are defaults
36. Question 18
Which of the following statements
about var are true? (Choose all that
apply.)
A var can be used as a constructor
parameter.
The type of a var is known at compile
time.
A var cannot be used as an instance
variable.
A var can be used in a multiple variable
assignment statement.
The value of a var cannot change at
runtime.
The type of a var cannot change at
runtime.
The word var is a reserved word in Java.
37. Answer 18
Which of the following statements
about var are true? (Choose all that
apply.)
A var can be used as a constructor
parameter.
The type of a var is known at compile
time.
A var cannot be used as an instance
variable.
A var can be used in a multiple variable
assignment statement.
The value of a var cannot change at
runtime.
The type of a var cannot change at
runtime.
The word var is a reserved word in Java.
38. Question 19
Which are true about the
following code? (Choose all that
apply.)
var num1 =
Long.parseLong(“100");
var num2 = Long.valueof("100");
System.out.println(Long.max(num
1, num2)) ;
The output is 100.
The output is 200.
The code does not compile.
num1 is a primitive.
num2 is a primitive.
39. Answer 19
Which are true about the
following code? (Choose all that
apply.)
var num1 =
Long.parseLong(“100");
var num2 = Long.valueof("100");
System.out.println(Long.max(num
1, num2)) ;
The output is 100.
The output is 200.
The code does not compile.
num1 is a primitive.
num2 is a primitive.
40. Question 20
Which statements about the following class are
correct? (Choose all that apply.)
public class PoliceBox {
String color; long age;
public void PoliceBox() { color = "blue"; age =
1200; }
public static void main(String []time)
{var p = new PoliceBox(); var q = new
PoliceBox();
p.color = "green"; p.age = 1400; p=q;
System.out.println("Q1="+q.color + “
Q2="+q.age+ "P1="+p.color + “ P2="+p.age);
} }
It prints Q1=blue.
It prints Q2=1200.
It prints P1=null.
It prints P2=1400.
“public void PoliceBox()” does not compile.
“p.age = 1400; “ does not compile.
“p=q;” does not compile.
None of the above.
41. Answer 20
Which statements about the following class are
correct? (Choose all that apply.)
public class PoliceBox {
String color; long age;
public void PoliceBox() { color = "blue"; age =
1200; }
public static void main(String []time)
{var p = new PoliceBox(); var q = new
PoliceBox();
p.color = "green"; p.age = 1400; p=q;
System.out.println("Q1="+q.color + “
Q2="+q.age+ "P1="+p.color + “ P2="+p.age);
} }
It prints Q1=blue.
It prints Q2=1200.
It prints P1=null.
It prints P2=1400.
“public void PoliceBox()” does not compile.
“p.age = 1400; “ does not compile.
“p=q;” does not compile.
None of the above.
Comment: public void PoliceBox() is a method,
not a constructor.
42. Question 21
What is the output of executing the
following class?
public class Salmon {
int count; { System.out.print(count+"-
"); }
{ Count++; }
public Salmon() { count = 4;
System.out.print(2+"-") ;}
public static void main(String[] args) {
System.out.print(7+"') ;
var s = new salmon();
System.out.print(s.count+“-"); } }
7-0-2-1
7-0-1-
0-7-2-1-
7-0-2-4-
0-7-1-
The class does not compile because of
“{ System.out.print(count+"-"); }”.
The class does not compile because of
“public Salmon()“.
None of the above.
43. Answer 21
What is the output of executing the
following class?
public class Salmon {
int count; { System.out.print(count+"-
"); }
{ Count++; }
public Salmon() { count = 4;
System.out.print(2+"-") ;}
public static void main(String[] args) {
System.out.print(7+"') ;
var s = new salmon();
System.out.print(s.count+“-"); } }
7-0-2-1
7-0-1-
0-7-2-1-
7-0-2-4-
0-7-1-
The class does not compile because of
“{ System.out.print(count+"-"); }”.
The class does not compile because of
“public Salmon()“.
None of the above.
Comment: start at main
44. Question 22
Given the following class, which of
the following lines of code can
independently replace INSERT
CODE HERE to make the code
compile? (Choose all that apply.)
public class Price {
public void admission() {
INSERT CODE HERE
System.out.print(amount);
} }
int Amount = 0b11;
int amount = 9L;
int amount = 0xE;
int amount = 1_2.0;
double amount = 1_0_.0;
int amount = 0b101;
double amount = 9_2.1_2;
double amount = 1_2_.0_0;
45. Answer 22
Given the following class, which of
the following lines of code can
independently replace INSERT
CODE HERE to make the code
compile? (Choose all that apply.)
public class Price {
public void admission() {
INSERT CODE HERE
System.out.print(amount);
} }
int Amount = 0b11;
int amount = 9L;
int amount = 0xE;
int amount = 1_2.0;
double amount = 1_0_.0;
int amount = 0b101;
double amount = 9_2.1_2;
double amount = 1_2_.0_0;
Comment: _. or ._ = invalid
46. Question 23
Which statements about the following class
are true? (Choose all that apply.)
public class River {
int Depth = 1; float temp = 50.0;
public void flow() {
for (int i = 0; i < 1; i++) {int depth = 2;
depth++; temp--;}
System.out.println(depth);
System.out.println(temp); }
public static void main(String... s) {
new River().flow(); } }
“float temp = 50.0;” generates a compiler
error.
“int depth = 2;” generates a compiler error.
“depth++;” generates a compiler error.
“System.out.println(depth);” generates a
compiler error.
The program prints 3 at
“System.out.println(depth);”.
The program prints 4 at
“System.out.println(depth);”.
The program prints 50.0 at
“System.out.println(temp);“.
The program prints 49.0 at
“System.out.println(temp);”.
47. Answer 23
Which statements about the following class are
true? (Choose all that apply.)
public class River {
int Depth = 1; float temp = 50.0;
public void flow() {
for (int i = 0; i < 1; i++) {int depth = 2;
depth++; temp--;}
System.out.println(depth);
System.out.println(temp); }
public static void main(String... s) {
new River().flow(); } }
“float temp = 50.0;” generates a compiler error.
“int depth = 2;” generates a compiler error.
“depth++;” generates a compiler error.
“System.out.println(depth);” generates a
compiler error.
The program prints 3 at
“System.out.println(depth);”.
The program prints 4 at
“System.out.println(depth);”.
The program prints 50.0 at
“System.out.println(temp);“.
The program prints 49.0 at
“System.out.println(temp);”.
Comment: 50.0 needs “f” and depth is out of
scope at println
48. 15 minute break
This is the end of chapter 1.
Chapter 2 will resume after the break.