Java
My Java experience is evenly split between Core Java and J2EE.
In Core Java, I have utilized various packages and tools, including collections, multithreading, and concurrency. A partial list of the Java packages and libraries I’ve used is included at the end of this entry.
Many Java applications begin as single-threaded, but as performance demands grow, they often evolve into multi-threaded applications. Java provides robust concurrency APIs.
In J2EE, my primary focus has been on server-side development, but I also have significant experience with client-side development. On the client side, I have developed both desktop-based and browser-based clients. For desktop applications, I have used Swing. My browser-based clients also included non-Java technologies such as JavaScript, HTML, and CSS. On the server side, I’ve worked with various application servers and libraries — a partial list can be found at the end of this entry.
I’ve also worked with XML processing, integrated various data feeds, created and consumed web services, as well as extracted data from websites (web scraping) and was responsible for the migration from Java 8 to Java 11.
While working with Java, I’ve been involved in both new application development and maintaining legacy systems. Probably a separate entry is needed for a more detailed description of the projects.
You can find a few Java code samples on my GitHub Gist
This Java program performs basic operations on datasets stored in CSV (comma-separated) files. It reads the dataset into a dataframe to perform various operations.
The program can be used as a library or directly from the command line. Users can define operations using a simple language when running from the command line.
The main purpose of this project is to illustrate that in Java, the absence of a comprehensive library like Pandas makes advanced data processing quite time-consuming. In many cases, you may find it more efficient to use Python and Pandas, even if it requires learning a new language.
That said, if you are a Java developer who doesn't know Python and only needs to perform relatively simple column-based dataset operations, this tool could be a practical option.
For more details, please refer to the project’s README file.
Below are some of the libraries and tools that I was using:
Core Java, Java EE (J2EE), JSP, Spring, Hibernate, EclipseLink, JPA, Ejb, JMS, MQ, TIBCO, Twitter4J, Jsoup, Tomcat, JBoss, Glassfish, Log4j, Guice, JUnit, Mockito, jQuery, Tomcat, JBoss, Apache Axis, JXPath, JAXB, Swing, Restlet, Ant, Maven.