MindMap Gallery Programming
A programming language is a formal language comprising a set of instructions that produce various kinds of output.
Edited at 2020-10-10 07:24:36Mind maps are a great resource to help you study. A mind map can take complex topics like plant kingdom and illustrate them into simple points, as shown above.
Mind maps are useful in constructing strategies. They provide the flexibility of being creative, along with the structure of a plan.
Vitamins and minerals are essential elements of a well-balanced meal plan. They help in ensuring that the body is properly nourished. A mind map can be used to map out the different vitamins a person requires.
Mind maps are a great resource to help you study. A mind map can take complex topics like plant kingdom and illustrate them into simple points, as shown above.
Mind maps are useful in constructing strategies. They provide the flexibility of being creative, along with the structure of a plan.
Vitamins and minerals are essential elements of a well-balanced meal plan. They help in ensuring that the body is properly nourished. A mind map can be used to map out the different vitamins a person requires.
Programming
Programming languages
Java
Platforms
SE (Standard Edition)
Java Core
Fundamentals
Variables
Class variables
Local variables
Methods
Overriding methods
Overloaded methods
Constructors
Data types
By mutability
Mutable
Immutable
By category
Primitives
Integer
Floating-point
Char
Boolean
Complex
String
Wrapper classes
For primitive types
Operators
Increment / decrement
Relational
Input / output
Control Flow
Block scope
Conditional statements
If
Switch statement
Ternary operator
int x = a.compare(b) ? a : b
Loops
For
While
Do-while
For-each
Type conversion
Casting
Upcasting
Animal a = new Dog();
Downcasting
Dog a = (Dog) new Animal();
Arrays
Multidimensional
Classes
Ordinary classes
Abstract classes
Inner classes
Anonymous Inner Classes
Enum classes
Interfaces
Java 8 introduced ability to have default implementation of methods declared in interfaces
Iterable
Iterator
Comparator
Comparable
Marker Interfaces
EventListener
Cloneable
Serializable
Externalizable
Generics
By parameter type
Any type
Bounded type
By category
Generic classes
Generic methods
Exceptions
Type
Checked
Custom
Unchecked
Handling
Try-catch (try-catch-finally)
Try-with-resources
Throws
Propagates exception to caller. Caller propagates further or handles via try-catch
Throw
Packages
JAR files
Autoboxing
Concerns wrapper classes
Access Levels
Package (default)
Public
Private
Protected
Keywords
[access modifiers]
static
void
final
synchronized
this
super
extends
implements
assert
import
transient
fields marked with "transient" keyword are excluded during serialization
I/O
Bytes (file) I/O
Character I/O
java.util.Scanner
Reader
Writer
Primitives I/O
DataInputStream
DataOutputStream
Buffered I/O
Buffered................
Java Object I/O (serialize/deserialize)
Network I/O
URLConnection
Database I/O
Console I/O
Concurrency
Thread (class)
Runnable (interface)
Reflection
Serialization
RMI (remote method invocation)
Annotation
Lambda expressions
Since Java 8
Standard Java Packages
Collections Framework
Implementations
Set
stores non-duplicating (unique) items
HashSet
TreeSet
LindedHashSet
List
ArrayList
LinkedList
Queue
Deque
Map
stores key-value pairs
HashMap
ConcurrentHashMap
TreeMap
LinkedHashMap
Iteration mechanisms
Iterator (interface)
Iterable (interface)
forEach (method)
- since Java 8- Iterable interface contains default implementation
JDBC
API documentation
Javadoc
EE (Enterprise Edition)
Applets (deprecated)
Servlets
JSP
JSF
EJB
JMS
Third-party libraries
Apache Commons
Apache.commons.io.FileUtils
JVM
Garbage Collection
Tools, Technologies, Frameworks
Server
Java Servlet Containers
Apache Tomcat
In general, the Apache HTTP server is just a plain old web server designed to serve static web pages. There are plenty of modules which can be installed to enhance Apache's abilities so that it can serve dynamic webpages using various technologies such as PHP, CGI or whatever, but the core of Apache is just a plain old HTTP server. Tomcat, on the other hand, is specifically designed from the ground-up to serve as a Java Servlet engine. It's primary purpose is to implement the Java Servlet API and execute Java servlets for the purpose of building dynamic websites. Tomcat can also be used as a regular HTTP server that serves static pages, but that is not its primary purpose. (Also, Tomcat is allegedly slower than Apache httpd when it comes to serving static pages.) The two technologies can be used together through a connector module called mod_jk. This will allow you to use the Apache HTTP server to serve regular static webpages, and the Tomcat Servlet engine to execute servlets.
Java Application Servers
Web server + Java Servlet Container
Glassfish
WildFly
Testing
JUnit
ORM
Hibernate
Build Tools
Maven
Web Framework
Spring MVC
Code Analysis
FindBugs
IDE
IDEA IntelliJ
Core Features
Abstraction
Encapsulation
Inheritance
Polymorphism
JavaScript
HTML
CSS
Algorithms and data structures
Patterns
Testing
Server Technologies
Web servers
Apache
nginx
Version Control System
Centralized
Distributed
Git
Basic console commands
git init
creates a Git directory (.git) in current directory
git status
shows current Git status
git branch
lists Git branches
git branch xxx
creates xxx branch
git checkout xxx
switches to xxx branch
git checkout -b xxx
creates xxx branch and switches to it
git add xxx
adds modified files xxx to commit queue
git commit -m "xxx"
commits modifications with "xxx" comment
git merge xxx
merges current branch with xxx branch
git remote add origin xxx://xxxx/xxx.git
registers xxx://xxxx/xxx.git as the remote Git repository
git push -u origin master
pushes master branch files to remote branch (origin)
git pull origin master
pulls changes from remote repo (origin) to local repo (master branch)
Git hosting
github.com
Basic repo operations
Fork
copy repository to your own repository
Clone
download entire repository with .git directory
Download as ZIP file
download repository as ZIP file without .git directory
Pull request
request somebody to pull changes from you back to their repository
Databases
Relational
MySQL
NoSQL
Unix
Networks
Fundamentals
Protocols
TCP/IP
UDP
HTTP
HTTPS
Identifiers
IP address
IPv4
IPv6
Ports
Sockets
Socket address
IP address + port
StringBuilder
StringBuffer
java.nio.file.Files
Versioning
Means marking different versions of classes with serialVersionUID
StringTokenizer