The AtomicLongArray class in Java represents a long array which can be updated atomically. This tutorial explains how to use the basic functionality of the AtomicLongArray.
The AtomicIntegerArray class in Java represents an int array which can be updated atomically. This tutorial explains how to use the basic functionality of the AtomicIntegerArray.
HTML5 File API Tutorial
The Declarative Delusion
This article explains why declarative languages are not better than imperative languages.
Java NIO AsynchronousFileChannel Tutorial
In Java 7 the NIO API had some asynchronous classes added. One of these is the AsynchronousFileChannel which makes it possible to access files asynchronously.
Vert.x Timers Tutorial
Vert.x contains two types of timers that make it easy to create scheduled jobs. This tutorial explains how these two timers work.
Vert.x TCP Client Tutorial
Vert.x comes with an easy to use TCP client class called NetClient. This tutorial explains how you use NetClient.
Vert.x TCP Server Tutorial
Vert.x comes with a TCP server which makes it easy to create TCP servers in your application. This tutorial explains how to work with the Vert.x TCP server.
Vert.x HTTP Client
Vert.x contains a HTTP client that makes it easy to make HTTP requests asynchronously. This tutorial introduces you to the Vert.x HTTP client.
Vert.x HTTP Server
Vert.x makes it easy to create an HTTP server so your application can receive HTTP requests. This tutorial explains how you create and work with the Vert.x HTTP server.
In Vert.x you often have to work with raw binary data (e.g. a HTTP response). You do so using Vert.x Buffer instances. This tutorial explains how Vert.x buffers work.
Verticles are the components you deploy to Vert.x which initialize your application. This tutorial explains how to implement, initialize and deploy verticles with Vert.x.
Java NIO Files - updated
I have added a section about how to traverse directory trees using the java.nio.file.Files class with examples showing how to find a file and how to delete a directory with all files and subdirectories recursively.
Vert.x Tutorial Started
Vert.x is an open source, reactive, polyglot toolkit or platform running on the Java Virtual Machine. You can think of Vert.x as an alternative to Java EE, but based on a different philosophy and internal design.
Concurrency Models Tutorial
Concurrent systems can be implemented using different concurrency models. A concurrency model specifies how threads in the the system collaborate to complete the jobs they are are given. This tutorial explains three popular concurrency models in use today.
Java Command Line Argument Parser
This tutorial explains how to parse command line arguments with switches etc. in Java using a class I have released in open source. The class is available in the tutorial or on GitHub.
Don't be a Herdie
Herdies do what the rest of the herd does without questioning it. Don't be a herdie. Think for yourself.
Amdahl's law can be used to calculate how much a computation can be sped up by running part of it in parallel. This tutorial explains the mathematic equation, shows calculation examples and shows a simple, visual explanation too.
Non-blocking Concurrency Algorithms
Non-blocking algorithms are algorithms that do not block the threads involved in them. Non-blocking algorithms can provide better performance and lower latency than blocking algorithms for low to medium contented shared data structures. This tutorial explains the reasoning behind non-blocking algorithm design.
Java NIO Files
The Java NIO Files class provides an easy way to perform common file system operations like creating directories, copying, moving and deleting files etc. The Java NIO Files class is new in NIO 2 (Java 7).
Java NIO Path
The Java NIO Path class provides an easier way to work with file system paths.
You can work with absolute paths, reletive paths, make modifications to paths, and obtain information about them. The Path class in new in NIO 2 (Java 7).
Java Math Operators and Math Class
I have started a text about math in Java. It covers both the basic Java math operators as well as the Java Math class. It does not yet cover all of the Java Math class, but I will update the tutorial from time to time until it covers all the interesting parts.
Java Inheritance - Updated
I have updated my Java inheritance tutorial to include information about how inheritance works in relation to constructors and nested classes, and to explain the instanceof instruction too.
Java Nested Classes - Updated
I have updated my Java nested class tutorial. Did you know that Java had 4 different types of nested classes, of which "inner classes" is only one of them?
Java for each Loops
I have updated my Java for loop tutorial with a section on the Java for each loop that was added in Java 5.
Java do while loops
I have updated my Java while loop tutorial to include a section on the less known do-while variation of the while loop.
Everything you have ever wanted to know about Java arrays, including how to declare, instantiate, iterate, copy, fill, sort, search etc. Java arrays.
Java Fork and Join
This new tutorial explains how to use the ForkJoinPool in Java 7 to use the fork and join recursive work break down technique, for parallizing task execution.
jQuery - Creating an Expandable Tree
This tutorial explains how to turn a ul element into an expandable tree with jQuery.
jQuery - Generating a Table of Contents
This tutorial shows how to use jQuery to generate a table of contents inside an HTML page, based on the headlines in the HTML page (the h1 to h3 elements).
jQuery Selectors Tutorial Updated
I have made several rounds of updates to my jQuery selectors tutorial. It is now a whole lot more complete.
Android buttons are used to activate actions in your Android apps. This Android button tutorial explains how to insert text and image buttons in your Android apps.
Java Memory Model Tutorial
The Java memory model specifies how the Java virtual machine and Java programs work with the memory in the computer your Java programs run on. This tutorial explains the Java memory model.
Android TextView Tutorial
The Android TextView component can display text in your Android app's GUI. You can display either regular text or simple HTML. This tutorial explains the basics of using TextView in your Android apps.
Android Web App Tutorial
I have expanded my tutorial on the built-in Java concurrency utilities with a text on the AtomicLong class which provided atomic operations on a long variable.
This new tutorial explains how layout works in Android with layout XML files, ViewGroups and Views.
AngularJS $timeout and $interval Timing Services
The AngularJS $timeout and $interval services can schedule a function for execution later. This tutorial explain how these services work.
Android Toast Tutorial
Android Toasts are small messages that can be displayed on the screen for a short time period, similar to a tool tip, popup notification etc. This tutorial explains you how to create and show Toasts in your Android apps.
Android Fragment Tutorial
Android fragments are components which can be reused across different Android activities. You can add, replace and remove fragments from activities at runtime, making fragments a very flexible way to create dynamic subviews in your Android apps.
Your First Android App
This tutorial takes you through creating your first Android app with Android Studio, including running the app on your Android device.
Android Project Overview
This tutorial gives you an overview of the files and directories an Android Studio project contains.
Android Core Concepts
This text explains the core concepts in Android you need to know if you want to develop Android apps.
Android Development Tutorial Started
I have finally started my Android development tutorial. It's not yet so extensive, but it will get there!
Installing Android Studio
This tutorial explains shortly how to install Android Studio which you use to develop Android apps in.
CSS Box Shadow
CSS box shadow can be used to add shadows to HTML elements so they look elevated above the page, like in 3 dimensions.
Text no. 29 in my CSS tutorial is about CSS transitions which enable you to animate changes to CSS properties. Thus, you can increase the width of an element gradually instead of immediately. This can create some nice effects in your web page.
CSS 2D Transformations
This latest CSS tutorial explains how to perform 2D transformations on HTML elements with CSS 3.0.
Java's AtomicInteger provides atomic (thread safe) operations on an int variable. For instance, get(), set() and compareAndSet(). This is useful if you have multiple threads with access to the same int value.
Java's AtomicReference provides atomic (thread safe) operations on an object reference. For instance, get(), set() and compareAndSet(). This is useful if you have multiple threads with access to the same object reference.