1<!DOCTYPE html> 2<html lang="en"> 3 <head> 4 <!-- Google tag (gtag.js) -->
vendor: 68 bytes, lines 4-5
4 5 <script async src="https://www.googletagmanager.com/gtag/js?id=
5G-EG9X16P2V6
vendor: 16 bytes, lines 5-6
5"></script> 6
6<script> 7
vendor: 146 bytes, lines 7-11
7window.dataLayer = window.dataLayer || []; 8 function gtag(){dataLayer.push(arguments);} 9 gtag('js', new Date()); 10 11 gtag('config', '
11G-EG9X16P2V6
vendor: 8 bytes, lines 11-12
11'); 12
12</script>
12 13 <meta charset="utf-8"/> 14 <title>Publications</title> 15 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 16 <meta name="description" content="This is my blog about building software and solving problems. Sometimes I write about Java, Groovy, programming, etc."> 17 <meta name="author" content="Adam L. Davis"> 18 <meta name="keywords" content="java,reactive,groovy,css,react,java8,rxjava"> 19 <meta name="generator" content="JBake"> 20 21 <!-- Le styles --> 22 <link href="css/normalize.css" rel="stylesheet"> 23 24 <link href="css/bootstrap.min.css" rel="stylesheet"> 25 <link href="css/asciidoctor.css" rel="stylesheet"> 26 <link href="css/base.css" rel="stylesheet"> 27 <link href="css/prettify.css" rel="stylesheet"> 28 29 <link href="css/style.css" rel="stylesheet"> 30 <link href="css/stylesheet.css" rel="stylesheet"> 31 <style>pre,p{font-size: 120%;}.red{color: red}a:hover{transition: all 1s ease;}</style> 32 33 <!-- HTML5 shim, for IE6-8 support of HTML5 elements --> 34 <!--[if lt IE 9]> 35
35<script src="js/html5shiv.min.js"></script>
35 36 <![endif]--> 37 38 <!-- Fav and touch icons --> 39 <!--<link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png"> 40 <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../assets/ico/apple-touch-icon-114-precomposed.png"> 41 <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../assets/ico/apple-touch-icon-72-precomposed.png"> 42 <link rel="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png">--> 43 <link rel="shortcut icon" href="favicon.jpg"> 44 </head> 45 <body onload="prettyPrint()"> 46 <div id="wrap"> 47 48 49 <!-- Fixed navbar --> 50 <div class="navbar navbar-default navbar-fixed-top" role="navigation"> 51 <div class="container"> 52 <div class="navbar-header"> 53 <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> 54 <span class="sr-only">Toggle navigation</span> 55 <span class="icon-bar"></span> 56 <span class="icon-bar"></span> 57 <span class="icon-bar"></span> 58 </button> 59 <!-- a class="navbar-brand" href="">JBake</a --> 60 </div> 61 <div class="navbar-collapse collapse"> 62 <ul class="nav navbar-nav"> 63 <li><a href="index.html">Home</a></li> 64 <li><a href="about.html">About</a></li> 65 <li><a href="https://www.adamldavis.com/books.html">Books</a></li> 66 67 <li><a rel=me href="https://github.com/adamldavis">Github</a></li> 68 69 <li class="dropdown"> 70 <a href="#" class="dropdown-toggle" data-toggle="dropdown">Links <b class="caret"></b></a> 71 <ul class="dropdown-menu"> 72 <li><a rel=me href="https://medium.com/@adamldavis#_=_">Me on Medium</a></li> 73 <li class="divider"></li> 74 <li class="dropdown-header">Open Source</li> 75 <li><a rel=me href="https://github.com/adamldavis/groocss">GrooCSS</a></li> 76 <li><a rel=me href="https://github.com/adamldavis/groovy-rxjava2">Groovy RxJava2</a></li> 77 <li><a rel=me href="https://github.com/adamldavis/groovy-chemistry">Groovy Chemistry</a></li> 78 <li><a rel=me href="https://github.com/adamldavis/2019-gr8conf">Code for 2019 Gr8Conf</a></li> 79 <li class="divider"></li> 80 <li><a href="feed.xml">Atom feed for blog</a></li> 81 </ul> 82 83 </li> 84 <li class="dropdown"> 85 <a href="#" class="dropdown-toggle" data-toggle="dropdown">Projects <b class="caret"></b></a> 86 <ul class="dropdown-menu"> 87 <li><a href="https://bitbucket.org/adamldavis/dollar-lang/wiki/Home">Dollar-lang</a></li> 88 <li><a href="https://github.com/adamldavis/z">Zeta-code</a></li> 89 <li><a href="https://github.com/adamldavis/humblecode">Humblecode</a></li> 90 <li><a href="https://www.groocss.org/">GrooCSS</a></li> 91 <li><a href="https://github.com/adamldavis/graphql-java-immutables">graphql-java-immutables</a></li> 92 </ul> 93 </li> 94 95 </ul> 96 </div><!--/.nav-collapse --> 97 </div> 98 </div> 99 <div class="container"> 100 101 <div class="page-header"> 102 <h1>Publications</h1> 103 </div> 104 105 <p> 106<p>
107<script language="javascript" src="http://www.lduhtrp.net/widget-5d46efd4afd6551a865821ec-9149300?target=_top&mouseover=Y&sid=111" type="text/javascript"></script>
107 108</p> 109 110<article> 111 <h2>Books</h2> 112 <ul class="books"> 113 <li> 114 <a class="mj" href="https://www.apress.com/us/book/9781484261439">Spring Quick Reference Guide</a> 115 <i>A Pocket Handbook for Spring Framework, Spring Boot, and More</i> 116 </li> 117 <li> 118 <a class="mj" href="https://leanpub.com/modernjavasecondedition">Modern Java: Second Edition</a> 119 <i>Java 11 and the Java Ecosystem</i> 120 </li> 121 <li><a class="mj" href="https://leanpub.com/whatsnewinjava8">What's New in Java 8</a> 122 <i>An unofficial guide to Java and JDK 1.8</i> 123 </li> 124 <li><a class="mj" href="https://www.apress.com/us/book/9781484250570">Learning Groovy 3</a> 125 <i>A unique accelerated tutorial on learning Groovy</i> 126 </li> 127 <li> 128 <a class="mj" href="https://www.apress.com/us/book/9781484255681">Modern Programming Made Easy</a> 129 <i>A unique guide to learning programming in an easy, non-stressful way</i> 130 </li> 131 <li> 132 <a class="mj" href="https://www.apress.com/us/book/9781484241752#otherversion=9781484241769">Reactive Streams in Java</a> 133 <i>Concurrency with RxJava, Reactor, and Akka Streams</i> 134 </li> 135 </ul> 136 <h2>Books I Recommend</h2> 137 <ul> 138 <li><a href="https://amzn.to/4fk7oC5">Best Book on TypeScript: Programming TypeScript</a></li> 139 <li><a href="https://amzn.to/4h1jRx9">Best Web Design Book: Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability</a></li> 140 <li><a href="https://amzn.to/457dRLP">Best Microservices Book: Microservices Patterns: With examples in Java</a></li> 141 <li><a href="https://amzn.to/3TFZ884">Best Classic Book about Coding: Coders at Work</a></li> 142 <li><a href="https://amzn.to/4pmWjok">Best Book on Budgeting: Die with Zero</a></li> 143 <li><a href="https://amzn.to/4bvYdxb">Best Book on Worry: How to Stop Worrying and Start Living</a></li> 144 145 </ul> 146 <aside>(These are affiliate links that help support this website)</aside> 147 148</article> 149 150<article> 151 <h2>Courses</h2> 152 <ul class="courses"> 153 <li> 154 <a class="mj" href="https://leanpub.com/c/learninggroovy3">Groovy 3 Course</a> 155 <i>Go from beginner to expert Groovy Programmer with Groovy 3.0 and Gradle 5</i> 156 </li> 157 </ul> 158</article> 159 160<article> 161 <h2>Bundles</h2> 162 <ul class="bundles"> 163 <li><a class="mj" href="https://leanpub.com/b/modernjava8">Modern Java 8</a></li> 164 <li><a class="mj" href="https://leanpub.com/b/modernjavacareerbootcamp">Modern Java Career Bootcamp</a></li> 165 <li><a class="mj" href="https://leanpub.com/b/catchingupwithjava8and9">Catching up with Java 8-11</a></li> 166 </ul> 167</article> 168</p> 169 170 <hr /> 171 172 </div> 173 <div id="push"></div> 174 </div> 175 176 <div id="footer"> 177 <div class="container"> 178 <p class="muted credit">© 2026 <a rel=me href="https://github.com/adamldavis">Adam L. Davis</a> | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a> | Baked with <a href="http://jbake.org">JBake v2.6.7</a> | Hosted by <a href="https://pages.github.com/">Github</a> | <a href="about.html">About</a> 179 </p> 180 </div> 181 </div> 182 183 <!-- Le javascript 184 ================================================== --> 185 <!-- Placed at the end of the document so the pages load faster --> 186
186<script src="js/jquery-1.11.1.min.js"></script>
186 187
187<script src="js/bootstrap.min.js"></script>
187 188
188<script src="js/prettify.js"></script>
188 189 190 </body> 191</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.