54,302 blogs · [ { "id": "01a087e3-15d6-71f1-928b-058dfcca4f81", "title": "Simplify Java Code with Lombok’s @Builder", "url": "https://softwarecave.org/2026/04/07/simplify-java-code-with-lomboks-builder/", "published_at": "2026-04-07T09:57:17+00:00" }, { "id": "01a087e3-15d7-722b-9c73-c64960f5cc8a", "title": "Enumerations in Java", "url": "https://softwarecave.org/2021/12/04/enumerations-in-java/", "published_at": "2021-12-04T13:47:15+00:00" }, { "id": "01a087e3-15d7-722b-9c73-c649615114e5", "title": "Unexpected NullPointerException (NPE) in ternary conditional operator in Java", "url": "https://softwarecave.org/2021/10/07/unexpected-nullpointerexception-npe-in-ternary-conditional-operator-in-java/", "published_at": "2021-10-07T04:45:17+00:00" }, { "id": "01a087e3-15d7-722b-9c73-c64961fe3269", "title": "Create text file in Java with contents", "url": "https://softwarecave.org/2021/10/05/create-text-file-in-java-with-contents/", "published_at": "2021-10-05T16:26:05+00:00" }, { "id": "01a087e3-15d7-722b-9c73-c6496269b46a", "title": "Immutable objects", "url": "https://softwarecave.org/2018/04/15/immutable-objects/", "published_at": "2018-04-15T15:58:08+00:00" }, { "id": "01a087e3-15d7-722b-9c73-c64962e4742c", "title": "Delete directory with contents in Java", "url": "https://softwarecave.org/2018/03/24/delete-directory-with-contents-in-java/", "published_at": "2018-03-24T09:00:37+00:00" }, { "id": "01a087e3-15d7-722b-9c73-c64963430bd3", "title": "How to delete file in Java", "url": "https://softwarecave.org/2018/03/05/how-to-delete-file-in-java/", "published_at": "2018-03-05T13:51:11+00:00" }, { "id": "01a087e3-15d7-722b-9c73-c64963f0c8b1", "title": "Mapping a map of simple types in JPA using @ElementCollection", "url": "https://softwarecave.org/2018/03/05/mapping-a-map-of-simple-types-in-jpa-using-elementcollection/", "published_at": "2018-03-05T08:17:33+00:00" }, { "id": "01a087e3-15d7-722b-9c73-c64964bdfcba", "title": "Mapping collection of simple type in JPA using @ElementCollection", "url": "https://softwarecave.org/2018/02/11/mapping-collection-of-simple-type-in-jpa-using-elementcollection/", "published_at": "2018-02-11T10:58:06+00:00" }, { "id": "01a087e3-15d7-722b-9c73-c64965828ee4", "title": "Importing WSDL with Java and Maven", "url": "https://softwarecave.org/2017/02/18/importing-wsdl-with-java-and-maven/", "published_at": "2017-02-18T15:09:18+00:00" }, { "id": "01a0d0f6-d131-70dd-833a-e43326a0a8a2", "title": "Objects utility class in Java", "url": "https://softwarecave.org/2017/02/15/objects-utility-class-in-java/", "published_at": "2017-02-15T15:39:33+00:00" }, { "id": "01a0d0f6-d131-70dd-833a-e43326dbe87b", "title": "Default and static methods in interfaces in Java 8", "url": "https://softwarecave.org/2017/02/13/default-and-static-methods-in-interfaces-in-java-8/", "published_at": "2017-02-13T15:33:32+00:00" }, { "id": "01a0d0f6-d131-70dd-833a-e43327b26842", "title": "Database schema creation in JPA using SQL scripts", "url": "https://softwarecave.org/2017/02/12/database-schema-creation-in-jpa-using-sql-scripts/", "published_at": "2017-02-12T15:41:13+00:00" }, { "id": "01a0d0f6-d131-70dd-833a-e43327f29b94", "title": "Reading text file line by line in Java", "url": "https://softwarecave.org/2014/12/18/reading-text-file-line-by-line-in-java/", "published_at": "2014-12-18T20:55:05+00:00" }, { "id": "01a0d0f6-d131-70dd-833a-e43328004caf", "title": "Iterating through Java list backwards", "url": "https://softwarecave.org/2014/12/13/iterating-through-java-list-backwards/", "published_at": "2014-12-13T09:32:08+00:00" }, { "id": "01a0d0f6-d131-70dd-833a-e433286736f0", "title": "Usage of serialVersionUID in Java serialization", "url": "https://softwarecave.org/2014/12/06/serialversionuid-field-in-java/", "published_at": "2014-12-06T10:13:28+00:00" }, { "id": "01a0d0f6-d131-70dd-833a-e433287aca24", "title": "Creating executable jar file with Maven", "url": "https://softwarecave.org/2014/11/29/creating-executable-jar-file-with-maven/", "published_at": "2014-11-29T07:56:07+00:00" }, { "id": "01a0d0f6-d131-70dd-833a-e43329436d80", "title": "Customizing HTML file input style", "url": "https://softwarecave.org/2014/11/28/customizing-html-file-input-style/", "published_at": "2014-11-28T20:14:57+00:00" }, { "id": "01a0d0f6-d131-70dd-833a-e4332a0be595", "title": "Primary key generation in JPA", "url": "https://softwarecave.org/2014/08/02/primary-key-generators-in-jpa/", "published_at": "2014-08-02T12:13:29+00:00" }, { "id": "01a0d0f6-d132-7060-80a4-65ec01e8b29f", "title": "Charts with jqPlot, Spring REST, AJAX and JQuery", "url": "https://softwarecave.org/2014/07/19/charts-with-jqplot-spring-rest-ajax-and-jquery/", "published_at": "2014-07-19T12:21:38+00:00" }, { "id": "01a0d0f7-8011-737b-924d-024221eee40f", "title": "Accessing local files from a web browser using HTML5 File API", "url": "https://softwarecave.org/2014/07/07/accessing-local-files-from-a-web-browser-using-html5-file-api/", "published_at": "2014-07-07T04:30:29+00:00" }, { "id": "01a0d0f7-8011-737b-924d-0242222aefee", "title": "Adding external/custom jars into Maven project", "url": "https://softwarecave.org/2014/06/14/adding-external-jars-into-maven-project/", "published_at": "2014-06-14T18:35:37+00:00" }, { "id": "01a0d0f7-8011-737b-924d-0242224e97a6", "title": "Integrating Hibernate with Spring", "url": "https://softwarecave.org/2014/06/07/hibernate-with-spring/", "published_at": "2014-06-07T11:08:37+00:00" }, { "id": "01a0d0f7-8011-737b-924d-024222db3182", "title": "Repeating annotations in Java 8", "url": "https://softwarecave.org/2014/05/20/repeating-annotations-in-java-8/", "published_at": "2014-05-20T19:30:59+00:00" }, { "id": "01a0d0f7-8011-737b-924d-0242231a0e0c", "title": "Custom annotations in Java", "url": "https://softwarecave.org/2014/05/02/custom-annotations-in-java/", "published_at": "2014-05-02T07:36:51+00:00" }, { "id": "01a0d0f7-8011-737b-924d-024223adae9a", "title": "Annotation basics in Java", "url": "https://softwarecave.org/2014/04/25/annotation-basics-in-java/", "published_at": "2014-04-25T17:06:16+00:00" }, { "id": "01a0d0f7-8011-737b-924d-024223cf5ba0", "title": "Facelets ui:repeat tag", "url": "https://softwarecave.org/2014/04/18/facelets-uirepeat-tag/", "published_at": "2014-04-18T13:08:11+00:00" }, { "id": "01a0d0f7-8011-737b-924d-024224055e6e", "title": "Data tables in JSF", "url": "https://softwarecave.org/2014/04/14/data-tables-in-jsf/", "published_at": "2014-04-14T19:30:16+00:00" }, { "id": "01a0d0f7-8011-737b-924d-024224d5e980", "title": "Parameterized unit tests in JUnit", "url": "https://softwarecave.org/2014/04/11/parameterized-unit-tests-in-junit/", "published_at": "2014-04-10T22:01:00+00:00" }, { "id": "01a0d0f7-8011-737b-924d-02422512626e", "title": "Evaluating postfix expressions", "url": "https://softwarecave.org/2014/04/03/evaluating-postfix-expressions/", "published_at": "2014-04-03T18:46:03+00:00" }, { "id": "01a0d0f7-b078-72ed-9e95-57d01d2bdb86", "title": "Git: branching and merging", "url": "https://softwarecave.org/2014/03/30/git-branching-and-merging/", "published_at": "2014-03-30T12:42:03+00:00" }, { "id": "01a0d0f7-b078-72ed-9e95-57d01d44d453", "title": "Custom bean validation constraints", "url": "https://softwarecave.org/2014/03/27/custom-bean-validation-constraints/", "published_at": "2014-03-27T07:12:36+00:00" }, { "id": "01a0d0f7-b078-72ed-9e95-57d01d532695", "title": "Common exception misuses in Java (and not only)", "url": "https://softwarecave.org/2014/03/22/common-exception-misuses-in-java/", "published_at": "2014-03-22T18:23:32+00:00" }, { "id": "01a0d0f7-b078-72ed-9e95-57d01d733537", "title": "Views in Java Collections Framework", "url": "https://softwarecave.org/2014/03/19/views-in-java-collections-framework/", "published_at": "2014-03-19T04:40:56+00:00" }, { "id": "01a0d0f7-b078-72ed-9e95-57d01e705bd9", "title": "Validating HTML forms in Spring using Bean Validation", "url": "https://softwarecave.org/2014/03/17/validating-html-forms-in-spring-using-bean-validation/", "published_at": "2014-03-17T05:36:16+00:00" }, { "id": "01a0d0f7-b078-72ed-9e95-57d01e8a5ff9", "title": "Using JPA and JTA with Spring", "url": "https://softwarecave.org/2014/03/15/using-jpa-and-jta-with-spring/", "published_at": "2014-03-15T08:47:33+00:00" }, { "id": "01a0d0f7-b078-72ed-9e95-57d01f147944", "title": "Git: how to use tags", "url": "https://softwarecave.org/2014/03/09/git-how-to-use-tags/", "published_at": "2014-03-09T17:05:38+00:00" }, { "id": "01a0d0f7-b078-72ed-9e95-57d01f5d4824", "title": "How to handle HTML forms in Spring", "url": "https://softwarecave.org/2014/03/08/how-to-handle-html-forms-in-spring/", "published_at": "2014-03-08T11:10:41+00:00" }, { "id": "01a0d0f7-b078-72ed-9e95-57d01fd31822", "title": "Git: how to resolve merge conflicts", "url": "https://softwarecave.org/2014/03/03/git-how-to-resolve-merge-conflicts/", "published_at": "2014-03-03T18:57:54+00:00" }, { "id": "01a0d0f7-b078-72ed-9e95-57d0200b6ad9", "title": "Recursively walking directory using Java NIO", "url": "https://softwarecave.org/2014/02/28/recursively-walking-directory-using-java-nio/", "published_at": "2014-02-28T17:07:30+00:00" }, { "id": "01a0d0f7-d442-72d6-8b37-23ce686caa13", "title": "Calculating cryptographic hash functions in Java", "url": "https://softwarecave.org/2014/02/26/calculating-cryptographic-hash-functions-in-java/", "published_at": "2014-02-26T18:21:36+00:00" }, { "id": "01a0d0f7-d442-72d6-8b37-23ce6962639a", "title": "Git: how to ignore files", "url": "https://softwarecave.org/2014/02/21/git-how-to-ignore-files/", "published_at": "2014-02-21T09:05:42+00:00" }, { "id": "01a0d0f7-d442-72d6-8b37-23ce69f08f02", "title": "Git: how to use stash", "url": "https://softwarecave.org/2014/02/20/git-how-to-use-stash-2/", "published_at": "2014-02-20T06:12:53+00:00" }, { "id": "01a0d0f7-d442-72d6-8b37-23ce6a03ce44", "title": "How to parse XML documents using Streaming API for XML (StAX)", "url": "https://softwarecave.org/2014/02/18/parse-xml-document-using-streaming-api-for-xml-stax/", "published_at": "2014-02-18T17:51:22+00:00" }, { "id": "01a0d0f7-d442-72d6-8b37-23ce6a82b52e", "title": "Why I prefer Java over C++", "url": "https://softwarecave.org/2014/02/18/why-i-prefer-java-over-cpp/", "published_at": "2014-02-18T05:59:08+00:00" }, { "id": "01a0d0f7-d442-72d6-8b37-23ce6b7a8d3d", "title": "How to write XML documents using Streaming API for XML (StAX)", "url": "https://softwarecave.org/2014/02/15/write-xml-documents-using-streaming-api-for-xml-stax/", "published_at": "2014-02-15T07:44:20+00:00" }, { "id": "01a0d0f7-d442-72d6-8b37-23ce6b929a35", "title": "Definition of Done: or why it is very risky to say that something is done", "url": "https://softwarecave.org/2014/02/10/definition-of-done/", "published_at": "2014-02-10T17:36:20+00:00" }, { "id": "01a0d0f7-d442-72d6-8b37-23ce6c31c223", "title": "JSF Facelets: templates", "url": "https://softwarecave.org/2014/02/07/jsf-facelets-templates/", "published_at": "2014-02-07T21:22:50+00:00" }, { "id": "01a0d0f7-d442-72d6-8b37-23ce6d1e1554", "title": "Create temporary files and directories using Java NIO2", "url": "https://softwarecave.org/2014/02/05/create-temporary-files-and-directories-using-java-nio2/", "published_at": "2014-02-05T19:56:51+00:00" }, { "id": "01a0d0f7-d442-72d6-8b37-23ce6d4735fb", "title": "Using JUnit, JaCoCo and Maven for code coverage", "url": "https://softwarecave.org/2014/02/01/using-junit-jacoco-and-maven-for-code-coverage/", "published_at": "2014-02-01T12:34:50+00:00" }, { "id": "01a0d0f7-f193-7040-8ed5-545201a68035", "title": "Monitoring AJAX request lifecycle in JSF", "url": "https://softwarecave.org/2014/01/31/monitoring-ajax-request-lifecycle-in-jsf/", "published_at": "2014-01-31T17:38:17+00:00" }, { "id": "01a0d0f7-f193-7040-8ed5-5452022c3fc7", "title": "Basic AJAX in JSF", "url": "https://softwarecave.org/2014/01/25/basic-ajax-in-jsf/", "published_at": "2014-01-25T15:59:11+00:00" }, { "id": "01a0d0f7-f193-7040-8ed5-545202f7e75c", "title": "Assertions in Java", "url": "https://softwarecave.org/2014/01/14/assertions-in-java/", "published_at": "2014-01-14T18:35:45+00:00" }, { "id": "01a0d0f7-f193-7040-8ed5-5452035dfb90", "title": "Assertions on Android", "url": "https://softwarecave.org/2014/01/14/assertions-on-android/", "published_at": "2014-01-14T09:33:00+00:00" }, { "id": "01a0d0f7-f193-7040-8ed5-545203642d8e", "title": "Try-with-resources", "url": "https://softwarecave.org/2014/01/13/try-with-resources/", "published_at": "2014-01-13T07:52:11+00:00" }, { "id": "01a0d0f7-f193-7040-8ed5-5452044a1c07", "title": "Test driven development", "url": "https://softwarecave.org/2014/01/12/test-driven-development-using-junit-and-maven/", "published_at": "2014-01-12T14:17:35+00:00" }, { "id": "01a0d0f7-f193-7040-8ed5-5452047fe341", "title": "Time configuration in Windows/Linux dual-boot.", "url": "https://softwarecave.org/2011/09/19/time-configuration-in-windowslinux-dual-boot/", "published_at": "2011-09-19T06:34:33+00:00" } ] posts Claim your blog
Back to softwarecave.org
Blog · corpus.blog/blogs/softwarecave.org/posts

softwarecave.org

softwarecave.org

2026

2021

2018

2017

2014

2011