Learning scienceBuilt on the spacing effect

Learn to code once. Keep it for life.

Fully personalized courses that build on what you already know, a tutor that reviews your code, and spaced repetition booked into your calendar on day 3, 7 and 18 — with FSRS tracking how well each concept is holding.

  • US$24.99/month after trial
  • Cancel anytime

Tutor review

Constrain K with keyof T — typos then fail at compile time.

JavaScript & TypeScript

Module 5 of 12

Narrowing and control flowDone
5Generics in practiceIn progress
6Async patterns and fetchUp next

142

Concepts learned

91%

Retention

23

Day streak

Regradia review · Generics

Thu, 8 Oct · Day 3 review · Google Calendar

Auto-booked

1885

The year Ebbinghaus first described the spacing effect

3 · 7 · 18

Days after a lesson when your reviews land

15 min

A spaced review session, instead of hours of re-reading

6 tracks

73 modules, from a first script to microservices

Proven by scientists, not invented by us. The spacing effect is one of the most consistently replicated findings in memory research. See the science

Product tour

From first lesson to long-term memory.

Follow one topic through Regradia: the tutor teaches it, your progress records it, and your calendar brings it back.

regradia.com/learn/integer-cache
1 / 3
AI tutorAsking a question

Question

Integer a = 127, b = 127;
Integer c = 1000, d = 1000;

System.out.println(a == b); // true
System.out.println(c == d); // false
Same boxing, two different answers. Before I explain why: when you box 127, is the Integer created on demand, or is there a small pre-built array of Integer objects, ready to be handed out by index?

Theory

That's fine, and thanks for saying so. This one lives inside the JDK, so there is no way to guess it from the outside. Here is what happens.
IntegerCache.cache is a pre-built array holding Integer objects for -128 to 127, created once, statically. Autoboxing calls valueOf(), which is just an index lookup, so a and b point at the identical heap object.
public static Integer valueOf(int i) {
    if (i >= IntegerCache.low && i <= IntegerCache.high)
        return IntegerCache.cache[i + (-IntegerCache.low)];
    return new Integer(i);
}
Now c and d: 1000 is outside the range. What does valueOf() do instead, and why does that make == print false?

Seal it

That's the full mechanism, correctly connected. Now seal it for me: one connected chain, cold, as if an interviewer asked why 127 == 127 is true but 1000 == 1000 is false.
Checking your chain

Sealed

A clean, connected seal.cache -128…127index lookupshared reference== is truerange missnew objectdifferent references== is falseI've added “Integer cache” to your reviews — you'll review it on day 3, 7 and 18.

The one rule

Don't memorise the interview answers. Know the thing underneath them.

Every lesson ends with you explaining the mechanism cold, in your own words. Nothing is marked learned until you can.

How it works

Learn, practise, review. Keep what you learned.

01

A tutor that checks you really know it

It asks you to write the code, reviews it line by line, then has you explain the idea back cold. A concept is only marked mastered once you can.

02

A roadmap that grows with you

A two-minute placement task sets your start. From there your map adds only what you need: a missing foundation, a topic you asked about, a repeat after a slipped review. Every change is explained.

03

Memory you can see

Every concept comes back on day 3, 7 and 18, booked into Google Calendar for you. An FSRS memory model shows how well each one is holding, and your knowledge bank keeps every card, note and transcript.

Fully personalized

Never start from scratch again.

Every course is built around what you already know. Start a new track and Regradia skips what you've mastered — so you only spend time on what's new.

Your knowledge carries over

Concepts you learned in one track count in every other — no repeated intro modules.

A placement task sets your start

The tutor grades a short coding task and starts you at the right module.

Lessons adapt as you go

Examples, pace and practice change with your goal and where you struggle.

Your course

Web Dev with React

Saves ~16 hours
11 modules7 for you
1JSX and componentsAlready known
2Props and compositionAlready known
3TypeScript with ReactAlready known
41State and eventsStart here
52Effects and data fetching
63Routing
7Forms and validationAlready known

+ 4 more modules, then the final project

Knowledge map

See where every topic leads.

Everything you learn opens new paths. Your map grows with you — so you always know what you can learn next, and why.

More from Spring Boot+ 5 more paths
LearnedSpring Boot
UnlockedOAuth 2.0
UnlockedJWT
UnlockedMethod security
Next after thatOpenID Connect
LockedSpring Cloud
LockedAPI Gateway
LockedDiscovery
LockedResilience4j

Learned Spring Security → 3 new paths unlocked. OAuth 2.0, JWT and method security are now open — each one builds on what you already know.

The science

Spacing beats cramming.

Re-reading the same material every day feels productive, but it isn't how memory works. Decades of research on the spacing effect show that reviewing at growing intervals — right as you're about to forget — builds memories that last far longer, in less total time.

01

Review at the right moment

Every topic you learn comes back on day 3, 7 and 18 — spaced out, not crammed.

02

Gaps grow as memory strengthens

Each review makes the memory fall more slowly, so the gaps can widen from days to weeks.

03

Less time, more remembered

A 15-minute spaced session replaces hours of re-reading, and the knowledge stays.

How much you remember

Spaced reviewsReading every day
100%50%0%90% targetDay 0Day 3Day 7Day 18Day 30

Each dot is a short review — on day 3, 7 and 18 after you learn a topic. Every review resets the curve and makes it fall more slowly. Illustrative.

~1 hour

Time spent studying

~90%

Remembered on day 30

Pathways

Six tracks. One clear next step.

Pick one to start. What you learn in it counts towards every other track.

Structured learning for US$24.99 a month.

A fraction of a bootcamp or a private tutor — with a review system neither offers.

7 days free · Cancel anytime