Skip to main content

Interesting links for June

Java NIO Tutorial

What is the Java 7 plan?

How to "Mock" Final Classes With Mockito

Introducing NIO.2 (JSR 203) Part 2: The Basics

8 Essential Development Tools

Java 7 : Translucency and shaped windows

Design Patterns Uncovered: The Bridge Pattern

5 things you didn't know about ... java.util.concurrent, Part 2

Java Performance at Jazoon Keynote

Design Patterns Uncovered: The Iterator Pattern

Android Architecture Tutorial: Developing an App with a Background Service (using IPC)

Google Android tutorial part 1 - Conway's Game of Life

Why Apache Harmony is An Important Necessity to the Future of Java

Java desktop links of the week, June 7

Jazoon Reports: Java SE and SDK 7 + Java and Flex Talks

Android Development – Simple 2D Graphics Part 1

Exception transparency in Java

Project Coin: Inducing contributory heap pollution

Writing iPad/iPhone/iPod applications with Java and SWT?

Exploring JDK 7, Part 4: New I/O: The Next Generation

NetBeans Weekly News (Issue 442 - June 09, 2010)

5 things you didn't know about ... JARs

A tour of Eclipse Helios

Gosling Praises Azul Open Source Initiative

HyperSQL 2.0 - New Release 5 Years In the Making

Java desktop links of the week, June 21

How I taught myself Android Application Development

Xerces-J Adds XML Schema 1.1

Eclipse RCP tutorial

Java code to update an XML file using JDOM

Helios: The Train Has Arrived

Netty 3.2.1 released

Design Patterns Uncovered: Series Overview

Introducing NIO.2 (JSR 203) Part 3: File System Attributes and Permissions support in NIO.2

Parsing XML In Java Part 1: SAX

Java EE 6 - Tutorial Introduction

JUnit Rules!

Why every Java field should have been final by default.

Creating a full-fledged GWT Rich Text Editor widget

8 Superb Eclipse IDE Editing Shortcuts

Lambdas in Java Preview - Part 1: The Basics

Popular posts from this blog

Overcome Java JNI gdb errors on GNU/Linux

If you happen to try to debug any Java JNI programs using gdb on GNU/Linux you will soon come across error messages. For example : $ gdb --args java MyJavaProgramUsingJNI cannot find user-level thread for LWP nnn: generic error warning: Cannot initialize thread debugging library: versions of libpthread and libthread_db do not match The reason for this is that the java program mucks around with LD_LIBRARY_PATH and that prevents gdb from running correctly. To overcome this, you have to run your Java program and place a pause in the Java code, such as reading a key, and then in another shell, run gdb to attach to the running Java process. You can then set your breakpoint on your JNI code and debug it. Here is an example : Compile your Java program: $ javac JNITest.java Generate the JNI header file: $ javah -jni JNITest.java Create and compile your C code library: $ cat jnilib.c #include "JNITest.h" JNIEXPORT jint JNICALL Java_JNITest_addValues( JNIEnv...