

Usikker på hvor
starte?
Track
Sertifikat
Java Essensielt
4.3+
★★★★★
★★★★★
9 omtaler
Beginner
Legg ut på en omfattende reise inn i Java-programmeringens verden. Enten du nettopp har startet eller har litt erfaring med koding, vil dette sporet utstyre deg med kunnskapen og ferdighetene til å utmerke deg som Java-utvikler. Vis mer
java
Boost your Tech Skills!
with up to 55% off
What you'll get with our subscription:
Access to 85+ top-rated courses
AI-driven Learning
Workspaces for practicing your skills
Personalized study tracks
Certificates of completion
Training 2 or more people?
Get your team access to Codefinity courses anytime, anywhere.
Try Codefinity TeamsWhat you will learn
- Build a strong foundation in Java by learning essential syntax, data types, and control structures
- Expand your Java knowledge with advanced concepts, enhancing your ability to write efficient and maintainable code
- Master Object-Oriented Programming (OOP) principles, including encapsulation, inheritance, and polymorphism
- Learn how to work with data structures in Java, such as lists, sets, maps, and queues, to optimize performance
- Understand the fundamentals of unit testing using JUnit, covering different types of testing methodologies
- Dive into Java multithreading to develop high-performance applications that execute multiple tasks concurrently
- 216 chapters
- 32 hours
- 376 tasks
Trusted by employees of leading companies
Learning track content
Module 1 / Java Basics
Discover the unique features of Java and understand why it's a recommended programming language to learn. Write your first Java code and explore how to print text to the console.
Learn the basics of programming, dive into primitive data types, and explore operations with them. Write code that performs mathematical tasks and evaluates conditions for seamless execution.
- Primitive Data TypesForhåndsvisning
- Challenge: Primitive TypesForhåndsvisning
- Mathematical Operations on charForhåndsvisning
- Mathematical Operations in JavaForhåndsvisning
- If-Else StatementForhåndsvisning
- Switch-Case StatementForhåndsvisning
- New Task StructureForhåndsvisning
- Challenge: Weekday SwitchForhåndsvisning
Explore various loops such as for, while, and do-while, which are essential in any programming language. Loops enable efficient iteration over large datasets, saving significant time. Apply them extensively in tasks like sorting, working with arrays, collections, and more.
Learn how to effectively use arrays in Java programming by discovering how to group data into arrays and exploring common methods and properties for working with them. Techniques for manipulating and optimizing arrays in real-world applications will also be examined.
Learn about String, a crucial data type in Java, and discover its many built-in methods and operations. Explore String and StringBuilder, understanding their basic methods and how to use strings effectively in Java.
- What Is String?Forhåndsvisning
- Basic Methods In StringForhåndsvisning
- Practical Applications of String MethodsForhåndsvisning
- Challenge: Filter Failure MessagesForhåndsvisning
- NullPointerExceptionForhåndsvisning
- StringBuilderForhåndsvisning
- String Pool, Method Equals()Forhåndsvisning
- SummaryForhåndsvisning
Module 2 / Java Utvidet
I de følgende leksjonene vil du bli kjent med de indre mekanismene i Java og oppdage optimaliserte metoder for å arbeide med språket. Dette innebærer å utforske Javas operasjoner på maskinnivå og å ta i bruk beste praksis for effektiv utnyttelse av kjente konsepter.
Du har allerede støtt på metoder, og nå vil du endelig forstå hva de faktisk er, hvordan du lager dine egne metoder, og hvordan du arbeider med dem. Du vil lære å returnere ønskede verdier fra metoder og forbedre kvaliteten og logikken i koden din betydelig.
Gjør deg klar til å fordype deg i String og oppdag mer om dens indre virkemåte og metoder. Vi utforsker de interessante egenskapene som String tilbyr, inkludert muligheten til å tilpasse "toString"-metoden, dele strenger opp i delstrenger og bruke indekser for effektiv datainnhenting. Bli med på denne spennende reisen for å utvide kunnskapen om strengmanipulering!
I denne delen vil du lære hvordan du oppretter egne klasser og deres objekter. Du vil kunne bruke metoder fra én klasse i en annen og etablere relasjoner mellom dem. Gjør deg klar til å oppdage mange interessante konsepter og fordype deg i OOP-programmering!
- Hva er en klasse?Forhåndsvisning
- Hovedklasse og MetodeForhåndsvisning
- TilgangsmodifikatorerForhåndsvisning
- KlasseopprettelseForhåndsvisning
- Utfordring: Hent Informasjon om ObjektetForhåndsvisning
- KonstruktørForhåndsvisning
- Utfordring: Team-KonstruktørForhåndsvisning
- Metoden toString()Forhåndsvisning
- Utfordring: Visning av PapegøyeinformasjonForhåndsvisning
I denne delen fortsetter vi studiet av klasser. Vi vil utforske mer avansert bruk av klasseobjekter og lære mer om tilgangsmodifikatorer og hvordan disse brukes effektivt. Vi vil også gå nærmere inn på getters og setters, da disse anses som beste praksis innen programmering.
- Bruk av Komplekse KlasserForhåndsvisning
- Utfordring: Forhold Mellom Kjæledyr og EierForhåndsvisning
- Privat-modifikatorForhåndsvisning
- Utfordring: Visning av DyreinformasjonForhåndsvisning
- Getter og SetterForhåndsvisning
- Utfordring: Oppdatering av BrukerinformasjonForhåndsvisning
- OppsummeringForhåndsvisning
Endelig kan vi begynne å lære om objektorientert programmering (OOP) i Java. Det vil være utfordrende, men jeg er sikker på at du vil lykkes! I denne delen dekker vi alle prinsippene for OOP og forklarer hvorfor OOP er viktig. Du lærer hvordan du arver klasser, overbelaster og overskriver metoder, kapsler inn data fra andre klasser og arbeider med abstraksjon. Videre vil du styrke alle disse teoretiske konseptene med praktiske øvelser, der du jobber med oppgaver i ditt IDE. Du vil tilegne deg mye kunnskap, både praktisk og teoretisk, så la oss komme i gang!
I forrige seksjon konkluderte vi med at all objektorientert programmering hovedsakelig er bygget på abstraksjon. En abstrakt klasse har imidlertid én betydelig begrensning – du kan kun arve fra én abstrakt klasse. Men hva om vi trenger mer?
Her kommer grensesnitt til unnsetning. I denne seksjonen vil du lære hva et grensesnitt er, hvorfor det er nødvendig, hvordan det brukes korrekt, og du vil fortsette å øve på objektorientert programmering. La oss gjøre deg til en profesjonell!
Module 4 / Java Data Structures
Discover the concept of lists and explore the most commonly used types in Java. Learn how to create, modify, and manage lists efficiently. Understand their internal structure and discover when to use ArrayList vs. LinkedList based on performance. Implement your own singly linked list and reinforce key concepts through practical coding challenges.
- Introduction to Data StructuresForhåndsvisning
- List and ArrayList in JavaForhåndsvisning
- Challenge: Library Management SystemForhåndsvisning
- CRUD Operations in JavaForhåndsvisning
- LinkedList in JavaForhåndsvisning
- Implementing LinkedList in JavaForhåndsvisning
- Challenge: Implementing size and delete Methods in LinkedListForhåndsvisning
- Quiz: Fundamental Data StructuresForhåndsvisning
Learn about data structures that are not as commonly used but are still valuable. Data structures like Set, Stack, Queue, and Deque will help you better understand how Java works and their various applications in databases.
Learn about key-value pair-based data retrieval, enabling the creation of structures similar to databases. Discovery of concepts like hashcode and exploration of data structures such as HashMap and HashSet are also included.
Learn to use enum for defining a fixed set of constants and explore the Stream API to process, filter, and transform data efficiently.
Module 5 / Java JUnit Library. Types of Testing
Let's talk about types of testing and which testing methods developers use. You will learn about the stages an application goes through before being delivered to the client and the specific tests you will need to write.
In this section, we're going to dive into unit testing — you'll get the rundown on its structure in Java and the ins and outs of crafting them the right way. Setting up your IDE, importing necessary libraries, and lots of hands-on practice.
In this section, we will enhance our coding skills by dealing with errors that can also be caught in unit tests. When testing an application, you may come across various errors, and sometimes they should be turned into exceptions. I will explain how to catch exceptions in your code, test them, and handle them properly.
Module 6 / Multithreading in Java
This section will delve into the foundational concepts of multithreading in Java, focusing on the creation and management of threads, and the use of synchronization techniques to avoid conflicts. You’ll also learn how to utilize essential keywords and methods to ensure the accurate and reliable execution of multithreaded programs, providing a solid understanding of how to handle concurrency effectively in your applications.
This section explores synchronized collections in Java, explaining their purpose and the common concurrency issues they are designed to solve. You’ll gain insights into how these collections work, why they are essential in multithreaded environments, and how they help ensure safe and consistent data manipulation when multiple threads access shared resources.
- Collections with Multithreading SupportForhåndsvisning
- Parallel Stream APIForhåndsvisning
- BlockingQueue and its ImplementationsForhåndsvisning
- Сhallenge BlockingQueueForhåndsvisning
- ConcurrentMap and its ImplementationsForhåndsvisning
- Challenge ConcurrentMapForhåndsvisning
- CopyOnWrite CollectionForhåndsvisning
- Examples of Using Collections MethodsForhåndsvisning
This section covers high-level synchronization mechanisms in Java, such as the use of Lock and Condition, semaphores, barriers, atomic variables, and thread pooling with Executors. Each topic is paired with practical exercises designed to reinforce your understanding and help you apply the theoretical knowledge to real-world scenarios.
This section explores fundamental multithreaded programming patterns and practices such as Producer-Consumer, Fork/Join, ThreadLocal, and asynchronous programming with CompletableFuture. You'll work through examples and see the practical outcomes of these approaches, gaining hands-on experience that will enable you to apply these techniques effectively in real-world applications.
Module 7 / Stream API
Discover how Stream API revolutionizes data processing in Java with its expressive and functional approach. Explore its architecture, principles, and key functional features to write concise and efficient code.
- ArchitectureForhåndsvisning
- PrinciplesForhåndsvisning
- What Is a Functional Interface?Forhåndsvisning
- Predicate: Data FilteringForhåndsvisning
- Challenge: Filtering Corporate Email AddressesForhåndsvisning
- Function: Data TransformationForhåndsvisning
- Challenge: Income Tax CalculationForhåndsvisning
- Comparable: Natural Ordering of DataForhåndsvisning
- Comparator: Custom Comparison of DataForhåndsvisning
- Challenge: Sorting EmployeesForhåndsvisning
- Consumer: Processing DataForhåndsvisning
- Supplier: Data GenerationForhåndsvisning
- Bi-versions of Functional InterfacesForhåndsvisning
- Challenge: Filtering Users by Two CriteriaForhåndsvisning
- BinaryOperator: Combining Two ValuesForhåndsvisning
Learn about various intermediate operations available in the Stream API that allow you to manipulate and process data in a functional style. These operations, such as filtering, transforming, and sorting, enable you to efficiently work with collections and perform tasks like removing duplicates, limiting results, or handling nested structures. Each operation can be combined to create powerful data pipelines, making your code more concise and readable.
- Transforming Elements with the map() MethodForhåndsvisning
- Filtering Elements with the filter() MethodForhåndsvisning
- Challenge: Factory Product FilteringForhåndsvisning
- Working with Nested Structures with the flatMap() MethodForhåndsvisning
- Arranging Items in Order with the sorted() MethodForhåndsvisning
- Challenge: Selecting the Best Cars on the Production LineForhåndsvisning
- Eliminating Duplicates with the distinct() MethodForhåndsvisning
- Challenge: Factory Quality ControlForhåndsvisning
- Restricting and Skipping Elements with the limit() and skip() MethodsForhåndsvisning
- Challenge: Finding the Top 3 Hardest-Working EmployeesForhåndsvisning
- Intermediate Processing with the peek() MethodForhåndsvisning
Learn about various terminal operations available in the Stream API that allow you to process and retrieve data efficiently. These operations, such as collecting, reducing, and counting, enable you to aggregate results, find specific elements, or perform side effects like printing or writing to a file. Understanding these operations helps you efficiently handle data processing tasks while keeping your code concise and expressive.
- collect() Gathering Stream Elements into a CollectionForhåndsvisning
- Challenge: Build a Custom Collector for Category CountingForhåndsvisning
- Collectors Utility Class for Stream APIForhåndsvisning
- Processing Elements with the forEach() MethodForhåndsvisning
- Handling Values with the Optional ClassForhåndsvisning
- Aggregating Elements with the reduce() MethodForhåndsvisning
- Challenge: Calculating Total Cost with Discounts and TaxForhåndsvisning
- Calculating Stream Statistics with count(), max(), and min()Forhåndsvisning
- Retrieving Stream Summary Metrics with summaryStatistics() MethodForhåndsvisning
- Retrieving Elements from a Stream with findFirst() and findAny()Forhåndsvisning
- Challenge: Selecting Random Products Within a CategoryForhåndsvisning
- Checking Stream Elements Against a Condition with allMatch()Forhåndsvisning
- Challenge: Ensuring Fast Delivery for Expensive ProductsForhåndsvisning
Discover how to apply Stream API in real-world scenarios, improving code readability and efficiency. Learn how to refactor existing code, analyze performance trade-offs, and handle exceptions properly. Will help you write cleaner and more maintainable Java code using Stream API.
Requirements
- A computer with a browser - all browsers are supported.
- Your enthusiasm to enhance your tech skills.
- Everything else needed to start learning and practicing is already included in this course.
Over 200,000 5-star ratings and counting
Ruslan Kravchuk
Det viktigste er å lære og ikke gi opp
Materialet er bra, det er mye å lære, alt for å bli bedre, og det viktigste er å lære det du ønsker....
Matteo Comune
Takket være dem lærer jeg mye…
Takket være dem lærer jeg mye raskere fordi de hjelper deg med å forstå alt fra grunnen av. Det er den beste nettsiden for folk uten IT-bakgrunn...
Yuliana Cadavid
Flott kurs for nybegynnere
Flott kurs for nybegynnere, de tester kunnskapen din i hver leksjon....
Elpunzon
Jeg nyter min Codefinity-opplevelse…
Jeg nyter min Codefinity-opplevelse med å lære Python. Den selvstyrte læringsmåten er flott fordi jeg kan tilpasse den til timeplanen min...
Alexandru Alexandru
Det er hyggelig å lære fra Codefinity
Det er hyggelig å lære fra Codefinity. Det er enkelt og har gode eksempler på det jeg lærte her...
jacob Templet
Easy to follow along with and provides…
Lett å følge med på og gir utfordring i hverdagen min. Utfordringen får meg til å ville lære dag etter dag...
Elan
Codefinity er et omfattende læringsverktøy…
Codefinity er et omfattende læringsverktøy som hjelper deg med å utvikle ferdighetene dine som programvareingeniør eller datavitenskapsmann. Øvelsene er morsomme og en god måte å skjerpe ferdighetene dine på...
Thibault
Første gang jeg lærer å programmere
Første gang jeg lærer å programmere og lykkes med det takket være Codefinity – Takk!...
Adrien Morel
Godt designet for totale nybegynnere
Godt designet for totale nybegynnere, med inkrementell fremgang som gir meg selvtillit....
_Gracy
det er rett og slett perfekt forklart.
Det er rett og slett perfekt forklart! Så langt har jeg ikke opplevd noen vanskeligheter fordi alt er så godt organisert....
Ruslan Kravchuk
Det viktigste er å lære og ikke gi opp
Materialet er bra, det er mye å lære, alt for å bli bedre, og det viktigste er å lære det du ønsker....
Matteo Comune
Takket være dem lærer jeg mye…
Takket være dem lærer jeg mye raskere fordi de hjelper deg med å forstå alt fra grunnen av. Det er den beste nettsiden for folk uten IT-bakgrunn...
Yuliana Cadavid
Flott kurs for nybegynnere
Flott kurs for nybegynnere, de tester kunnskapen din i hver leksjon....
Elpunzon
Jeg nyter min Codefinity-opplevelse…
Jeg nyter min Codefinity-opplevelse med å lære Python. Den selvstyrte læringsmåten er flott fordi jeg kan tilpasse den til timeplanen min...
Alexandru Alexandru
Det er hyggelig å lære fra Codefinity
Det er hyggelig å lære fra Codefinity. Det er enkelt og har gode eksempler på det jeg lærte her...
jacob Templet
Easy to follow along with and provides…
Lett å følge med på og gir utfordring i hverdagen min. Utfordringen får meg til å ville lære dag etter dag...
Elan
Codefinity er et omfattende læringsverktøy…
Codefinity er et omfattende læringsverktøy som hjelper deg med å utvikle ferdighetene dine som programvareingeniør eller datavitenskapsmann. Øvelsene er morsomme og en god måte å skjerpe ferdighetene dine på...
Thibault
Første gang jeg lærer å programmere
Første gang jeg lærer å programmere og lykkes med det takket være Codefinity – Takk!...
Adrien Morel
Godt designet for totale nybegynnere
Godt designet for totale nybegynnere, med inkrementell fremgang som gir meg selvtillit....
_Gracy
det er rett og slett perfekt forklart.
Det er rett og slett perfekt forklart! Så langt har jeg ikke opplevd noen vanskeligheter fordi alt er så godt organisert....
Data Engineer
Sertifikat for fullføring
Vis frem dine nyervervede ferdigheter. Du har fortjent det
Discover more
Learning tracks
Kun for Ultimate
1 Kurs
1 Prosjekt
0 Task
Kun for Ultimate
7 Kurs
345 Oppgaver
Kun for Ultimate
4 Kurs
98 Oppgaver
Kun for Ultimate
5 Kurs
145 Oppgaver
Kun for Ultimate
4 Kurs
115 Oppgaver
Kun for Ultimate
6 Kurs
101 Oppgaver
Kun for Ultimate
6 Kurs
195 Oppgaver
Kun for Ultimate
5 Kurs
144 Oppgaver
Kun for Ultimate
3 Kurs
1 Prosjekt
125 Oppgaver
Kun for Ultimate
4 Kurs
143 Oppgaver
Kun for Ultimate
5 Kurs
180 Oppgaver
Kun for Ultimate
5 Kurs
165 Oppgaver
Kun for Ultimate
6 Kurs
308 Oppgaver
Kun for Ultimate
6 Kurs
252 Oppgaver
Kun for Ultimate
8 Kurs
2 Prosjekter
185 Oppgaver
Kun for Ultimate
2 Kurs
89 Oppgaver
Kun for Ultimate
7 Kurs
293 Oppgaver
Kun for Ultimate
1 Prosjekt
0 Task
Kun for Ultimate
2 Kurs
21 Oppgaver
Kun for Ultimate
5 Kurs
139 Oppgaver
Kun for Ultimate
2 Kurs
0 Task
Kun for Ultimate
4 Kurs
81 Oppgaver
Kun for Ultimate
13 Kurs
555 Oppgaver
Kun for Ultimate
13 Kurs
555 Oppgaver
Kun for Ultimate
1 Kurs
0 Task
Kun for Ultimate
0 Task
Kun for Ultimate
6 Kurs
180 Oppgaver
Kun for Ultimate
3 Kurs
70 Oppgaver
Kun for Ultimate
7 Kurs
282 Oppgaver
Kun for Ultimate
5 Kurs
239 Oppgaver
Kun for Ultimate
4 Kurs
125 Oppgaver
Kun for Ultimate
3 Kurs
119 Oppgaver
Kun for Ultimate
1 Kurs
15 Oppgaver
Kun for Ultimate
3 Kurs
75 Oppgaver
Kun for Ultimate
3 Kurs
41 Oppgaver
Kun for Ultimate
3 Kurs
180 Oppgaver
Kun for Ultimate
3 Kurs
61 Oppgaver
Kun for Ultimate
2 Kurs
1 Prosjekt
38 Oppgaver
Kun for Ultimate
3 Kurs
36 Oppgaver
Kun for Ultimate
2 Kurs
1 Prosjekt
38 Oppgaver
Kun for Ultimate
5 Kurs
134 Oppgaver
Kun for Ultimate
5 Kurs
211 Oppgaver
Kun for Ultimate
5 Kurs
206 Oppgaver
Kun for Ultimate
3 Kurs
2 Prosjekter
59 Oppgaver
Learning tracks
spor
TEST TRACK 12
Nybegynner
4.0
(9133)
spor
Full Stack Webutvikling
Nybegynner
4.6
(58)
spor
Bli en React-Utvikler
Middelsnivå
4.9
(7)
spor
Mestring av Datavisualisering
Middelsnivå
4.6
(7)
spor
SQL fra Nybegynner til Ekspert
Nybegynner
4.7
(93)
spor
C++-Grunnleggende
Nybegynner
4.4
(17)
spor
Python fra Null til Helt
Nybegynner
4.7
(287)
spor
Overvåket Maskinlæring
Middelsnivå
4.9
(7)
spor
Python Utover Mellomnivå
Nybegynner
4.7
(3)
spor
Spillutvikling med Unity
Nybegynner
4.6
(7)
spor
Become a Django Developer
Avansert
4.5
(28)
spor
Flask for Dummies
Middelsnivå
4.5
(32)
spor
Grunnleggende Innen Frontend-Utvikling
Nybegynner
4.6
(53)
spor
Web Developer from Zero to Hero
Nybegynner
4.6
(57)
spor
Preparation for Data Science
Middelsnivå
4.5
(11)
spor
Deep Learning Odyssey
Avansert
5.0
(3)
spor
Webutvikling med C#
Nybegynner
4.8
(98)
spor
TEST E2E TRACK BEGINNER
Nybegynner
spor
Test Track
4.7
(3)
spor
Skilled Python BackEnd Developer
Avansert
4.7
(264)
spor
Test Recalculate
Nybegynner
spor
Excel-Essensielt
Nybegynner
4.5
(39)
spor
Full-Stack .NET Developer Journey
Middelsnivå
4.8
(129)
spor
Full-Stack .NET Developer Journey
Middelsnivå
4.8
(129)
spor
Test track with rating
Avansert
4.0
(4)
spor
TEST TEST TRACK
Nybegynner
spor
Dataanalytiker Grunnlag
Nybegynner
4.7
(116)
spor
C++ Mastery
Avansert
spor
Java Web
Avansert
4.5
(31)
spor
Bli en QA-Ingeniør
Nybegynner
4.5
(44)
spor
Video Production With Adobe
Nybegynner
spor
UI/UX Designverktøy
Nybegynner
spor
Test image upload track
Nybegynner
spor
Essensielle Kontorferdigheter
Nybegynner
4.6
(24)
spor
GitHub from Zero to Hero
Nybegynner
spor
No-Code Website Development
Nybegynner
spor
C Programming & Low-Level Development
Nybegynner
spor
testes
Nybegynner
4.7
(3)
spor
Test translation track
Middelsnivå
spor
Test CMS Track
Nybegynner
4.7
(3)
spor
Python for Data Analysis
Middelsnivå
4.6
(9)
spor
Digital Marketing Essentials
Nybegynner
spor
Complete Social Media Management
Nybegynner
spor
Business AI Toolkit
Nybegynner
4.5
(2)
Become a Development expert
Interactive exercises
Learning videos
AI-assistant on all courses
Workspaces for designing your own projects
Ready to get started?
ProBest intro offer | UltimateA complete experience to kickstart your career | |
---|---|---|
85+ Top-Rated courses | ||
Completion certificates | ||
AI-Assistant in all courses | ||
20+ hands-on Real-world projects | ||
Personalized study tracks | ||
Unlimited workspaces | ||
Boost your Tech Skills!
with up to 55% off
What you'll get with our subscription:
Access to 85+ top-rated courses
AI-driven Learning
Workspaces for practicing your skills
Personalized study tracks
Certificates of completion
Training 2 or more people?
Get your team access to Codefinity courses anytime, anywhere.
Try Codefinity Teams