Java Game of Life tutorial

Here is a simple Java implementation of the Game Of Life. Grid in initialized with 0's representing the dead cells and 1's representing alive cells. The generate() function loops through every cell and counts it's neighbors. Based on that values, the aforementioned rules are implemented. The following implementation ignores the edge cells as it supposed to be played on an infinite plane Simple Conway's Game of Life implementation in Java. I wrote a simple implementation of Conway's Game of Life in Java using 2 arrays and for loop and used StdDraw library for plotting generations. It turned out that algorithm works ok for little number of cells (e.g. glider pattern), but becomes terribly slow for big number of cells (e.g. random. The most basic element in Conway's Game of Life are the cells, which are the life forms that form the basis of the entire simulation. Each cell can be in one of two states: alive or dead. For the sake of consistency, we'll stick to those two names for the cell states for the rest of this tutorial For this tutorial you're not going to use paper, but going to create The Game of Life with JavaScript on the HTML5 canvas and generate starting positions and new generations through code. Define the appearance and behaviour of a single cell. Let's start by creating the framework for a single cell The Game of Life is written in Java, version JDK 1.1. org.bitstorm.gameoflife. GameOfLife.java - The code for the applet; StandaloneGameOfLife.java - The code for the standalone program, extends GameOfLife.java. Cell.java - Represents a cell. CellGrid.java - Represents the visible grid of cells. CellGridCanvas.java - The Canvas showing the grid

This is an implementation of Conway's Game of Life or more precisely, the super-fast Hashlife algorithm, written in JavaScript using the canvas -tag. It can simulate the largest known patterns, including the Tetris Processor (0.1MB, 29201m cells), Caterpillar (2.5MB, 11m cells), Gemini (1.4MB, 846k cells), Turing Machine (0.1MB, 252k cells) and. Jan 8th 2006. Conways Spiel des Lebens ist ein von dem Mathematiker John Horton Conway 1970 entworfenes System zweidimensional angeordneter zellulärer Automaten. Es ist eine einfache und bis heute populäre Umsetzung der Automaten-Theorie von Stanisław Marcin Ulam

1-Introduction to the Game of Life. The game of life is a cellular automaton imagined by John H. Conway in the 1970s and is probably, the best known of all cellular automata. Despite very simple rules, the game of life is Turing-complete and deterministic. The game of life is a game in the mathematical sense rather than a playable game. It is zero player game Any live cell with more than three live neighbors dies, as if by overcrowding. Any dead cell with exactly three live neighbors becomes a live cell, as if by reproduction. I tested my work on various patterns like Block, Boat, Blinker and Toad pattern shown below Game of Life ist eine Populations-Simulation, die in einem Raster (beliebig großes Schachbrett) Zellen überleben, sterben oder neu bilden lässt. Das Überleben oder Neubilden von Zellen hängt allein von ihren umliegenden acht Quadraten ab. Es gelten die folgenden Regeln: Wenn eine Zelle höchstens eine Nachbarzelle hat, stirbt sie an Vereinsamung

Program for Conway's Game Of Life - GeeksforGeek

  1. John Conway's Game of Life. The Game of Life is not your typical computer game. It is a cellular automaton, and was invented by Cambridge mathematician John Conway. This game became widely known when it was mentioned in an article published by Scientific American in 1970. It consists of a collection of cells which, based on a few mathematical rules, can live, die or multiply. Depending on the initial conditions, the cells form various patterns throughout the course of the game
  2. And finally, there is a helicopter battle game, which is a Java game tutorial centering around animations. That one will teach you how to code in-game elements like explosions. It will also teach you how to include looping background images (in this example the looped images are clouds floating in the backdrop of the game)
  3. Das Game of Life (Lebensspiel) ist eine Computersimulation. Lebewesen verteilen sich auf einem unbegrenzten, karierten Feld. Je nach Nachbarschaft bleiben sie am Leben, sterben oder bringen neues Leben hervor. Im Beispiel geht man von einer Population von 7 Lebewesen aus. Sie vermehren sich bis auf 12 und sterben nach 6 Generationen aus (1, Seite.
  4. About Press Copyright Contact us Creators Advertise Developers Terms Privacy Policy & Safety How YouTube works Test new features Press Copyright Contact us Creators.

Game of Life Overview. Our Game of Life board will be an n-by-n grid of square cells, each of which can be either alive or dead. A given cell's neighbors are those cells directly above, below, left, or right of the cell, plus with the cells diagonally adjacent to it (the cells touching its diagonals). Each cell changes from one time step to. When you have read the final level 1 tutorial (Part 10: Interfaces in Java games) you will be qualified to implement all the level 1 game projects for both desktop Java (Windows, Mac, and Linux) or Android' spaceShip.shoot(alien); Explaining code through comments. Sometimes I will add extra explanation or clarification within the code itself. To do this I will use Java comments. Whenever you see a line of code with two forward slashes at the start, that line of code doesn't do anything. In this coding challenge, I attempt to code Conway's Game of Life cellular automata simulation in JavaScript using the p5.js library.Challenge: https://the.. This tutorial isn't too long at just under 50 minutes. This was my favorite game to create because it wasn't overly challenging and because I'm a big fan of adventure games. This doesn't involve any Graphical User Interface (GUI) as it's text-based, but it's still a fun game to create with Java and even more fun to play

This is a tutorial that implements Conway's Game of Life in Rust and WebAssembly. Who is this tutorial for? This tutorial is for anyone who already has basic Rust and JavaScript experience, and wants to learn how to use Rust, WebAssembly, and JavaScript together. You should be comfortable reading and writing basic Rust, JavaScript, and HTML The Game of Life simulates life in a grid world (a two-dimensional block of cells). The cells in the grid have a state of alive or dead. The game starts with a population of cells placed in a certain pattern on the grid Java Programming: Let's Build a Game #1 - YouTube. About Press Copyright Contact us Creators Advertise Developers Terms Privacy Policy & Safety How YouTube works Test new features. © 2021 Google LLC We recommend reading this tutorial, in the sequence listed in the left menu. Java is an object oriented language and some concepts may be new. Take breaks when needed, and go over the examples as many times as needed


Simple Conway's Game of Life implementation in Jav

  1. g. We worked through a series of examples of increasing complexity, cul
  2. 2.0.0 - Private release, first implementation of the List Life algorithm. 3.1.1 - Current version, List Life and Canvas. Source Code Javascript source code is available here: game-of-life-v3.1.1.js. A zip file with all code ready to run is available here: game-of-life-v3.1.1.zip. Licens
  3. g, small improvements * @author Edwin Martin * */ package org.bitstorm.gameoflife.

Creating Life: Conway's Game of Lif

Create Conway's Game of Life in JavaScript - JavaScript

In this post, we'll implement Conway's Game of Life using .NET, C#, and some fun emojis. What Are The Rules. In 1970, British mathematician John Conway developed a zero-player game designed to mimic the behavior of life itself. Players are required to see the universe with an initial state, and then observe as the rules of life produce an. Kostenloser Versand verfügbar. Kauf auf eBay. eBay-Garantie The Game of Life is a cellular automaton devised by the British mathematician John Horton Conway in 1970. It is the best-known example of a cellular automaton. Conway's game of life is described here: A cell C is represented by a 1 when alive, or 0 when dead, in an m-by-m (or m×m) square array of cells.. Game Framework Java 2D Game Lib. GameBoard 2D Small java 2D game library. Insane Games Engine A simple engine for 2D games written in Java. Java 2 DGame Simple 2D game using only native JAVA libraries. Java Game Of Life An implementation of Conway's game of life written in java; including graphical output using Java 2D

Conway's game of life is a simple simulation where patterns are made on a grid, with generations of squares appearing, surviving and disappearing (dying) based on simple rules. We will code the basic simulation in Python and then see how we can expand and change the rules to imitate real life processes. Rules: Original Conway's game of life . The original rules for what happens to a. In these series of tutorials I will explain new java concepts of an intermediate level (threads, AWT, Swing, etc.) and basic concepts for game programming (game loop, FPS, sprite, etc). These tutorials are useful both for those who want to program games, as for those who, with a basic or intermediate level in java, want to learn and improve java programming concepts in an entertaining way With Black Art of Java Game Programming, you'll learn how to create your own dynamic online entertainment using the Java programming language. Java heralds a revolutionary shift in gaming, away from the desktop and into the network. Using Java, you'll create games that people can download through the Web and play. Using Java, you'll enable players from around the world to compete against. Java Tutorial: Data Type of Expressions & Increment/Decrement Operators . Free YouTube Video . 11. Java Tutorial: Exercise 1 - Solutions + Shoutouts . Free YouTube Video . 12. Java Tutorial: Chapter 2 - Practice Set (Java Practice Questions) Free YouTube Video . 13. Java Tutorial: Introduction to Strings . Free YouTube Video . 14. Java Tutorial: String Methods in Java . Free YouTube Video . 15.

JavaKara - Programmieren mit Java. Verfasst von Jürg Nievergelt, Werner Hartmann, Raimond Reichert, Markus Brändle, Tobias Schlatter, mit Beiträgen von Philipp Boksberger, Horst Gierhardt, Reto Lamprecht, Remo Meier, Horst Müller, Nicole Völki, Samuel Zürcher. Schüler/innen und Studierende, die Java als erste Programmiersprache lernen Conway's Game Of Life using Python? A British mathematician in an around 1970 created his Game of Life - which are basically a set of rules depicting the chaotic yet patterned growth of a colony of biological organisms. The Game of Life is a two-dimensional grid consists of living and dead cells Get started with this amazing programming language in this short tutorial. Learn how to manipulate images, create animation and update positions of a game piece. This Java course will include technologies such as user input and collisions, Threads and KeyListeners. By the end of this course, you will be ready to start programming using Java The Game of Life simulates life in a grid world (a two-dimensional block of cells). The cells in the grid have a state of alive or dead. The game starts with a population of cells placed in a certain pattern on the grid. A simulation is run, and based on some simple rules for life and death, cells continue to live, die off, or reproduce GUI-Programmierung. In diesem Kapitel beschäftigen wir uns mit den Grundlagen der Oberflächenprogrammierung. Die grafische Benutzeroberfläche wird auch als G raphical U ser I nterface, kurz GUI, bezeichnet. Es gibt einige Tools oder auch Entwicklungsumgebungen, mit denen man die Oberflächen per Drag and Drop erstellen kann

Tutorial Guruji Online Free Tutorials Guruji Guide & Materials - Solved Questions Answers. Next > Next post: Java Game Of Life doesn't follow the universe rules. Recent Articles. Is it possible to change the sparkle shape into a circle for this sparkle trail cursor? How to open Modal based on a function that changes the useState boolean in React? Material UI datePicker does not focus. Java Game Programming Introduction - The World Of Bouncing Balls. Let us begin by getting some balls bouncing, as an introduction to game programming. Demos . Click the image to run the DEMO Applets: Example 1: Getting Started with One Bouncing Ball. BouncingBallSimple.java: Writing a single ball bouncing inside a rectangular container box is straight forward, and can be accomplished with very. My Super Mario Java 2D Game. This is a full screen 2D Java game like super mario with some basic creatures and maps. This game is implemented using the Java programming language, using the java graphics librieries. The used IDE is netbeans (I uploaded all project artifacts), also the game JAR file is uploaded Java AWT Tutorial. Java AWT (Abstract Window Toolkit) is an API to develop Graphical User Interface (GUI) or windows-based applications in Java.. Java AWT components are platform-dependent i.e. components are displayed according to the view of operating system. AWT is heavy weight i.e. its components are using the resources of underlying operating system (OS) Core Java: Tutorials. Java is one of the most popular programming languages. This tutorial helps you learn about programming fundamentals and core concepts, such as loops, functions, and classes, and learn how to use them to create programs in Java. Along the way, we will be using real-world examples. Let's get started learning Java

John Conway's Game of Life Java code - Bitstorm

  1. The Game of Life kata is a reference problem that can be solved many different ways, to experience a new language, methodology, testing framework, IDE, or else
  2. g language which means we can develop multi-threaded program using Java. A multi-threaded program contains two or more parts that can run concurrently and each part can handle a different task at the same time making optimal use of the available resources specially when your computer has multiple CPUs
  3. This Java project allows for the units of electricity consumed to be electronical, Calculations are precise and made in real-time. For further description refer here : Electricity Billing. Game development 11. Number guessing game in java. This is fun and easy game to implement. Here are the rules of the game: Player has to guess number between.

OpenGL 3D Game Tutorial 1: The Display. This here's another tutorial for the Java fans out there. This YouTube video is for those of you with a bit more experience in Java. The tutorial relies on OpenGL 3.0 and above, as well as the lightweight java game library Android 2D Game Tutorial for Beginners View more Tutorials: Android Programming Tutorials; Introduction; Create a Game Project; Preparing Images and sounds; Setting fullscreen (Version:1) Show character in the game (Version:2) Interact with player (Version: 3) Game with multiple characters (Version: 4) Effects in the Game (Version: 5) Sound effects in game (Version: Release) Follow us on our. Object is a basic unit of Object Oriented Programming and represents the real life entities. A typical Java program creates many objects, which as you know, interact by invoking methods. An object consists of: State : It is represented by attributes of an object. It also reflects the properties of an object

Making a random password generator in Java is a great way to learn how real-life programs work. Learn how to make one yourself with this walkthrough. Read More. Coding Projects Make a Countdown and Pomodoro Timer in Python | Intermediate Python Tutorial. Make your own countdown timer in Python coding with this step-by-step walkthrough. Then, learn how to turn it into a Pomodoro timer as a. #Life Lessons | 533 #Productivity | 502 #Self Improvement | 449 #Python | 426 #Coding | 368 #CSS | 328. #Java Create an Android App With Kotlin and Jetpack Compose Beau Carnes Beau Carnes 10 days ago. #Java Learn the Java Native Interface - Free 28-Hour Course Beau Carnes Beau Carnes 15 days ago. #Java Get Started Coding with Java! Beau Carnes Beau Carnes 5 months ago. #Java String to Char. For those who want to try making your own roguelike in java, here's the links to each of the 20 posts in my little tutorial I did a few years ago. I try to take it one small step at a time, explain why I'm doing what I'm doing, teach a bit of programming, and move forward with each post. 01 Java, Eclipse, AsciiPanel, application, applet. 02 input, output, modes, and screens. 03 scrolling.

Conway's Game of Life - cop

Exercise 1 Exercise 2 Exercise 3 Exercise 4 Exercise 5 Go to Java Methods Tutorial Java Classes/Objects Exercise 1 Exercise 2 Exercise 3 Exercise 4 Exercise 5 Exercise 6 Exercise 7 Exercise 8 Go to Java Classes/Objects Tutorial 1. Overview. In this article, we're going to explore the Monte Carlo Tree Search (MCTS) algorithm and its applications. We'll look at its phases in detail by implementing the game of Tic-Tac-Toe in Java. We'll design a general solution which could be used in many other practical applications, with minimal changes. 2 In this tutorial, we are going to learn about game development using the Pygame (Python library) Pygame. Pygame is a cross-platform set of Python modules which is used to create video games. It consists of computer graphics and sound libraries designed to be used with the Python programming language. Pygame was officially written by Pete Shinners to replace PySDL. Pygame is suitable to create. Learn the Command Design Pattern with easy Java source code examples as James Sugrue continues his design patterns tutorial series, Design Patterns Uncovere

Video: Spiel des Lebens (Game of Life) - Java, Scala & Android

From Scratch: The Game of Life

  1. In this Kotlin Android Tutorial, we have built a Game in Android using Kotlin. There are many other techniques that we could learn to use in Android Game Development. In our subsequent Kotlin Android Tutorials, we shall learn some of them and make our Game awesome, or you may use them to make your Game Script come to life. Happy coding Android
  2. In this tutorial we are going to see about JPA Entity lifecycle and Instance state transitions. 1. Entity Instance states. JPA defines four states and state transitions for the persistence life cycle. Transient Managed or Persistent Removed Detached Following image illustrates the overview of JPA entity lifecycle state transitions
  3. Find a Java Game tutorial that uses GUI, not plain text, and code it. The specific instructions are below: 1. add the citation for the Java game tutorial inside the top comments of the main class file - Important! If not used, this activity will earn a zero. 2

java - Toad pattern in game of life - Stack Overflo

This is made really easy for us because Android Studio will auto-generate a basic screen layout as well as the Java code to bring it to life. In this mini-project, we will go no further than that but in subsequent Android projects we will practice the skills that will eventually build into a full working game.. First of all, run Android Studio There are so many ways we can build React apps and ship for production. One way is to build React with NodeJS or Java and another way is to build the React and serve that static content with NGIN Java for loop tutorial with examples and complete guide for beginners. The below article on Java for loop will cover most of the information, covering all the different methods, syntax, examples that we used in for loops. What Are Java Loops - Definition & Explanation. Executing a set of statements repeatedly is known as looping The Java Multithreading quest introduces students to the secret CodeGym center with multithreading. Over the course of 10 levels, you will study the organization of Object, String, and inner classes.You will learn how to create and stop threads, what deadlock is, and what the wait, notify, and notifyAll methods do. You'll gain experience working with jsoup and Swing, and learn about. In this tutorial I am going to show you how to use Hibernate with Entity Manager. It is based on my previous tutorial and it is an enhancement of this code. In previous tutorial I was using hibernate-entitymanager dependency, so there is no need to do any modifications in pom.xml now. 1. Create persistence.xml file in src/main/resources.

Conways Game of Life - Programmieraufgaben

We all have played Snake game once in our life. It is a simple game with few rules and unlimited fun. If you are learning Javascript, then it would be a good start for you to develop the simple Snake game in HTML and Javascript.. In this tutorial, we will use the HTML canvas tag for developing this game, with Javascript code controlling the gameplay and the visuals of the game like the snake. For every game, game engine plays a major role since the game engine helps the game designers to bring characters of the game to life, by helping in scenes, characters and graphic generation, sound, artificial intelligence, scripting animation, networking etc. Game Engine is like an integrated development environment, with a readymade suite of visual development tools and reusable software. Video Game Physics Tutorial - Part I: An Introduction to Rigid Body Dynamics . Simulating physics in video games is very common, since most games are inspired by things we have in the real world. Rigid body dynamics -- the movement and interaction of solid, inflexible objects -- is by far the most popular kind of effect simulated in games. In this series, rigid body simulation will be explored.

Life-changing wins in 10 minutes! Play Now. Win Huge Prizes . Enjoy the rush of winning millions in Gold Coins, playing America's favorite card game, in our poker ring games, tournaments and sit'n'gos, anywhere and at any Java Signal Slot Tutorial time! Fri Apr 17 2020. Pai. Java Signal Slot Tutorial 18+. First 4 deposits of £10+. Certain deposit methods excluded. 4 bonuses available. Tutorials / November 30, 2014 August 3, 2020 / Java, LibGDX, Tutorial There is an old law, possibly predating the age of man, that all tutorials must start with Hello World. I am nothing if not law abiding, so therefore let's create a Hello World app. Hello World is generally one of the simplest programs you can create, you simply display the words Hello World on screen Life Science Solutions. Electromagnetic Wave Propagation. Home / Learn / Microscopy Resource Center / Microscopy Primer / Interactive Java Tutorials / polarizedlight / Electromagnetic Wave Propagation - Java Tutorial. Electromagnetic Wave Propagation - Java Tutorial. Electromagnetic waves can be generated by a variety of methods, such as a discharging spark or by an oscillating molecular. Find a Java Game tutorial that uses GUI, not plain text, and code it. The specific instructions are below: add the citation for the Java game tutorial inside the top comments of the main class file - Important! If not used, this activity will earn a zero. add your name to the top comments in the main class file (Just put Your Name) pay.

Monkey Adventure - Android/iOS App | Free Source Code

Play John Conway's Game of Lif

Java Game Development: 6 Tutorials Guaranteed to Make

Started career as as software developer.After that Joined the teaching and training domain and trained a large number of students, working professionals in different programming languages and databases,also evolved in corporate training with 6+ years of rich experience in Teaching and Training . the area of expertise is C, C++, Java,HTML, CSS ,Javascript, jQuary, Angularjs,Nodejs,mongodb. A package is a namespace that organizes a set of related classes and interfaces. Conceptually you can think of packages as being similar to different folders on your computer. You might keep HTML pages in one folder, images in another, and scripts or applications in yet another. Because software written in the Java programming language can be composed of hundreds or thousands of individual. Introduction To Java Servlets and Its Life-Cycle Lesson - 26. 10 Best Java Frameworks You Should Know in 2021 Lesson - 27. Top 10 Brilliant Java Project Ideas You Need to Know Lesson - 28. Top 60 Java Interview Questions and Answers in 2021 Lesson - 29. Java Programming: The Complete Reference You Need Lesson - 30. All You Need to Know to Implement JUnit Testing in Java Lesson - 31. What Is.


Game of Life - Mathematische Basteleie

In conclusion, it is safe to say that Java is a dynamic language and a platform that is poised for further growth. For everyone from beginners to masters of the craft, Java is the ultimate solution for many challenges faced in the product life cycle of software development The Java Tutorials have been written for JDK 8. Examples and practices described in this page don't take advantage of improvements introduced in later releases and might use technology no longer available. See Java Language Changes for a summary of updated language features in Java SE 9 and subsequent releases. See JDK Release Notes for information about new features, enhancements, and removed. Oracle Java Archive The Oracle Java Archive offers self-service download access to some of our historical Java releases. WARNING: These older versions of the JRE and JDK are provided to help developers debug issues in older systems. They are not updated with the latest security patches and are not recommended for use in production java (31,916) algorithms-and-data-structures (52) algorithm-challenges (32) hackerrank-solutions (22) Site. Repo. This repository contains efficient hackerrank solutions for most of the hackerrank challenges including video tutorials. If you are looking for anyone of these things -. hackerrank solutions java GitHub | hackerrank tutorial in java.


An Introduction to Conway's The Game of Life - YouTub

1 Java Edition 1.1 Hosting a LAN server 1.2 Joining 2 Bedrock Edition A LAN (Local Area Network) game is a type of multiplayer game. It allows other people in your local network (i.e. just the people connected to your router/switch) to join a minecraft world. Players over the internet cannot connect unless other workarounds (such as port forwarding or hamachi) are set up. To open an active. Java + Greenfoot: Create games, animations, and more! Greenfoot is a Java interactive development environment created to help students learn. It allows easy development of two-dimensional graphical applications, like simulations and interactive games. Using Greenfoot, students learn the Java programming language in a fun, interesting, and visually engaging way! The Greenfoot programming. Game engines on Steam: The definitive breakdown Postmortem: Larian Studios' and Elverils' Divinity Original Sin 2: Definitive Edition for iOS Postmortem: Aconite's HoloVista Deep Dive: A holistic approach to emotional storytelling in Roki Playdate Pulp: Zero to video game in 60 Seconds Deep Dive: An Economy of Discovery - Behind the movement of Airborne Kingdom Emotion in motion: Expressive. swing game-of-life console-game Updated Jan 16, 2020; Java; Lupalop / Statesman Star 3 Code Issues Battleship game in java which integrates a player to player game mode and a player to computer game mode with 3 difficulty levels : easy (random shot), medium (random shot that sinks a boat if it hits at least one of its squares) and difficult (Nick Berry's algorithm). game java battleship.


The DIC interactive java tutorial explores how changes in the orientation the polarizer in a Senarmont compensation system will affect image contrast. Depth-of-Focus in Thick Samples The featured simulated-DIC interactive Java tutorial allows the visitor to investigate how microscope depth-of-focus can be modulated to bring various parts of a very thick specimen into sharp focus Java GUI Example. Now in this Java GUI Tutorial, let's understand how to create a GUI in Java with Swings in Java examples. Example: How to make a GUI in Java. Step 2) Save, Compile, and Run the code. Step 3) Now let's Add a Button to our frame. Copy following code into an editor from given Java UI Example. Step 4) Execute the code Make sure to check out all the tutorials within this series listed below: Games: Dota 2, Half Life 2 series, Counter-Strike: Source, Counter-Strike: Global Offensive, Left4Dead, Left4Dead 2, Portal 1 and 2 Game Engine: Source Engine. Game: Hitman Absolution Game Engine: Glacier 2. Game: Battlefield: Bad Company 2, Battlefield 3, Need for Speed: The Run Game Engine: FrostBite. Games: Mass. Java is an extensible and flexible language that ultimately helps in building mobile applications. Easy to maintain - Java is one of the languages which helps in maintaining the apps built using it very easily. Maintenance cost is also not very high. 2. Game development. Java is also used as a programming language for game development. It is. Java is a platform-independent language. We can write Java code in one platform and run it in another platform. Java is a general-purpose language with a wide range of applications. It's used for developing mobile and desktop applications, big data processing, embedded systems, and so on. Java is an object-oriented programming language Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible. It is a general-purpose programming language intended to let application developers write once, run anywhere (WORA), meaning that compiled Java code can run on all platforms that support Java without the need for recompilation