[Asserts]
Programming with Assertions. 2002. Sun Microsystems. http://docs.oracle.com/javase/8/docs/technotes/guides/language/assert.html
[Beck04]
Beck, Kent. 2004. JUnit Pocket Guide. Sebastopol, CA: O’Reilly Media, Inc. ISBN: 0596007434.
[Bloch01]
Bloch, Joshua. 2001. Effective Java Programming Language Guide. Boston: Addison-Wesley. ISBN: 0201310058.
[Bloch05]
Bloch, Joshua, and Neal Gafter. 2005. Java Puzzlers: Traps, Pitfalls, and Corner Cases. Boston: Addison-Wesley.
ISBN: 032133678X.
[Blum14]
Blum, Scott. 2014. “Faster RSA in Java with GMP.” The Square Corner (blog). Feb. 14, 2014. https://medium.com/square-corner-blog/faster-rsa-in-java-with-gmp-8b13c51c6ec4
[Bracha04]
Bracha, Gilad. 2004. “Lesson: Generics” online supplement to The Java Tutorial: A Short Course on the Basics, 6th ed. Upper Saddle River, NJ: Addison-Wesley, 2014. https://docs.oracle.com/javase/tutorial/extra/generics/
[Burn01]
Burn, Oliver. 2001–2017. Checkstyle. http://checkstyle.sourceforge.net
[Coekaerts15]
Coekaerts, Wouter (@WouterCoekaerts). 2015. “Billion-laughs-style DoS for Java serialization https://gist.github.com/coekie/a27cc406fc9f3dc7a70d … WONTFIX,” Twitter, November 9, 2015, 9:46 a.m. https://twitter.com/woutercoekaerts/status/663774695381078016
[CompSci17]
Brief of Computer Scientists as Amici Curiae for the United States Court of Appeals for the Federal Circuit, Case No. 17-1118, Oracle America, Inc. v. Google, Inc. in Support of Defendant-Appellee. (2017)
[Dagger]
Dagger. 2013. Square, Inc. http://square.github.io/dagger/
[Gallagher16]
Gallagher, Sean. 2016. “Muni system hacker hit others by scanning for year-old Java vulnerability.” Ars Technica, November 29, 2016. https://arstechnica.com/information-technology/2016/11/san-francisco-transit-ransomware-attacker-likely-used-year-old-java-exploit/
[Gamma95]
Gamma, Erich, Richard Helm, Ralph Johnson, and John Vlissides. 1995. Design Patterns: Elements of Reusable Object-Oriented Software. Reading, MA: Addison-Wesley. ISBN: 0201633612.
[Goetz06]
Goetz, Brian. 2006. Java Concurrency in Practice. With Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, and Doug Lea. Boston: Addison-Wesley. ISBN: 0321349601.
[Gosling97]
Gosling, James. 1997. “The Feel of Java.” Computer 30 no. 6 (June 1997): 53-57. http://dx.doi.org/10.1109/2.587548
[Guava]
Guava. 2017. Google Inc. https://github.com/google/guava
[Guice]
Guice. 2006. Google Inc. https://github.com/google/guice
[Herlihy12]
Herlihy, Maurice, and Nir Shavit. 2012. The Art of Multiprocessor Programming, Revised Reprint. Waltham, MA: Morgan Kaufmann Publishers. ISBN: 0123973376.
[Jackson75]
Jackson, M. A. 1975. Principles of Program Design. London: Academic Press. ISBN: 0123790506.
[Java-secure]
Secure Coding Guidelines for Java SE. 2017. Oracle. http://www.oracle.com/technetwork/java/seccodeguide-139067.html
[Java8-feat]
What’s New in JDK 8. 2014. Oracle. http://www.oracle.com/technetwork/java/javase/8-whats-new-2157071.html
[Java9-feat]
Java Platform, Standard Edition What’s New in Oracle JDK 9. 2017. Oracle. https://docs.oracle.com/javase/9/whatsnew/toc.htm
[Java9-api]
Java Platform, Standard Edition & Java Development Kit Version 9 API Specification. 2017. Oracle. https://docs.oracle.com/javase/9/docs/api/overview-summary.html
[Javadoc-guide]
How to Write Doc Comments for the Javadoc Tool. 2000–2004. Sun Microsystems. http://www.oracle.com/technetwork/java/javase/documentation/index-137868.html
[Javadoc-ref]
Javadoc Reference Guide. 2014-2017. Oracle. https://docs.oracle.com/javase/9/javadoc/javadoc.htm
[JLS]
Gosling, James, Bill Joy, Guy Steele, and Gilad Bracha. 2014. The Java Language Specification, Java SE 8 Edition. Boston: Addison-Wesley. ISBN: 013390069X.
[JMH]
Code Tools: jmh
. 2014. Oracle. http://openjdk.java.net/projects/code-tools/jmh/
[JSON]
Introducing JSON. 2013. Ecma International. https://www.json.org
[Kahan91]
Kahan, William, and J. W. Thomas. 1991. Augmenting a Programming Language with Complex Arithmetic.
UCB/CSD-91-667, University of California, Berkeley.
[Knuth74]
Knuth, Donald. 1974. Structured Programming with go to
Statements. In Computing Surveys 6: 261–301.
[Lea14]
Lea, Doug. 2014. When to use parallel streams. http://gee.cs.oswego.edu/dl/html/StreamParallelGuidance.html
[Lieberman86]
Lieberman, Henry. 1986. Using Prototypical Objects to Implement Shared Behavior in Object-Oriented Systems. In Proceedings of the First ACM Conference on Object-Oriented Programming Systems, Languages, and Applications, pages 214–223, Portland, September 1986. ACM Press.
[Liskov87]
Liskov, B. 1988. Data Abstraction and Hierarchy. In Addendum to the Proceedings of OOPSLA ’87 and SIGPLAN Notices, Vol. 23, No. 5: 17–34, May 1988.
[Naftalin07]
Naftalin, Maurice, and Philip Wadler. 2007. Java Generics and Collections. Sebastopol, CA: O’Reilly Media, Inc.
ISBN: 0596527756.
[Parnas72]
Parnas, D. L. 1972. On the Criteria to Be Used in Decomposing Systems into Modules. In Communications of the ACM 15: 1053–1058.
[POSIX]
9945-1:1996 (ISO/IEC) [IEEE/ANSI Std. 1003.1 1995 Edition] Information Technology—Portable Operating System Interface (POSIX)—Part 1: System Application: Program Interface (API) C Language] (ANSI), IEEE Standards Press, ISBN: 1559375736.
[Protobuf]
Protocol Buffers. 2017. Google Inc. https://developers.google.com/protocol-buffers
[Schneider16]
Schneider, Christian. 2016. SWAT (Serial Whitelist Application Trainer). https://github.com/cschneider4711/SWAT/
[Seacord17]
Seacord, Robert. 2017. Combating Java Deserialization Vulnerabilities with Look-Ahead Object Input Streams (LAOIS). San Francisco: NCC Group Whitepaper. https://www.nccgroup.trust/globalassets/our-research/us/whitepapers/2017/june/ncc_group_combating_java_deserialization_vulnerabilities_with_look-ahead_object_input_streams1.pdf
[Serialization]
Java Object Serialization Specification. March 2005. Sun Microsystems. http://docs.oracle.com/javase/9/docs/specs/serialization/index.html
[Sestoft16]
Sestoft, Peter. 2016. Java Precisely, 3rd ed. Cambridge, MA: The MIT Press. ISBN: 0262529076.
[Shipilëv16]
Aleksey Shipilëv. 2016. Arrays of Wisdom of the Ancients. https://shipilev.net/blog/2016/arrays-wisdom-ancients/
[Smith62]
Smith, Robert. 1962. Algorithm 116 Complex Division. In Communications of the ACM 5, no. 8 (August 1962): 435.
[Snyder86]
Snyder, Alan. 1986. “Encapsulation and Inheritance in Object-Oriented Programming Languages.” In Object-Oriented Programming Systems, Languages, and Applications Conference Proceedings, 38–45. New York, NY: ACM Press.
[Spring]
Spring Framework. Pivotal Software, Inc. 2017. https://projects.spring.io/spring-framework/
[Stroustrup]
Stroustrup, Bjarne. [ca. 2000]. “Is Java the language you would have designed if you didn’t have to be compatible with C?” Bjarne Stroustrup’s FAQ. Updated Ocober 1, 2017. http://www.stroustrup.com/bs_faq.html#Java
[Stroustrup95]
Stroustrup, Bjarne. 1995. “Why C++ is not just an object-oriented programming language.” In Addendum to the proceedings of the 10th annual conference on Object-oriented programming systems, languages, and applications, edited by Steven Craig Bilow and Patricia S. Bilow New York, NY: ACM. http://dx.doi.org/10.1145/260094.260207
[Svoboda16]
Svoboda, David. 2016. Exploiting Java Serialization for Fun and Profit. Software Engineering Institute, Carnegie Mellon University. https://resources.sei.cmu.edu/library/asset-view.cfm?assetid=484347
[Thomas94]
Thomas, Jim, and Jerome T. Coonen. 1994. “Issues Regarding Imaginary Types for C and C++.” In The Journal of C Language Translation 5, no. 3 (March 1994): 134–138.
[ThreadStop]
Why Are Thread.stop
, Thread.suspend
, Thread.resume
and Runtime.runFinalizersOnExit
Deprecated? 1999. Sun Microsystems. https://docs.oracle.com/javase/8/docs/technotes/guides/concurrency/threadPrimitiveDeprecation.html
[Viega01]
Viega, John, and Gary McGraw. 2001. Building Secure Software: How to Avoid Security Problems the Right Way. Boston: Addison-Wesley. ISBN: 020172152X.
[W3C-validator]
W3C Markup Validation Service. 2007. World Wide Web Consortium. http://validator.w3.org/
[Wulf72]
Wulf, W. A Case Against the GOTO. 1972. In Proceedings of the 25th ACM National Conference 2: 791–797. New York, NY: ACM Press.