{"id":24025,"date":"2014-04-11T22:00:37","date_gmt":"2014-04-11T19:00:37","guid":{"rendered":"http:\/\/www.javacodegeeks.com\/?p=24025"},"modified":"2015-04-18T09:27:48","modified_gmt":"2015-04-18T06:27:48","slug":"15-must-read-java-8-tutorials","status":"publish","type":"post","link":"https:\/\/www.javacodegeeks.com\/2014\/04\/15-must-read-java-8-tutorials.html","title":{"rendered":"15 Must Read Java 8 Tutorials"},"content":{"rendered":"<p><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/04\/Blog_Green-Board.png\"><img decoding=\"async\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/04\/Blog_Green-Board-300x155.png\" alt=\"Blog_Green-Board\" width=\"300\" height=\"155\" class=\"alignright size-medium wp-image-24067\" srcset=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/04\/Blog_Green-Board-300x155.png 300w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/04\/Blog_Green-Board.png 580w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a>Java 8 was released last month and is just chock-full of new features and behind-the-scenes optimizations. The internet has been doing quite a good job covering all these new additions \u2013 both the good and <a href=\"http:\/\/www.javacodegeeks.com\/2014\/03\/the-dark-side-of-lambda-expressions-in-java-8.html\">the bad<\/a>. I thought it\u2019d be good to do a round-up of what we think are some of the best tutorials out there, to help you get you quickly up-to-speed on what\u2019s new and what you need to know.<\/p>\n<h2>Java 8 New Features List<\/h2>\n<p>Let\u2019s start with the basics \u2013 the official OpenJDK list of new features in the Java 8 core library, JVM and the JDK. This is a must read.<\/p>\n<ul>\n<li><a href=\"http:\/\/openjdk.java.net\/projects\/jdk8\/features\" target=\"_blank\">The OpenJDK 8 new features list<\/a><\/li>\n<\/ul>\n<h2>Lambda Expressions<\/h2>\n<p>Hailed as the biggest change to the language in the last decade, Java 8\u2019s Lambda expressions finally deliver core elements of functional programming that have been made popular with languages such as Scala and Clojure right to your doorstep.<\/p>\n<p>This is really one of those cases where I suggest going with the official documentation and tutorials first:<\/p>\n<ul>\n<li><a href=\"http:\/\/docs.oracle.com\/javase\/tutorial\/java\/javaOO\/lambdaexpressions.html\" target=\"_blank\">The official Java Lambda expressions tutorial<\/a><\/li>\n<li><a href=\"http:\/\/viralpatel.net\/blogs\/lambda-expressions-java-tutorial\/\" target=\"_blank\">An extensive Lambda expressions tutorial with examples<\/a><\/li>\n<\/ul>\n<h2>Parallel Array Operations<\/h2>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=7ZpFI15_iZU\" target=\"_blank\">2 is better than 1<\/a> (it\u2019s kitch song time!). Java 8 now lets you operate on arrays and collections in parallel to maximize use of your hardware\u2019s resource with a simple and intuitive new set of APIs. Check \u2018em out:<div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<ul>\n<li><a href=\"http:\/\/www.drdobbs.com\/jvm\/parallel-array-operations-in-java-8\/240166287\" target=\"_blank\">Parallel Array operations<\/a><\/li>\n<li><a href=\"http:\/\/www.javacodegeeks.com\/2014\/04\/new-parallelism-apis-in-java-8-behind-the-glitz-and-glamour.html\">Parallel operations benchmark<\/a><\/li>\n<\/ul>\n<h2>Concurrent Counters<\/h2>\n<p>This is a personal favourite of mine. I always thought Java has done such a great job at providing powerful idioms for safe multi-threaded operations. That\u2019s why I always felt it was such a shame it did not provide an intrinsic idiom for multi-threaded counters. I just get shivers when I think of all the bugs and man hours that could have been saved. Well, not anymore. Concurrent counters are finally here!<\/p>\n<ul>\n<li><a href=\"http:\/\/www.javacodegeeks.com\/2014\/03\/5-features-in-java-8-that-will-change-how-you-code.html\">Concurrent counters in Java 8<\/a><\/li>\n<\/ul>\n<h2>Date Time APIs<\/h2>\n<p>Java 8 finally makes using date and time operations in your code simple and intuitive, on par with that we\u2019re used to with Joda Time.<\/p>\n<ul>\n<li><a href=\"http:\/\/www.javaworld.com\/article\/2078757\/java-se\/java-101-the-next-generation-it-s-time-for-a-change.html\" target=\"_blank\">The new date time API<\/a><\/li>\n<li><a href=\"http:\/\/www.javacodegeeks.com\/2014\/03\/a-deeper-look-into-the-java-8-date-and-time-api.html\">A deep look into the Java 8 date time APIs<\/a><\/li>\n<\/ul>\n<p><strong>Bonus<\/strong>: <a href=\"http:\/\/blog.joda.org\/2009\/11\/why-jsr-310-isn-joda-time_4941.html\" target=\"_blank\">Why Joda wasn\u2019t used in Java 8<\/a><\/p>\n<p>And before we move on to other subjects, here\u2019s a very <a href=\"http:\/\/www.techempower.com\/blog\/2013\/03\/26\/everything-about-java-8\/\" target=\"_blank\">thorough tutorial<\/a> on all the new language and library additions in Java 8.<\/p>\n<h2>Nashorn JavaScript<\/h2>\n<p>Nashorn in the the new JavaScript engine built into the Java 8 core library which enables you to execute JavaScript right from the comfort of your JVM, without having to set up another node.js container.<\/p>\n<ul>\n<li><a href=\"http:\/\/winterbe.com\/posts\/2014\/04\/05\/java8-nashorn-tutorial\/\" target=\"_blank\">How to use Nashorn in your code<\/a><\/li>\n<li><a href=\"http:\/\/blog.javabien.net\/2014\/02\/19\/use-nashorn-and-webjars-to-execute-javascript-server-side\/\" target=\"_blank\">Using Nashorn to run CoffeeScript<\/a><\/li>\n<\/ul>\n<h2>Garbage Collection<\/h2>\n<p>Java 8 made significant changes to the internals of the GC engine, going as far as removing the permgen space.<\/p>\n<ul>\n<li><a href=\"http:\/\/java.dzone.com\/articles\/java-8-permgen-metaspace\" target=\"_blank\">Java 8 GC \u2013 here\u2019s what you need to know<\/a><\/li>\n<\/ul>\n<h2>Java 8 Security<\/h2>\n<p>Code security is right up there with brushing your teeth or doing your cardio. You don\u2019t really like doing it for the most the part, but you know that bad things will happen if you don\u2019t. Here\u2019s a good (and concise) round-up of the new security features in Java 8. So go ahead and brush your teeth &#8211;<\/p>\n<ul>\n<li><a href=\"http:\/\/docs.oracle.com\/javase\/8\/docs\/technotes\/guides\/security\/enhancements-8.html\" target=\"_blank\">Java 8 Security Enhancements<\/a><\/li>\n<\/ul>\n<h2>HashMap Collisions<\/h2>\n<p>While not really a tutorial, I thought it\u2019d be worth mentioning that Java 8 has finally gone ahead and improved how Hashmaps operate under stress \u2013 something that\u2019s been talked about for years now and finally got done. Good job!<\/p>\n<ul>\n<li><a href=\"http:\/\/openjdk.java.net\/jeps\/180\" target=\"_blank\">Fixing frequent HashMap collisions<\/a><\/li>\n<\/ul>\n<div class=\"attribution\">\n<table>\n<tbody>\n<tr>\n<td><span class=\"reference\">Reference: <\/span><\/td>\n<td><a href=\"http:\/\/www.takipiblog.com\/2014\/04\/09\/15-must-read-java-8-tutorials\/\">15 Must Read Java 8 Tutorials<\/a> from our <a href=\"http:\/\/www.javacodegeeks.com\/jcg\">JCG partner<\/a> Tal Weiss at the <a href=\"http:\/\/www.takipiblog.com\/\">Takipi <\/a> blog.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Java 8 was released last month and is just chock-full of new features and behind-the-scenes optimizations. The internet has been doing quite a good job covering all these new additions \u2013 both the good and the bad. I thought it\u2019d be good to do a round-up of what we think are some of the best &hellip;<\/p>\n","protected":false},"author":529,"featured_media":148,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[196],"class_list":["post-24025","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-core-java","tag-java-8"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>15 Must Read Java 8 Tutorials<\/title>\n<meta name=\"description\" content=\"Java 8 was released last month and is just chock-full of new features and behind-the-scenes optimizations. The internet has been doing quite a good job\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.javacodegeeks.com\/2014\/04\/15-must-read-java-8-tutorials.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"15 Must Read Java 8 Tutorials\" \/>\n<meta property=\"og:description\" content=\"Java 8 was released last month and is just chock-full of new features and behind-the-scenes optimizations. The internet has been doing quite a good job\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.javacodegeeks.com\/2014\/04\/15-must-read-java-8-tutorials.html\" \/>\n<meta property=\"og:site_name\" content=\"Java Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/javacodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2014-04-11T19:00:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2015-04-18T06:27:48+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/java-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Tal Weiss\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:site\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Tal Weiss\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/04\\\/15-must-read-java-8-tutorials.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/04\\\/15-must-read-java-8-tutorials.html\"},\"author\":{\"name\":\"Tal Weiss\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/2dc6b8e5a433ff29fcdf2167aedc3d57\"},\"headline\":\"15 Must Read Java 8 Tutorials\",\"datePublished\":\"2014-04-11T19:00:37+00:00\",\"dateModified\":\"2015-04-18T06:27:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/04\\\/15-must-read-java-8-tutorials.html\"},\"wordCount\":592,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/04\\\/15-must-read-java-8-tutorials.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/java-logo.jpg\",\"keywords\":[\"Java 8\"],\"articleSection\":[\"Core Java\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/04\\\/15-must-read-java-8-tutorials.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/04\\\/15-must-read-java-8-tutorials.html\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/04\\\/15-must-read-java-8-tutorials.html\",\"name\":\"15 Must Read Java 8 Tutorials\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/04\\\/15-must-read-java-8-tutorials.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/04\\\/15-must-read-java-8-tutorials.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/java-logo.jpg\",\"datePublished\":\"2014-04-11T19:00:37+00:00\",\"dateModified\":\"2015-04-18T06:27:48+00:00\",\"description\":\"Java 8 was released last month and is just chock-full of new features and behind-the-scenes optimizations. The internet has been doing quite a good job\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/04\\\/15-must-read-java-8-tutorials.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/04\\\/15-must-read-java-8-tutorials.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/04\\\/15-must-read-java-8-tutorials.html#primaryimage\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/java-logo.jpg\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/java-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/04\\\/15-must-read-java-8-tutorials.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Core Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\\\/core-java\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"15 Must Read Java 8 Tutorials\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"name\":\"Java Code Geeks\",\"description\":\"Java Developers Resource Center\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"alternateName\":\"JCG\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.javacodegeeks.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/javacodegeeks\",\"https:\\\/\\\/x.com\\\/javacodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/2dc6b8e5a433ff29fcdf2167aedc3d57\",\"name\":\"Tal Weiss\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e70d5bd7ae7a7a580e9fc6ee8f21e204f382b27e2e9eb52338e644f1704429b1?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e70d5bd7ae7a7a580e9fc6ee8f21e204f382b27e2e9eb52338e644f1704429b1?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e70d5bd7ae7a7a580e9fc6ee8f21e204f382b27e2e9eb52338e644f1704429b1?s=96&d=mm&r=g\",\"caption\":\"Tal Weiss\"},\"description\":\"Tal is co-founder and CEO at Takipi where he leads a team of hackers that build tools that help fix Java and Scala code in production. His main interests are tools for developers, solving nasty bugs (preferably multi-threaded) and Jazz drumming.\",\"sameAs\":[\"http:\\\/\\\/www.takipi.com\\\/\"],\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/author\\\/tal-weiss\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"15 Must Read Java 8 Tutorials","description":"Java 8 was released last month and is just chock-full of new features and behind-the-scenes optimizations. The internet has been doing quite a good job","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.javacodegeeks.com\/2014\/04\/15-must-read-java-8-tutorials.html","og_locale":"en_US","og_type":"article","og_title":"15 Must Read Java 8 Tutorials","og_description":"Java 8 was released last month and is just chock-full of new features and behind-the-scenes optimizations. The internet has been doing quite a good job","og_url":"https:\/\/www.javacodegeeks.com\/2014\/04\/15-must-read-java-8-tutorials.html","og_site_name":"Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_published_time":"2014-04-11T19:00:37+00:00","article_modified_time":"2015-04-18T06:27:48+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/java-logo.jpg","type":"image\/jpeg"}],"author":"Tal Weiss","twitter_card":"summary_large_image","twitter_creator":"@javacodegeeks","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Tal Weiss","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.javacodegeeks.com\/2014\/04\/15-must-read-java-8-tutorials.html#article","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/2014\/04\/15-must-read-java-8-tutorials.html"},"author":{"name":"Tal Weiss","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/2dc6b8e5a433ff29fcdf2167aedc3d57"},"headline":"15 Must Read Java 8 Tutorials","datePublished":"2014-04-11T19:00:37+00:00","dateModified":"2015-04-18T06:27:48+00:00","mainEntityOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2014\/04\/15-must-read-java-8-tutorials.html"},"wordCount":592,"commentCount":1,"publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2014\/04\/15-must-read-java-8-tutorials.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/java-logo.jpg","keywords":["Java 8"],"articleSection":["Core Java"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.javacodegeeks.com\/2014\/04\/15-must-read-java-8-tutorials.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.javacodegeeks.com\/2014\/04\/15-must-read-java-8-tutorials.html","url":"https:\/\/www.javacodegeeks.com\/2014\/04\/15-must-read-java-8-tutorials.html","name":"15 Must Read Java 8 Tutorials","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2014\/04\/15-must-read-java-8-tutorials.html#primaryimage"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2014\/04\/15-must-read-java-8-tutorials.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/java-logo.jpg","datePublished":"2014-04-11T19:00:37+00:00","dateModified":"2015-04-18T06:27:48+00:00","description":"Java 8 was released last month and is just chock-full of new features and behind-the-scenes optimizations. The internet has been doing quite a good job","breadcrumb":{"@id":"https:\/\/www.javacodegeeks.com\/2014\/04\/15-must-read-java-8-tutorials.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.javacodegeeks.com\/2014\/04\/15-must-read-java-8-tutorials.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/2014\/04\/15-must-read-java-8-tutorials.html#primaryimage","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/java-logo.jpg","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/java-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/www.javacodegeeks.com\/2014\/04\/15-must-read-java-8-tutorials.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.javacodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"Java","item":"https:\/\/www.javacodegeeks.com\/category\/java"},{"@type":"ListItem","position":3,"name":"Core Java","item":"https:\/\/www.javacodegeeks.com\/category\/java\/core-java"},{"@type":"ListItem","position":4,"name":"15 Must Read Java 8 Tutorials"}]},{"@type":"WebSite","@id":"https:\/\/www.javacodegeeks.com\/#website","url":"https:\/\/www.javacodegeeks.com\/","name":"Java Code Geeks","description":"Java Developers Resource Center","publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"alternateName":"JCG","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.javacodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.javacodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.javacodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/javacodegeeks","https:\/\/x.com\/javacodegeeks"]},{"@type":"Person","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/2dc6b8e5a433ff29fcdf2167aedc3d57","name":"Tal Weiss","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/e70d5bd7ae7a7a580e9fc6ee8f21e204f382b27e2e9eb52338e644f1704429b1?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/e70d5bd7ae7a7a580e9fc6ee8f21e204f382b27e2e9eb52338e644f1704429b1?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e70d5bd7ae7a7a580e9fc6ee8f21e204f382b27e2e9eb52338e644f1704429b1?s=96&d=mm&r=g","caption":"Tal Weiss"},"description":"Tal is co-founder and CEO at Takipi where he leads a team of hackers that build tools that help fix Java and Scala code in production. His main interests are tools for developers, solving nasty bugs (preferably multi-threaded) and Jazz drumming.","sameAs":["http:\/\/www.takipi.com\/"],"url":"https:\/\/www.javacodegeeks.com\/author\/tal-weiss"}]}},"_links":{"self":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/24025","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/users\/529"}],"replies":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=24025"}],"version-history":[{"count":0,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/24025\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media\/148"}],"wp:attachment":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=24025"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=24025"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=24025"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}