41554 blogs · [ { "id": "01a094db-9060-70ec-8f30-c516050ef313", "title": "Deciding how to progress your career and find work you find interesting/challenging.", "url": "https://blog.vanillajava.blog/2026/09/deciding-how-to-progress-your-career.html", "published_at": "2026-09-12T07:32:17+00:00" }, { "id": "01a08755-8a75-71d4-8c0c-ae129d8f8fa6", "title": "Which Doc Format is Best for AI Specifications?", "url": "https://blog.vanillajava.blog/2026/07/which-doc-format-is-best-for-ai.html", "published_at": "2026-07-14T14:00:28+00:00" }, { "id": "01a08755-8a75-71d4-8c0c-ae129d934505", "title": "Why You Should Tune Code Before Your Garbage Collector", "url": "https://blog.vanillajava.blog/2026/06/why-you-should-tun-code-before-your.html", "published_at": "2026-06-08T11:52:44+00:00" }, { "id": "01a08755-8a75-71d4-8c0c-ae129e5fc1a9", "title": "Testing Java Memory Management with Chronicle-FIX using AI", "url": "https://blog.vanillajava.blog/2026/06/testing-java-memory-management-with.html", "published_at": "2026-06-05T09:03:26+00:00" }, { "id": "01a08755-8a75-71d4-8c0c-ae129f042cf9", "title": "Updated Biography", "url": "https://blog.vanillajava.blog/2025/08/updated-biography.html", "published_at": "2025-08-10T10:56:00+00:00" }, { "id": "01a08755-8a76-709d-9970-45f456524452", "title": "Improving the prompt to the AI to get better code", "url": "https://blog.vanillajava.blog/2025/07/improving-prompt-to-ai-to-get-better.html", "published_at": "2025-07-17T15:56:00+00:00" }, { "id": "01a08755-8a76-709d-9970-45f456dd7479", "title": "Asking multiple AI to optimise the same code", "url": "https://blog.vanillajava.blog/2025/07/asking-multiple-ai-to-optimise-same-code.html", "published_at": "2025-07-16T21:11:00+00:00" }, { "id": "01a08755-8a76-709d-9970-45f457a4b627", "title": "Practical Considerations for Advancing AI Collaboration in Software Development", "url": "https://blog.vanillajava.blog/2025/05/practical-considerations-for-advancing.html", "published_at": "2025-05-15T19:35:00+00:00" }, { "id": "01a08755-8a76-709d-9970-45f4582491c2", "title": "A Functional intreface can extend other interfaces", "url": "https://blog.vanillajava.blog/2025/02/a-functional-intreface-can-extend-other.html", "published_at": "2025-02-20T09:04:00+00:00" }, { "id": "01a08755-8a76-709d-9970-45f458a2eaad", "title": "Hands-On Career: The Evolution of a Java Champion", "url": "https://blog.vanillajava.blog/2025/01/hands-on-career-evolution-of-java.html", "published_at": "2025-01-24T10:27:00+00:00" }, { "id": "01a08755-8a76-709d-9970-45f458f64857", "title": "Does AI-Generated Documentation Have Value?", "url": "https://blog.vanillajava.blog/2025/01/does-ai-generated-documentation-have.html", "published_at": "2025-01-10T17:42:00+00:00" }, { "id": "01a08755-8a76-709d-9970-45f4598292ee", "title": "Generative AI and the Reverse Baltimore Phenomenon", "url": "https://blog.vanillajava.blog/2025/01/generative-ai-and-reverse-baltimore.html", "published_at": "2025-01-08T13:08:00+00:00" }, { "id": "01a08755-8a76-709d-9970-45f459feaaf8", "title": "Prompt Engineering for AIDE", "url": "https://blog.vanillajava.blog/2025/01/prompt-engineering-for-aide.html", "published_at": "2025-01-04T07:11:00+00:00" }, { "id": "01a08755-8a76-709d-9970-45f45abe9337", "title": "Next-Level Development: Harnessing AI with AIDE", "url": "https://blog.vanillajava.blog/2024/12/next-level-development-harnessing-ai.html", "published_at": "2024-12-31T08:24:00+00:00" }, { "id": "01a08755-8a76-709d-9970-45f45b277e90", "title": "Empowering Your Annotations with Fields", "url": "https://blog.vanillajava.blog/2024/12/empowering-your-annotations-with-fields.html", "published_at": "2024-12-21T22:13:00+00:00" }, { "id": "01a08755-8a76-709d-9970-45f45b7cf5c8", "title": "Dates aren't what they used to be", "url": "https://blog.vanillajava.blog/2024/12/pre.html", "published_at": "2024-12-20T14:20:00+00:00" }, { "id": "01a08755-8a76-709d-9970-45f45bca0ac7", "title": "The AI Trough", "url": "https://blog.vanillajava.blog/2024/12/the-ai-trough.html", "published_at": "2024-12-16T12:03:00+00:00" }, { "id": "01a08755-8a76-709d-9970-45f45c2d9abd", "title": "AI on a Hype Cycle", "url": "https://blog.vanillajava.blog/2024/12/ai-on-hype-cycle.html", "published_at": "2024-12-15T20:38:00+00:00" }, { "id": "01a08755-8a76-709d-9970-45f45d176854", "title": "What might an AI System Prompt look like?", "url": "https://blog.vanillajava.blog/2024/12/what-might-ai-system-prompt-look-like.html", "published_at": "2024-12-15T16:47:00+00:00" }, { "id": "01a08755-8a76-709d-9970-45f45debbbdb", "title": "Demystifying Java Object Sizes: Compact Headers, Compressed Oops, and Beyond", "url": "https://blog.vanillajava.blog/2024/12/demystifying-java-object-sizes-compact.html", "published_at": "2024-12-10T16:51:00+00:00" }, { "id": "01a08755-8a76-709d-9970-45f45e876605", "title": "Novel Uses of Core Java for Low-Latency and High-Performance Systems", "url": "https://blog.vanillajava.blog/2024/12/novel-uses-of-core-java-for-low-latency.html", "published_at": "2024-12-09T16:24:00+00:00" }, { "id": "01a08755-8a76-709d-9970-45f45f6f8491", "title": "Trivially Copyable Objects in Java", "url": "https://blog.vanillajava.blog/2024/12/trivially-copyable-objects-in-java.html", "published_at": "2024-12-09T15:38:00+00:00" }, { "id": "01a08755-8a76-709d-9970-45f45fb51364", "title": "Efficient Distributed Unique Timestamp Identifier Generation", "url": "https://blog.vanillajava.blog/2024/12/efficient-distributed-unique-timestamp.html", "published_at": "2024-12-08T19:51:00+00:00" }, { "id": "01a08755-8a76-709d-9970-45f460368578", "title": "A Java Conversion Puzzler: Understanding Implicit Casting and Overflow", "url": "https://blog.vanillajava.blog/2024/12/a-java-conversion-puzzler-understanding.html", "published_at": "2024-12-07T22:23:00+00:00" }, { "id": "01a08755-8a76-709d-9970-45f461001b7a", "title": "Why Does Math.round(0.49999999999999994) Round to 1?", "url": "https://blog.vanillajava.blog/2024/12/why-does-mathround049999999999999994.html", "published_at": "2024-12-07T21:02:00+00:00" }, { "id": "01a08755-8a76-709d-9970-45f4611f84a2", "title": "TLDR: Designing Hyper-Deterministic, High-Frequency Trading Systems", "url": "https://blog.vanillajava.blog/2024/12/tldr-designing-hyper-deterministic-high.html", "published_at": "2024-12-04T21:39:00+00:00" }, { "id": "01a0d4d6-a5de-71fc-b1b2-54bbaab07229", "title": "Performance Tip: Specify Collection Capacity When Size is Known", "url": "http://blog.vanillajava.blog/2024/12/performance-tip-specify-collection.html", "published_at": "2024-12-04T19:51:00+00:00" }, { "id": "01a0d4d6-a5de-71fc-b1b2-54bbab39b98a", "title": "Performance Tip: Rethinking Collection.toArray(new Type[0])", "url": "http://blog.vanillajava.blog/2024/12/performance-tip-rethinking.html", "published_at": "2024-12-03T11:49:00+00:00" }, { "id": "01a0d4d6-a5de-71fc-b1b2-54bbabc7086d", "title": "Storing 1 TB in Virtual Memory on a 64 GB Machine with Chronicle Queue", "url": "http://blog.vanillajava.blog/2024/11/storing-1-tb-in-virtual-memory-on-64-gb.html", "published_at": "2024-11-27T16:26:00+00:00" }, { "id": "01a0d4d6-a5de-71fc-b1b2-54bbacc1b353", "title": "Unveiling Floating-Point Modulus Surprises in Java", "url": "http://blog.vanillajava.blog/2024/11/unveiling-floating-point-modulus.html", "published_at": "2024-11-24T09:13:00+00:00" }, { "id": "01a0d4d6-a5de-71fc-b1b2-54bbadbfc713", "title": "Thread Safety Issues with Vector and Hashtable", "url": "http://blog.vanillajava.blog/2024/11/despite-being-considered-legacy-since.html", "published_at": "2024-11-23T22:19:00+00:00" }, { "id": "01a0d4d6-a5de-71fc-b1b2-54bbae2ca0e2", "title": "Exceptional Exception, StackTrace extends Throwable", "url": "http://blog.vanillajava.blog/2024/11/exceptional-exception-stacktrace.html", "published_at": "2024-11-22T13:47:00+00:00" }, { "id": "01a0d4d6-a5de-71fc-b1b2-54bbaf124521", "title": "StringBuffer is Dead, Long Live StringBuffer", "url": "http://blog.vanillajava.blog/2024/11/stringbuffer-is-dead-long-live.html", "published_at": "2024-11-20T09:18:00+00:00" }, { "id": "01a0d4d6-a5de-71fc-b1b2-54bbaf83ff37", "title": "What can make Java code go faster, and then slower?", "url": "http://blog.vanillajava.blog/2024/11/what-can-make-java-code-go-faster-and.html", "published_at": "2024-11-19T15:23:00+00:00" }, { "id": "01a0d4d6-a5de-71fc-b1b2-54bbaf8ac9e4", "title": "Overly Long Class Names in Java or Geeky Poem?", "url": "http://blog.vanillajava.blog/2024/11/overly-long-class-names-in-java-or.html", "published_at": "2024-11-18T09:53:00+00:00" }, { "id": "01a0d4d6-a5de-71fc-b1b2-54bbaf8b6855", "title": "Unexpected Full GCs Triggered by RMI in Latency-Sensitive Applications", "url": "http://blog.vanillajava.blog/2024/11/unexpected-full-gcs-triggered-by-rmi-in.html", "published_at": "2024-11-18T09:08:00+00:00" }, { "id": "01a0d4d6-a5de-71fc-b1b2-54bbafebfac5", "title": "How SLOW can you read/write files in Java?", "url": "http://blog.vanillajava.blog/2024/11/how-slow-can-you-readwrite-files-in-java.html", "published_at": "2024-11-15T13:40:00+00:00" }, { "id": "01a0d4d6-a5de-71fc-b1b2-54bbb0547759", "title": "Advanced Applications of Dynamic Code in Java", "url": "http://blog.vanillajava.blog/2024/11/advanced-applications-of-dynamic-code.html", "published_at": "2024-11-15T08:54:00+00:00" }, { "id": "01a0d4d6-a5de-71fc-b1b2-54bbb0e5e7ef", "title": "Two Overlooked Uses of Enums in Java", "url": "http://blog.vanillajava.blog/2024/11/two-overlooked-uses-of-enums-in-java.html", "published_at": "2024-11-15T08:45:00+00:00" }, { "id": "01a0d4d6-a5de-71fc-b1b2-54bbb13d3dda", "title": "How to avoid using a Triple Cast", "url": "http://blog.vanillajava.blog/2024/11/omg-using-triple-cast-weve-all-faced.html", "published_at": "2024-11-14T09:53:00+00:00" }, { "id": "01a0d4d6-a5de-71fc-b1b2-54bbb200732e", "title": "Calculating an Average Without Overflow: Rounding Methods", "url": "http://blog.vanillajava.blog/2024/11/calculating-average-without-overflow.html", "published_at": "2024-11-14T09:32:00+00:00" }, { "id": "01a0d4d6-a5de-71fc-b1b2-54bbb23636b3", "title": "Why double Still Outperforms BigDecimal: A Decade-Long Performance Comparison", "url": "http://blog.vanillajava.blog/2024/11/overview-many-developers-consider.html", "published_at": "2024-11-09T07:32:00+00:00" }, { "id": "01a0d4d6-a5de-71fc-b1b2-54bbb2e5d00e", "title": "Incomparable Puzzles in Java", "url": "http://blog.vanillajava.blog/2024/11/uncomparable-puzzles-in-java.html", "published_at": "2024-11-09T07:13:00+00:00" }, { "id": "01a0d4d6-a5de-71fc-b1b2-54bbb35dc2db", "title": "Ten Java Myths and Misconceptions", "url": "http://blog.vanillajava.blog/2024/11/ten-java-myths-and-misconceptions.html", "published_at": "2024-11-09T07:00:00+00:00" }, { "id": "01a0d4d6-a5de-71fc-b1b2-54bbb4301d2d", "title": "Java Arrays, Wat!", "url": "http://blog.vanillajava.blog/2024/11/java-arrays-wat.html", "published_at": "2024-11-09T06:49:00+00:00" }, { "id": "01a0d4d6-a5de-71fc-b1b2-54bbb4aad906", "title": "Some Common Java Gotchas and How to Avoid Them", "url": "http://blog.vanillajava.blog/2024/11/some-common-java-gotchas.html", "published_at": "2024-11-09T06:36:00+00:00" }, { "id": "01a0d4d6-a5de-71fc-b1b2-54bbb4b9b88c", "title": "Java is Very Fast, If You Don’t Create Many Objects", "url": "http://blog.vanillajava.blog/2022/09/java-is-very-fast-if-you-dont-create.html", "published_at": "2022-09-12T08:49:00+00:00" }, { "id": "01a0d4d6-a5de-71fc-b1b2-54bbb5b98e85", "title": "Comparing Approaches to Durability in Low Latency Messaging Queues", "url": "http://blog.vanillajava.blog/2022/08/comparing-approaches-to-durability-in.html", "published_at": "2022-08-02T08:00:00+00:00" }, { "id": "01a0d4d6-a5de-71fc-b1b2-54bbb5c7b1ca", "title": "Event-Driven Order Processing Program", "url": "http://blog.vanillajava.blog/2022/06/event-driven-order-processing-program.html", "published_at": "2022-06-22T11:48:00+00:00" }, { "id": "01a0d4d6-a5de-71fc-b1b2-54bbb63425d0", "title": "Efficient Memory Mapping for Terabyte Sparse Files in Java", "url": "http://blog.vanillajava.blog/2022/06/efficient-memory-mapping-for-terabyte.html", "published_at": "2022-06-13T11:48:00+00:00" }, { "id": "01a0d4d8-9064-7314-9701-b0155e80c8b2", "title": "Event Driven Hello World Program", "url": "http://blog.vanillajava.blog/2022/05/event-driven-hello-world-program.html", "published_at": "2022-05-27T11:48:00+00:00" }, { "id": "01a0d4d8-9064-7314-9701-b0155ecb694a", "title": "How Behaviour Driven Development Works Well with Event Driven Architectures", "url": "http://blog.vanillajava.blog/2022/05/how-behaviour-driven-development-works.html", "published_at": "2022-05-19T11:48:00+00:00" }, { "id": "01a0d4d8-9064-7314-9701-b0155f2134d2", "title": "The More You Say, the Less People Remember The Fewer the Words, the Greater the Profit", "url": "http://blog.vanillajava.blog/2022/04/the-more-you-say-less-people-remember.html", "published_at": "2022-04-27T11:48:00+00:00" }, { "id": "01a0d4d8-9064-7314-9701-b0155f57a1d0", "title": "Nine Core Java Questions", "url": "http://blog.vanillajava.blog/2022/04/nine-core-java-questions.html", "published_at": "2022-04-14T11:59:00+00:00" }, { "id": "01a0d4d8-9064-7314-9701-b0156051442d", "title": "Eight Core Java Questions", "url": "http://blog.vanillajava.blog/2022/04/eight-core-java-questions.html", "published_at": "2022-04-05T21:06:00+00:00" }, { "id": "01a0d4d8-9064-7314-9701-b01560616e5e", "title": "Benchmarking Kafka vs Chronicle for Microservices: which is 750 times faster?", "url": "http://blog.vanillajava.blog/2022/01/benchmarking-kafka-vs-chronicle-for.html", "published_at": "2022-01-20T09:51:00+00:00" }, { "id": "01a0d4d8-9064-7314-9701-b01560e56b43", "title": "Distributed Unique Time Stamp Identifiers", "url": "http://blog.vanillajava.blog/2022/01/distributed-unique-time-stamp.html", "published_at": "2022-01-04T13:02:00+00:00" }, { "id": "01a0d4d8-9064-7314-9701-b01561c2fd87", "title": "System wide unique nanosecond timestamps", "url": "http://blog.vanillajava.blog/2021/12/system-wide-unique-nanosecond-timestamps.html", "published_at": "2021-12-21T12:06:00+00:00" }, { "id": "01a0d4d8-9064-7314-9701-b01561f3aff7", "title": "Unusual Java: StackTrace Extends Throwable", "url": "http://blog.vanillajava.blog/2021/12/unusual-java-stacktrace-extends.html", "published_at": "2021-12-20T11:25:00+00:00" }, { "id": "01a0d4d8-9064-7314-9701-b01562e080a3", "title": "Low Latency Microservices, A Retrospective", "url": "http://blog.vanillajava.blog/2021/12/low-latency-microservices-retrospective.html", "published_at": "2021-12-18T15:55:00+00:00" }, { "id": "01a0d4d8-9064-7314-9701-b01563719d61", "title": "Reviewing Exception Handling", "url": "http://blog.vanillajava.blog/2017/03/reviewing-exception-handling-when.html", "published_at": "2017-03-10T08:48:00+00:00" }, { "id": "01a0d4d8-9064-7314-9701-b01563e4c714", "title": null, "url": "http://blog.vanillajava.blog/2017/03/distributing-common-java-apis.html", "published_at": "2017-03-10T08:47:00+00:00" }, { "id": "01a0d4d8-9064-7314-9701-b015641709f7", "title": null, "url": "http://blog.vanillajava.blog/2017/03/modelling-microservice-patterns-in-code.html", "published_at": "2017-03-10T08:46:00+00:00" }, { "id": "01a0d4d8-9064-7314-9701-b015642a3bd0", "title": null, "url": "http://blog.vanillajava.blog/2017/03/simple-asynchronous-microservices-using.html", "published_at": "2017-03-10T08:45:00+00:00" }, { "id": "01a0d4d8-9064-7314-9701-b01564a7e7af", "title": null, "url": "http://blog.vanillajava.blog/2017/03/microservices-are-about-applying-group.html", "published_at": "2017-03-10T08:44:00+00:00" }, { "id": "01a0d4d8-9064-7314-9701-b015652ff873", "title": null, "url": "http://blog.vanillajava.blog/2017/03/bad-string-we-have-program-here-that.html", "published_at": "2017-03-10T08:43:00+00:00" }, { "id": "01a0d4d8-9064-7314-9701-b015653160a7", "title": null, "url": "http://blog.vanillajava.blog/2017/03/a-jdbc-gateway-microservice-deep-dive.html", "published_at": "2017-03-10T08:41:00+00:00" }, { "id": "01a0d4d8-9064-7314-9701-b01565597c3c", "title": null, "url": "http://blog.vanillajava.blog/2017/02/microservices-in-chronicle-world-part-5.html", "published_at": "2017-02-27T11:47:00+00:00" }, { "id": "01a0d4d8-9064-7314-9701-b015662980f2", "title": null, "url": "http://blog.vanillajava.blog/2017/02/microservices-in-chronicle-world-part-4.html", "published_at": "2017-02-27T11:46:00+00:00" }, { "id": "01a0d4d8-9064-7314-9701-b01566980faa", "title": null, "url": "http://blog.vanillajava.blog/2017/02/microservices-in-chronicle-world-part-3.html", "published_at": "2017-02-27T11:45:00+00:00" }, { "id": "01a0d4d8-9064-7314-9701-b01567928d2a", "title": null, "url": "http://blog.vanillajava.blog/2017/02/microservices-in-chronicle-world-part-2.html", "published_at": "2017-02-27T11:45:00+00:00" }, { "id": "01a0d4d8-9064-7314-9701-b015679ecfb4", "title": null, "url": "http://blog.vanillajava.blog/2017/02/microservices-in-chronicle-world-part-1.html", "published_at": "2017-02-27T11:43:00+00:00" }, { "id": "01a0d4d8-9064-7314-9701-b015681e6ab2", "title": null, "url": "http://blog.vanillajava.blog/2017/02/micro-services-for-performance.html", "published_at": "2017-02-27T11:42:00+00:00" }, { "id": "01a0d4d8-9064-7314-9701-b015684ca3db", "title": "Hubpress now has RSS support.", "url": "http://blog.vanillajava.blog/2016/07/hubpress-now-has-rss-support.html", "published_at": "2016-07-20T08:27:00+00:00" }, { "id": "01a0d4d8-9064-7314-9701-b01568b7a48a", "title": "Goldilocks Microservices", "url": "http://blog.vanillajava.blog/2016/07/goldilocks-microservices.html", "published_at": "2016-07-05T09:01:00+00:00" }, { "id": "01a0d4d9-1053-7222-aea6-15ae20d8b1d7", "title": "Talks on performant microservices, exception handling and documentation driven development.", "url": "http://blog.vanillajava.blog/2016/06/talks-on-performant-microservices.html", "published_at": "2016-06-15T15:09:00+00:00" }, { "id": "01a0d4d9-1053-7222-aea6-15ae215c5091", "title": "Distributing Common Java APIs", "url": "http://blog.vanillajava.blog/2016/06/distributing-common-java-apis.html", "published_at": "2016-06-15T15:03:00+00:00" }, { "id": "01a0d4d9-1053-7222-aea6-15ae21a39104", "title": "Modelling Microservice Patterns in Code", "url": "http://blog.vanillajava.blog/2016/05/modelling-microservice-patterns-in-code.html", "published_at": "2016-05-26T18:52:00+00:00" }, { "id": "01a0d4d9-1053-7222-aea6-15ae2251d7d8", "title": "Simple Asynchronous Microservices using Lambda Architecture", "url": "http://blog.vanillajava.blog/2016/05/simple-asynchronous-microservices-using.html", "published_at": "2016-05-16T12:06:00+00:00" }, { "id": "01a0d4d9-1053-7222-aea6-15ae2268103c", "title": "Microservices are about applying a group of Best Practices", "url": "http://blog.vanillajava.blog/2016/04/microservices-are-about-applying-group.html", "published_at": "2016-04-30T10:17:00+00:00" }, { "id": "01a0d4d9-1053-7222-aea6-15ae23183076", "title": "Bad String abuse", "url": "http://blog.vanillajava.blog/2016/04/bad-string-abuse.html", "published_at": "2016-04-21T21:17:00+00:00" }, { "id": "01a0d4d9-1053-7222-aea6-15ae23277795", "title": "An Interveiw on my talk for Low Latency Microservices at QCon New York", "url": "http://blog.vanillajava.blog/2016/04/an-interveiw-on-my-talk-for-low-latency.html", "published_at": "2016-04-21T21:15:00+00:00" }, { "id": "01a0d4d9-1053-7222-aea6-15ae23558f12", "title": "Turning JDBC into a Micro Service", "url": "http://blog.vanillajava.blog/2016/04/turning-jdbc-into-micro-service.html", "published_at": "2016-04-21T21:13:00+00:00" }, { "id": "01a0d4d9-1053-7222-aea6-15ae23a8b675", "title": "Low latency Microservices", "url": "http://blog.vanillajava.blog/2016/04/low-latency-microservices.html", "published_at": "2016-04-02T09:53:00+00:00" }, { "id": "01a0d4d9-1053-7222-aea6-15ae2496e858", "title": "Micro-services for performance", "url": "http://blog.vanillajava.blog/2016/03/micro-services-for-performance.html", "published_at": "2016-03-22T11:20:00+00:00" }, { "id": "01a0d4d9-1053-7222-aea6-15ae25511017", "title": "Moving to Github and Asciidoc", "url": "http://blog.vanillajava.blog/2016/03/moving-to-github-and-asciidoc.html", "published_at": "2016-03-18T14:04:00+00:00" }, { "id": "01a0d4d9-1053-7222-aea6-15ae25591738", "title": "Printing arrays by hacking the JVM.", "url": "http://blog.vanillajava.blog/2016/03/printing-arrays-by-hacking-jvm.html", "published_at": "2016-03-10T17:40:00+00:00" }, { "id": "01a0d4d9-1053-7222-aea6-15ae25e6166a", "title": "Simple Event Driven design", "url": "http://blog.vanillajava.blog/2016/02/simple-event-driven-design.html", "published_at": "2016-02-29T16:23:00+00:00" }, { "id": "01a0d4d9-1053-7222-aea6-15ae26094559", "title": "How do low latency applications differ for regular applications?", "url": "http://blog.vanillajava.blog/2016/02/how-do-low-latency-applications-differ.html", "published_at": "2016-02-25T11:04:00+00:00" }, { "id": "01a0d4d9-1053-7222-aea6-15ae2639817f", "title": "StackOverflow Q&A you should read if you program in Java", "url": "http://blog.vanillajava.blog/2016/01/stackoverflow-q-you-should-read-if-you.html", "published_at": "2016-01-20T13:10:00+00:00" }, { "id": "01a0d4d9-1053-7222-aea6-15ae264c88ad", "title": "Some reviews of my JavaOne 2015 talks", "url": "http://blog.vanillajava.blog/2015/12/some-reviews-of-my-javaone-2015-talks.html", "published_at": "2015-12-01T11:30:00+00:00" }, { "id": "01a0d4d9-1053-7222-aea6-15ae26a07020", "title": "My Bio", "url": "http://blog.vanillajava.blog/2015/10/my-bio.html", "published_at": "2015-10-21T23:53:00+00:00" }, { "id": "01a0d4d9-1053-7222-aea6-15ae27436748", "title": "Common misconception: How many objects does this create?", "url": "http://blog.vanillajava.blog/2015/10/common-misconception-how-many-objects.html", "published_at": "2015-10-06T16:15:00+00:00" }, { "id": "01a0d4d9-1053-7222-aea6-15ae27f6e9d5", "title": "Low latency FIX engine in Java", "url": "http://blog.vanillajava.blog/2015/09/low-latency-fix-engine-in-java.html", "published_at": "2015-09-18T10:55:00+00:00" }, { "id": "01a0d4d9-1053-7222-aea6-15ae28d1ae79", "title": "Custom operators for collections in Java", "url": "http://blog.vanillajava.blog/2015/09/custom-operators-for-collections-in-java.html", "published_at": "2015-09-18T06:09:00+00:00" }, { "id": "01a0d4d9-1053-7222-aea6-15ae28f76ab4", "title": "An introduction to optimising a hashing strategy", "url": "http://blog.vanillajava.blog/2015/09/an-introduction-to-optimising-hashing.html", "published_at": "2015-09-14T11:30:00+00:00" }, { "id": "01a0d4d9-1053-7222-aea6-15ae29ab1796", "title": "Chronicle Journal - Customizable Data Store", "url": "http://blog.vanillajava.blog/2015/09/chronicle-journal-customizable-data.html", "published_at": "2015-09-13T09:06:00+00:00" }, { "id": "01a0d4d9-1053-7222-aea6-15ae2a719f1f", "title": "Half priced Gold support.", "url": "http://blog.vanillajava.blog/2015/09/half-priced-gold-support.html", "published_at": "2015-09-01T11:22:00+00:00" }, { "id": "01a0d4d9-1053-7222-aea6-15ae2b4446bf", "title": "What does Chronicle Software do?", "url": "http://blog.vanillajava.blog/2015/08/what-does-chronicle-software-do.html", "published_at": "2015-08-28T09:24:00+00:00" }, { "id": "01a0d4d9-1053-7222-aea6-15ae2c11ae6a", "title": "Managing your application as a file system", "url": "http://blog.vanillajava.blog/2015/08/managing-your-application-as-file-system.html", "published_at": "2015-08-27T15:13:00+00:00" } ] posts Claim your blog
Back to blog.vanillajava.blog
Blog · corpus.blog/blogs/blog.vanillajava.blog/posts

blog.vanillajava.blog

blog.vanillajava.blog

2026

2025

2024

2022

2021

2017

2016

2015