how to use selenium grid in java code example

Example 1: selenium grid configuration

{
	  "port": 4444,
	  "newSessionWaitTimeout": -1,
	  "servlets" : [],
	  "withoutServlets": [],
	  "custom": {},
	  "capabilityMatcher": "org.openqa.grid.internal.utils.DefaultCapabilityMatcher",
	  "registryClass": "org.openqa.grid.internal.DefaultGridRegistry",
	  "throwOnCapabilityNotPresent": true,
	  "cleanUpCycle": 5000,
	  "role": "hub",
	  "debug": false,
	  "browserTimeout": 0,
	  "timeout": 1800
}

Example 2: how selenium grid looks like

-it's a java program looks like jar file
-we run this jar from 2 roles: hub and node
-hub receives commands Webdriver object of the client
-then hub is looking for available nodes 
 for execution.
-nodes are executing tests