{"id":93914,"date":"2025-12-30T23:09:22","date_gmt":"2025-12-30T16:09:22","guid":{"rendered":"https:\/\/itviec.com\/blog\/?p=93914"},"modified":"2025-12-30T23:09:25","modified_gmt":"2025-12-30T16:09:25","slug":"java-core-la-gi","status":"publish","type":"post","link":"https:\/\/itviec.com\/blog\/java-core-la-gi\/","title":{"rendered":"Java Core: 5 tr\u1ee5 c\u1ed9t c\u1ed1t l\u00f5i c\u1ee7a Java m\u00e0 b\u1ea1n c\u1ea7n n\u1eafm v\u1eefng"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">N\u1ed9i dung b\u00e0i vi\u1ebft<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/itviec.com\/blog\/java-core-la-gi\/#Kien_truc_va_moi_truong_thuc_thi\" >Ki\u1ebfn tr\u00fac v\u00e0 m\u00f4i tr\u01b0\u1eddng th\u1ef1c thi<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/itviec.com\/blog\/java-core-la-gi\/#Cu_phap_va_cac_khai_niem_co_ban\" >C\u00fa ph\u00e1p v\u00e0 c\u00e1c kh\u00e1i ni\u1ec7m c\u01a1 b\u1ea3n&nbsp;<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/itviec.com\/blog\/java-core-la-gi\/#Lap_trinh_huong_doi_tuong_OOP\" >L\u1eadp tr\u00ecnh h\u01b0\u1edbng \u0111\u1ed1i t\u01b0\u1ee3ng (OOP)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/itviec.com\/blog\/java-core-la-gi\/#Java_Collections_Framework_JCF\" >Java Collections Framework (JCF)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/itviec.com\/blog\/java-core-la-gi\/#Da_luong_co_ban_Basic_Multithreading\" >\u0110a lu\u1ed3ng c\u01a1 b\u1ea3n (Basic Multithreading)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/itviec.com\/blog\/java-core-la-gi\/#IO_Co_ban_InputOutput\" >I\/O C\u01a1 b\u1ea3n (Input\/Output)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/itviec.com\/blog\/java-core-la-gi\/#Xu_ly_Ngoai_le_Exception_Handling\" >X\u1eed l\u00fd Ngo\u1ea1i l\u1ec7 (Exception Handling)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/itviec.com\/blog\/java-core-la-gi\/#Cac_cau_hoi_thuong_gap_ve_Java_core\" >C\u00e1c c\u00e2u h\u1ecfi th\u01b0\u1eddng g\u1eb7p v\u1ec1 Java core<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/itviec.com\/blog\/java-core-la-gi\/#Ket_luan\" >K\u1ebft lu\u1eadn<\/a><\/li><\/ul><\/nav><\/div>\n\n<p><strong><em>D\u00f9 c\u00f4ng ngh\u1ec7 li\u00ean t\u1ee5c thay \u0111\u1ed5i, Java v\u1eabn gi\u1eef v\u1ecb th\u1ebf h\u00e0ng \u0111\u1ea7u trong c\u00e1c l\u0129nh v\u1ef1c Enterprise, Mobile v\u00e0 Big Data. Tuy nhi\u00ean, sai l\u1ea7m ph\u1ed5 bi\u1ebfn c\u1ee7a nhi\u1ec1u l\u1eadp tr\u00ecnh vi\u00ean l\u00e0 l\u1ea1m d\u1ee5ng Framework (Spring, Java EE) khi ch\u01b0a v\u1eefng n\u1ec1n t\u1ea3ng. H\u1eadu qu\u1ea3 l\u00e0 code thi\u1ebfu t\u1ed1i \u01b0u, d\u1ec5 g\u1eb7p c\u00e1c l\u1ed7i kh\u00f3 ch\u1ecbu v\u1ec1 hi\u1ec7u su\u1ea5t (performance) hay r\u00f2 r\u1ec9 b\u1ed9 nh\u1edb (memory leak).<\/em><\/strong><\/p>\n\n\n\n<p>\u0110\u1ec3 gi\u00fap b\u1ea1n x\u00e2y d\u1ef1ng b\u00e0n \u0111\u1ea1p v\u1eefng ch\u1eafc tr\u01b0\u1edbc khi ti\u1ebfn t\u1edbi c\u00e1c c\u00f4ng ngh\u1ec7 n\u00e2ng cao, b\u00e0i vi\u1ebft n\u00e0y s\u1ebd h\u1ec7 th\u1ed1ng l\u1ea1i 5 tr\u1ee5 c\u1ed9t c\u1ed1t l\u00f5i nh\u1ea5t c\u1ee7a Java (Java Core):<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>C\u00fa ph\u00e1p v\u00e0 c\u00e1c kh\u00e1i ni\u1ec7m c\u01a1 b\u1ea3n<\/li>\n\n\n\n<li>L\u1eadp tr\u00ecnh h\u01b0\u1edbng \u0111\u1ed1i t\u01b0\u01a1ng OOP&nbsp;<\/li>\n\n\n\n<li>Collections: Qu\u1ea3n l\u00fd c\u1ea5u tr\u00fac d\u1eef li\u1ec7u hi\u1ec7u qu\u1ea3<\/li>\n\n\n\n<li>Multithreading: X\u1eed l\u00fd \u0111a lu\u1ed3ng v\u00e0 t\u1ed1i \u01b0u hi\u1ec7u n\u0103ng<\/li>\n\n\n\n<li>I\/O: C\u01a1 ch\u1ebf \u0111\u1ecdc\/ghi d\u1eef li\u1ec7u.<\/li>\n<\/ul>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>\u0110\u1ecdc chi ti\u1ebft: <strong><a href=\"https:\/\/itviec.com\/blog\/java-la-gi\/\" target=\"_blank\" rel=\"noreferrer noopener\">Java l\u00e0 g\u00ec? T\u1ea5t c\u1ea3 nh\u1eefng \u0111i\u1ec1u b\u1ea1n c\u1ea7n bi\u1ebft v\u1ec1 ng\u00f4n ng\u1eef Java<\/a><\/strong><\/em><\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-ki\u1ebfn-truc-va-moi-tr\u01b0\u1eddng-th\u1ef1c-thi\"><span class=\"ez-toc-section\" id=\"Kien_truc_va_moi_truong_thuc_thi\"><\/span><strong>Ki\u1ebfn tr\u00fac v\u00e0 m\u00f4i tr\u01b0\u1eddng th\u1ef1c thi<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-jdk-jre-va-jvm\"><strong>JDK, JRE v\u00e0 JVM<\/strong><\/h3>\n\n\n\n<p>Tr\u01b0\u1edbc khi vi\u1ebft d\u00f2ng code \u0111\u1ea7u ti\u00ean, ch\u00fang ta c\u1ea7n hi\u1ec3u code \u0111\u00f3 s\u1ebd ch\u1ea1y \u1edf \u0111\u00e2u v\u00e0 nh\u01b0 th\u1ebf n\u00e0o. R\u1ea5t nhi\u1ec1u l\u1ed7i m\u00f4i tr\u01b0\u1eddng (environment setup) xu\u1ea5t ph\u00e1t t\u1eeb vi\u1ec7c kh\u00f4ng ph\u00e2n bi\u1ec7t \u0111\u01b0\u1ee3c b\u1ed9 ba kh\u00e1i ni\u1ec7m <strong>JDK, JRE v\u00e0 JVM.<\/strong><\/p>\n\n\n\n<p>H\u00e3y t\u01b0\u1edfng t\u01b0\u1ee3ng m\u1ed1i quan h\u1ec7 n\u00e0y nh\u01b0 c\u1ea5u tr\u00fac bao h\u00e0m: <strong>JDK ch\u1ee9a JRE, v\u00e0 JRE ch\u1ee9a JVM<\/strong>.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>JVM (Java Virtual Machine &#8211; M\u00e1y \u1ea3o Java):<\/strong> \u0110\u00e2y l\u00e0 &#8220;tr\u00e1i tim&#8221; c\u1ee7a Java. N\u00f3 kh\u00f4ng hi\u1ec3u code b\u1ea1n vi\u1ebft (file <code>.java<\/code>), nh\u01b0ng n\u00f3 hi\u1ec3u <strong>Bytecode<\/strong> (file <code>.class<\/code>). JVM ch\u1ecbu tr\u00e1ch nhi\u1ec7m chuy\u1ec3n \u0111\u1ed5i Bytecode th\u00e0nh m\u00e3 m\u00e1y (machine code) t\u01b0\u01a1ng \u1ee9ng v\u1edbi t\u1eebng h\u1ec7 \u0111i\u1ec1u h\u00e0nh (Windows, Linux, macOS). \u0110\u00e2y ch\u00ednh l\u00e0 l\u00fd do Java c\u00f3 slogan: <em>&#8220;Write Once, Run Anywhere&#8221;<\/em>.<\/li>\n\n\n\n<li><strong>JRE (Java Runtime Environment):<\/strong> N\u1ebfu b\u1ea1n ch\u1ec9 l\u00e0 ng\u01b0\u1eddi d\u00f9ng mu\u1ed1n <strong>ch\u1ea1y<\/strong> \u1ee9ng d\u1ee5ng Java, b\u1ea1n ch\u1ec9 c\u1ea7n JRE. N\u00f3 bao g\u1ed3m JVM + c\u00e1c th\u01b0 vi\u1ec7n chu\u1ea9n (Class Libraries) c\u1ea7n thi\u1ebft \u0111\u1ec3 ch\u01b0\u01a1ng tr\u00ecnh ho\u1ea1t \u0111\u1ed9ng.<\/li>\n\n\n\n<li><strong>JDK (Java Development Kit):<\/strong> N\u1ebfu b\u1ea1n l\u00e0 l\u1eadp tr\u00ecnh vi\u00ean mu\u1ed1n <strong>vi\u1ebft v\u00e0 bi\u00ean d\u1ecbch<\/strong> code, b\u1ea1n c\u1ea7n JDK. N\u00f3 bao g\u1ed3m JRE + c\u00e1c c\u00f4ng c\u1ee5 ph\u00e1t tri\u1ec3n (Development Tools) nh\u01b0 tr\u00ecnh bi\u00ean d\u1ecbch (<code>javac<\/code>), tr\u00ecnh g\u1ee1 l\u1ed7i (<code>jdb<\/code>), v.v.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-bytecode-amp-quy-trinh-th\u1ef1c-thi\"><strong>Bytecode &amp; Quy tr\u00ecnh th\u1ef1c thi<\/strong><\/h3>\n\n\n\n<p>Kh\u00e1c v\u1edbi C++ (bi\u00ean d\u1ecbch th\u1eb3ng ra m\u00e3 m\u00e1y), quy tr\u00ecnh c\u1ee7a Java \u0111i qua m\u1ed9t b\u01b0\u1edbc trung gian:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Bi\u00ean d\u1ecbch (Compile):<\/strong> Tr\u00ecnh bi\u00ean d\u1ecbch <code>javac<\/code> chuy\u1ec3n \u0111\u1ed5i m\u00e3 ngu\u1ed3n (<code>.java<\/code>) th\u00e0nh <strong>Bytecode<\/strong> (<code>.class<\/code>). Bytecode kh\u00f4ng ph\u1ea3i l\u00e0 m\u00e3 m\u00e1y, m\u00e0 l\u00e0 t\u1eadp l\u1ec7nh cho m\u00e1y \u1ea3o.<\/li>\n\n\n\n<li><strong>Th\u1ef1c thi (Run):<\/strong> Khi ch\u1ea1y ch\u01b0\u01a1ng tr\u00ecnh, JVM s\u1ebd \u0111\u1ecdc Bytecode n\u00e0y v\u00e0 d\u00f9ng tr\u00ecnh bi\u00ean d\u1ecbch JIT (Just-In-Time) \u0111\u1ec3 d\u1ecbch n\u00f3 sang m\u00e3 m\u00e1y th\u1eadt s\u1ef1 c\u1ee7a thi\u1ebft b\u1ecb \u0111ang ch\u1ea1y.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-c\u1ea5u-truc-ch\u01b0\u01a1ng-trinh-java-c\u01a1-b\u1ea3n\"><strong>C\u1ea5u tr\u00fac ch\u01b0\u01a1ng tr\u00ecnh Java c\u01a1 b\u1ea3n<\/strong><\/h3>\n\n\n\n<p>M\u1ecdi \u1ee9ng d\u1ee5ng Java, d\u00f9 l\u1edbn hay nh\u1ecf, \u0111\u1ec1u b\u1eaft \u0111\u1ea7u t\u1eeb nh\u1eefng c\u1ea5u tr\u00fac n\u1ec1n t\u1ea3ng sau. H\u00e3y c\u00f9ng t\u00ecm hi\u1ec3u qua m\u1ed9t \u0111o\u1ea1n code c\u01a1 b\u1ea3n:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>package com.example.helloworld; \/\/ 1. Khai b\u00e1o Package\n\nimport java.util.Date; \/\/ 2. Import th\u01b0 vi\u1ec7n\n\npublic class HelloWorld { \/\/ 3. Khai b\u00e1o Class\n    \n    \/\/ 4. Main method - \u0110i\u1ec3m kh\u1edfi \u0111\u1ea7u c\u1ee7a ch\u01b0\u01a1ng tr\u00ecnh\n    public static void main(String&#91;] args) {\n        System.out.println(\"Xin ch\u00e0o Java Core!\");\n    }\n}<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Package (G\u00f3i):<\/strong> Gi\u1ed1ng nh\u01b0 c\u00e1c th\u01b0 m\u1ee5c trong m\u00e1y t\u00ednh, Package d\u00f9ng \u0111\u1ec3 gom nh\u00f3m c\u00e1c Class li\u00ean quan l\u1ea1i v\u1edbi nhau, gi\u00fap code g\u1ecdn g\u00e0ng v\u00e0 tr\u00e1nh xung \u0111\u1ed9t t\u00ean.<\/li>\n\n\n\n<li><strong>Import:<\/strong> D\u00f9ng \u0111\u1ec3 import c\u00e1c Class t\u1eeb package kh\u00e1c (v\u00ed d\u1ee5: mu\u1ed1n d\u00f9ng ng\u00e0y th\u00e1ng ph\u1ea3i import <code>java.util.Date<\/code>).<\/li>\n\n\n\n<li><strong>Class (L\u1edbp):<\/strong> \u0110\u01a1n v\u1ecb c\u1ea5u t\u1ea1o c\u01a1 b\u1ea3n nh\u1ea5t c\u1ee7a Java. M\u1ecdi \u0111o\u1ea1n code Java \u0111\u1ec1u ph\u1ea3i n\u1eb1m trong m\u1ed9t Class. T\u00ean Class ph\u1ea3i tr\u00f9ng v\u1edbi t\u00ean file (v\u00ed d\u1ee5 file <code>HelloWorld.java<\/code> th\u00ec class ph\u1ea3i l\u00e0 <code>HelloWorld<\/code>).<\/li>\n\n\n\n<li><strong>Main Method:<\/strong> <code>public static void main(String[] args)<\/code>\n<ul class=\"wp-block-list\">\n<li>\u0110\u00e2y l\u00e0 &#8220;c\u00e1nh c\u1ed5ng&#8221; \u0111\u1ea7u ti\u00ean m\u00e0 JVM t\u00ecm \u0111\u1ebfn \u0111\u1ec3 b\u1eaft \u0111\u1ea7u ch\u1ea1y ch\u01b0\u01a1ng tr\u00ecnh.<\/li>\n\n\n\n<li>N\u1ebfu thi\u1ebfu h\u00e0m n\u00e0y, ch\u01b0\u01a1ng tr\u00ecnh s\u1ebd kh\u00f4ng th\u1ec3 th\u1ef1c thi (m\u1eb7c d\u00f9 v\u1eabn c\u00f3 th\u1ec3 bi\u00ean d\u1ecbch).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-cu-phap-va-cac-khai-ni\u1ec7m-c\u01a1-b\u1ea3n-nbsp\"><span class=\"ez-toc-section\" id=\"Cu_phap_va_cac_khai_niem_co_ban\"><\/span><strong>C\u00fa ph\u00e1p v\u00e0 c\u00e1c kh\u00e1i ni\u1ec7m c\u01a1 b\u1ea3n&nbsp;<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>N\u1ebfu JVM l\u00e0 trung t\u00e2m x\u1eed l\u00fd, th\u00ec c\u00fa ph\u00e1p (syntax) ch\u00ednh l\u00e0 c\u00e1ch ch\u00fang ta ra l\u1ec7nh cho b\u1ed9 m\u00e1y \u0111\u00f3 ho\u1ea1t \u0111\u1ed9ng. Trong ph\u1ea7n n\u00e0y, ch\u00fang ta s\u1ebd \u0111i qua c\u00e1c quy t\u1eafc c\u1ed1t l\u00f5i \u0111\u1ec3 x\u00e2y d\u1ef1ng logic ch\u01b0\u01a1ng tr\u00ecnh.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-ki\u1ec3u-d\u1eef-li\u1ec7u-data-types\"><strong>Ki\u1ec3u d\u1eef li\u1ec7u (Data Types)<\/strong><\/h3>\n\n\n\n<p>Java l\u00e0 ng\u00f4n ng\u1eef <strong>\u0111\u1ecbnh ki\u1ec3u m\u1ea1nh (strongly typed)<\/strong>, ngh\u0129a l\u00e0 m\u1ecdi bi\u1ebfn \u0111\u1ec1u ph\u1ea3i \u0111\u01b0\u1ee3c khai b\u00e1o ki\u1ec3u d\u1eef li\u1ec7u c\u1ee5 th\u1ec3 tr\u01b0\u1edbc khi s\u1eed d\u1ee5ng. Java chia d\u1eef li\u1ec7u th\u00e0nh 2 nh\u00f3m ch\u00ednh:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Primitive Types: <\/strong>\u0110\u00e2y l\u00e0 8 ki\u1ec3u d\u1eef li\u1ec7u c\u01a1 b\u1ea3n nh\u1ea5t, l\u01b0u tr\u1eef gi\u00e1 tr\u1ecb tr\u1ef1c ti\u1ebfp trong b\u1ed9 nh\u1edb (Stack) \u0111\u1ec3 t\u1ed1i \u01b0u hi\u1ec7u su\u1ea5t.<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>S\u1ed1 nguy\u00ean:<\/strong> <code>byte<\/code>, <code>short<\/code>, <code>int<\/code>, <code>long<\/code>.<\/li>\n\n\n\n<li><strong>S\u1ed1 th\u1ef1c:<\/strong> <code>float<\/code>, <code>double<\/code>.<\/li>\n\n\n\n<li><strong>K\u00fd t\u1ef1:<\/strong> <code>char<\/code> (l\u01b0u m\u00e3 Unicode).<\/li>\n\n\n\n<li><strong>Lu\u1eadn l\u00fd:<\/strong> <code>boolean<\/code> (true\/false).<\/li>\n<\/ul>\n\n\n\n<p><strong>\u0110i\u1ec3m kh\u00e1c bi\u1ec7t c\u1ee7a Java:<\/strong> Trong C\/C++, k\u00edch th\u01b0\u1edbc c\u1ee7a int c\u00f3 th\u1ec3 thay \u0111\u1ed5i t\u00f9y theo h\u1ec7 \u0111i\u1ec1u h\u00e0nh (16-bit ho\u1eb7c 32-bit). Nh\u01b0ng trong Java, k\u00edch th\u01b0\u1edbc n\u00e0y l\u00e0 <strong>c\u1ed1 \u0111\u1ecbnh<\/strong> (v\u00ed d\u1ee5: int lu\u00f4n l\u00e0 32-bit) b\u1ea5t k\u1ec3 b\u1ea1n ch\u1ea1y tr\u00ean Windows hay Linux. \u0110i\u1ec1u n\u00e0y \u0111\u1ea3m b\u1ea3o t\u00ednh nh\u1ea5t qu\u00e1n c\u1ee7a slogan <em>&#8220;Write Once, Run Anywhere&#8221;<\/em>.<\/p>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>Wrapper Classes (L\u1edbp bao \u0111\u00f3ng) &amp; Autoboxing<\/strong>&nbsp;<\/li>\n<\/ol>\n\n\n\n<p>T\u1ea1i sao ch\u00fang ta c\u00f3 <code>int<\/code> r\u1ed3i m\u00e0 v\u1eabn c\u1ea7n <code>Integer<\/code>? V\u00ec c\u00e1c c\u1ea5u tr\u00fac d\u1eef li\u1ec7u trong Java (nh\u01b0 <code>ArrayList<\/code>, <code>Vector<\/code>) ch\u1ec9 l\u00e0m vi\u1ec7c v\u1edbi Object, kh\u00f4ng l\u00e0m vi\u1ec7c v\u1edbi Primitive. B\u1ea1n kh\u00f4ng th\u1ec3 vi\u1ebft <code>ArrayList&lt;int&gt;<\/code>, m\u00e0 b\u1eaft bu\u1ed9c ph\u1ea3i l\u00e0 <code>ArrayList&lt;Integer&gt;<\/code>.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Autoboxing:<\/strong> Java t\u1ef1 \u0111\u1ed9ng chuy\u1ec3n \u0111\u1ed5i t\u1eeb Primitive sang Wrapper (VD: <code>int<\/code> -&gt; <code>Integer<\/code>).<\/li>\n\n\n\n<li><strong>Unboxing:<\/strong> Ng\u01b0\u1ee3c l\u1ea1i, chuy\u1ec3n t\u1eeb Wrapper sang Primitive.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-bi\u1ebfn-h\u1eb1ng-va-ph\u1ea1m-vi-variables-constants-scope\"><strong>Bi\u1ebfn, H\u1eb1ng v\u00e0 Ph\u1ea1m vi (Variables, Constants, Scope)<\/strong><\/h3>\n\n\n\n<p>Vi\u1ec7c hi\u1ec3u v\u00f2ng \u0111\u1eddi c\u1ee7a bi\u1ebfn gi\u00fap b\u1ea1n qu\u1ea3n l\u00fd b\u1ed9 nh\u1edb t\u1ed1t h\u01a1n v\u00e0 tr\u00e1nh c\u00e1c l\u1ed7i logic.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-bi\u1ebfn-c\u1ee5c-b\u1ed9-local-variable\"><strong>Bi\u1ebfn c\u1ee5c b\u1ed9 (Local Variable)<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Khai b\u00e1o trong ph\u01b0\u01a1ng th\u1ee9c (method) ho\u1eb7c kh\u1ed1i l\u1ec7nh (block).<\/li>\n\n\n\n<li>Ch\u1ec9 t\u1ed3n t\u1ea1i khi ph\u01b0\u01a1ng th\u1ee9c \u0111ang ch\u1ea1y. <strong>B\u1eaft bu\u1ed9c ph\u1ea3i kh\u1edfi t\u1ea1o gi\u00e1 tr\u1ecb<\/strong> tr\u01b0\u1edbc khi d\u00f9ng.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-bi\u1ebfn-th\u1ec3-hi\u1ec7n-instance-variable\"><strong>Bi\u1ebfn th\u1ec3 hi\u1ec7n (Instance Variable)<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Khai b\u00e1o trong class nh\u01b0ng ngo\u00e0i method.<\/li>\n\n\n\n<li>G\u1eafn li\u1ec1n v\u1edbi m\u1ed9t \u0111\u1ed1i t\u01b0\u1ee3ng (Object) c\u1ee5 th\u1ec3. M\u1ed7i object c\u00f3 m\u1ed9t b\u1ea3n sao ri\u00eang.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-bi\u1ebfn-tinh-static-variable\"><strong>Bi\u1ebfn t\u0129nh (Static Variable)<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Khai b\u00e1o v\u1edbi t\u1eeb kh\u00f3a <code>static<\/code>.<\/li>\n\n\n\n<li>G\u1eafn li\u1ec1n v\u1edbi Class, kh\u00f4ng ph\u1ee5 thu\u1ed9c v\u00e0o Object. T\u1ea5t c\u1ea3 c\u00e1c object d\u00f9ng chung m\u1ed9t bi\u1ebfn n\u00e0y (th\u01b0\u1eddng d\u00f9ng \u0111\u1ec3 \u0111\u1ebfm s\u1ed1 l\u01b0\u1ee3ng \u0111\u1ed1i t\u01b0\u1ee3ng ho\u1eb7c l\u00e0m h\u1eb1ng s\u1ed1 chung).<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-t\u1eeb-khoa-final\"><strong>T\u1eeb kh\u00f3a <code>final<\/code><\/strong><\/h4>\n\n\n\n<p>D\u00f9ng \u0111\u1ec3 khai b\u00e1o h\u1eb1ng s\u1ed1 ho\u1eb7c ng\u0103n ch\u1eb7n s\u1ef1 thay \u0111\u1ed5i.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>V\u1edbi bi\u1ebfn: Gi\u00e1 tr\u1ecb kh\u00f4ng th\u1ec3 thay \u0111\u1ed5i sau khi kh\u1edfi t\u1ea1o (immutable).<\/li>\n\n\n\n<li>V\u1edbi method: Kh\u00f4ng th\u1ec3 b\u1ecb ghi \u0111\u00e8 (override).<\/li>\n\n\n\n<li>V\u1edbi class: Kh\u00f4ng th\u1ec3 k\u1ebf th\u1eeba (inherit).<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-cac-toan-t\u1eed-va-di\u1ec1u-khi\u1ec3n-lu\u1ed3ng\"><strong>C\u00e1c to\u00e1n t\u1eed v\u00e0 \u0110i\u1ec1u khi\u1ec3n lu\u1ed3ng<\/strong><\/h4>\n\n\n\n<p>Logic c\u1ee7a ch\u01b0\u01a1ng tr\u00ecnh \u0111\u01b0\u1ee3c \u0111i\u1ec1u h\u01b0\u1edbng th\u00f4ng qua c\u00e1c c\u1ea5u tr\u00fac n\u00e0y.<\/p>\n\n\n\n<p><strong>To\u00e1n t\u1eed:<\/strong> Ngo\u00e0i c\u00e1c to\u00e1n t\u1eed s\u1ed1 h\u1ecdc (<code>+<\/code>, <code>-<\/code>, <code>*<\/code>, <code>\/<\/code>) v\u00e0 logic (<code>&amp;&amp;<\/code>, <code>||<\/code>, <code>!<\/code>) quen thu\u1ed9c, Java cung c\u1ea5p c\u00e1c to\u00e1n t\u1eed thao t\u00e1c bit (bitwise) cho c\u00e1c t\u00e1c v\u1ee5 c\u1ea5p th\u1ea5p.<\/p>\n\n\n\n<p><strong>C\u1ea5u tr\u00fac \u0111i\u1ec1u ki\u1ec7n:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>if-else<\/code>: D\u00f9ng cho c\u00e1c \u0111i\u1ec1u ki\u1ec7n ph\u1ee9c t\u1ea1p.<\/li>\n\n\n\n<li><code>switch-case<\/code>: T\u1ed1i \u01b0u h\u01a1n <code>if-else<\/code> khi ki\u1ec3m tra m\u1ed9t bi\u1ebfn v\u1edbi nhi\u1ec1u gi\u00e1 tr\u1ecb c\u1ed1 \u0111\u1ecbnh (t\u1eeb Java 14 tr\u1edf l\u00ean \u0111\u00e3 h\u1ed7 tr\u1ee3 <code>switch<\/code> expression g\u1ecdn g\u00e0ng h\u01a1n).<\/li>\n<\/ul>\n\n\n\n<p><strong>V\u00f2ng l\u1eb7p (Loops):<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>for<\/code>: Khi bi\u1ebft tr\u01b0\u1edbc s\u1ed1 l\u1ea7n l\u1eb7p.<\/li>\n\n\n\n<li><code>while<\/code> \/ <code>do-while<\/code>: Khi l\u1eb7p d\u1ef1a tr\u00ean \u0111i\u1ec1u ki\u1ec7n (ki\u1ec3m tra tr\u01b0\u1edbc ho\u1eb7c sau).<\/li>\n\n\n\n<li><strong><code>for-each<\/code> (Enhanced for loop):<\/strong> C\u00fa ph\u00e1p c\u1ef1c k\u1ef3 quan tr\u1ecdng khi l\u00e0m vi\u1ec7c v\u1edbi M\u1ea3ng ho\u1eb7c Collections v\u00ec t\u00ednh ng\u1eafn g\u1ecdn v\u00e0 d\u1ec5 \u0111\u1ecdc.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ V\u00ed d\u1ee5 for-each\nString&#91;] names = {\"Java\", \"Spring\", \"Android\"};\nfor (String name : names) {\n    System.out.println(name);\n}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-l\u1eadp-trinh-h\u01b0\u1edbng-d\u1ed1i-t\u01b0\u1ee3ng-oop\"><span class=\"ez-toc-section\" id=\"Lap_trinh_huong_doi_tuong_OOP\"><\/span><strong>L\u1eadp tr\u00ecnh h\u01b0\u1edbng \u0111\u1ed1i t\u01b0\u1ee3ng (OOP)<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\u0110\u00e2y l\u00e0 ph\u1ea7n quan tr\u1ecdng nh\u1ea5t c\u1ee7a b\u00e0i vi\u1ebft, v\u00ec Java l\u00e0 ng\u00f4n ng\u1eef thu\u1ea7n h\u01b0\u1edbng \u0111\u1ed1i t\u01b0\u1ee3ng. Java \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf ho\u00e0n to\u00e0n d\u1ef1a tr\u00ean m\u00f4 h\u00ecnh \u0111\u1ed1i t\u01b0\u1ee3ng. Vi\u1ec7c n\u1eafm v\u1eefng OOP l\u00e0 b\u1eaft bu\u1ed9c \u0111\u1ec3 t\u1ed5 ch\u1ee9c code, t\u00e1i s\u1eed d\u1ee5ng m\u00e3 ngu\u1ed3n v\u00e0 \u0111\u1ea3m b\u1ea3o t\u00ednh b\u1ea3o tr\u00ec cho h\u1ec7 th\u1ed1ng.&nbsp;<\/p>\n\n\n\n<p>M\u00ecnh \u0111\u00e3 tri\u1ec3n khai ph\u1ea7n n\u00e0y v\u1edbi c\u00e1c v\u00ed d\u1ee5 th\u1ef1c t\u1ebf v\u00e0 gi\u1ea3i th\u00edch c\u00f4 \u0111\u1ecdng \u0111\u1ec3 l\u00e0m r\u00f5 s\u1ef1 kh\u00e1c bi\u1ec7t gi\u1eefa c\u00e1c kh\u00e1i ni\u1ec7m d\u1ec5 nh\u1ea7m l\u1eabn (nh\u01b0 Overloading vs Overriding, Abstract Class vs Interface).<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"467\" src=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/12\/image.png\" alt=\"\" class=\"wp-image-93915\" srcset=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/12\/image.png 800w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/12\/image-300x175.png 300w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/12\/image-640x373.png 640w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/12\/image-200x117.png 200w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/12\/image-768x448.png 768w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/12\/image-1536x896.png 1536w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-class-va-object\"><strong>Class v\u00e0 Object<\/strong><\/h3>\n\n\n\n<p>\u0110\u00e2y l\u00e0 c\u1eb7p kh\u00e1i ni\u1ec7m n\u1ec1n t\u1ea3ng \u0111\u1ecbnh h\u00ecnh n\u00ean ch\u01b0\u01a1ng tr\u00ecnh Java:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Class (L\u1edbp):<\/strong> L\u00e0 khu\u00f4n m\u1eabu (blueprint) \u0111\u1ecbnh ngh\u0129a c\u00e1c thu\u1ed9c t\u00ednh (d\u1eef li\u1ec7u) v\u00e0 ph\u01b0\u01a1ng th\u1ee9c (h\u00e0nh vi) chung. <em>V\u00ed d\u1ee5: B\u1ea3n v\u1ebd thi\u1ebft k\u1ebf xe h\u01a1i.<\/em><\/li>\n\n\n\n<li><strong>Object (\u0110\u1ed1i t\u01b0\u1ee3ng):<\/strong> L\u00e0 th\u1ec3 hi\u1ec7n c\u1ee5 th\u1ec3 (instance) \u0111\u01b0\u1ee3c kh\u1edfi t\u1ea1o t\u1eeb Class, chi\u1ebfm \u00f4 nh\u1edb trong Heap. <em>V\u00ed d\u1ee5: M\u1ed9t chi\u1ebfc xe c\u1ee5 th\u1ec3 \u0111\u01b0\u1ee3c s\u1ea3n xu\u1ea5t t\u1eeb b\u1ea3n v\u1ebd tr\u00ean.<\/em><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-cac-thanh-ph\u1ea7n-b\u1ed5-tr\u1ee3\"><strong>C\u00e1c th\u00e0nh ph\u1ea7n b\u1ed5 tr\u1ee3<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Constructor (H\u00e0m kh\u1edfi t\u1ea1o):<\/strong> Ph\u01b0\u01a1ng th\u1ee9c \u0111\u1eb7c bi\u1ec7t ch\u1ea1y ngay khi kh\u1edfi t\u1ea1o \u0111\u1ed1i t\u01b0\u1ee3ng b\u1eb1ng t\u1eeb kh\u00f3a <code>new<\/code>. M\u1ee5c \u0111\u00edch ch\u00ednh l\u00e0 thi\u1ebft l\u1eadp gi\u00e1 tr\u1ecb ban \u0111\u1ea7u cho c\u00e1c thu\u1ed9c t\u00ednh.<\/li>\n\n\n\n<li><strong>T\u1eeb kh\u00f3a <code>this<\/code> v\u00e0 <code>super<\/code>:<\/strong>\n<ul class=\"wp-block-list\">\n<li><code>this<\/code>: Tham chi\u1ebfu \u0111\u1ebfn ch\u00ednh \u0111\u1ed1i t\u01b0\u1ee3ng hi\u1ec7n t\u1ea1i (th\u01b0\u1eddng d\u00f9ng \u0111\u1ec3 ph\u00e2n bi\u1ec7t bi\u1ebfn instance v\u00e0 tham s\u1ed1 truy\u1ec1n v\u00e0o).<\/li>\n\n\n\n<li><code>super<\/code>: Tham chi\u1ebfu \u0111\u1ebfn \u0111\u1ed1i t\u01b0\u1ee3ng c\u1ee7a l\u1edbp cha tr\u1ef1c ti\u1ebfp (d\u00f9ng \u0111\u1ec3 g\u1ecdi constructor ho\u1eb7c ph\u01b0\u01a1ng th\u1ee9c c\u1ee7a l\u1edbp cha).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-4-tr\u1ee5-c\u1ed9t-c\u1ee7a-oop\"><strong>4 tr\u1ee5 c\u1ed9t c\u1ee7a OOP<\/strong><\/h3>\n\n\n\n<p>S\u1ee9c m\u1ea1nh c\u1ee7a Java n\u1eb1m \u1edf vi\u1ec7c v\u1eadn d\u1ee5ng linh ho\u1ea1t 4 nguy\u00ean l\u00fd sau:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-tinh-dong-goi-encapsulation\"><strong>T\u00ednh \u0110\u00f3ng g\u00f3i (Encapsulation)<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>C\u01a1 ch\u1ebf:<\/strong> Che gi\u1ea5u d\u1eef li\u1ec7u b\u00ean trong c\u1ee7a \u0111\u1ed1i t\u01b0\u1ee3ng, ch\u1ec9 cho ph\u00e9p truy c\u1eadp th\u00f4ng qua c\u00e1c ph\u01b0\u01a1ng th\u1ee9c \u0111\u01b0\u1ee3c ki\u1ec3m so\u00e1t.<\/li>\n\n\n\n<li><strong>Th\u1ef1c thi:<\/strong> Khai b\u00e1o thu\u1ed9c t\u00ednh l\u00e0 <code>private<\/code> v\u00e0 cung c\u1ea5p c\u00e1c ph\u01b0\u01a1ng th\u1ee9c <code>public<\/code> (Getter\/Setter) \u0111\u1ec3 truy xu\u1ea5t\/c\u1eadp nh\u1eadt d\u1eef li\u1ec7u.<\/li>\n\n\n\n<li><strong>Access Modifiers:<\/strong> Quy \u0111\u1ecbnh ph\u1ea1m vi truy c\u1eadp, x\u1ebfp theo m\u1ee9c \u0111\u1ed9 m\u1edf d\u1ea7n: <code>private <\/code>-&gt; <code>default<\/code> (m\u1eb7c \u0111\u1ecbnh) -&gt; <code>protected<\/code> -&gt; <code>public<\/code>.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-tinh-k\u1ebf-th\u1eeba-inheritance\"><strong>T\u00ednh K\u1ebf th\u1eeba (Inheritance)<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>C\u01a1 ch\u1ebf:<\/strong> Cho ph\u00e9p l\u1edbp con (Child) th\u1eeba h\u01b0\u1edfng c\u00e1c thu\u1ed9c t\u00ednh v\u00e0 ph\u01b0\u01a1ng th\u1ee9c c\u1ee7a l\u1edbp cha (Parent), gi\u00fap t\u00e1i s\u1eed d\u1ee5ng m\u00e3 ngu\u1ed3n.<\/li>\n\n\n\n<li><strong>C\u00fa ph\u00e1p:<\/strong> S\u1eed d\u1ee5ng t\u1eeb kh\u00f3a <code>extends<\/code>.<\/li>\n\n\n\n<li><strong>L\u01b0u \u00fd:<\/strong> Java kh\u00f4ng h\u1ed7 tr\u1ee3 \u0111a k\u1ebf th\u1eeba (m\u1ed9t l\u1edbp con kh\u00f4ng th\u1ec3 c\u00f3 nhi\u1ec1u l\u1edbp cha) \u0111\u1ec3 tr\u00e1nh xung \u0111\u1ed9t logic (Diamond Problem), nh\u01b0ng c\u00f3 th\u1ec3 c\u00e0i \u0111\u1eb7t (implement) nhi\u1ec1u Interface.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-tinh-da-hinh-polymorphism\"><strong>T\u00ednh \u0110a h\u00ecnh (Polymorphism)<\/strong><\/h4>\n\n\n\n<p>Cho ph\u00e9p m\u1ed9t h\u00e0nh \u0111\u1ed9ng c\u00f3 th\u1ec3 th\u1ef1c hi\u1ec7n theo nhi\u1ec1u c\u00e1ch kh\u00e1c nhau t\u00f9y thu\u1ed9c v\u00e0o \u0111\u1ed1i t\u01b0\u1ee3ng g\u1ecdi n\u00f3.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>N\u1ea1p ch\u1ed3ng (Method Overloading) &#8211; Compile-time:<\/strong> C\u00e1c ph\u01b0\u01a1ng th\u1ee9c trong c\u00f9ng m\u1ed9t class c\u00f3 c\u00f9ng t\u00ean nh\u01b0ng kh\u00e1c tham s\u1ed1 (s\u1ed1 l\u01b0\u1ee3ng ho\u1eb7c ki\u1ec3u d\u1eef li\u1ec7u).<\/li>\n\n\n\n<li><strong>Ghi \u0111\u00e8 (Method Overriding) &#8211; Runtime:<\/strong> L\u1edbp con \u0111\u1ecbnh ngh\u0129a l\u1ea1i n\u1ed9i dung ph\u01b0\u01a1ng th\u1ee9c \u0111\u00e3 t\u1ed3n t\u1ea1i \u1edf l\u1edbp cha \u0111\u1ec3 ph\u00f9 h\u1ee3p v\u1edbi h\u00e0nh vi ri\u00eang c\u1ee7a n\u00f3.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-tinh-tr\u1eebu-t\u01b0\u1ee3ng-abstraction\"><strong>T\u00ednh Tr\u1eebu t\u01b0\u1ee3ng (Abstraction)<\/strong><\/h4>\n\n\n\n<p>T\u1eadp trung v\u00e0o t\u00ednh n\u0103ng c\u1ee7a \u0111\u1ed1i t\u01b0\u1ee3ng thay v\u00ec chi ti\u1ebft th\u1ef1c thi b\u00ean trong.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Abstract Class:<\/strong> L\u1edbp d\u00f9ng t\u1eeb kh\u00f3a <code>abstract<\/code>, c\u00f3 th\u1ec3 ch\u1ee9a c\u1ea3 ph\u01b0\u01a1ng th\u1ee9c tr\u1eebu t\u01b0\u1ee3ng (ch\u01b0a c\u00f3 th\u00e2n h\u00e0m) v\u00e0 ph\u01b0\u01a1ng th\u1ee9c th\u01b0\u1eddng. D\u00f9ng cho quan h\u1ec7 <strong>&#8220;is-a&#8221;<\/strong> (L\u00e0 m\u1ed9t).<\/li>\n\n\n\n<li><strong>Interface:<\/strong> B\u1ea3n thi\u1ebft k\u1ebf h\u00e0nh vi thu\u1ea7n t\u00fay. Tr\u01b0\u1edbc Java 8, Interface ch\u1ec9 ch\u1ee9a ph\u01b0\u01a1ng th\u1ee9c tr\u1eebu t\u01b0\u1ee3ng v\u00e0 h\u1eb1ng s\u1ed1. T\u1eeb Java 8 tr\u1edf \u0111i, Interface h\u1ed7 tr\u1ee3 <code>default method<\/code> v\u00e0 <code>static method<\/code>. D\u00f9ng cho quan h\u1ec7 <strong>&#8220;can-do&#8221;<\/strong> (C\u00f3 kh\u1ea3 n\u0103ng l\u00e0m g\u00ec).<\/li>\n<\/ul>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>\u0110\u1ecdc chi ti\u1ebft: <strong><a href=\"https:\/\/itviec.com\/blog\/oop-la-gi\/\" target=\"_blank\" rel=\"noreferrer noopener\">OOP l\u00e0 g\u00ec? 4 \u0111\u1eb7c t\u00ednh c\u01a1 b\u1ea3n c\u1ee7a OOP<\/a><\/strong><\/em><\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-java-collections-framework-jcf\"><span class=\"ez-toc-section\" id=\"Java_Collections_Framework_JCF\"><\/span><strong>Java Collections Framework (JCF)<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>JCF cung c\u1ea5p ki\u1ebfn tr\u00fac th\u1ed1ng nh\u1ea5t \u0111\u1ec3 l\u01b0u tr\u1eef v\u00e0 thao t\u00e1c v\u1edbi nh\u00f3m c\u00e1c \u0111\u1ed1i t\u01b0\u1ee3ng.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-cac-interface-chinh\"><strong>C\u00e1c Interface ch\u00ednh<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>List:<\/strong> Ch\u1ee9a c\u00e1c ph\u1ea7n t\u1eed c\u00f3 th\u1ee9 t\u1ef1, cho ph\u00e9p tr\u00f9ng l\u1eb7p. Truy c\u1eadp ph\u1ea7n t\u1eed theo ch\u1ec9 s\u1ed1 (index).<\/li>\n\n\n\n<li><strong>Set:<\/strong> Ch\u1ee9a c\u00e1c ph\u1ea7n t\u1eed kh\u00f4ng tr\u00f9ng l\u1eb7p (unique).<\/li>\n\n\n\n<li><strong>Map:<\/strong> L\u01b0u tr\u1eef d\u1eef li\u1ec7u d\u01b0\u1edbi d\u1ea1ng c\u1eb7p kh\u00f3a-gi\u00e1 tr\u1ecb (Key-Value). Key l\u00e0 duy nh\u1ea5t. (L\u01b0u \u00fd: Map kh\u00f4ng k\u1ebf th\u1eeba t\u1eeb Collection interface).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-so-sanh-cac-tri\u1ec3n-khai-ph\u1ed5-bi\u1ebfn-implementations\"><strong>So s\u00e1nh c\u00e1c tri\u1ec3n khai ph\u1ed5 bi\u1ebfn (Implementations)<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-arraylist-vs-linkedlist\"><strong>ArrayList<\/strong><strong> vs <\/strong><strong>LinkedList<\/strong><strong>:<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>ArrayList<\/code>: D\u00f9ng m\u1ea3ng \u0111\u1ed9ng. Truy xu\u1ea5t ph\u1ea7n t\u1eed (get) nhanh, ch\u00e8n\/x\u00f3a ch\u1eadm (do ph\u1ea3i d\u1ecbch chuy\u1ec3n m\u1ea3ng).<\/li>\n\n\n\n<li><code>LinkedList<\/code>: D\u00f9ng danh s\u00e1ch li\u00ean k\u1ebft \u0111\u00f4i. Ch\u00e8n\/x\u00f3a nhanh, truy xu\u1ea5t ch\u1eadm.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-hashset-vs-treeset\"><strong>HashSet<\/strong><strong> vs <\/strong><strong>TreeSet<\/strong><strong>:<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>HashSet<\/code>: Kh\u00f4ng \u0111\u1ea3m b\u1ea3o th\u1ee9 t\u1ef1, hi\u1ec7u n\u0103ng cao nh\u1edd c\u01a1 ch\u1ebf b\u0103m (hashing).<\/li>\n\n\n\n<li><code>TreeSet<\/code>: S\u1eafp x\u1ebfp c\u00e1c ph\u1ea7n t\u1eed t\u0103ng d\u1ea7n, hi\u1ec7u n\u0103ng th\u1ea5p h\u01a1n.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-hashmap-vs-treemap\"><strong>HashMap<\/strong><strong> vs <\/strong><strong>TreeMap<\/strong><strong>:<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>HashMap<\/code>: L\u01b0u tr\u1eef Key-Value kh\u00f4ng theo th\u1ee9 t\u1ef1.<\/li>\n\n\n\n<li><code>TreeMap<\/code>: L\u01b0u tr\u1eef Key-Value v\u1edbi Key \u0111\u01b0\u1ee3c s\u1eafp x\u1ebfp.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-generics\"><strong>Generics<\/strong><\/h3>\n\n\n\n<p>C\u01a1 ch\u1ebf cho ph\u00e9p ch\u1ec9 \u0111\u1ecbnh ki\u1ec3u d\u1eef li\u1ec7u c\u1ee5 th\u1ec3 m\u00e0 Collection s\u1ebd ch\u1ee9a (v\u00ed d\u1ee5: <code>List&lt;String&gt;<\/code>).<\/p>\n\n\n\n<p>M\u1ee5c \u0111\u00edch l\u00e0 \u0111\u1ea3m b\u1ea3o an to\u00e0n ki\u1ec3u (Type-safety) t\u1ea1i th\u1eddi \u0111i\u1ec3m bi\u00ean d\u1ecbch v\u00e0 lo\u1ea1i b\u1ecf vi\u1ec7c ph\u1ea3i \u00e9p ki\u1ec3u (casting) th\u1ee7 c\u00f4ng khi l\u1ea5y d\u1eef li\u1ec7u ra, gi\u1ea3m thi\u1ec3u <code>ClassCastException<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-da-lu\u1ed3ng-c\u01a1-b\u1ea3n-basic-multithreading\"><span class=\"ez-toc-section\" id=\"Da_luong_co_ban_Basic_Multithreading\"><\/span><strong>\u0110a lu\u1ed3ng c\u01a1 b\u1ea3n (Basic Multithreading)<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Cho ph\u00e9p \u1ee9ng d\u1ee5ng th\u1ef1c hi\u1ec7n nhi\u1ec1u t\u00e1c v\u1ee5 \u0111\u1ed3ng th\u1eddi, t\u1ed1i \u01b0u h\u00f3a th\u1eddi gian ch\u1edd c\u1ee7a CPU.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-khai-ni\u1ec7m-thread-va-process\"><strong>Kh\u00e1i ni\u1ec7m Thread v\u00e0 Process<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Process (Ti\u1ebfn tr\u00ecnh):<\/strong> M\u1ed9t ch\u01b0\u01a1ng tr\u00ecnh \u0111ang ch\u1ea1y, c\u00f3 kh\u00f4ng gian b\u1ed9 nh\u1edb ri\u00eang bi\u1ec7t.<\/li>\n\n\n\n<li><strong>Thread (Lu\u1ed3ng):<\/strong> \u0110\u01a1n v\u1ecb x\u1eed l\u00fd nh\u1ecf nh\u1ea5t trong m\u1ed9t ti\u1ebfn tr\u00ecnh. C\u00e1c thread trong c\u00f9ng m\u1ed9t process chia s\u1ebb chung v\u00f9ng nh\u1edb (Heap), gi\u00fap giao ti\u1ebfp nhanh nh\u01b0ng d\u1ec5 g\u00e2y xung \u0111\u1ed9t d\u1eef li\u1ec7u.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-cach-t\u1ea1o-thread\"><strong>C\u00e1ch t\u1ea1o Thread<\/strong><\/h3>\n\n\n\n<p>C\u00f3 2 c\u00e1ch ch\u00ednh \u0111\u1ec3 kh\u1edfi t\u1ea1o m\u1ed9t lu\u1ed3ng:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>K\u1ebf th\u1eeba l\u1edbp Thread:<\/strong> Vi\u1ebft l\u1ea1i ph\u01b0\u01a1ng th\u1ee9c <code>run()<\/code>. H\u1ea1n ch\u1ebf l\u00e0 class kh\u00f4ng th\u1ec3 k\u1ebf th\u1eeba class kh\u00e1c.<\/li>\n\n\n\n<li><strong>Tri\u1ec3n khai interface Runnable:<\/strong> (Khuy\u00ean d\u00f9ng) Tri\u1ec3n khai ph\u01b0\u01a1ng th\u1ee9c run() v\u00e0 truy\u1ec1n v\u00e0o \u0111\u1ed1i t\u01b0\u1ee3ng <code>Thread<\/code>. Linh ho\u1ea1t h\u01a1n v\u00ec Java cho ph\u00e9p implement nhi\u1ec1u interface.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-vong-d\u1eddi-c\u1ee7a-thread-lifecycle\"><strong>V\u00f2ng \u0111\u1eddi c\u1ee7a Thread (Lifecycle)<\/strong><\/h3>\n\n\n\n<p>M\u1ed9t thread tr\u1ea3i qua c\u00e1c tr\u1ea1ng th\u00e1i:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>New:<\/strong> \u0110\u00e3 kh\u1edfi t\u1ea1o nh\u01b0ng ch\u01b0a ch\u1ea1y (ch\u01b0a g\u1ecdi <code>start()<\/code>).<\/li>\n\n\n\n<li><strong>Runnable:<\/strong> \u0110ang ch\u1ea1y ho\u1eb7c s\u1eb5n s\u00e0ng ch\u1ea1y.<\/li>\n\n\n\n<li><strong>Blocked\/Waiting:<\/strong> T\u1ea1m d\u1eebng \u0111\u1ec3 ch\u1edd t\u00e0i nguy\u00ean ho\u1eb7c ch\u1edd thread kh\u00e1c.<\/li>\n\n\n\n<li><strong>Terminated:<\/strong> Ho\u00e0n th\u00e0nh c\u00f4ng vi\u1ec7c ho\u1eb7c b\u1ecb ng\u1eaft do l\u1ed7i.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-d\u1ed3ng-b\u1ed9-hoa-synchronization\"><strong>\u0110\u1ed3ng b\u1ed9 h\u00f3a (Synchronization)<\/strong><\/h3>\n\n\n\n<p>Do c\u00e1c thread chia s\u1ebb b\u1ed9 nh\u1edb, vi\u1ec7c nhi\u1ec1u thread c\u00f9ng thay \u0111\u1ed5i m\u1ed9t d\u1eef li\u1ec7u s\u1ebd g\u00e2y ra sai l\u1ec7ch (Race Condition).<\/p>\n\n\n\n<p><strong>Gi\u1ea3i ph\u00e1p:<\/strong> S\u1eed d\u1ee5ng t\u1eeb kh\u00f3a <code>synchronized<\/code> tr\u00ean ph\u01b0\u01a1ng th\u1ee9c ho\u1eb7c kh\u1ed1i l\u1ec7nh \u0111\u1ec3 kh\u00f3a (lock) t\u00e0i nguy\u00ean. T\u1ea1i m\u1ed9t th\u1eddi \u0111i\u1ec3m, ch\u1ec9 m\u1ed9t thread \u0111\u01b0\u1ee3c ph\u00e9p truy c\u1eadp v\u00e0o v\u00f9ng \u0111\u01b0\u1ee3c \u0111\u00e1nh d\u1ea5u <code>synchronized<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-i-o-c\u01a1-b\u1ea3n-input-output\"><span class=\"ez-toc-section\" id=\"IO_Co_ban_InputOutput\"><\/span><strong>I\/O C\u01a1 b\u1ea3n (Input\/Output)<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Java I\/O (g\u00f3i <code>java.io<\/code>) x\u1eed l\u00fd vi\u1ec7c \u0111\u1ecdc v\u00e0 ghi d\u1eef li\u1ec7u th\u00f4ng qua kh\u00e1i ni\u1ec7m <strong>Stream<\/strong> (Lu\u1ed3ng).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-phan-lo\u1ea1i-theo-d\u01a1n-v\u1ecb-d\u1eef-li\u1ec7u\"><strong>Ph\u00e2n lo\u1ea1i theo \u0111\u01a1n v\u1ecb d\u1eef li\u1ec7u<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Byte Stream (Lu\u1ed3ng Byte):<\/strong> X\u1eed l\u00fd d\u1eef li\u1ec7u nh\u1ecb ph\u00e2n th\u00f4 (8-bit). D\u00f9ng cho h\u00ecnh \u1ea3nh, video, file \u00e2m thanh.: C\u00e1c l\u1edbp ch\u00ednh: <code>FileInputStream<\/code>, <code>FileOutputStream<\/code>.<\/li>\n\n\n\n<li><strong>Character Stream (Lu\u1ed3ng K\u00fd t\u1ef1):<\/strong> X\u1eed l\u00fd d\u1eef li\u1ec7u v\u0103n b\u1ea3n (16-bit Unicode). T\u1ef1 \u0111\u1ed9ng x\u1eed l\u00fd c\u00e1c v\u1ea5n \u0111\u1ec1 v\u1ec1 m\u00e3 h\u00f3a k\u00fd t\u1ef1 (encoding).: C\u00e1c l\u1edbp ch\u00ednh: <code>FileReader<\/code>, <code>FileWriter<\/code>, <code>PrintWriter<\/code>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-cac-l\u1edbp-h\u1ed7-tr\u1ee3-hi\u1ec7u-nang-va-thao-tac\"><strong>C\u00e1c l\u1edbp h\u1ed7 tr\u1ee3 hi\u1ec7u n\u0103ng v\u00e0 thao t\u00e1c<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>File<\/strong><strong>:<\/strong> \u0110\u1ea1i di\u1ec7n cho \u0111\u01b0\u1eddng d\u1eabn t\u1ec7p ho\u1eb7c th\u01b0 m\u1ee5c, d\u00f9ng \u0111\u1ec3 l\u1ea5y th\u00f4ng tin metadata (k\u00edch th\u01b0\u1edbc, quy\u1ec1n truy c\u1eadp) ch\u1ee9 kh\u00f4ng d\u00f9ng \u0111\u1ec3 \u0111\u1ecdc\/ghi n\u1ed9i dung.<\/li>\n\n\n\n<li><strong>BufferedReader<\/strong><strong> \/ <\/strong><strong>BufferedWriter<\/strong><strong>:<\/strong> S\u1eed d\u1ee5ng b\u1ed9 \u0111\u1ec7m (buffer) \u0111\u1ec3 gi\u1ea3m s\u1ed1 l\u1ea7n truy c\u1eadp tr\u1ef1c ti\u1ebfp v\u00e0o \u1ed5 c\u1ee9ng, gi\u00fap t\u0103ng t\u1ed1c \u0111\u1ed9 \u0111\u1ecdc\/ghi v\u0103n b\u1ea3n \u0111\u00e1ng k\u1ec3.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-x\u1eed-ly-ngo\u1ea1i-l\u1ec7-exception-handling\"><span class=\"ez-toc-section\" id=\"Xu_ly_Ngoai_le_Exception_Handling\"><\/span><strong>X\u1eed l\u00fd Ngo\u1ea1i l\u1ec7 (Exception Handling)<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Ngo\u00e0i c\u00e1c tr\u1ee5 c\u1ed9t c\u01a1 b\u1ea3n trong java \u0111\u01b0\u1ee3c tr\u00ecnh b\u00e0y k\u1ec3 tr\u00ean th\u00ec c\u01a1 ch\u1ebf x\u1eed l\u00fd ngo\u1ea1i&nbsp; l\u1ec7 (Exception Handling) n\u00e0y gi\u00fap \u1ee9ng d\u1ee5ng duy tr\u00ec lu\u1ed3ng ho\u1ea1t \u0111\u1ed9ng b\u00ecnh th\u01b0\u1eddng ngay c\u1ea3 khi x\u1ea3y ra l\u1ed7i ngo\u00e0i \u00fd mu\u1ed1n.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-h\u1ec7-th\u1ed1ng-c\u1ea5p-b\u1eadc-exception-hierarchy\"><strong>H\u1ec7 th\u1ed1ng c\u1ea5p b\u1eadc (Exception Hierarchy)<\/strong><\/h3>\n\n\n\n<p>T\u1ea5t c\u1ea3 c\u00e1c l\u1ed7i trong Java \u0111\u1ec1u k\u1ebf th\u1eeba t\u1eeb l\u1edbp cha <code>Throwable<\/code>.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Error:<\/strong> C\u00e1c l\u1ed7i nghi\u00eam tr\u1ecdng li\u00ean quan \u0111\u1ebfn h\u1ec7 th\u1ed1ng ho\u1eb7c JVM (v\u00ed d\u1ee5: <code>OutOfMemoryError<\/code>, <code>StackOverflowError<\/code>). \u1ee8ng d\u1ee5ng th\u01b0\u1eddng kh\u00f4ng th\u1ec3 v\u00e0 kh\u00f4ng n\u00ean b\u1eaft (catch) c\u00e1c l\u1ed7i n\u00e0y.<\/li>\n\n\n\n<li><strong>Exception:<\/strong> C\u00e1c l\u1ed7i li\u00ean quan \u0111\u1ebfn logic ch\u01b0\u01a1ng tr\u00ecnh ho\u1eb7c I\/O m\u00e0 \u1ee9ng d\u1ee5ng c\u00f3 th\u1ec3 x\u1eed l\u00fd \u0111\u01b0\u1ee3c. C\u00e1c lo\u1ea1i Exception g\u1ed3m:\n<ul class=\"wp-block-list\">\n<li><strong>Checked Exceptions:<\/strong> C\u00e1c ngo\u1ea1i l\u1ec7 \u0111\u01b0\u1ee3c ki\u1ec3m tra t\u1ea1i th\u1eddi \u0111i\u1ec3m bi\u00ean d\u1ecbch (Compile-time). B\u1eaft bu\u1ed9c ph\u1ea3i x\u1eed l\u00fd b\u1eb1ng <code>try-catch<\/code> ho\u1eb7c khai b\u00e1o <code>throws<\/code>. <em>V\u00ed d\u1ee5: <code>IOException<\/code>, <code>SQLException<\/code>.<\/em><\/li>\n\n\n\n<li><strong>Unchecked Exceptions (Runtime Exceptions):<\/strong> C\u00e1c ngo\u1ea1i l\u1ec7 x\u1ea3y ra t\u1ea1i th\u1eddi \u0111i\u1ec3m ch\u1ea1y (Runtime), th\u01b0\u1eddng do l\u1ed7i logic c\u1ee7a l\u1eadp tr\u00ecnh vi\u00ean. Kh\u00f4ng b\u1eaft bu\u1ed9c ph\u1ea3i x\u1eed l\u00fd t\u01b0\u1eddng minh. <em>V\u00ed d\u1ee5: <code>NullPointerException<\/code>, <code>ArrayIndexOutOfBoundsException<\/code>.<\/em><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-cac-kh\u1ed1i-x\u1eed-ly-va-custom-exception\"><strong>C\u00e1c kh\u1ed1i x\u1eed l\u00fd v\u00e0 Custom Exception<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>try-catch-finally<\/strong><strong>:<\/strong>\n<ul class=\"wp-block-list\">\n<li><code>try<\/code>: Ch\u1ee9a \u0111o\u1ea1n code c\u00f3 nguy c\u01a1 g\u00e2y l\u1ed7i.<\/li>\n\n\n\n<li><code>catch<\/code>: B\u1eaft v\u00e0 x\u1eed l\u00fd l\u1ed7i c\u1ee5 th\u1ec3.<\/li>\n\n\n\n<li><code>finally<\/code>: Kh\u1ed1i l\u1ec7nh lu\u00f4n lu\u00f4n \u0111\u01b0\u1ee3c th\u1ef1c thi (d\u00f9 c\u00f3 l\u1ed7i hay kh\u00f4ng), th\u01b0\u1eddng d\u00f9ng \u0111\u1ec3 \u0111\u00f3ng t\u00e0i nguy\u00ean (close file, close connection).<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>throws<\/strong><strong>:<\/strong> Khai b\u00e1o tr\u00ean ch\u1eef k\u00fd ph\u01b0\u01a1ng th\u1ee9c, b\u00e1o hi\u1ec7u ph\u01b0\u01a1ng th\u1ee9c n\u00e0y c\u00f3 th\u1ec3 n\u00e9m ra ngo\u1ea1i l\u1ec7 v\u00e0 \u0111\u1ea9y tr\u00e1ch nhi\u1ec7m x\u1eed l\u00fd cho ph\u01b0\u01a1ng th\u1ee9c g\u1ecdi n\u00f3.<\/li>\n\n\n\n<li><strong>Custom Exceptions:<\/strong> T\u1ea1o ngo\u1ea1i l\u1ec7 ri\u00eang b\u1eb1ng c\u00e1ch k\u1ebf th\u1eeba l\u1edbp <code>Exception<\/code> (cho Checked) ho\u1eb7c RuntimeException (cho Unchecked) \u0111\u1ec3 m\u00f4 t\u1ea3 r\u00f5 r\u00e0ng c\u00e1c l\u1ed7i nghi\u1ec7p v\u1ee5 c\u1ee5 th\u1ec3.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-cac-cau-h\u1ecfi-th\u01b0\u1eddng-g\u1eb7p-v\u1ec1-java-core\"><span class=\"ez-toc-section\" id=\"Cac_cau_hoi_thuong_gap_ve_Java_core\"><\/span><strong>C\u00e1c c\u00e2u h\u1ecfi th\u01b0\u1eddng g\u1eb7p v\u1ec1 Java core<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-s\u1ef1-khac-bi\u1ec7t-gi\u1eefa-core-java-va-advanced-java-la-gi\"><strong>S\u1ef1 kh\u00e1c bi\u1ec7t gi\u1eefa Core Java v\u00e0 Advanced Java l\u00e0 g\u00ec?<\/strong><\/h3>\n\n\n\n<p>Th\u1ef1c t\u1ebf, &#8220;Core Java&#8221; v\u00e0 &#8220;Advanced Java&#8221; kh\u00f4ng ph\u1ea3i l\u00e0 thu\u1eadt ng\u1eef ch\u00ednh th\u1ee9c trong t\u00e0i li\u1ec7u k\u1ef9 thu\u1eadt c\u1ee7a Oracle, m\u00e0 l\u00e0 c\u00e1ch g\u1ecdi th\u00f4ng d\u1ee5ng trong c\u1ed9ng \u0111\u1ed3ng l\u1eadp tr\u00ecnh \u0111\u1ec3 ph\u00e2n chia l\u1ed9 tr\u00ecnh h\u1ecdc.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Core Java:<\/strong> T\u01b0\u01a1ng \u0111\u01b0\u01a1ng v\u1edbi phi\u00ean b\u1ea3n <strong>Java SE (Standard Edition)<\/strong>. N\u00f3 bao g\u1ed3m c\u00e1c API c\u01a1 b\u1ea3n v\u00e0 c\u1ed1t l\u00f5i nh\u1ea5t c\u1ee7a ng\u00f4n ng\u1eef.<\/li>\n\n\n\n<li><strong>Advanced Java:<\/strong> Th\u01b0\u1eddng \u00e1m ch\u1ec9 c\u00e1c c\u00f4ng ngh\u1ec7 thu\u1ed9c <strong>Java EE (Enterprise Edition)<\/strong> ho\u1eb7c <strong>Jakarta EE<\/strong>, d\u00f9ng \u0111\u1ec3 x\u00e2y d\u1ef1ng c\u00e1c \u1ee9ng d\u1ee5ng Web v\u00e0 Doanh nghi\u1ec7p quy m\u00f4 l\u1edbn.<\/li>\n<\/ul>\n\n\n\n<p>B\u1ea3ng so s\u00e1nh chi ti\u1ebft:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>\u0110\u1eb7c \u0111i\u1ec3m&nbsp;<\/strong><\/td><td><strong>Java Core<\/strong><\/td><td><strong>Advanced Java<\/strong><\/td><\/tr><tr><td><strong>Ph\u1ea1m vi<\/strong><\/td><td>C\u00e1c kh\u00e1i ni\u1ec7m c\u01a1 b\u1ea3n: C\u00fa ph\u00e1p, OOP, Collections, Multithreading, I\/O.<\/td><td>C\u00e1c c\u00f4ng ngh\u1ec7 chuy\u00ean s\u00e2u: Web Services, Database connectivity, Servlets, JSP.<\/td><\/tr><tr><td><strong>M\u1ee5c \u0111\u00edch<\/strong><\/td><td>X\u00e2y d\u1ef1ng n\u1ec1n t\u1ea3ng t\u01b0 duy v\u00e0 ph\u00e1t tri\u1ec3n \u1ee9ng d\u1ee5ng Desktop \u0111\u1ed9c l\u1eadp.<\/td><td>X\u00e2y d\u1ef1ng \u1ee9ng d\u1ee5ng Web, h\u1ec7 th\u1ed1ng ph\u00e2n t\u00e1n v\u00e0 \u1ee9ng d\u1ee5ng doanh nghi\u1ec7p.<\/td><\/tr><tr><td><strong>Ki\u1ebfn tr\u00fac<\/strong><\/td><td>\u0110\u01a1n t\u1ea7ng (Single-tier architecture).<\/td><td>\u0110a t\u1ea7ng (Multi-tier architecture) nh\u01b0 Client-Server, MVC.<\/td><\/tr><tr><td><strong>G\u00f3i (Package)<\/strong><\/td><td><code>java.lang<\/code>, <code>java.util<\/code>, <code>java.io<\/code>, <code>java.awt<\/code>&#8230;<\/td><td><code>javax.servlet<\/code>, <code>javax.persistence<\/code>, <code>java.sql<\/code>&#8230;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-java-truy\u1ec1n-tham-tr\u1ecb-pass-by-value-hay-tham-chi\u1ebfu-pass-by-reference\"><strong>Java truy\u1ec1n tham tr\u1ecb (Pass-by-value) hay tham chi\u1ebfu (Pass-by-reference)?<\/strong><\/h3>\n\n\n\n<p>M\u1ed9t c\u00e2u h\u1ecfi g\u00e2y tranh c\u00e3i nh\u01b0ng c\u00e2u tr\u1ea3 l\u1eddi ch\u00ednh x\u00e1c l\u00e0: Java ch\u1ec9 h\u1ed7 tr\u1ee3 Pass-by-value (Truy\u1ec1n tham tr\u1ecb).<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>V\u1edbi ki\u1ec3u nguy\u00ean th\u1ee7y: Gi\u00e1 tr\u1ecb th\u1ef1c s\u1ef1 \u0111\u01b0\u1ee3c copy v\u00e0 truy\u1ec1n v\u00e0o h\u00e0m.<\/li>\n\n\n\n<li>V\u1edbi ki\u1ec3u \u0111\u1ed1i t\u01b0\u1ee3ng: Gi\u00e1 tr\u1ecb c\u1ee7a bi\u1ebfn tham chi\u1ebfu (\u0111\u1ecba ch\u1ec9 b\u1ed9 nh\u1edb) \u0111\u01b0\u1ee3c copy v\u00e0 truy\u1ec1n v\u00e0o h\u00e0m. Do \u0111\u00f3, n\u1ebfu b\u1ea1n thay \u0111\u1ed5i thu\u1ed9c t\u00ednh c\u1ee7a object b\u00ean trong h\u00e0m, object b\u00ean ngo\u00e0i b\u1ecb \u1ea3nh h\u01b0\u1edfng. Nh\u01b0ng n\u1ebfu b\u1ea1n g\u00e1n bi\u1ebfn \u0111\u00f3 cho m\u1ed9t object m\u1edbi (<code>obj<\/code> = <code>new Object()<\/code>), object b\u00ean ngo\u00e0i kh\u00f4ng \u0111\u1ed5i.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-java-co-ph\u1ea3i-la-ngon-ng\u1eef-thu\u1ea7n-h\u01b0\u1edbng-d\u1ed1i-t\u01b0\u1ee3ng-100-khong\"><strong>Java c\u00f3 ph\u1ea3i l\u00e0 ng\u00f4n ng\u1eef thu\u1ea7n h\u01b0\u1edbng \u0111\u1ed1i t\u01b0\u1ee3ng 100% kh\u00f4ng?<\/strong><\/h3>\n\n\n\n<p>Kh\u00f4ng. M\u1eb7c d\u00f9 Java tu\u00e2n th\u1ee7 ch\u1eb7t ch\u1ebd m\u00f4 h\u00ecnh OOP, nh\u01b0ng n\u00f3 kh\u00f4ng thu\u1ea7n khi\u1ebft 100% (nh\u01b0 Smalltalk). L\u00fd do ch\u00ednh l\u00e0 s\u1ef1 t\u1ed3n t\u1ea1i c\u1ee7a Primitive Types (ki\u1ec3u nguy\u00ean th\u1ee7y: <code>int<\/code>, <code>char<\/code>, <code>boolean<\/code>&#8230;). C\u00e1c ki\u1ec3u d\u1eef li\u1ec7u n\u00e0y kh\u00f4ng ph\u1ea3i l\u00e0 Object \u0111\u1ec3 \u0111\u1ea3m b\u1ea3o hi\u1ec7u su\u1ea5t (performance) cho h\u1ec7 th\u1ed1ng.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-k\u1ebft-lu\u1eadn\"><span class=\"ez-toc-section\" id=\"Ket_luan\"><\/span><strong>K\u1ebft lu\u1eadn<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>C\u00f3 th\u1ec3 kh\u1eb3ng \u0111\u1ecbnh, Java Core ch\u00ednh l\u00e0 &#8216;tr\u00e1i tim&#8217; c\u1ee7a to\u00e0n b\u1ed9 h\u1ec7 sinh th\u00e1i Java r\u1ed9ng l\u1edbn. D\u00f9 c\u00f4ng ngh\u1ec7 c\u00f3 thay \u0111\u1ed5i, c\u00e1c Framework m\u1edbi c\u00f3 ra \u0111\u1eddi, th\u00ec nh\u1eefng gi\u00e1 tr\u1ecb n\u1ec1n t\u1ea3ng c\u1ee7a Java Core v\u1eabn lu\u00f4n gi\u1eef nguy\u00ean t\u00ednh th\u1eddi s\u1ef1 v\u00e0 quan tr\u1ecdng. Vi\u1ec7c \u0111\u1ea7u t\u01b0 th\u1eddi gian nghi\u00eam t\u00fac cho ph\u1ea7n ki\u1ebfn th\u1ee9c n\u00e0y s\u1ebd mang l\u1ea1i l\u1ee3i t\u1ee9c to l\u1edbn cho con \u0111\u01b0\u1eddng ph\u00e1t tri\u1ec3n k\u1ef9 n\u0103ng ph\u1ea7n m\u1ec1m c\u1ee7a b\u1ea1n v\u1ec1 l\u00e2u d\u00e0i.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>D\u00f9 c\u00f4ng ngh\u1ec7 li\u00ean t\u1ee5c thay \u0111\u1ed5i, Java v\u1eabn gi\u1eef v\u1ecb th\u1ebf h\u00e0ng \u0111\u1ea7u trong c\u00e1c l\u0129nh v\u1ef1c Enterprise, Mobile v\u00e0 Big Data. Tuy nhi\u00ean, sai l\u1ea7m ph\u1ed5 bi\u1ebfn c\u1ee7a nhi\u1ec1u l\u1eadp tr\u00ecnh vi\u00ean l\u00e0 l\u1ea1m d\u1ee5ng Framework (Spring, Java EE) khi ch\u01b0a v\u1eefng n\u1ec1n t\u1ea3ng. H\u1eadu qu\u1ea3 l\u00e0 code thi\u1ebfu t\u1ed1i \u01b0u, d\u1ec5 g\u1eb7p [&hellip;]<\/p>\n","protected":false},"author":233,"featured_media":93969,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_gspb_post_css":"","footnotes":""},"categories":[109,10350],"tags":[],"class_list":["post-93914","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-chuyen-mon-it","category-java"],"blocksy_meta":[],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.8 (Yoast SEO v27.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Java Core: 5 tr\u1ee5 c\u1ed9t c\u1ed1t l\u00f5i c\u1ee7a Java m\u00e0 b\u1ea1n c\u1ea7n n\u1eafm v\u1eefng - ITviec Blog<\/title>\n<meta name=\"description\" content=\"Ghi nh\u1edb Java core v\u1edbi 5 tr\u1ee5 c\u1ed9t c\u1ed1t l\u00f5i nh\u1ea5t c\u1ee7a Java \u0111\u01a1n gi\u1ea3n v\u00e0 d\u1ec5 nh\u1edb \u0111\u1ec3 gi\u00fap b\u1ea1n x\u00e2y d\u1ef1ng b\u00e0n \u0111\u1ea1p v\u1eefng ch\u1eafc tr\u01b0\u1edbc khi ti\u1ebfn l\u00ean n\u00e2ng cao.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/itviec.com\/blog\/java-core-la-gi\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Java Core: 5 tr\u1ee5 c\u1ed9t c\u1ed1t l\u00f5i c\u1ee7a Java m\u00e0 b\u1ea1n c\u1ea7n n\u1eafm v\u1eefng\" \/>\n<meta property=\"og:description\" content=\"D\u00f9 c\u00f4ng ngh\u1ec7 li\u00ean t\u1ee5c thay \u0111\u1ed5i, Java v\u1eabn gi\u1eef v\u1ecb th\u1ebf h\u00e0ng \u0111\u1ea7u trong c\u00e1c l\u0129nh v\u1ef1c Enterprise, Mobile v\u00e0 Big Data. Tuy nhi\u00ean, sai l\u1ea7m ph\u1ed5 bi\u1ebfn c\u1ee7a nhi\u1ec1u l\u1eadp\" \/>\n<meta property=\"og:url\" content=\"https:\/\/itviec.com\/blog\/java-core-la-gi\/\" \/>\n<meta property=\"og:site_name\" content=\"ITviec Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/ITviec\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-30T16:09:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-30T16:09:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/12\/java-core-scaled.png\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"421\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Nhat Anh\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ITviec\" \/>\n<meta name=\"twitter:site\" content=\"@ITviec\" \/>\n<meta name=\"twitter:label1\" content=\"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nhat Anh\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data2\" content=\"17 ph\u00fat\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Java Core: 5 tr\u1ee5 c\u1ed9t c\u1ed1t l\u00f5i c\u1ee7a Java m\u00e0 b\u1ea1n c\u1ea7n n\u1eafm v\u1eefng - ITviec Blog","description":"Ghi nh\u1edb Java core v\u1edbi 5 tr\u1ee5 c\u1ed9t c\u1ed1t l\u00f5i nh\u1ea5t c\u1ee7a Java \u0111\u01a1n gi\u1ea3n v\u00e0 d\u1ec5 nh\u1edb \u0111\u1ec3 gi\u00fap b\u1ea1n x\u00e2y d\u1ef1ng b\u00e0n \u0111\u1ea1p v\u1eefng ch\u1eafc tr\u01b0\u1edbc khi ti\u1ebfn l\u00ean n\u00e2ng cao.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/itviec.com\/blog\/java-core-la-gi\/","og_locale":"vi_VN","og_type":"article","og_title":"Java Core: 5 tr\u1ee5 c\u1ed9t c\u1ed1t l\u00f5i c\u1ee7a Java m\u00e0 b\u1ea1n c\u1ea7n n\u1eafm v\u1eefng","og_description":"D\u00f9 c\u00f4ng ngh\u1ec7 li\u00ean t\u1ee5c thay \u0111\u1ed5i, Java v\u1eabn gi\u1eef v\u1ecb th\u1ebf h\u00e0ng \u0111\u1ea7u trong c\u00e1c l\u0129nh v\u1ef1c Enterprise, Mobile v\u00e0 Big Data. Tuy nhi\u00ean, sai l\u1ea7m ph\u1ed5 bi\u1ebfn c\u1ee7a nhi\u1ec1u l\u1eadp","og_url":"https:\/\/itviec.com\/blog\/java-core-la-gi\/","og_site_name":"ITviec Blog","article_publisher":"https:\/\/www.facebook.com\/ITviec","article_published_time":"2025-12-30T16:09:22+00:00","article_modified_time":"2025-12-30T16:09:25+00:00","og_image":[{"width":800,"height":421,"url":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/12\/java-core-scaled.png","type":"image\/png"}],"author":"Nhat Anh","twitter_card":"summary_large_image","twitter_creator":"@ITviec","twitter_site":"@ITviec","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nhat Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"17 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/itviec.com\/blog\/java-core-la-gi\/#article","isPartOf":{"@id":"https:\/\/itviec.com\/blog\/java-core-la-gi\/"},"author":{"name":"Nhat Anh","@id":"https:\/\/itviec.com\/blog\/#\/schema\/person\/149bc2a01a01f229e57b9cdf61f3ebd0"},"headline":"Java Core: 5 tr\u1ee5 c\u1ed9t c\u1ed1t l\u00f5i c\u1ee7a Java m\u00e0 b\u1ea1n c\u1ea7n n\u1eafm v\u1eefng","datePublished":"2025-12-30T16:09:22+00:00","dateModified":"2025-12-30T16:09:25+00:00","mainEntityOfPage":{"@id":"https:\/\/itviec.com\/blog\/java-core-la-gi\/"},"wordCount":4571,"publisher":{"@id":"https:\/\/itviec.com\/blog\/#organization"},"image":{"@id":"https:\/\/itviec.com\/blog\/java-core-la-gi\/#primaryimage"},"thumbnailUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/12\/java-core-scaled.png","articleSection":["Chuy\u00ean m\u00f4n IT","Java"],"inLanguage":"vi"},{"@type":"WebPage","@id":"https:\/\/itviec.com\/blog\/java-core-la-gi\/","url":"https:\/\/itviec.com\/blog\/java-core-la-gi\/","name":"Java Core: 5 tr\u1ee5 c\u1ed9t c\u1ed1t l\u00f5i c\u1ee7a Java m\u00e0 b\u1ea1n c\u1ea7n n\u1eafm v\u1eefng - ITviec Blog","isPartOf":{"@id":"https:\/\/itviec.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/itviec.com\/blog\/java-core-la-gi\/#primaryimage"},"image":{"@id":"https:\/\/itviec.com\/blog\/java-core-la-gi\/#primaryimage"},"thumbnailUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/12\/java-core-scaled.png","datePublished":"2025-12-30T16:09:22+00:00","dateModified":"2025-12-30T16:09:25+00:00","description":"Ghi nh\u1edb Java core v\u1edbi 5 tr\u1ee5 c\u1ed9t c\u1ed1t l\u00f5i nh\u1ea5t c\u1ee7a Java \u0111\u01a1n gi\u1ea3n v\u00e0 d\u1ec5 nh\u1edb \u0111\u1ec3 gi\u00fap b\u1ea1n x\u00e2y d\u1ef1ng b\u00e0n \u0111\u1ea1p v\u1eefng ch\u1eafc tr\u01b0\u1edbc khi ti\u1ebfn l\u00ean n\u00e2ng cao.","breadcrumb":{"@id":"https:\/\/itviec.com\/blog\/java-core-la-gi\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/itviec.com\/blog\/java-core-la-gi\/"]}]},{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/itviec.com\/blog\/java-core-la-gi\/#primaryimage","url":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/12\/java-core-scaled.png","contentUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/12\/java-core-scaled.png","width":800,"height":421,"caption":"java core - itviec blog"},{"@type":"BreadcrumbList","@id":"https:\/\/itviec.com\/blog\/java-core-la-gi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Chuy\u00ean m\u00f4n IT","item":"https:\/\/itviec.com\/blog\/chuyen-mon-it\/"},{"@type":"ListItem","position":2,"name":"Java Core: 5 tr\u1ee5 c\u1ed9t c\u1ed1t l\u00f5i c\u1ee7a Java m\u00e0 b\u1ea1n c\u1ea7n n\u1eafm v\u1eefng"}]},{"@type":"WebSite","@id":"https:\/\/itviec.com\/blog\/#website","url":"https:\/\/itviec.com\/blog\/","name":"ITviec Blog","description":"IT Jobs &amp; People in Vietnam","publisher":{"@id":"https:\/\/itviec.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/itviec.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"vi"},{"@type":"Organization","@id":"https:\/\/itviec.com\/blog\/#organization","name":"ITviec","url":"https:\/\/itviec.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/itviec.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2018\/12\/itviec-black-square-facebook.png","contentUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2018\/12\/itviec-black-square-facebook.png","width":1800,"height":1800,"caption":"ITviec"},"image":{"@id":"https:\/\/itviec.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/ITviec","https:\/\/x.com\/ITviec","https:\/\/www.linkedin.com\/company\/itviec","https:\/\/www.youtube.com\/channel\/UCYthAQ3bcGr57M_ag5gHDvQ"]},{"@type":"Person","@id":"https:\/\/itviec.com\/blog\/#\/schema\/person\/149bc2a01a01f229e57b9cdf61f3ebd0","name":"Nhat Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/04\/pham-nhat-anh-vippro-196x200.jpeg","url":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/04\/pham-nhat-anh-vippro-196x200.jpeg","contentUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/04\/pham-nhat-anh-vippro-196x200.jpeg","caption":"Nhat Anh"},"url":"https:\/\/itviec.com\/blog\/author\/nhat-anh\/"}]}},"_links":{"self":[{"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/posts\/93914","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/users\/233"}],"replies":[{"embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/comments?post=93914"}],"version-history":[{"count":2,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/posts\/93914\/revisions"}],"predecessor-version":[{"id":93968,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/posts\/93914\/revisions\/93968"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/media\/93969"}],"wp:attachment":[{"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/media?parent=93914"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/categories?post=93914"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/tags?post=93914"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}