Thursday, March 20, 2014

Java 8 Lambda Expressions Example

Finally Oracle officially presented Java 8. A key feature of Java 8 - Support for lambda expressions that allow developers to effectively apply the simultaneous computation and callback functions in programming, especially in the popular cloud applications. Function can be treated as method arguments, and code as data, which makes the final results more compact. 

Java Lambda syntax is pretty similar to what we know in C#. 
Let's see.

Starting a new Thread:


new Thread(() -> { System.out.println("Java 8 Lambda"); }).start();


Working with Collections:


List<Employee> employees = new ArrayList<>();
     employees.add(new Employee("John"));
     employees.add(new Employee("Robert"));
     employees.add(new Employee("Anna"));


Iteration:


employees.forEach(e -> e.setAge(35));


Filter:


List<Employee> filtered = employees.stream().parallel().filter
                (f -> f.getName().equals("Anna") || f.getName().equals("John"))
                .collect(Collectors.toList());

Optional<Employee> findFirst = employees.stream()
                .filter(e -> e.getName().equals("Anna")).findFirst();

Parallelism:


List<Employee> list = employees.stream()
                .parallel()
                .filter(p -> p.getAge() > 18).collect(Collectors.toList());

Happy codding friends! :)

Sunday, March 16, 2014

Best Logging for Java - Logback with SLF4J

If you're looking for good logging mechanism for Java I suggest you to use SLF4J Facade with Logback. For my opinion it's the best combination for logging in Java. Today I will show how to configure your Java project in order to use SLF4J Logback logging framework to print logs to console and file output.

First, download SLF4J files and Logback files.
Add these files to your CLASSPATH:
  • slf4j-api-X.X.X.jar
  • logback-core-X.X.X.jar
  • logback-classic-X.X.X.jar

Now look how simple is to use Logback! In the code all you need is this:

public class LogbackFun {
  final static Logger logback = LoggerFactory.getLogger(LogbackFun.class);

  public static void main(String[] args) {
    logback.info("Test info");
    logback.debug("Test debug");
    logback.trace("Test trace");
    logback.warn("Test warn");
    logback.error("Test error");
  }
}

SQLite4Java Select, Update Example

Recently I started to work on some small Java project where I need to read and update data on SQLite data base. I searched for some good SQLite wrapper for Java and finally decided to use SQLiteJava wrapper. I found it more intuitive and faster than JDBC driver. Today I'll show how to use it in your Java application. 

First of all you'll need to download SQLite4Java wrapper files from here
Once you're done do this:

  • sqlite4java.jar put it on your CLASSPATH
  • sqlite4java-win32-x64.dll put in the same directory with the jar file
  • sqlite4java-win32-x86.dll put in the same directory with the jar file

  • I created SQLite4Java.java class which handles all my activities via SQLite file: