

Usikker på hvor
starte?
Track
Certifikat!
Java Essentials
4.3+
★★★★★
★★★★★
9 anmeld.
Beginner
Begiv dig ud på en omfattende rejse ind i Java-programmeringens verden. Uanset om du lige er begyndt eller har noget erfaring med kodning, vil dette spor udstyre dig med den viden og de færdigheder, der kræves for at udmærke sig som Java-udvikler. Vis nu mere
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 Udvidet
I de følgende lektioner vil du blive fortrolig med de indre mekanismer i Java og opdage optimerede metoder til at arbejde med sproget. Dette indebærer at udforske Javas operationer på computerniveau og anvende bedste praksis for effektiv udnyttelse af velkendte begreber.
Du har allerede stødt på metoder, og nu vil du endelig forstå, hvad de faktisk er, hvordan du opretter dine egne metoder, og hvordan du arbejder med dem. Du vil lære at returnere de ønskede værdier fra metoder og markant forbedre kvaliteten og logikken i din kode.
- Hvad er en metode?Forhåndsvisning
- Oprettelse af Egne MetoderForhåndsvisning
- Udfordring: Navne Der Starter Med Bogstavet BForhåndsvisning
- VoidForhåndsvisning
- MetodeøvelserForhåndsvisning
- MetodeoverbelastningForhåndsvisning
- RekursionForhåndsvisning
- Udfordring: Find Maksimum og Minimum i ArrayForhåndsvisning
Gør dig klar til at dykke ned i String og udforske dens indre funktioner og metoder. Vi undersøger de interessante egenskaber, som String tilbyder, herunder muligheden for at tilpasse "toString"-metoden, opdele strenge i understrenge og anvende indekser for effektiv datahentning. Lad os udvide vores viden om strengmanipulation!
I dette afsnit lærer du, hvordan du opretter dine egne klasser og deres objekter. Du vil kunne anvende metoder fra én klasse i en anden og etablere relationer mellem dem. Gør dig klar til at opdage mange interessante begreber og fordybe dig yderligere i OOP-programmering!
- Hvad er en Klasse?Forhåndsvisning
- Hovedklasse og MetodeForhåndsvisning
- AdgangsmodifikatorerForhåndsvisning
- Oprettelse af KlasseForhåndsvisning
- Udfordring: Få Information om ObjektetForhåndsvisning
- KonstruktørForhåndsvisning
- Udfordring: Team-KonstruktørForhåndsvisning
- Metode ToString()Forhåndsvisning
- Udfordring: Visning af PapegøjeinformationForhåndsvisning
I dette afsnit fortsætter vi vores undersøgelse af klasser. Vi vil udforske mere avanceret brug af klasseobjekter og lære mere om adgangsmodifikatorer og hvordan de bruges effektivt. Vi vil også gå i dybden med getters og setters, da de betragtes som bedste praksis inden for programmering.
Endelig kan vi begynde at lære objektorienteret programmering (OOP) i Java. Det vil være udfordrende, men jeg er sikker på, at du vil få succes! I dette afsnit gennemgår vi alle principperne for OOP og forklarer, hvorfor OOP er vigtigt. Du lærer, hvordan man arver klasser, overbelaster og overskriver metoder, indkapsler data fra andre klasser og arbejder med abstraktion. Derudover styrker du alle disse teoretiske begreber med praktiske øvelser og arbejder med opgaver i dit IDE. Du opnår en omfattende viden, både praktisk og teoretisk, så lad os komme i gang!
I det foregående afsnit konkluderede vi, at al Objektorienteret Programmering hovedsageligt er baseret på abstraktion. En abstrakt klasse har dog én væsentlig begrænsning – du kan kun arve fra én abstrakt klasse. Men hvad hvis vi har brug for mere?
Her kommer interfaces ind i billedet. I dette afsnit vil du lære, hvad et interface er, hvorfor det er nødvendigt, hvordan det bruges korrekt, og du vil fortsætte med at øve Objektorienteret Programmering. Lad os gøre dig til en professionel!
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 vigtigste er at lære og ikke give op
Materialet er godt, der er meget at lære for at blive bedre, og det vigtigste er at lære det, du ønsker....
Matteo Comune
Takket være dem lærer jeg meget…
Takket være dem lærer jeg meget hurtigere, fordi de hjælper dig med at forstå alt fra bunden. Det er den bedste hjemmeside for folk uden IT-erfaring...
Yuliana Cadavid
fantastisk kursus for begyndere
fantastisk kursus for begyndere, som tester din viden i hver lektion...
Elpunzon
Jeg nyder min Codefinity-oplevelse…
Jeg nyder at lære Python med Codefinity. Den selvstyrede læringsmetode er fantastisk, fordi jeg kan tilpasse den min tidsplan...
Alexandru Alexandru
Det er rart at lære fra Codefinity
Det er rart at lære fra Codefinity. Det er nemt og har gode eksempler på, hvad jeg har lært her...
jacob Templet
Easy to follow along with and provides…
Let at følge med og giver daglige udfordringer. Udfordringen motiverer mig til at lære dag efter dag...
Elan
Codefinity er et omfattende læringsværktøj…
Codefinity er et omfattende læringsværktøj, der hjælper dig med at udvikle dine færdigheder som softwareingeniør eller datavidenskabsmand. Øvelserne er sjove og en god måde at finpudse dine evner på...
Thibault
Første gang jeg lærer at kode
Første gang jeg lærer at kode og lykkes med det hos Codefinity - tak...
Adrien Morel
Godt designet til totale begyndere
Godt designet til totale begyndere, med trinvis progression, der giver mig selvtillid....
_Gracy
det er simpelthen fuldstændig velforklaret
det er simpelthen fuldstændig velforklaret! Indtil videre har jeg ikke oplevet nogen problemer, fordi alt er så godt organiseret...
Ruslan Kravchuk
Det vigtigste er at lære og ikke give op
Materialet er godt, der er meget at lære for at blive bedre, og det vigtigste er at lære det, du ønsker....
Matteo Comune
Takket være dem lærer jeg meget…
Takket være dem lærer jeg meget hurtigere, fordi de hjælper dig med at forstå alt fra bunden. Det er den bedste hjemmeside for folk uden IT-erfaring...
Yuliana Cadavid
fantastisk kursus for begyndere
fantastisk kursus for begyndere, som tester din viden i hver lektion...
Elpunzon
Jeg nyder min Codefinity-oplevelse…
Jeg nyder at lære Python med Codefinity. Den selvstyrede læringsmetode er fantastisk, fordi jeg kan tilpasse den min tidsplan...
Alexandru Alexandru
Det er rart at lære fra Codefinity
Det er rart at lære fra Codefinity. Det er nemt og har gode eksempler på, hvad jeg har lært her...
jacob Templet
Easy to follow along with and provides…
Let at følge med og giver daglige udfordringer. Udfordringen motiverer mig til at lære dag efter dag...
Elan
Codefinity er et omfattende læringsværktøj…
Codefinity er et omfattende læringsværktøj, der hjælper dig med at udvikle dine færdigheder som softwareingeniør eller datavidenskabsmand. Øvelserne er sjove og en god måde at finpudse dine evner på...
Thibault
Første gang jeg lærer at kode
Første gang jeg lærer at kode og lykkes med det hos Codefinity - tak...
Adrien Morel
Godt designet til totale begyndere
Godt designet til totale begyndere, med trinvis progression, der giver mig selvtillid....
_Gracy
det er simpelthen fuldstændig velforklaret
det er simpelthen fuldstændig velforklaret! Indtil videre har jeg ikke oplevet nogen problemer, fordi alt er så godt organiseret...
Data Engineer
Certifikat for fuldførelse
Fremvis dine nyligt opnåede færdigheder. Du har fortjent det
Discover more
Learning tracks
Kun for Ultimate
1 Kursus
1 Projekt
0 Task
Kun for Ultimate
7 Kurser
345 Opgaver
Kun for Ultimate
4 Kurser
98 Opgaver
Kun for Ultimate
5 Kurser
145 Opgaver
Kun for Ultimate
4 Kurser
115 Opgaver
Kun for Ultimate
6 Kurser
101 Opgaver
Kun for Ultimate
6 Kurser
195 Opgaver
Kun for Ultimate
5 Kurser
144 Opgaver
Kun for Ultimate
3 Kurser
1 Projekt
125 Opgaver
Kun for Ultimate
4 Kurser
143 Opgaver
Kun for Ultimate
5 Kurser
180 Opgaver
Kun for Ultimate
5 Kurser
165 Opgaver
Kun for Ultimate
6 Kurser
308 Opgaver
Kun for Ultimate
6 Kurser
252 Opgaver
Kun for Ultimate
8 Kurser
2 Projekter
185 Opgaver
Kun for Ultimate
2 Kurser
89 Opgaver
Kun for Ultimate
7 Kurser
293 Opgaver
Kun for Ultimate
1 Projekt
0 Task
Kun for Ultimate
2 Kurser
21 Opgaver
Kun for Ultimate
5 Kurser
139 Opgaver
Kun for Ultimate
2 Kurser
0 Task
Kun for Ultimate
4 Kurser
81 Opgaver
Kun for Ultimate
13 Kurser
555 Opgaver
Kun for Ultimate
13 Kurser
555 Opgaver
Kun for Ultimate
1 Kursus
0 Task
Kun for Ultimate
0 Task
Kun for Ultimate
6 Kurser
180 Opgaver
Kun for Ultimate
3 Kurser
70 Opgaver
Kun for Ultimate
7 Kurser
282 Opgaver
Kun for Ultimate
5 Kurser
239 Opgaver
Kun for Ultimate
4 Kurser
125 Opgaver
Kun for Ultimate
3 Kurser
119 Opgaver
Kun for Ultimate
1 Kursus
15 Opgaver
Kun for Ultimate
3 Kurser
75 Opgaver
Kun for Ultimate
3 Kurser
41 Opgaver
Kun for Ultimate
3 Kurser
180 Opgaver
Kun for Ultimate
3 Kurser
61 Opgaver
Kun for Ultimate
2 Kurser
1 Projekt
38 Opgaver
Kun for Ultimate
3 Kurser
36 Opgaver
Kun for Ultimate
2 Kurser
1 Projekt
38 Opgaver
Kun for Ultimate
5 Kurser
134 Opgaver
Kun for Ultimate
5 Kurser
211 Opgaver
Kun for Ultimate
5 Kurser
206 Opgaver
Kun for Ultimate
3 Kurser
2 Projekter
59 Opgaver
Learning tracks
spor
TEST TRACK 12
Begynder
4.0
(9130)
spor
Full Stack Webudvikling
Begynder
4.6
(58)
spor
Bliv En React-Udvikler
Mellemniveau
4.9
(7)
spor
Mestring af Datavisualisering
Mellemniveau
4.6
(7)
spor
SQL fra Begynder til Ekspert
Begynder
4.7
(93)
spor
C++ Grundlæggende
Begynder
4.4
(17)
spor
Python fra Nul til Helt
Begynder
4.7
(287)
spor
Superviseret Maskinlæring
Mellemniveau
4.9
(7)
spor
Python Ud Over Mellemniveau
Begynder
4.7
(3)
spor
Spiludvikling med Unity
Begynder
4.6
(7)
spor
Become a Django Developer
Avanceret
4.5
(28)
spor
Flask for Dummies
Mellemniveau
4.5
(32)
spor
Frontend Udviklingsgrundlag
Begynder
4.6
(53)
spor
Web Developer from Zero to Hero
Begynder
4.6
(57)
spor
Preparation for Data Science
Mellemniveau
4.5
(11)
spor
Deep Learning Odyssey
Avanceret
5.0
(3)
spor
Webudvikling Med C#
Begynder
4.8
(98)
spor
TEST E2E TRACK BEGINNER
Begynder
spor
Test Track
4.7
(3)
spor
Skilled Python BackEnd Developer
Avanceret
4.7
(264)
spor
Test Recalculate
Begynder
spor
Excel Essentials
Begynder
4.5
(39)
spor
Full-Stack .NET Developer Journey
Mellemniveau
4.8
(129)
spor
Full-Stack .NET Developer Journey
Mellemniveau
4.8
(129)
spor
Test track with rating
Avanceret
4.0
(4)
spor
TEST TEST TRACK
Begynder
spor
Dataanalytiker Grundlag
Begynder
4.7
(116)
spor
C++ Mastery
Avanceret
spor
Java Web
Avanceret
4.5
(31)
spor
Bliv QA-Ingeniør
Begynder
4.5
(44)
spor
Videoproduktion med Adobe
Begynder
spor
UI/UX Designværktøjer
Begynder
spor
Test image upload track
Begynder
spor
Essentielle Kontorfærdigheder
Begynder
4.6
(24)
spor
GitHub from Zero to Hero
Begynder
spor
No-Code Website Development
Begynder
spor
C Programming & Low-Level Development
Begynder
spor
testes
Begynder
4.7
(3)
spor
Test translation track
Mellemniveau
spor
Test CMS Track
Begynder
4.7
(3)
spor
Python for Data Analysis
Mellemniveau
4.6
(9)
spor
Digital Marketing Essentials
Begynder
spor
Complete Social Media Management
Begynder
spor
Business AI Toolkit
Begynder
4.5
(2)
Become a Software 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