Topic: General Level: All
In this post, we shall catch up on the multi-faceted technological updates that happened over the past week as well as a few that seized my attention,
Microservices using shared memory for interservice communication and data processing, to speed up the processing between multiple services and achieve low latency with high throughput, creating a Virtual memory that offers shared memory space residing in the local disk for the services to leverage.
The Chronicle library facilitates creating the memory region of the heap on a file for virtual memory and debugging the file with readable YAML format.
The feature of the memory map file has been available since JDK4, FileChannel.map + MapMode.READ_WRITE = MappedByteBuffer (not thread safe)
Other places for improvement are,
1) Thread safe access
2) Long offsets (64-bit)
3) Complex UTF-8 operations
4) Growing vs. Sparse files
Project Panama:
JDK14 - Foreign memory access API
JDK16 - Foreign Linker API
JDK17 - Foreign function & memory API
JDK19 - Preview stage (move away from JNI)
PriorityQueue achieves time complexity notation of logarithmic for enqueuing and dequeuing by the data structure implementation of Balanced Binary Heap.
Other operations namely, linear time for search and constant time for retrievals.
The FIFO ordering is based on the Comparator specification or natural ordering during the queue instance creation.
Custom ordering is facilitated by a comparable interface implementation.
To achieve thread-safe operations PriorityBlockingQueue should be capitalized on.
Virtual threads are mounted onto Platform threads (that are OS threads) while execution and if there is a blocking logic, it is unmounted and the next Virtual thread becomes available for mounting and processing.
The Streams reduce() is a terminal function returning accumulated value on a given BiFunction operation.
There is also an overloaded function that takes in a combiner, which applies the accumulator value to each stream data producing a return value.
The distinction is when the stream is sequential or parallel, in parallel processing each thread produces a partial result making it evident for a combiner definition.
From JDBC, EntityBeans, and Hibernate, a standard specification was emanated offering benefits on,
Better SQL exception handling,
Caching,
Flexible SQL statement via nativeQueries,
Locking,
Hierarchical DTO projections
Step-by-step transition from Java to Rust
Disclaimer:
This is a personal blog. Any views or opinions represented in this blog are personal and belong solely to the blog owner and do not represent those of people, institutions or organizations that the owner may or may not be associated with in a professional or personal capacity, unless explicitly stated. Any views or opinions are not intended to malign any religion, ethnic group, club, organization, company, or individual. All content provided on this blog is for informational purposes only. The owner of this blog makes no representations as to the accuracy or completeness of any information on this site or found by following any link on this site. The owner will not be liable for any errors or omissions in this information nor for the availability of this information. The owner will not be liable for any losses, injuries, or damages from the display or use of this information.
Downloadable Files and ImagesAny downloadable file, including but not limited to pdfs, docs, jpegs, pngs, is provided at the user’s own risk. The owner will not be liable for any losses, injuries, or damages resulting from a corrupted or damaged file.- Comments are welcome. However, the blog owner reserves the right to edit or delete any comments submitted to this blog without notice due to :
- Comments deemed to be spam or questionable spam.
- Comments including profanity.
- Comments containing language or concepts that could be deemed offensive.
- Comments containing hate speech, credible threats, or direct attacks on an individual or group.
Comments
Post a Comment