All Projects → forax → Java Guide

forax / Java Guide

Licence: mit
A guide of modern Java (Java 17)

Projects that are alternatives of or similar to Java Guide

Tf 2.0 Hacks
Contains my explorations of TensorFlow 2.x
Stars: ✭ 369 (-2.38%)
Mutual labels:  jupyter-notebook
Deep Learning
Repo for the Deep Learning Nanodegree Foundations program.
Stars: ✭ 3,782 (+900.53%)
Mutual labels:  jupyter-notebook
Scikit Learn Book
Source code for the "Learning scikit-learn: Machine Learning in Python"
Stars: ✭ 376 (-0.53%)
Mutual labels:  jupyter-notebook
Python Course
Tutorial and introduction into programming with Python for the humanities and social sciences
Stars: ✭ 370 (-2.12%)
Mutual labels:  jupyter-notebook
Interesting Python
有趣的Python爬虫和Python数据分析小项目(Some interesting Python crawlers and data analysis projects)
Stars: ✭ 3,927 (+938.89%)
Mutual labels:  jupyter-notebook
Over9000
Over9000 optimizer
Stars: ✭ 375 (-0.79%)
Mutual labels:  jupyter-notebook
Handson Unsupervised Learning
Code for Hands-on Unsupervised Learning Using Python (O'Reilly Media)
Stars: ✭ 369 (-2.38%)
Mutual labels:  jupyter-notebook
Pg Is All You Need
Policy Gradient is all you need! A step-by-step tutorial for well-known PG methods.
Stars: ✭ 372 (-1.59%)
Mutual labels:  jupyter-notebook
Learn Python3
Jupyter notebooks for teaching/learning Python 3
Stars: ✭ 4,418 (+1068.78%)
Mutual labels:  jupyter-notebook
Nlp Python Deep Learning
NLP in Python with Deep Learning
Stars: ✭ 374 (-1.06%)
Mutual labels:  jupyter-notebook
Deep Learning Illustrated
Deep Learning Illustrated (2020)
Stars: ✭ 372 (-1.59%)
Mutual labels:  jupyter-notebook
Data Science
Collection of useful data science topics along with code and articles
Stars: ✭ 315 (-16.67%)
Mutual labels:  jupyter-notebook
Python Machine Learning Second Edition
Python Machine Learning - Second Edition, published by Packt
Stars: ✭ 376 (-0.53%)
Mutual labels:  jupyter-notebook
Causal Inference Tutorial
Repository with code and slides for a tutorial on causal inference.
Stars: ✭ 368 (-2.65%)
Mutual labels:  jupyter-notebook
Kind Pytorch Tutorial
Kind PyTorch Tutorial for beginners
Stars: ✭ 377 (-0.26%)
Mutual labels:  jupyter-notebook
Covid19pt Data
😷️🇵🇹 Dados relativos à pandemia COVID-19 em Portugal
Stars: ✭ 362 (-4.23%)
Mutual labels:  jupyter-notebook
Data Analysis
Data Science Using Python
Stars: ✭ 4,080 (+979.37%)
Mutual labels:  jupyter-notebook
Causalml
The open source repository for the Causal Modeling in Machine Learning Workshop at Altdeep.ai @ www.altdeep.ai/courses/causalML
Stars: ✭ 376 (-0.53%)
Mutual labels:  jupyter-notebook
Deep Learning Nano Foundation
Udacity's Deep Learning Nano Foundation program.
Stars: ✭ 377 (-0.26%)
Mutual labels:  jupyter-notebook
Iclr2019 Openreviewdata
Script that crawls meta data from ICLR OpenReview webpage. Tutorials on installing and using Selenium and ChromeDriver on Ubuntu.
Stars: ✭ 376 (-0.53%)
Mutual labels:  jupyter-notebook

java-guide

A guide to modern Java (Java 17)

This guide is about learning Java from scratch if you know a bit of C or JavaScript.

This is a Work in progress, it should be ready when the next LTS of Java (Java 17) will be released. All the codes run with Java 14 with the preview features enabled.

Note: if you are looking to only what's new in Java 14 I have set of slides for that.

Content

  1. genesis.md
  2. basic_types.md
  3. methods.md
  4. jshell_vs_java.md
  5. numbers.md
  6. control_flow.md
  7. interface.md
  8. lambda.md
  9. list_and_map.md
  10. string_formatting.md
  11. class_and_encapsulation.md
  12. equals_hashCode_toString.md
  13. contract.md
  14. modifiable_vs_mutable.md
  15. null_and_optional.md
  16. inheritance.md
  17. exception.md
  18. enum.md
  19. nested_classes.md
  20. array.md
  21. implementing_interface.md
  22. generics.md
  23. wrapper.md
  24. variance.md
  25. limitation_of_generics.md
  26. stream.md
  27. collector.md
  28. data_structure.md
  29. sort.md

Using Java Shell (jshell)

Each chapter comes with executable examples that you can run using jshell.

To get the examples, just clone this repository

  git clone http://github.com/forax/java-guide

Then run jshell (at least Java 14 version)

   jshell --enable-preview

Then you can copy paste the examples inside jshell and see by yourself.

To quit use '/exit', to enable verbose error messages '/set feedback verbose', otherwise to get the help type '/help'

Using Jupyter notebook

on the cloud

You can run it directly in your browser Binder

or using docker

You need to have docker already installed, then

  • get the docker image from dockerhub
      docker pull forax/java-guide
    
  • run the docker image in a container
      docker run -p 8888:8888 forax/java-guide
    
  • open your browser using the tokenId printed on the console
      firefox http://localhost:8888/?token=tokenId
    

or install everything on your laptop

You need to have python3 and Java 14 already installed, then

  • clone this repository
      git clone http://github.com/forax/java-guide
      cd java-guide
    
  • install jupyter
      pip install notebook
    
  • install the ijava 1.3.0 kernel (from Spencer Park)
    wget https://github.com/SpencerPark/IJava/releases/download/v1.3.0/ijava-1.3.0.zip
    python3 install.py --sys-prefix
    
  • patch it with the repository file kernel.json list all kernels to see if the java kernel is installed
    jupyter kernelspec list
    
    then copy the file kernel.json from the folder docker to the java kernel directory
    cp docker/kernel.json /path/to/jupyter/kernels/java
    
  • set the env compiler option enabling the preview features
    export IJAVA_COMPILER_OPTS="--enable-preview -source 14"
    
  • run the notebook
    cd jupyter
    jupyter notebook
    

Build markdown and jupyter files from jshell files

The markdown files (.md) and the jupyter files (.ipynb) are derived/generated from the jshell files using a small Java script.

Using java 14

  java --source 14 --enable-preview build/build.java
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].