Skip to content
Chromatic Coherence

Hue knows · Priority two

Java, indexed by what the language is and what you do with it.

The type system, the runtime and the concurrency model on one side; the operations you actually reach for — streams, collections, the object contract — on the other. You declare where you are standing, and the rows around you come back.

What a Hue Model is

The model holds the domain; your org holds its own light on it.

A Hue Model is the world model of a domain — its rows, the positions they stand in, the two sides they fall on, and, where the domain has one, the source of truth that settles a row. There are no people in it. It is a model of the world, not of anyone in it, and it has no cutoff — only a last-visited state. You stand somewhere in it and it answers by position.

Stand somewhere, and the rows come to you

You copy a position out of the chamber's own map and send it back. No words are matched and nothing is guessed on your behalf — the door reads structure the index already carries, and answers with the neighbourhood you are standing in.

The rows below arrived with no search term at all, by position alone.

TYPE DECLARATIONSTop-Level Types

placed
13
observed
0
unobserved
13
reached
13

the room you named

class

reference type declaration

feature

interface

abstract contract; a method is implicitly public and abstract unless declared private, default or static

feature

abstract class

partially-implemented base type

feature

enum

fixed set of typed constants (a full class)

feature

record

immutable data carrier (Java 14+)

feature

sealed class

restricted subclass set (Java 17+)

feature

sealed interface

restricted set of implementors (Java 17+)

feature

annotation type

@interface metadata declaration

feature

the rest of its floor

nested class

class declared within another

feature

inner class

non-static nested class holding an outer reference

feature

static nested class

nested class without an outer reference

feature

anonymous class

unnamed inline subclass / implementor

feature

local class

class declared inside a method

feature

CONCURRENCY

placed
9
observed
0
unobserved
9
reached
9

the rest of its floor

thread

a unit of execution

feature

Runnable

no-arg, no-return task

feature

Callable

value-returning task

feature

synchronized block

monitor-scoped critical section

feature

happens-before

Java Memory Model ordering guarantee

feature

ExecutorService

managed thread pool

feature

Future

a pending async result

feature

CompletableFuture

composable async result

feature

ReentrantLock

explicit reentrant lock

feature

A position the chamber does not hold comes back as a question

NOT A REAL ROOMUNKNOWN_CATEGORY

17 rooms

The door never substitutes a nearby name. An unknown position returns the map instead, so the next thing you send is a place that exists rather than a guess that looked close.

Every row arrives already knowing its state

The reading is not a ranked list. Each row comes back in one of three states, and the state is the useful part — it tells you whether to build on the row, to go and look, or to honour it before you do either.

Zero point

The contract the work must implement. It is present whether or not anyone went looking for it, and it constrains the answer rather than decorating it.

Observed

Rows your org has already returned on. A lit row carries your org's reading as well as the chamber's.

Unobserved

Reached, and your organisation has not returned on it yet. This is the invitation, and it is where a return is worth the most — every one of them is a row you can light.

Two sides, and an ask lands on one of them

Java is indexed as what a thing IS and as what you DO with it, and the two never share a room. CONCURRENCY is where the memory model lives; CONCURRENCY OPERATIONS is where you go to actually submit the task.

The language and its runtime

  • TYPE DECLARATIONS13
  • JVM RUNTIME12
  • CONCURRENCY10
  • FUNCTIONAL AND STREAMS9
  • MODIFIERS AND MEMBERS9
  • COLLECTIONS AND CONTRACTS8
  • EXCEPTIONS AND RESOURCES8
  • GENERICS8
  • COLLECTIONS2
  • EXCEPTIONS1

The operations

STREAM OPERATIONS

9

OBJECT CONTRACT & ORDERING

8

COLLECTION OPERATIONS

6

CONCURRENCY OPERATIONS

6

OPTIONAL OPERATIONS

5

STRING & IO OPERATIONS

5

RESOURCE MANAGEMENT

2

Knowing that a question is about the JVM rather than about a stream is most of the way to answering it, and the index is cut along that line because the questions are.

Seat levels

A Hue Models seat opens every Hue Model — the domains here today, and the ones that follow them.

Seat

One person working in an org

£19/seat/mo

5,000 units per seat, per month

Ask for a place
Most orgs start here

Org

An org putting real work through it

£29/seat/mo

25,000 units per seat, per month

Ask for a place

Team

An org that leans on it daily

£79/seat/mo

100,000 units per seat, per month

Ask for a place

House

Arranged, not bought

Custom

100,000+ units, a named contact

Talk to us

Per seat, per month, pooled across the org — so one busy week never costs a quiet colleague their work. Lighting a row — returning what you observed — is the Observer's Index.

Before you compare two models

A hue identifies a row within a model, and never across them.

Bands are allocated per model and some overlap, so one hue can appear in more than one model. Each model is its own coordinate system, so two rows sharing a hue in different models are not related.