Cargando…

Java EE 8 High Performance : Master techniques such as memory optimization, caching, concurrency, and multithreading to achieve maximum performance from your enterprise applications.

The ease with which we write an application has been increasing, but with increasingly complex application come the need to address their performance. A balancing act between implementing complex applications easily and keeping its performance optimum is need of the hour. In this book we explore how...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Manni-Bucau, Romain
Formato: Electrónico eBook
Idioma:Inglés
Publicado: Birmingham : Packt Publishing, 2018.
Temas:
Acceso en línea:Texto completo

MARC

LEADER 00000cam a2200000Mi 4500
001 EBSCO_on1022794860
003 OCoLC
005 20231017213018.0
006 m o d
007 cr cnu---unuuu
008 180210s2018 enk o 000 0 eng d
040 |a EBLCP  |b eng  |e pn  |c EBLCP  |d NLE  |d MERUC  |d CHVBK  |d OCLCO  |d IDB  |d YDX  |d OCLCF  |d VT2  |d TEFOD  |d OCLCQ  |d OCLCO  |d LVT  |d C6I  |d UKAHL  |d OCLCQ  |d N$T  |d UKMGB  |d OCLCO  |d K6U  |d OCLCQ  |d OCLCO 
015 |a GBC1L5072  |2 bnb 
016 7 |a 018754831  |2 Uk 
019 |a 1022776281 
020 |a 9781788472159  |q (electronic bk.) 
020 |a 1788472152  |q (electronic bk.) 
020 |a 178847306X 
020 |a 9781788473064 
024 3 |a 9781788473064 
029 1 |a CHNEW  |b 000987039 
029 1 |a CHVBK  |b 509399568 
029 1 |a AU@  |b 000066232871 
029 1 |a UKMGB  |b 018754831 
035 |a (OCoLC)1022794860  |z (OCoLC)1022776281 
037 |a B08602  |b 01201872 
037 |a 6C070B00-0742-4284-8A63-D29D2342FAA0  |b OverDrive, Inc.  |n http://www.overdrive.com 
050 4 |a QA76.73.J38  |b .M366 2018 
082 0 4 |a 005.133  |2 23 
049 |a UAMI 
100 1 |a Manni-Bucau, Romain. 
245 1 0 |a Java EE 8 High Performance :  |b Master techniques such as memory optimization, caching, concurrency, and multithreading to achieve maximum performance from your enterprise applications. 
260 |a Birmingham :  |b Packt Publishing,  |c 2018. 
300 |a 1 online resource (344 pages) 
336 |a text  |b txt  |2 rdacontent 
337 |a computer  |b c  |2 rdamedia 
338 |a online resource  |b cr  |2 rdacarrier 
588 0 |a Print version record. 
520 |a The ease with which we write an application has been increasing, but with increasingly complex application come the need to address their performance. A balancing act between implementing complex applications easily and keeping its performance optimum is need of the hour. In this book we explore how to achieve this crucial balance while ... 
505 0 |a Cover -- Title Page -- Copyright and Credits -- Dedication -- Packt Upsell -- Contributors -- Table of Contents -- Preface -- Chapter 1: Money -- The Quote Manager Application -- Setting up the environment -- The application architecture -- Application project highlights -- The build -- The persistence layer -- The service layer -- The JAX-RS layer -- The WebSocket layer -- Provision some data -- Application summary -- The application business -- The application design -- The application server -- Testing the application -- Get a quote price the JAX-RS way -- Get the price, the WebSocket way -- Setting up MySQL -- Conclusion -- Summary -- Chapter 2: Looking Under the Cover -- What is This EE Thing? -- Context and Dependency Injection -- what did you do to my beans? -- IoC -- a pretty simple example -- The main features of CDI -- Injections -- Scopes -- Interceptors/decorators -- Events -- Dynamic lookups -- JAX-RS -- the servlet router -- The router -- Marshalling -- Filter and interceptors -- @Suspended or asynchronous operation -- JPA -- the database link -- From JPA to the database -- Model and implications -- The Java Transaction API -- Server resources -- DataSource configuration -- Java EE and performances -- Ensure you know the server -- Ensure you know your application -- Ensure you know your resources -- Summary -- Chapter 3: Monitor Your Application -- Java tools to know what my application is doing -- The jcmd command -- the small command line utility that does a lot -- Thread.print -- Memory -- JVisualVM -- the UI for JVM monitoring -- How to connect remotely -- Java Mission Control -- GlassFish ad hoc monitoring -- Libraries monitor your application -- Counters, gauges, timers, and more -- Instrumenting the code -- CDI instrumentation -- Implementing your own configurable monitoring interceptor. 
505 8 |a Javaagent -- a complex but powerful instrumentation -- Sirona javaagent -- SQL Monitoring -- Data aggregation -- Tracing -- APM -- Summary -- Chapter 4: Application Optimization -- Memory Management and Server Configuration -- Java and the memory -- Garbage collector -- Garbage collector algorithms -- The serial collector -- Parallel and parallel compacting collectors -- Concurrent Mark Sweep (CMS) -- Garbage First (G1) -- Common memory settings -- Debugging GC behavior -- Heap dump -- Java EE and the resources -- DataSource -- Java EE and pools -- Java EE and HTTP pools -- Java EE implicit features -- Summary -- Chapter 5: Scale Up -- Threading and Implications -- Java EE threading model -- Thread data and consistency -- Concurrent data access -- Java and thread safety -- Synchronized -- Locks -- java.util.concurrent -- The volatile data -- Java EE and threads -- CDI asynchronous events -- EJB @Asynchronous -- EE concurrency utilities for Java EE -- ManagedExecutorService -- ManagedScheduledExecutorService -- Java EE threads -- ContextService -- EJB @Lock -- HTTP threads -- Server side -- Client side -- Reactive programming and Java EE -- Message passing and Java EE -- Summary -- Chapter 6: Be Lazy -- Cache Your Data -- Caching challenges -- How does the cache work? -- The cache key -- Eviction policy -- Least Recently Used (LRU) -- First In First Out (FIFO) -- Random -- Least Frequently Used (LFU) -- Cache eviction trigger -- Cache storage -- memory or not -- Consistency of the data -- HTTP and caching -- Cache-Control -- ETag -- Vary -- HTTP caching and the Java EE API -- HTTP 2 promise -- JCache -- the standard cache of Java EE -- Setting up JCache -- Programmatic API -- JCache configuration -- CDI integration -- Cache configuration -- @CacheDefaults -- Cache key -- Cache once -- Summary -- Chapter 7: Be Fault-Tolerant -- It will fail, no doubt! 
505 8 |a Load balancing -- pick the best one -- Transparent load balancing -- client versus server -- Common strategies -- The round-robin algorithm -- Random load balancing -- Link to failover -- Sticky session -- The scheduling algorithm -- Load balancing or proxy -- additional features -- Failover -- Switching to another system -- Local fallback -- Fallback code structure -- Microprofile to the rescue -- Failover extension -- Fallback handling -- caching, an alternative solution -- Circuit breaker -- Bulk head -- Timeouts -- Timeouts for code without timeouts -- Summary -- Chapter 8: Loggers and Performances -- A Trade-Off -- I log, you log, they log -- Logging frameworks and concepts -- Logger -- Logger Factory -- LogRecord -- Handler -- Filter -- Formatter -- Level -- Logging invocations -- Filters -- Formatters -- Using handlers -- Logging components and Java EE -- Logging patterns -- Testing your level -- Using templates in your messages -- Asynchronous or not? -- Logging implementations -- which one to pick -- Logging facade -- the good bad idea -- Logging frameworks -- Log4j -- Log4j2 -- Logback -- JUL -- Choosing an implementation -- Summary -- Chapter 9: Benchmarking Your Application -- Benchmarking -- validating your application against your SLA -- Benchmark, benchmark, benchmark -- Preparing your benchmark -- Defining the benchmark criteria -- Defining the metric -- Defining acceptance criteria -- Defining the scenario -- Defining the environment -- The machines -- The network -- Databases and remote services -- The server -- Automatize your scenarios -- JMeter -- Gatling -- Other tools -- Ensuring you have support -- Time boxing your optimization benchmark -- Installing and resetting procedures -- Benchmark iterations -- Iterating -- Changing a single setting at a time -- Resetting any state between runs -- Warming up your system -- After your benchmark. 
505 8 |a Writing a report -- Updating your default configurations -- Reviewing the conclusions -- Enriching your project backlog -- Summary -- Chapter 10: Continuous Performance Evaluation -- Writing performance tests -- the pitfalls -- Writing performance tests -- JMH -- the OpenJDK tool -- Writing a benchmark with JMH -- The state -- Creating your first JMH benchmark -- BlackHole to be a star -- Running the benchmarks -- Integrating JMH with JUnit -- ContiPerf -- Arquillian and ContiPerf -- the diabolic pair -- JMeter and build integration -- Gatling and continuous integration -- Deploying your (benchmark) application -- Continuous integration platform and performance -- Summary -- Another Book You May Enjoy -- Index. 
590 |a eBooks on EBSCOhost  |b EBSCO eBook Subscription Academic Collection - Worldwide 
650 0 |a Java. 
650 0 |a Application software  |x Development. 
650 6 |a Logiciels d'application  |x Développement. 
650 7 |a Programming & scripting languages: general.  |2 bicssc 
650 7 |a Distributed systems.  |2 bicssc 
650 7 |a Computers  |x Systems Architecture  |x Distributed Systems & Computing.  |2 bisacsh 
650 7 |a Computers  |x Programming Languages  |x General.  |2 bisacsh 
650 7 |a Computers  |x Programming Languages  |x Java.  |2 bisacsh 
650 7 |a Application software  |x Development  |2 fast 
776 0 8 |i Print version:  |a Manni-Bucau, Romain.  |t Java EE 8 High Performance : Master techniques such as memory optimization, caching, concurrency, and multithreading to achieve maximum performance from your enterprise applications.  |d Birmingham : Packt Publishing, ©2018 
856 4 0 |u https://ebsco.uam.elogim.com/login.aspx?direct=true&scope=site&db=nlebk&AN=1703779  |z Texto completo 
938 |a Askews and Holts Library Services  |b ASKH  |n AH33858774 
938 |a EBL - Ebook Library  |b EBLB  |n EBL5259458 
938 |a YBP Library Services  |b YANK  |n 15146413 
938 |a EBSCOhost  |b EBSC  |n 1703779 
994 |a 92  |b IZTAP