Tutorials     About     RSS
Tech and Media Labs
Tutorials for Software Developers and Technopreneurs
Java - JVM
Java SE
Java Language   
Java Collections   
Java Concurrency   
Java Cryptography   
Java.util.concurrent   
Java Date and Time   
Java Exception Handling   
Java Generics   
Java Internationalization   
Java IO   
Java JDBC   
Java SE
Java JSON   
Java Logging   
Java Multithreaded Servers   
Java Networking   
Java NIO   
Java Persistence   
Java Reflection   
Java Regular Expressions (regex)   
Java XML   
Java ZIP   
Java Desktop
JavaFX   
Java Howtos
Java Functional Programming
Java Unit Testing   
Java How To's and Utilities   
Java PDF Generation with IText   
Acme4J   

Butterfly DI Container   
ModRun   
Build Tools
Ant   
Maven   
Gradle   
Docker   
Java - High Performance
Java Performance   
Netty   
Vert.x   
QBit   
JCTools   
Chronicle   
Mem Ops for Java   
RION Ops for Java   
Stream Ops for Java   
Java EE
Java Web Apps   
Java Servlets   
Scala
Scala Language   
Web - Distributed Systems - Mobile
Web & RIA
CSS   
HTML4   
HTML5   
HTML5 Canvas   
SVG - Scalable Vector Graphics   
Responsive, Mobile Friendly Web Design   
Vue.js   
Riot.js   
jQuery   
AngularJS   
 
OAuth 2.0 Tutorial   
Distributed Systems Architecture
Software Architecture   
Data Streaming   
RION   
IAP   
IAP Tools for Java  
Grid Ops for Java  
SOA - Service Oriented Architecture   
Web Services   
SOAP   
WSDL 2.0   
RSync   
Peer-to-Peer (P2P) Networks   
Server
Ubuntu Linux as Web Server  
Nginx   
OpenSSL for Web Servers  
Docker   
Data Formats
Unicode  
RION   
Android
Android Development   
Miscellaneous
Software Development
Software as Career
Software Elegance
API Design
Dependency Injection
OOP / OOD
Exception Handling Strategies
Data Science
Data Streaming   
Data Science   
Mathematical Analysis   
R Programming   
Nanosai Studio   
Development Tools
Git   
Software Entrepreneurship
Software Entrepreneurship   
Opinion
Opinions on software development
Related Resources
Related Resources (Links)
News

Java Resizable Array

I have updated the Java Resizable Array tutorial to explain why a Java ArrayList cannot always do the job (performance reasons).

RION Ops RionObjectWriter

The RionObjectReader makes it easy to write Java objects out to RION. To serialize Java objects as RION, in other words.

RION Ops RionObjectReader

The RionObjectReader makes it easy to read RION data into Java objects. To deserialize Java objects from RION, in other words.

New in Java 14

I hve updated the Java introduction to list what is new in Java 14 which is due for release in March 2020.

Java Stack

The Java Stack tutorial has been updated to show examples with generic types, and mentioning the use of Deque as a more modern alternative to Stack.

Tutorials - New Layout

We are currently experimenting with the layout of tutorials.jenkov.com, so if the layout looks a bit weird - please be patient. We will fix it soon. If not, let us know, and we will fix it.

Java System.in, System.out and System.err

The Java System.in, System.out and System.err streams provide a simple way to send data into a Java application, and output data from a Java app too. This tutorial has been clarified.

RION Encoding

The RION Encoding tutorial has been updated to be more clear, and to also contain encoding examples in hexadecimal notation, so you can now see exactly what RION encoded data looks like.

RION Design Goals

RION was designed to be fast, compact, expressive, suitable as network protocol message format, as well as a few other goals. This text explains the design goals of RION.

RION Introduction

RION is a fast, compact, versatile, binary data format. RION was designed for data exchange, but works fine as a data storage format too. The RION introduction has been extended and improved.

Jackson JsonNode Traversal

The Jackson JsonNode tutorial has been extended to explain how to traverse a JsonNode graph representing either a JSON object or JSON Array.

Concurrency vs Parallelism

Concurrency and parallelism are two commonly used term when talking about multithreading - but what do they mean exactly? This tutorial explains the difference. The explanations have been updated to be more clear.

Java File

The Java File tutorial has been updated. The Java File class gives you access to file system operations like renaming or deleting files or directories, check if a file exists, list directory content etc.

Java DataInputStream

The Java DataInputStream enables you to read primitive data types (byte, short int, float etc) from an underlying InputStream. The Java DataInputStream tutorial has been updated to explain more of its available read methods.