Top 100 câu hỏi phỏng vấn lập trình java năm 2022

Phỏng vấn vẫn là vấn đề rất nhiều bạn ra mới ra trường khá sợ và thiếu tự tin, một phần chủ yếu do thiếu khá nhiều kiến thức nền tảng, một phần là bạn chưa có sự chuẩn bị kỹ càng. Việc đọc qua những câu phỏng vấn là một cách khá hay, giúp bạn trau dồi lại kiến thức của mình cũng như làm quen dần với các câu hỏi bạn sẽ gặp trong cuộc phỏng vấn.

Loạt bài hướng dẫn này đặc biệt trình bày về 200 Câu hỏi phỏng vấn Java có thể bạn sẽ được hỏi trong cuộc phỏng vấn về Ngôn ngữ lập trình Java. Để dễ theo dõi, mình chia 200 câu hỏi phỏng vấn Java này thành các phần nhỏ. Nếu bạn cảm thấy mình còn chưa tự tin về kiến thức Java của mình, bạn có thể đọc lại loạt bài hướng dẫn về Java của chúng tôi: Học Java cơ bản và nâng cao.

Dưới đây là danh sách các phần chứa câu hỏi phỏng vấn Java:

MỤC LỤC

  • Câu hỏi phỏng vấn Java - Phần 1
  • Câu hỏi phỏng vấn Java - Phần 2
  • Câu hỏi phỏng vấn Java - Phần 3
  • Câu hỏi phỏng vấn Java - Phần 4
  • Câu hỏi phỏng vấn Java - Phần 5
  • Câu hỏi phỏng vấn Java - Phần 6
  • Câu hỏi phỏng vấn Java - Phần 7
  • Câu hỏi phỏng vấn Java - Phần 8
  • Câu hỏi phỏng vấn Java - Phần 9
  • Câu hỏi phỏng vấn Java - Phần 10
  • Câu hỏi phỏng vấn Java - Phần 11
  • Câu hỏi phỏng vấn Java - Phần 12
  • Câu hỏi phỏng vấn Java - Phần 13
  • Câu hỏi phỏng vấn Java - Phần 14
  • Câu hỏi phỏng vấn Java - Phần 15
  • Câu hỏi phỏng vấn Java - Phần 16
  • Câu hỏi phỏng vấn Java - Phần 17
  • Câu hỏi phỏng vấn Java - Phần 18
  • Câu hỏi phỏng vấn Java - Phần 19
  • Câu hỏi phỏng vấn Java - Phần 20

Quảng cáo

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Các bạn có thể mua thêm khóa học JAVA CORE ONLINE VÀ ỨNG DỤNG cực hay, giúp các bạn vượt qua các dự án trên trường và đi thực tập Java. Khóa học có giá chỉ 300K, nhằm ưu đãi, tạo điều kiện cho sinh viên cho thể mua khóa học.

Nội dung khóa học gồm 16 chuơng và 100 video cực hay, học trực tiếp tại //www.udemy.com/tu-tin-di-lam-voi-kien-thuc-ve-java-core-toan-tap/ Bạn nào có nhu cầu mua, inbox trực tiếp a Tuyền, cựu sinh viên Bách Khoa K53, fb: //www.facebook.com/tuyen.vietjack

Follow facebook cá nhân Nguyễn Thanh Tuyền //www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.

Demo một bài giảng trong khóa học online tại vietjackteam.

Bài viết liên quan

  • 160 bài học ngữ pháp tiếng Anh hay nhất

  • 155 bài học Java tiếng Việt hay nhất

  • 100 bài học Android tiếng Việt hay nhất

  • 247 bài học CSS tiếng Việt hay nhất

  • 197 thẻ HTML cơ bản

  • 297 bài học PHP

  • 101 bài học C++ hay nhất

  • 97 bài tập C++ có giải hay nhất

  • 208 bài học Javascript có giải hay nhất

Khi đi phỏng vấn cho một công việc lập trình Java thì các bạn cần tìm hiểu và nghiên cứu thật kỹ về công ty mà bạn ứng tuyển. Đồng thời suy nghĩ về các ví dụ chứng minh các kỹ năng và khả năng lập trình Java của bạn. Bạn cũng có thể nghĩ ra các tình huống và kinh nghiệm trong quá khứ để nói lên sự hiểu biết của bạn về các khái niệm lập trình Java. Để giúp các bạn có thể tự tin bước qua buổi phỏng vấn thì Box.edu sẽ gợi ý cho các bạn những câu hỏi phỏng vấn Java phổ biến nhất hiện nay nhé!

Mục lục bài viết

  • 1 Tổng hợp những câu hỏi phỏng vấn Java 
    • 1.1 Java là gì?
    • 1.2 Các tính năng của Java là gì?
    • 1.3 Các khái niệm về OOP là gì?
    • 1.4 Đóng gói dữ liệu là gì?
    • 1.5 Đa hình là gì?
    • 1.6 Điểm khác biệt của các loại đa hình?
    • 1.7 Giao diện trong Java đề cập đến điều gì?
    • 1.8 Các hàm tạo trong Java là gì?
    • 1.9 Giải thích các loại hàm tạo trong Java
    • 1.10 JDK là gì?
    • 1.11 JVM là gì?
    • 1.12 JRE là gì?
    • 1.13 Sự khác biệt giữa bộ nhớ heap và bộ nhớ ngăn xếp là gì?
      • 1.13.1 Câu hỏi phỏng vấn Java về ký ức
      • 1.13.2 Truy cập
      • 1.13.3 Quản lý bộ nhớ
      • 1.13.4 Cả đời
      • 1.13.5 Cách sử dụng
    • 1.14 Trình biên dịch JIT là gì?
  • 2 Câu hỏi phỏng vấn Java về lớp, biến và đối tượng
    • 2.1 Một lớp trong Java là gì?
    • 2.2 Câu hỏi phỏng vấn Java về biến
    • 2.3 Cách sử dụng một phương thức trong Java?
    • 2.4 Đối tượng Java là gì?
    • 2.5 Lớp singleton là gì và cách sử dụng?
    • 2.6 Hàm tạo trong Java là gì?
    • 2.7 Vòng lặp trong Java là gì và cách sử dụng?
  • 3 Câu hỏi phỏng vấn Java chuỗi
    • 3.1 Điểm nhập trong Java là gì?
    • 3.2 Chuỗi args public static void main là gì?
    • 3.3 Mục đích của các phương thức tĩnh và biến tĩnh
  • 4 Tổng kết

Tổng hợp những câu hỏi phỏng vấn Java 

Java là gì?

Đây là câu hỏi gần như bắt buộc sẽ có trong các buổi phỏng vấn. Vì chỉ khi hiểu được khái niệm Java thì bạn mới có thể tiếp cận được ngôn ngữ lập trình này. Java được hiểu là một ngôn ngữ lập trình cấp cao độc lập với nền tảng. Nó độc lập với nền tảng vì các mã byte của nó có thể chạy ở trên bất kỳ hệ thống nào và bất kể hệ điều hành của nó là gì.

Các tính năng của Java là gì?

Các tính nắng chính của ngôn ngữ lập trình Java sẽ bao gồm:

  • Các khái niệm về lập trình hướng đối tượng (OOP)
  • Nền tảng độc lập
  • Hiệu suất cao
  • Tính đa luồng

Các khái niệm về OOP là gì?

  • Di sản
  • Đóng gói
  • Tính đa hình
  • Trừu tượng
  • Giao diện

Đóng gói dữ liệu là gì?

Đóng gói chính là một khái niệm trong Lập trình hướng đối tượng để kết hợp với các thuộc tính và phương thức trong một đơn vị duy nhất. Tính đóng gói này sẽ giúp các nhà phát triển tuân theo phương pháp tiếp cận mô-đun để phát triển phần mềm vì mỗi đối tượng có một bộ phương thức và biến riêng, giúp cho việc phục vụ các chức năng của nó một cách độc lập với các đối tượng khác. Ngoài ra còn có tính đóng gói phục vụ mục đích ẩn dữ liệu.

Đa hình là gì?

Đa hình biết đến là một giao diện có nhiều cách triển khai. Đặc điểm này cho phép bạn gán một ý nghĩa hoặc cách sử dụng khác cho một cái gì đó trong các ngữ cảnh khác nhau. Ví dụ: bạn có thể sử dụng tính đa hình để bật nhiều hơn một biểu mẫu cho các thực thể, như biến, hàm hoặc đối tượng.

Điểm khác biệt của các loại đa hình?

Hiện nay có hai loại đa hình bao gồm:

  • Tính đa hình thời gian biên dịch là quá trình nạp chồng phương thức
  • Và tính đa hình thời gian chạy sử dụng kế thừa và giao diện

Giao diện trong Java đề cập đến điều gì?

  • Giao diện trong Java chính là bản thiết kế của một lớp hoặc một tập hợp các phương thức trừu tượng và hằng số tĩnh
  • Mỗi phương thức là công khai và trừu tượng, nhưng nó sẽ không chứa bất kỳ phương thức khởi tạo nào

Các hàm tạo trong Java là gì?

Trong Java, một hàm tạo đề cập đến một khối mã được sử dụng để khởi tạo một đối tượng. Ngoài ra sẽ còn những điều sau:

  • Các trình xây dựng phải có cùng tên với tên của lớp
  • Các hàm tạo không có kiểu trả về
  • Việc tạo một đối tượng sẽ tự động gọi một hàm tạo

Giải thích các loại hàm tạo trong Java

Có 2 loại hàm tạo trong Java là hàm tạo mặc định và hàm tạo tham số.

– Nhà xây dựng mặc định 

  • Không mất bất kỳ đầu vào nào
  • Mục đích chính là khởi tạo các biến cá thể với các giá trị mặc định 
  • Được sử dụng rộng rãi để tạo đối tượng

–  Trình tạo tham số

  • Có khả năng khởi tạo các biến cá thể với các giá trị được cung cấp
  • Các hàm tạo này sẽ nhận các đối số

JDK là gì?

JDK là viết tắt của bộ công cụ phát triển Java. Nó có thể biên dịch, tài liệu và đóng gói các chương trình Java. Đồng thời còn chứa cả JRE và các công cụ phát triển.

JVM là gì?

JVM là viết tắt của máy ảo Java. Nó là một máy trừu tượng cung cấp một môi trường thời gian chạy cho phép các lập trình viên thực thi Java bytecode. JVM sẽ tuân theo đặc điểm kỹ thuật, thực hiện và ký hiệu phiên bản thời gian chạy.

JRE là gì?

JRE được hiểu là viết tắt của Java runtime environment. Đồng thời JRE đề cập đến một môi trường thời gian chạy cho phép các lập trình viên thực thi mã bytecode của Java. Ngoài ra JRE là một triển khai thực tế của JVM.

Sự khác biệt giữa bộ nhớ heap và bộ nhớ ngăn xếp là gì?

Câu hỏi phỏng vấn Java về ký ức

  • Bộ nhớ ngăn xếp chỉ được sử dụng bởi một luồng thực thi và tất cả các phần của ứng dụng đều sử dụng bộ nhớ heap

Truy cập

  •  Các luồng khác không thể truy cập bộ nhớ ngăn xếp cũng như các đối tượng được lưu trữ trong heap có thể truy cập được trên toàn cầu

Quản lý bộ nhớ

  • Ngăn xếp theo cách thức LIFO để giải phóng bộ nhớ, thêm nữa việc quản lý bộ nhớ cho heap bắt nguồn từ thế hệ liên kết với từng đối tượng

Cả đời

  • Ngăn xếp tồn tại cho đến khi kết thúc quá trình thực thi luồng. Bộ nhớ Heap tồn tại từ khi bắt đầu cho đến khi kết thúc quá trình thực thi ứng dụng

Cách sử dụng

  • Bộ nhớ ngăn xếp chỉ chứa các biến nguyên thủy cục bộ và tham chiếu đến các đối tượng trong không gian đốn. Bất kỳ khi nào bạn tạo một đối tượng, nó luôn được lưu trữ trong không gian heap

Trình biên dịch JIT là gì?

Trình biên dịch JIT chạy sau khi chương trình được thực thi và biên dịch mã thành một dạng nhanh hơn, lưu trữ bộ hướng dẫn gốc của CPU. 

Câu hỏi phỏng vấn Java về lớp, biến và đối tượng

Câu hỏi phỏng vấn Java về lớp, biến và đối tượng

Một lớp trong Java là gì?

Tất cả các mã Java đều được định nghĩa trong một lớp. Nó sẽ gồm các biến và phương thức.

Câu hỏi phỏng vấn Java về biến

Biến được hiểu là thuộc tính xác định trạng thái của một lớp.

Cách sử dụng một phương thức trong Java?

Các phương pháp là nơi mà logic nghiệp vụ chính xác phải được thực hiện. Phương thức chứa một tập hợp các câu lệnh hoặc hướng dẫn đáp ứng các yêu cầu cụ thể. 

Đối tượng Java là gì?

Đối tượng Java là một thể hiện của một lớp, nó có trạng thái và hành vi.

Lớp singleton là gì và cách sử dụng?

Một lớp singleton trong Java chỉ có một thể hiện. Do vậy tất cả các phương thức và biến của nó đều thuộc về trường hợp này. Khái niệm lớp singleton rất hữu ích khi nhà phát triển cần giới hạn số lượng đối tượng cho một lớp.

Hàm tạo trong Java là gì?

Mục đích duy nhất của việc sử dụng Constructors trong Java là tạo một lớp. Một số tính năng chính của hàm tạo Java bao gồm:

  • Các trình xây dựng có thể là công khai, riêng tư hoặc được bảo vệ
  • Nếu một lớp đã định nghĩa một phương thức khởi tạo với các đối số, bạn không thể sử dụng một phương thức khởi tạo không đối số mặc định – mà bạn phải viết một hàm tạo
  • Việc khởi tạo một lớp sẽ chỉ gọi chúng một lần
  • Chúng phải có cùng tên với chính lớp đó
  • Chúng không trả về giá trị và bạn không phải chỉ định từ khóa void
  • Nếu bạn không tạo một phương thức khởi tạo cho lớp, Java sẽ giúp bạn bằng cách sử dụng cái gọi là phương thức khởi tạo không đối số mặc định

Vòng lặp trong Java là gì và cách sử dụng?

  • Vòng lặp for được dùng để thực thi các câu lệnh lặp đi lặp lại trong một số lần nhất định. Vòng lặp for được sử dụng khi người lập trình biết số lần thực thi các câu lệnh
  • Vòng lặp while hữu ích khi một số câu lệnh nhất định cần phải thực thi lặp đi lặp lại cho đến khi nó đáp ứng một điều kiện. Trong vòng lặp while, nó sẽ kiểm tra điều kiện trước khi thực hiện các câu lệnh
  • Vòng lặp do while giống với vòng lặp while, trừ việc nó kiểm tra điều kiện sau khi thực hiện khối lệnh. Ngoài ra, các câu lệnh của vòng lặp do while thực thi ít nhất một lần

Câu hỏi phỏng vấn Java chuỗi

Điểm nhập trong Java là gì?

main () trong Java là điểm đầu vào cho bất kỳ chương trình Java nào, đồng thời main () luôn được viết là public static void main string args

Chuỗi args public static void main là gì?

Công khai static void main string args, còn được gọi là public static void main (String [] args) nghĩa là:

  • Công khai là một công cụ sửa đổi quyền truy cập được dùng để chỉ định ai có thể truy cập phương thức này. Ngoài ra, phương thức này có thể truy cập bởi bất kỳ lớp nào
  • Static là một từ khóa trong java để xác định khi nào nó là dựa trên lớp. main () được tạo tĩnh trong Java để truy cập nó mà không cần tạo thể hiện của một lớp. Nếu main không được đặt tĩnh, trình biên dịch sẽ ném ra một lỗi vì hàm main () được gọi bởi JVM trước khi tạo bất kỳ đối tượng nào. Nó chỉ có thể gọi các phương thức tĩnh trực tiếp thông qua lớp
  • Void là kiểu trả về của phương thức xác định phương thức. Phương thức đó không trả về giá trị
  • Main là tên của phương thức được JVM tìm kiếm như một điểm khởi đầu cho một ứng dụng. Nó cũng là phương thức nơi thực thi chính xảy ra
  • Chuỗi args [] là tham số truyền đến phương thức chính

Mục đích của các phương thức tĩnh và biến tĩnh

Các nhà phát triển sử dụng từ khóa static để tạo một phương thức hoặc biến được chia sẻ cho tất cả các đối tượng khi có yêu cầu chia sẻ một phương thức hoặc một biến giữa nhiều đối tượng của một lớp. Điều này được sử dụng thay vì tạo các bản sao riêng biệt cho từng đối tượng.

Tổng kết

Box.edu mong rằng những gợi ý về câu hỏi phỏng vấn Java ở trên sẽ giúp các bạn ứng viên phỏng vấn cảm thấy tự tin và nắm được những kiến thức cơ bản nhất. Nó cũng là tiền đề cho việc học Java của các bạn mới. Chúc các bạn thành công!

Java là một trong những ngôn ngữ lập trình được sử dụng rộng rãi trong ngành. Có hơn 3 tỷ thiết bị sử dụng Java để phát triển phần mềm. Rất nhiều cơ hội việc làm có sẵn cho các nhà phát triển Java. Trong blog Câu hỏi phỏng vấn Java cốt lõi này, bạn sẽ trải qua các câu hỏi phỏng vấn Java hàng đầu mà bạn sẽ gặp trong các cuộc phỏng vấn của Java. Chúng ta hãy nhìn thoáng qua một vài câu hỏi phỏng vấn lập trình Java quan trọng ở đây:

Q1. Bạn hiểu gì về Java? Q2. So sánh giữa Java và Python Q3. Phác thảo các tính năng Java chính. Q4. Ý bạn là gì bởi một đối tượng? Q5. Phân biệt giữa StringBuffer và StringBuilder trong lập trình Java. Q6. Phân biệt giữa JDK, JRE và JVM. Q7. Xác định kế thừa. Q8. Giải thích quá tải phương pháp. Q9. So sánh quá tải với quá mức. Q10. Giải thích việc tạo ra một singleton an toàn chủ đề trong Java bằng cách sử dụng khóa được kiểm tra kép.
Q2. Compare between Java and Python
Q3. Outline the major Java features.
Q4. What do you mean by an object?
Q5. Distinguish between StringBuffer and StringBuilder in Java programming.
Q6. Differentiate between JDK, JRE, and JVM.
Q7. Define inheritance.
Q8. Explain method overloading.
Q9. Compare overloading with overriding.
Q10. Explain the creation of a thread-safe singleton in Java using double-checked locking.

Blog này về các câu hỏi phỏng vấn Java được phân loại thành ba phần như đã đề cập dưới đây: 1. Cơ bản
1. Basic

2. Trung cấp

3. Nâng cao

Xem video câu hỏi phỏng vấn java này:

Câu hỏi phỏng vấn Java Core cho Freshers

Đây là những câu hỏi phỏng vấn Java cơ bản cho những người mới làm nứt cuộc phỏng vấn của họ:

1. Bạn hiểu gì bởi Java?

  • Java là ngôn ngữ máy tính hướng đối tượng.
  • Đây là một ngôn ngữ lập trình cấp cao được phát triển bởi James Gosling trong Sun Microsystems vào năm 1995.
  • Java là một ngôn ngữ nhanh, an toàn và đáng tin cậy được sử dụng cho nhiều trò chơi, thiết bị và ứng dụng.

Đi qua hướng dẫn Java này để hiểu rõ hơn về khái niệm này!

2. So sánh giữa Java và Python.

Tiêu chuẩn Java Python
Dễ sử dụngTốtXuất sắc
Tốc độ mã hóaTrung bìnhXuất sắc
Tốc độ mã hóaTrung bìnhLoại dữ liệu
Tĩnh gõTrung bìnhXuất sắc

Tốc độ mã hóa

Trung bình

  • Loại dữ liệu Java is based on object-oriented programming where the class and methods describe the state and behavior of an object.
  • Tĩnh gõ A Java program gets converted into Java bytecodes that can be executed on any platform without any dependency.
  • Được gõ linh hoạt Java works on the ‘write once, run anywhere’ principle as it supports multiple platforms like Windows, Linux, Mac, Sun Solaris, etc.
  • Khoa học dữ liệu và các ứng dụng học máy Java has strong memory management as there are no pointer allocations. It has an automatic garbage collection that prohibits memory leaks.
  • 3. Phác thảo các tính năng Java chính.As mentioned, Java compiler converts the codes into Java bytecodes which are then interpreted and executed by Java Interpreter.

Các tính năng chính của ngôn ngữ lập trình Java được giải thích dưới đây:

Hướng đối tượng: & nbsp; java dựa trên lập trình hướng đối tượng trong đó lớp và phương thức mô tả trạng thái và hành vi của một đối tượng.

Portable: & nbsp; Một chương trình Java được chuyển đổi thành các byte byte có thể được thực thi trên bất kỳ nền tảng nào mà không cần bất kỳ sự phụ thuộc nào.

Nền tảng độc lập: & NBSP;

Mạnh mẽ: & nbsp; java có quản lý bộ nhớ mạnh vì không có phân bổ con trỏ. Nó có một bộ sưu tập rác tự động cấm rò rỉ bộ nhớ.

Giải thích: Như đã đề cập, trình biên dịch Java chuyển đổi mã thành các byte Java sau đó được giải thích và thực hiện bởi trình thông dịch Java.

Trở thành bậc thầy của Java bằng cách đăng ký vào khóa học trực tuyến & NBSP này! Nhận 100% đi bộ!
Làm chủ nhiều nhất về kỹ năng nhu cầu bây giờ!4. Ý bạn là gì bởi một đối tượng?
Một đối tượng bao gồm các phương thức và các lớp mô tả trạng thái của nó và thực hiện các hoạt động. Một chương trình Java chứa rất nhiều đối tượng hướng dẫn nhau công việc của họ. Khái niệm này là một phần của Java cốt lõi.5. Phân biệt giữa StringBuffer và StringBuilder trong lập trình Java.
StringBufferStringBuilder
Các phương thức StringBuffer được đồng bộ hóa.StringBuilder không đồng bộ hóa.

Khu vực lưu trữ là đống và sửa đổi dễ dàng.this tutorial to get a better understanding of Java String!

Lưu trữ là đống và có thể được sửa đổi.

  • StringBuffer là an toàn cho luồng. stands for Java Virtual Machine which provides the runtime environment for Java bytecodes to be executed.
  • StringBuilder nhanh vì nó không an toàn cho luồng. (Java Runtime Environment) includes the sets of files required by JVM during runtime.
  • Hiệu suất rất chậm. (Java Development Kit) consists of JRE along with the development tools required to write and execute a program.

Hiệu suất rất nhanh.

Đi qua hướng dẫn này để hiểu rõ hơn về chuỗi Java!

6. Phân biệt giữa JDK, JRE và JVM.

JVM là viết tắt của Máy ảo Java cung cấp môi trường thời gian chạy cho các byte Java được thực thi.

JRE (Môi trường thời gian chạy Java) bao gồm các bộ tệp theo yêu cầu của JVM trong thời gian chạy.

JDK (Bộ phát triển Java) bao gồm JRE cùng với các công cụ phát triển cần thiết để viết và thực hiện một chương trình.

Nhận một ý tưởng rõ ràng về & nbsp; tại sao để được chứng nhận trong Java!

7. Xác định kế thừa.

10. Giải thích việc tạo ra một singleton an toàn chủ đề trong Java bằng cách sử dụng khóa kiểm tra kép.

Singleton được tạo ra với khóa được kiểm tra kép như trước khi Java 5 hoạt động như một nhà môi giới và nó có thể có nhiều trường hợp singleton khi nhiều luồng tạo ra một thể hiện của singleton cùng một lúc. Java 5 giúp dễ dàng tạo singleton an toàn bằng chỉ bằng enum. Sử dụng một biến dễ bay hơi là điều cần thiết cho cùng một.

11. Lớp học trong Java là gì?

Java gói gọn mã trong các lớp khác nhau xác định các loại dữ liệu mới. Các loại dữ liệu mới này được sử dụng để tạo các đối tượng.

12. Phân biệt giữa một danh sách mảng và một vectơ.

Lập danh sách Vector
Một danh sách mảng không được đồng bộ hóa.Một vector được đồng bộ hóa.
Một danh sách mảng là nhanh.Một vector chậm vì nó an toàn cho luồng.
Nếu một phần tử được chèn vào một danh sách mảng, nó sẽ tăng kích thước mảng lên 50 %.Một vector mặc định để nhân đôi kích thước của mảng của nó.
Một danh sách mảng không xác định kích thước gia tăng.Một vector xác định kích thước tăng.
Một danh sách mảng chỉ có thể sử dụng tererator để đi qua.Ngoại trừ Hashtable, một vectơ là lớp duy nhất sử dụng cả liệt kê và lặp.

13. Đề cập đến sự khác biệt giữa iterator và liệt kê.

Người lặp lại  EnumerationEnumeration
Iterator là một giao diện được tìm thấy trong gói java.util.Liệt kê là một đối tượng tạo ra các yếu tố cùng một lúc.
Sử dụng ba phương thức để giao diện:
  1. hasNext()
  2. next()
  3. remove()
Sử dụng hai phương pháp:
  1. hasMoreElements()
  2. nextElement()
Trình lặp cho phép loại bỏ các phần tử khỏi bộ sưu tập đã cho trong quá trình lặp với ngữ nghĩa được xác định rõ.Nó được sử dụng để đi qua một bộ sưu tập, thường có kích thước không xác định.
Tên phương thức lặp đã được cải thiện.Việc đi qua các yếu tố chỉ có thể được thực hiện một lần mỗi lần tạo.

14. Giải thích sự khác biệt giữa lớp bên trong và lớp con.

Lớp bên trong Lớp con
Một lớp bên trong là một lớp được lồng trong một lớp khác.Một lớp con là một lớp kế thừa từ một lớp khác được gọi là siêu lớp.
Nó cung cấp các quyền truy cập cho lớp đang làm tổ nó và có thể truy cập tất cả các biến và phương thức được xác định trong lớp bên ngoài.Nó cung cấp quyền truy cập vào tất cả các phương pháp và trường được bảo vệ và bảo vệ của siêu lớp của nó.

15. Chúng ta có thể thực thi bất kỳ mã nào, ngay cả trước phương thức chính không? Giải thích.

Có, chúng tôi có thể thực thi bất kỳ mã nào, ngay cả trước phương thức chính. Chúng tôi sẽ sử dụng một khối mã tĩnh trong lớp khi tạo các đối tượng vào thời điểm tải của lớp. Bất kỳ câu lệnh nào trong khối mã tĩnh này sẽ được thực thi cùng một lúc trong khi tải lớp, ngay cả trước khi tạo các đối tượng trong phương thức chính.

Chuẩn bị cho chứng nhận Java với đào tạo Java trực tuyến toàn diện của chúng tôi!

16. Làm thế nào chúng ta có thể hạn chế kế thừa cho một lớp?

Chúng ta có thể hạn chế kế thừa cho một lớp theo các bước sau:

  1. Bằng cách sử dụng từ khóa cuối cùng
  2. Nếu chúng ta làm cho tất cả các phương thức kết thúc, thì chúng ta không thể ghi đè lên điều đó
  3. Bằng cách sử dụng các hàm tạo riêng
  4. Bằng cách sử dụng bình luận javadoc (Hồi //)// “)

17. Java không hỗ trợ nhiều kế thừa. Tại sao?

Java không hỗ trợ nhiều kế thừa vì chúng tôi không thể sử dụng các phương thức khác nhau trong một lớp; nó tạo ra một sự mơ hồ.example:
Example:

class Intellipaat1 { void test() { system.out.println("test() method"); } }class Intellipaat2 { void test() { system.out.println("test() method"); } }Multiple inheritance class C extends Intellipaat1, Intellipaat2 { /* Code */ }

Các phương thức testsIpaat1 và intellipaat2 () đang được kế thừa cho lớp C. & nbsp; Vậy, phương thức c Hạng nào sẽ thực hiện?

Vì các phương pháp Test () của Intellipaat1 và Intellipaat2 là khác nhau, ở đây chúng ta sẽ phải đối mặt với sự mơ hồ.

18. Các nhà xây dựng có được thừa kế không? Một lớp con có thể gọi hàm tạo lớp của cha mẹ không?

Chúng ta không thể kế thừa một hàm tạo. Chúng tôi tạo một thể hiện của một lớp con bằng cách sử dụng một hàm tạo của một trong các siêu lớp của nó. Bởi vì việc ghi đè hàm tạo siêu lớp không phải là mong muốn của chúng tôi như thể chúng tôi ghi đè một hàm tạo siêu lớp, nên chúng tôi sẽ phá hủy các khả năng đóng gói của ngôn ngữ.

Kiểm tra hướng dẫn sâu sắc này để tìm hiểu thêm về các nhà xây dựng Java!

19. Xác định JSON.

Sự mở rộng của JSON là ký hiệu đối tượng JavaScript. Đây là một sự thay thế nhẹ hơn và dễ đọc hơn cho XML. Nó là độc lập và dễ dàng phân tích cú pháp trong tất cả các ngôn ngữ lập trình. Nó chủ yếu được sử dụng cho máy khách và máy chủ của máy khách giao tiếp máy chủ.

20. Ưu điểm của JSON so với XML là gì?

Ưu điểm của JSON so với XML là:

  1. & nbsp; json nhẹ hơn và nhanh hơn XML.
  2. & nbsp; nó dễ hiểu.
  3. & nbsp; rất dễ phân tích và chuyển đổi sang các đối tượng để tiêu thụ thông tin.
  4. JSON hỗ trợ nhiều loại dữ liệu Trực trường, số, mảng hoặc boolean, nhưng dữ liệu XML là tất cả các chuỗi.

21. Sự khác biệt giữa Java và C ++ là gì?

Dưới đây là sự khác biệt chính giữa Java và C ++:

Java C++
Java hỗ trợ cả trình biên dịch và trình thông dịchChỉ hỗ trợ trình biên dịch
Quản lý bộ nhớ được kiểm soát hệ thốngQuản lý bộ nhớ có thể được truy cập bởi các lập trình viên
Không hỗ trợ nhiều khoản thừa kếHỗ trợ nhiều kế thừa
Cung cấp hỗ trợ hạn chế cho các con trỏHỗ trợ đầy đủ các con trỏ
Cho thấy sự phụ thuộc nặng nề vào việc thu gom rác tự động, nhưng không hỗ trợ các chất hủy diệtNgười dùng cần thực hiện quản lý thủ công bằng cách sử dụng từ khóa mới và xóa

22. Trình biên dịch JIT là gì?

Trình biên dịch chỉ trong thời gian là một phần quan trọng của môi trường thời gian chạy Java nhằm tối ưu hóa hiệu suất của các ứng dụng dựa trên Java tại thời điểm chạy. JIT Parallelly biên dịch các byte có chức năng tương tự và giảm thời gian biên dịch.

Một phương pháp trong chương trình Java có thể được gọi là hàng ngàn lần khi khởi động. Do đó, thay vì biên dịch mọi phương pháp, Java OpenJ9 ghi lại số lần một phương thức được bắt đầu. Nếu số lượng bắt đầu vượt qua ngưỡng được xác định trước, trình biên dịch JIT sẽ được kích hoạt.

23. Lớp tải lớp là gì?

Đây là một phần của môi trường thời gian chạy Java được sử dụng để tự động tải các tệp lớp vào máy ảo Java (JVM). Trình tải lớp kích hoạt bất cứ khi nào một tệp Java được thực thi.

Có ba loại bộ tải lớp trong Java:

  • BootStrap Class Loader: Trình tải Bootstrap là siêu lớp của trình tải lớp mở rộng tải các tệp JDK tiêu chuẩn từ RT.JAR và các lớp lõi khác. Tệp rt.jar chứa tất cả các lớp gói của java.net, java.lang, java.util, java.io, java.sql, v.v. The bootstrap loader is the superclass of extension classloader which loads the standard JDK files from rt.jar and other core classes. The rt.jar file contains all the package classes of java.net, java.lang, java.util, java.io, java.sql, etc.
  • Trình tải lớp mở rộng: Trình tải lớp mở rộng được gọi là cha mẹ của bộ tải lớp hệ thống và con của trình tải lớp Bootstrap. Nó chỉ tải các tệp có sẵn trong thư mục mở rộng Class Class, đó là thư mục ext.dirs/jre/lib/ext. Nếu tệp không có sẵn trong thư mục được đề cập, trình tải lớp mở rộng sẽ giao nó cho trình tải lớp hệ thống. The extension classloader is known as the parent of the System classloaders and the child of the Bootstrap classloader. It only loads the files available in the extension classpath, that is ‘ext.dirs/JRE/lib/ext directory. If the file is not available in the mentioned directory the extension classloader will delegate it to the System classloader.
  • Trình tải lớp hệ thống/ứng dụng: Nó tải các lớp loại ứng dụng có sẵn trong biến môi trường như -ClassPath hoặc -CP tùy chọn dòng lệnh. Trình tải lớp ứng dụng tạo ra classnotfoundException nếu lớp không có sẵn trong ClassPath ứng dụng. It loads the classes of application type available in the environment variable such as -classpath, or -cp command-line option. The application classloader generates a ClassNotFoundException if the class is not available in the application classpath.

24. Tên tệp .java trống có phải là tên tệp nguồn hợp lệ trong Java không?

Có, chúng ta có thể lưu một tệp Java với tên tệp .java trống. Bạn có thể biên dịch nó trong dấu nhắc lệnh bằng ‘javac .java, và chạy nó bằng cách gõ‘ java classname. Dưới đây là một ví dụ về một chương trình như vậy:

import java.util.*; class A { public static void main(String args[]) { System.out.println("Hello World"); } }

Sau khi lưu mã, bạn cần mở dấu nhắc lệnh và đi đến thư mục nơi lưu trữ tệp. Sau đó, bạn cần gõ ‘javac .java, để biên dịch chương trình và‘ java A, để chạy chương trình.

25. Sự khác biệt giữa ngôn ngữ lập trình hướng đối tượng và đối tượng là gì?

Sau đây là sự khác biệt chính giữa các ngôn ngữ lập trình hướng đối tượng và đối tượng:

Ngôn ngữ lập trình hướng đối tượng Ngôn ngữ lập trình dựa trên đối tượng
Các ngôn ngữ lập trình hướng đối tượng hỗ trợ tất cả các tính năng của OOP bao gồm đa hình và kế thừa.Ngôn ngữ lập trình dựa trên đối tượng không hỗ trợ kế thừa và đa hình.
Không hỗ trợ các đối tượng tích hợp.Hỗ trợ các đối tượng tích hợp như JavaScript có đối tượng cửa sổ.
Ví dụ: C#, C ++, Java, Python, v.v.JavaScript và Visual Basic là những ví dụ về ngôn ngữ lập trình dựa trên đối tượng.

26. Có bao nhiêu loại nhà xây dựng trong ngôn ngữ lập trình Java?

Có hai loại hàm tạo trong ngôn ngữ lập trình Java:

  • Hàm tạo tham số hóa: Một hàm tạo chấp nhận các đối số hoặc tham số được gọi là hàm tạo tham số hóa. Nó khởi tạo các biến thể hiện sẽ các giá trị được truyền trong khi tạo một đối tượng.: A constructor that accepts arguments or parameters is known as the parameterized constructor. It initializes the instance variables will the values passed while creating an object.

Dưới đây là một ví dụ về hàm tạo được tham số hóa:

import java.util.*; class A { int roll_no; String name; A() { System.out.println("Constructor called"); } public void fun() { System.out.println("Class A function called"); } } public class parameterized_constructor { public static void main(String args[]) { A obj=new A(); obj.fun(); System.out.println("The value of instance variables are: "); System.out.println("Name: "+obj.name); System.out.println("Roll No: " +obj.roll_no); } } The output of the above program would be: Constructor called Class A function called The value of instance variables are: Name: null Roll No: 0
  • Hàm tạo không tham số/mặc định: Các hàm tạo không có tham số hoặc đối số được biết đến và các hàm tạo không tham số hóa. Trong trường hợp bạn không định nghĩa một hàm tạo thuộc bất kỳ loại nào, bản thân trình biên dịch sẽ tạo ra một hàm tạo mặc định sẽ được gọi khi đối tượng được tạo.: The constructors with no parameters or arguments are known and non-parameterized constructors. In case you don’t define a constructor of any type, the compiler itself creates a default constructor which will be called when the object is created.

Dưới đây là một ví dụ về hàm tạo không tham số:

import java.util.*; class A { int roll_no; String name; A(int x,String y) { this.roll_no=x; this.name=y; System.out.println("Constructor called"); } public void fun() { System.out.println("Class A function called"); } } public class non_parameterized_constructor { public static void main(String args[]) { A obj=new A(10,"Harry Williams"); System.out.println("The value of instance variables"); System.out.println("Name: "+obj.name); System.out.println("Roll No: "+obj.roll_no); } } The output of the above program will be: Constructor called The value of instance variables Name: Harry Williams Roll No: 10

27. Mục đích của hàm tạo mặc định trong Java là gì?

Nếu không có hàm tạo nào có sẵn trong lớp, trình biên dịch Java sẽ tạo một hàm tạo mặc định và gán giá trị mặc định cho các biến thể hiện.

Ví dụ:

import java.util.*; class A { String name; int id; void display() { System.out.println("Name: "+this.name); System.out.println("Id: "+this.id); } } public class B { public static void main(String args[]) { A object=new A(); System.out.println("The values of the instance variables are:"); System.out.println("Name: "+object.name); System.out.println("Name: "+object.id); } } The output of the above program: The values of the instance variables are: Name: null Name: 0

28. Việc sử dụng một hàm tạo bản sao trong Java là gì?

Java không hỗ trợ một hàm tạo bản sao, tuy nhiên, bạn có thể sao chép các giá trị của một thể hiện này sang phiên bản khác bằng cách sao chép các biến thể hiện của một đối tượng này sang đối tượng khác. Dưới đây là một ví dụ về một phương pháp như vậy:

import java.util.*; class demo { String name; int roll_no; //constructor to initialize the name and roll number demo(int x, String y) { name=y; roll_no=x; } //constructor to initialize another object variables demo(demo ob) { roll_no=ob.roll_no; name=ob.name; } void display() { System.out.println("Name: "+name); System.out.println("Roll Number:"+roll_no); } } public class copy_constructor { public static void main(String args[]) { demo obj=new demo(10,"Alice Williams"); demo obj2=new demo(obj); obj.display(); obj2.display(); } } The output of the following code is: Name: Alice Williams Roll Number:10 Name: Alice Williams Roll Number:10

29. Tại sao phương pháp chính là tĩnh trong java?

Phương pháp chính là tĩnh trong Java vì để gọi các phương thức tĩnh, không cần đối tượng. Máy ảo Java (JVM) phải tạo một đối tượng để gọi phương thức Main () không tĩnh, sẽ dẫn đến phân bổ bộ nhớ thêm.

30. Chúng ta có thể khai báo các biến và phương thức tĩnh trong một lớp trừu tượng không?

Có, chúng ta có thể khai báo các biến và phương thức tĩnh trong một lớp trừu tượng bằng cách kế thừa lớp trừu tượng. Trong Java, các biến và phương thức tĩnh có thể được truy cập mà không cần tạo một đối tượng. Bạn chỉ có thể mở rộng lớp trừu tượng và sử dụng bối cảnh tĩnh như đã đề cập dưới đây:

import java.util.*; class A { static int x=110; static void method1() { System.out.println("Class A static function called"); } } public class prog1 extends A { public static void main(String args[]) { A.method1(); System.out.println("Value of x="+A.x); } } The output of the above program will be: Class A static function called Value of x=110

31. Tập hợp là gì?

Tập hợp trong Java đại diện cho mối quan hệ có một mối quan hệ trong đó một lớp chứa tham chiếu của một lớp khác. Nói cách khác, nó đề cập đến mối quan hệ một chiều giữa hai lớp trong đó lớp tổng hợp có thể hiện của một lớp khác mà nó sở hữu.

Ví dụ, trong chương trình bên dưới học sinh lớp tổng hợp có mối quan hệ một chiều với địa chỉ lớp. Ở đây, mỗi học sinh có một địa chỉ có ý nghĩa, nhưng địa chỉ có học sinh không có ý nghĩa gì. Vì vậy, thay vì kế thừa, tập hợp dựa trên việc sử dụng các lớp.

import java.util.*; class Address { String street, city, state, country; public Address(String street, String city, String state, String country) { this.street=street; this.city=city; this.state=state; this.country=country; } } public class student { int reg_no; String name; Address address; public student(int id,String name,Address address) { this.reg_no=id; this.name=name; this.address=address; } public void display() { System.out.println("Student details: "); System.out.println("Name: "+name); System.out.println("Reg_no: "+reg_no); System.out.println("Address: "+address.street+", "+address.city+", "+address.state+", "+address.country); } public static void main(String args[]) { Address address1=new Address("Paper Mill Road","SRE","UP","India"); Address address2=new Address("Service Road","BNG","KA","India"); student ob1=new student(111,"Sam",address1); student ob2=new student(112,"Alex",address2); ob1.display(); ob2.display(); } } The output of the above program will be: Student details: Name: Sam Reg_no: 111 Address: Paper Mill Road, SRE, UP, India Student details: Name: Alex Reg_no: 112 Address: Service Road, BNG, KA, India

32. Thành phần là gì?

Nếu một đối tượng chứa một đối tượng khác và có thể tồn tại có thể tồn tại mà không có sự tồn tại của đối tượng cụ thể đó, thì nó được gọi là bố cục. Nói một cách đơn giản, bố cục là một loại tập hợp được sử dụng để mô tả tham chiếu giữa hai lớp bằng cách sử dụng biến tham chiếu.

Ví dụ, một học sinh lớp chứa một lớp khác có tên địa chỉ. Vì vậy, nếu địa chỉ lớp không thể tồn tại mà không có học sinh lớp, thì tồn tại một sáng tác giữa chúng.

33. Sự khác biệt giữa tập hợp và thành phần là gì?

Dưới đây là sự khác biệt chính giữa tập hợp và thành phần trong Java:

Tập hợp Thành phần
Lớp cha mẹ có mối quan hệ một chiều với lớp trẻ.Trong sáng tác, lớp cha sở hữu lớp con.
Tập hợp được biểu thị bằng một viên kim cương rỗng trong ký hiệu UML (Ngôn ngữ mô hình hóa hợp nhất).Biểu thị bằng một viên kim cương đầy trong ký hiệu UML.
Lớp trẻ có vòng đời riêng.Lớp trẻ không có cuộc sống của nó.
Tập hợp là một mối quan hệ yếu đuối. Ví dụ, một chiếc xe đạp có một chỉ số là tổng hợp.Thành phần là một mối quan hệ mạnh mẽ hơn. Ví dụ, một chiếc xe đạp có động cơ là một tác phẩm.

34. Nhân bản đối tượng là gì?

Nhân bản đối tượng có nghĩa là tạo bản sao chính xác của một đối tượng hiện có. Trong lập trình Java, nhân bản đối tượng có thể được thực hiện bằng phương thức Clone (). Để tạo bản sao đối tượng, bạn nên triển khai giao diện java.lang.

Cú pháp cho phương pháp nhân bản là:

protected Object clone() throws CloneNotSupportedException

35. Chúng ta có thể quá tải phương pháp chính trong Java không?

Có, bạn có thể quá tải phương thức chính () trong java bằng cách sử dụng khái niệm quá tải phương thức.

Dưới đây là một ví dụ về quá tải phương thức chính ():

import java.util.*; public class main_overloading { public static void main(String args) { System.out.println("Main with String"); } public static void main(String args[]) { System.out.println("Main with the String args[]"); } public static void main() { System.out.println("main without String"); } }

Đầu ra của mã trên sẽ là:

import java.util.*; class A { public static void main(String args[]) { System.out.println("Hello World"); } } 0

36. Giải thích khoảng trống tĩnh công khai chính (chuỗi argos []) trong java?

Phương thức chính () là điểm nhập cho bất kỳ chương trình nào trong ngôn ngữ Java. Trong biểu thức công khai static void main (String argos []), mỗi từ khóa có ý nghĩa như đã đề cập dưới đây:public static void main(String argos[]), each keyword has significance as mentioned below:

  • Công khai: Đó là một nhà xác định truy cập được sử dụng để chỉ định khả năng truy cập của một phương thức trong Java. Ở đây, công khai có nghĩa là bất cứ ai cũng có thể truy cập phương thức hoặc lớp.It’s an access specifier which is used to specify the accessibility of a method in java. Here, Public means anyone can access the method or the class.
  • Tĩnh: Từ khóa tĩnh trong Java xác định phương thức chính là dựa trên lớp, điều đó có nghĩa là nó có thể được truy cập mà không cần tạo đối tượng/phiên bản. Các phương thức tĩnh có thể được B3E gọi trực tiếp bởi Máy ảo Java (JVM), từ đó tiết kiệm thêm phân bổ bộ nhớ. the static keyword in java identifies the main method as class-based, which means it can be accessed without creating an object/instance. Static methods can b3e directly called by the Java Virtual Machine(JVM), which in turn saves extra memory allocation.
  • void: void là loại trả về trong Java, có nghĩa là phương thức chính sẽ không trả lại bất kỳ giá trị nào. void is a return type in java, which means the main method will not return any value back.
  • Chuỗi args []: chuỗi argos [] hoặc chuỗi [] args là một mảng các đối tượng chuỗi lưu trữ các đối số dòng lệnh. Ở đây đối số là một mảng các loại Java. Do đó, nó đã truyền như tham số trong phương thức chính (). String argos[] or String[] args is an array of String objects which stores the command line arguments. Here the argument is an array of types of java. Therefore, it’s passed as the parameter in the main() method.

37. Các từ khóa xử lý ngoại lệ khác nhau trong Java là gì?

Ngôn ngữ Java có ba từ khóa xử lý ngoại lệ:

  • Hãy thử: Bất cứ khi nào một phân đoạn mã có cơ hội lỗi hoặc bất kỳ sự bất thường nào, nó có thể được đặt bên trong khối thử. Trong trường hợp có bất kỳ lỗi nào, khối thử sẽ gửi ngoại lệ đến khối bắt. whenever a code segment has a chance of an error or any abnormality, it can be placed inside the try block. In case of any error, the try block will send the exception to the catch block.
  • Bắt: Bắt Xử lý ngoại lệ được tạo trong khối thử. Nó đến sau khối thử. catch handles the exception generated in the try block. It comes after the try block.
  • Cuối cùng: Từ khóa cuối cùng đảm bảo rằng các phân đoạn thực thi mặc dù các lỗi và ngoại lệ được xử lý bởi khối thử & bắt. Từ khóa cuối cùng xuất hiện sau khi khối thử hoặc cả thử và khối bắt.The final keyword ensures that the segments execute despite the errors and exceptions processed by the try & catch block. The final keyword comes either after the try block or both the try and the catch block.

38. NullPulumException là gì?

NullPulumException xảy ra khi người dùng cố gắng truy cập hoặc sửa đổi các trường của đối tượng null. Một đối tượng null là một thể hiện được xác định với các giá trị null hoặc không có bất kỳ tham chiếu nào.

39. Sự khác biệt giữa một hàm tạo và một kẻ phá hủy là gì?

Dưới đây là sự khác biệt giữa hàm tạo và hàm hủy dựa trên các tham số khác nhau:

Cơ sở so sánh Người xây dựng Người phá hủy
Mục đích Một hàm tạo được sử dụng để phân bổ bộ nhớ.Một chất phá hủy được sử dụng để giải quyết hoặc giải phóng bộ nhớ.
Tranh luận Thị trưởng có thể không chấp nhận các lập luận.Destructor don don chấp nhận bất kỳ lập luận nào.
Tờ khai class_name (đối số) {

}

~ class_name () {

};

Gọi Trình xây dựng được gọi ngay khi đối tượng được tạo.Được gọi tại thời điểm chấm dứt chương trình hoặc khối được thoát ra.
Thứ tự thực hiện Các hàm tạo được thực hiện theo thứ tự liên tiếp, có nghĩa là từ cha mẹ đến lớp con.Các kẻ phá hủy được gọi theo thứ tự ngược lại, có nghĩa là từ lớp con đến lớp cha mẹ.
Quá tải Có thể bị quá tải.Không thể bị quá tải.

40. Giao diện Java có thể có phương thức tĩnh không?

Có, giao diện Java có thể có các phương thức tĩnh, nhưng chúng ta không thể ghi đè chúng vì chúng tĩnh. Vì vậy, chúng tôi phải xác định các phương thức tĩnh trong giao diện và chỉ thực hiện bên gọi trong lớp.

Dưới đây là một ví dụ về phương pháp tĩnh trong giao diện Java:

import java.util.*; class A { public static void main(String args[]) { System.out.println("Hello World"); } } 1

Giao diện trên có một phương thức tĩnh và phương thức mặc định có thể được thực thi mà không ảnh hưởng đến lớp thực hiện nó. Tuy nhiên, không có ích gì trong việc tạo các phương thức tĩnh trong giao diện Java vì chúng ta không thể ghi đè hàm bằng cách xác định lại nó trong phương thức chính ().

import java.util.*; class A { public static void main(String args[]) { System.out.println("Hello World"); } } 2

Vì vậy, đầu ra của chương trình trên sẽ là:

Phương thức tĩnh của giao diện một chức năng mặc định của giao diện A được gọi là
Default function of interface A called

41. Làm thế nào để sử dụng một ngoại lệ trong lập trình Java?

Lập trình viên phải sử dụng từ khóa ném để tạo và ném ngoại lệ thủ công. Dưới đây là chương trình để thủ công một IOException duy nhất. Nếu bạn muốn ném:

import java.util.*; class A { public static void main(String args[]) { System.out.println("Hello World"); } } 3

Đầu ra của chương trình trên sẽ là:

import java.util.*; class A { public static void main(String args[]) { System.out.println("Hello World"); } } 4

42. Phân biệt giữa ‘== và bằng ()?

Sự khác biệt chính giữa ‘==, và bằng () là‘ ==, là một toán tử, trong khi bằng () là một phương thức trong java. Toán tử == được sử dụng để so sánh tham chiếu hoặc địa chỉ, có nghĩa là nó kiểm tra xem cả hai đối tượng hoặc biến đều chỉ vào cùng một vị trí bộ nhớ.

Trong khi đó, phương thức bằng () so sánh nội dung của hai đối tượng hoặc biến. Nó kiểm tra xem giá trị của hai đối tượng có giống nhau hay không.

import java.util.*; class A { public static void main(String args[]) { System.out.println("Hello World"); } } 5import java.util.*; class A { public static void main(String args[]) { System.out.println("Hello World"); } } 6

43. Tệp JAR là gì?

Java Archive (JAR) là một định dạng tệp tổng hợp nhiều tệp vào một tệp tương tự trong một định dạng tương tự như tệp zip. Nói cách khác, JAR là một tệp bị kéo dài bao gồm các tệp Java Lass, siêu dữ liệu và tài nguyên như văn bản, hình ảnh, tệp âm thanh, thư mục, tệp. Class, v.v. Sau đây là cú pháp để tạo tệp JAR:
Following is the syntax to create a JAR file:

import java.util.*; class A { public static void main(String args[]) { System.out.println("Hello World"); } } 7

44. Tệp chiến tranh là gì?

Tệp lưu trữ EB chứa các tệp của ứng dụng web và giảm thời gian cần thiết để chuyển các tệp. Các tệp chiến tranh có thể lưu trữ các lớp Java, XML, JSP, Image, CSS, JS, HTML và Javaserver, có thể được sử dụng để phân phối bộ sưu tập các lớp Java, tệp XML, servlet Java, trang web, v.v.

Sau đây là cú pháp để tạo tệp chiến tranh:

import java.util.*; class A { public static void main(String args[]) { System.out.println("Hello World"); } } 8

Đây là những câu hỏi phỏng vấn cơ bản Core Java cho Freshers, chúng ta hãy xem một số câu hỏi phỏng vấn Java hàng đầu thuộc danh mục trung gian.

Câu hỏi phỏng vấn Java trung gian

45. Phân biệt giữa điều này () và super () trong java.

this() super()
Đại diện cho trường hợp hiện tại của một lớpĐại diện cho thể hiện hiện tại của lớp cha
Gọi hàm tạo mặc địnhGọi hàm tạo lớp cơ sở
Được sử dụng để trỏ đến thể hiện lớp hiện tạiĐược sử dụng để chỉ ra ví dụ của siêu lớp

46. ​​Đặt tên cho các phương thức của một lớp đối tượng.

  • Clone (): Phương thức này giúp tạo và trả về một bản sao của một đối tượng.: This method helps create and return a copy of an object.
  • bằng (): Phương pháp này giúp so sánh.: This method helps compare.
  • Finalize (): Nó được gọi bởi người thu gom rác trên đối tượng.: It is called by the garbage collector on the object.
  • getClass (): Nó cho phép chúng tôi trả về lớp thời gian chạy của đối tượng.: It allows us to return the runtime class of the object.
  • HashCode (): Phương thức này giúp trả về giá trị mã băm cho đối tượng.: This method helps return a hash code value for the object.
  • toString (): Nó cho phép chúng tôi trả về một biểu diễn chuỗi của đối tượng.: It lets us return a string representation of the object.
  • Thông báo (), notifyall () và chờ (): Những trợ giúp này trong việc đồng bộ hóa các hoạt động của các luồng chạy độc lập trong một chương trình.: These help in synchronizing the activities of the independently running threads in a program.

Đọc hướng dẫn này để tìm hiểu thêm về các phương pháp Java!

47. Xác định đàm phán nội dung.

Nếu chúng tôi đã truy cập một trang web để tìm kiếm thông tin, chúng tôi sẽ nhận thông tin bằng các ngôn ngữ khác nhau và ở các định dạng khác nhau. Khi khách hàng thực hiện yêu cầu HTTP cho máy chủ, máy khách cũng có thể chỉ định các loại phương tiện ở đây. Khách hàng có thể chỉ định những gì nó có thể chấp nhận trở lại từ máy chủ và trên cơ sở tính khả dụng, máy chủ sẽ trở lại máy khách. Điều này được gọi là đàm phán nội dung vì khách hàng và máy chủ đàm phán về ngôn ngữ và định dạng của nội dung sẽ được chia sẻ.

48. Chúng ta có thể nhập cùng một gói/lớp hai lần không? JVM sẽ tải gói hai lần khi chạy?

Một gói hoặc lớp có thể được kế thừa nhiều lần trong mã chương trình. JVM và trình biên dịch sẽ không tạo ra bất kỳ vấn đề nào. Hơn nữa, JVM tự động tải lớp trong nội bộ một lần, bất kể thời gian được gọi trong chương trình.

Xem video hướng dẫn Java này cho người mới bắt đầu:

49. Xác định một lớp trừu tượng.

Một lớp chứa từ khóa trừu tượng trong tuyên bố của nó được gọi là một lớp trừu tượng. Nó có thể có các phương pháp trừu tượng và không Abstract (phương pháp với một cơ thể).

  1. & nbsp; lớp này có thể có các biến công khai, riêng tư, được bảo vệ hoặc hằng số và mặc định.
  2. & nbsp; nó cần được mở rộng và phương pháp của nó cần được thực hiện. Nó không thể được khởi tạo.
  3. & nbsp; Nếu một lớp có ít nhất một phương thức trừu tượng, thì lớp phải được khai báo trừu tượng.

50. Mô tả chú thích.

  • Chú thích Java là một thẻ tượng trưng cho siêu dữ liệu được liên kết với lớp, giao diện, phương thức, trường, v.v.
  • Chú thích không ảnh hưởng trực tiếp đến hoạt động.
  • Thông tin bổ sung được thực hiện bởi các chú thích được sử dụng bởi trình biên dịch Java và JVM.

51. Java không sử dụng con trỏ. Tại sao?

Con trỏ rất dễ bị ảnh hưởng và hơi bất cẩn trong việc sử dụng của chúng có thể dẫn đến các vấn đề về bộ nhớ, và do đó Java về cơ bản quản lý việc sử dụng chúng.

Blog này sẽ giúp bạn hiểu rõ hơn về công nghệ di động cho Android và iOS bằng Java!

52. Phân biệt giữa tải tĩnh và tải lớp động.

    • Tải tĩnh: Trong tải tĩnh, các lớp được tải tĩnh với toán tử mới.: In static loading, classes are loaded statically with the operator ‘new.’
    • Tải lớp động: Đây là một kỹ thuật để lập trình các chức năng của trình tải lớp trong thời gian chạy. Cú pháp cho điều này như sau:: It is a technique for programmatically invoking the functions of a class loader at runtime. The syntax for this is as follows:
import java.util.*; class A { public static void main(String args[]) { System.out.println("Hello World"); } } 9

53. Sải thanh 1 Các lớp không an toàn cho luồng, trong khi các thanh chống 2 lớp an toàn. Tại sao?

Struts 1 hành động là singleton. Vì vậy, tất cả các luồng hoạt động trên đối tượng hành động duy nhất và do đó làm cho nó không an toàn.

Các hành động Struts 2 không phải là Singleton và một bản sao đối tượng hành động mới được tạo mỗi khi yêu cầu hành động mới được thực hiện và do đó nó an toàn cho luồng.

54. Xác định JAXP và JAXB.

JAXP: Nó là viết tắt của API Java để xử lý XML. Điều này cung cấp một giao diện chung để tạo và sử dụng API DOM, SAX và XSLT trong Java bất kể việc triển khai nhà cung cấp nào thực sự được sử dụng.: It stands for Java API for XML Processing. This provides a common interface for creating and using DOM, SAX, and XSLT APIs in Java regardless of which vendor’s implementation is actually being used.


JAXB: Nó là viết tắt của API Java cho liên kết XML. Tiêu chuẩn này xác định một hệ thống cho một tập lệnh ra khỏi các đối tượng Java là XML và để tạo các đối tượng Java từ các cấu trúc XML.: It stands for Java API for XML Binding. This standard defines a system for a script out of Java objects as XML and for creating Java objects from XML structures.

Tìm hiểu thêm về Java MultiThreading & NBSP; từ hướng dẫn này!

55. Xác định một bảng liệt kê?

Thông thường, chúng tôi gọi liệt kê là một enum. Một liệt kê là một giao diện chứa các phương thức để truy cập cấu trúc dữ liệu gốc mà từ đó thu được. Nó cho phép truy cập tuần tự vào tất cả các yếu tố được lưu trữ trong bộ sưu tập.

56. Làm thế nào chúng ta có thể tìm thấy kích thước thực tế của một đối tượng trên đống?

Trong Java, không có cách nào để tìm ra kích thước thực tế của một đối tượng trên đống.

57. API nào được Java cung cấp cho các hoạt động trên một tập hợp các đối tượng?

Java cung cấp API bộ sưu tập cung cấp nhiều phương pháp hữu ích, có thể được áp dụng cho một tập hợp các đối tượng. Một số lớp quan trọng được cung cấp bởi API Bộ sưu tập bao gồm ArrayList, Hashmap, Plantset và Treemap.

58. Những gì lớp cơ sở của tất cả các lớp ngoại lệ?

Java.lang.throwable: Đây là siêu lớp của tất cả các lớp ngoại lệ và tất cả các lớp ngoại lệ đều có nguồn gốc từ lớp cơ sở này.: It is the superclass of all exception classes, and all exception classes are derived from this base class.

Tìm hiểu tất cả về mảng & nbsp; từ hướng dẫn Java toàn diện này!

59. Tại sao chúng ta sử dụng một lớp vector?

Một lớp vector cung cấp khả năng thực hiện một mảng các đối tượng có thể phát triển. Một vector chứng tỏ là rất hữu ích nếu bạn không biết kích thước của mảng trước hoặc nếu chúng ta cần một loại có thể thay đổi kích thước trong suốt vòng đời của một chương trình.

60. Sự khác biệt giữa các biến thoáng qua và biến động trong Java là gì?

Thoáng qua: Trong Java, nó được sử dụng để xác định xem một biến không được tuần tự hóa. Tái hóa là một quá trình lưu trạng thái đối tượng trong Java. Khi chúng ta muốn tồn tại trạng thái đối tượng theo mặc định, tất cả các biến thể hiện trong đối tượng được lưu trữ. Trong một số trường hợp, chúng tôi muốn tránh tồn tại một vài biến vì chúng tôi không cần phải chuyển qua mạng. Vì vậy, chúng tôi tuyên bố các biến đó là thoáng qua.: In Java, it is used to specify whether a variable is not being serialized. Serialization is a process of saving an object’s state in Java. When we want to persist the object’s state by default, all instance variables in the object are stored. In some cases, we want to avoid persisting a few variables because we don’t have the necessity to transfer across the network. So, we declare those variables as transient.

Nếu biến được xác nhận là thoáng qua, thì nó sẽ không được duy trì. Từ khóa thoáng qua được sử dụng với biến thể hiện sẽ không tham gia vào quá trình tuần tự hóa. Chúng ta không thể sử dụng tĩnh với một biến thoáng qua vì chúng là một phần của biến thể hiện.

D biến động: Từ khóa dễ bay hơi được sử dụng chỉ với một biến trong Java và nó đảm bảo rằng giá trị của biến dễ bay hơi sẽ luôn được đọc từ bộ nhớ chính chứ không phải từ bộ đệm cục bộ của luồng; nó có thể là tĩnh.: The volatile keyword is used with only one variable in Java, and it guarantees that the value of the volatile variable will always be read from the main memory and not from the thread’s local cache; it can be static.

61. Tại sao giao diện bản đồ không mở rộng giao diện thu thập trong khung bộ sưu tập Java?

Giao diện bản đồ không tương thích với giao diện thu thập, bởi vì MAP yêu cầu một khóa cũng như giá trị, ví dụ, nếu chúng ta muốn thêm một cặp giá trị khóa, chúng ta sẽ sử dụng PUT (phím đối tượng, giá trị đối tượng).

Có hai tham số cần thiết để thêm một phần tử vào đối tượng Hashmap. Trong giao diện thu thập, thêm (đối tượng O) chỉ có một tham số.

Các lý do khác là: MAP hỗ trợ giá trị, phím và các phương pháp phù hợp khác chỉ có các chế độ xem khác nhau từ giao diện thu thập.

62. Đề cập đến việc sử dụng khối đồng bộ.

Chúng tôi sử dụng khối đồng bộ hóa vì:

  • Nó giúp khóa một đối tượng cho mọi tài nguyên được chia sẻ.
  • Phạm vi của khối đồng bộ hóa nhỏ hơn phương pháp.

63. Các hàm của phương thức HashCode () là gì?

Phương thức & nbsp; hashcode () trả về giá trị mã băm (số nguyên) và cũng giống nhau số nguyên nếu hai khóa (bằng cách gọi phương thức Equals ()) là như nhau. Nhưng đôi khi, hai số mã băm có thể có các khóa khác nhau hoặc giống nhau.
But sometimes, the two hash code numbers can have different or the same keys.

64. Kích thước mặc định của hệ số tải trong bộ sưu tập dựa trên băm là gì?

Kích thước mặc định = 0,75 Công suất mặc định = Công suất ban đầu * Hệ số tải
Default capacity = initial capacity * load factor

65. Sự khác biệt giữa các thẻ tùy chỉnh JSP và hạt java là gì?

  • Thẻ tùy chỉnh có thể thao tác nội dung JSP, nhưng đậu không thể.
  • Các hoạt động tổng hợp có thể được giảm xuống một dạng đơn giản hơn đáng kể với các thẻ tùy chỉnh so với đậu.
  • Thẻ tùy chỉnh yêu cầu hợp lý một chút công việc để thiết lập so với đậu.
  • Thẻ tùy chỉnh chỉ có sẵn trong JSP 1.1, v.v., nhưng đậu có thể được sử dụng trong tất cả các phiên bản JSP 1.x.

66. Các lớp trình bao bọc trong Java là gì?

Các lớp trình bao bọc trong Java cung cấp một cơ chế để chuyển đổi các loại dữ liệu nguyên thủy thành các loại tham chiếu hoặc đối tượng và ngược lại. Mỗi loại dữ liệu nguyên thủy trong Java có một lớp chuyên dụng được gọi là lớp trình bao bọc, kết thúc các loại nguyên thủy thành một đối tượng của lớp cụ thể đó. Chuyển đổi các loại dữ liệu nguyên thủy thành các đối tượng được gọi là autoboxing và chuyển đổi từ một đối tượng sang các loại dữ liệu nguyên thủy được gọi là unboxing.

Một trong những ứng dụng chính của các lớp trình bao bọc là thay đổi giá trị bên trong các phương thức. Java không hỗ trợ cuộc gọi bằng tham chiếu, điều đó có nghĩa là các thay đổi được thực hiện bên trong một phương thức sẽ không thay đổi giá trị ban đầu. Vì vậy, sau khi chuyển đổi các loại thành các đối tượng, các giá trị ban đầu cũng sẽ thay đổi. Ngoài ra, các lớp trình bao bọc giúp thực hiện tuần tự hóa bằng cách chuyển đổi các đối tượng thành các luồng.

67. Sự khác biệt giữa bộ nhớ ngăn xếp và heap trong Java?

Sự khác biệt chính giữa bộ nhớ HEAP và STACK trong Java là:

Đặc trưng Ngăn xếp bộ nhớ Bộ nhớ đống
Kích thước bộ nhớ Kích thước nhỏ hơn.Kích thước lớn hơn.
Cả đời Tồn tại cho đến khi kết thúc chủ đề.Sống từ đầu đến khi kết thúc thực thi ứng dụng.
Truy cập Các đối tượng được lưu trữ trong ngăn xếp có thể được truy cập bằng các luồng khác.Có thể truy cập toàn cầu.
Kỉ niệm

 Management

Theo LIFO (cuối cùng theo thứ tự đầu tiên).Phân bổ bộ nhớ động.
Phạm vi hoặc khả năng hiển thị Các biến trong bộ nhớ ngăn xếp chỉ hiển thị cho luồng chủ sở hữu.Bộ nhớ heap có thể nhìn thấy tất cả các luồng.
Thứ tự phân bổ Phân bổ bộ nhớ liên tục.Phân bổ bộ nhớ đơn hàng ngẫu nhiên.
Uyển chuyển Ít linh hoạt hơn, người ta không thể thay đổi bộ nhớ phân bổ.Người dùng có thể thay đổi bộ nhớ được phân bổ.
Hiệu quả Truy cập nhanh, phân bổ và giải quyết.Truy cập chậm, phân bổ và giải quyết.

68. Đa hình là gì?

Đa hình là khả năng của một đối tượng & nbsp; Nó chủ yếu được sử dụng khi một lớp cơ sở/cha mẹ được sử dụng để tham khảo một tham chiếu lớp con/có nguồn gốc. Có hai loại đa hình trong Java:

  • Biên dịch tính đa hình thời gian: Đa hình thời gian biên dịch là phương pháp quá tải trong đó hai hoặc nhiều phương thức có cùng tên với các đối số/tham số và loại trả về. Compile-time polymorphism is method overloading where two or more methods have the same name with arguments/parameters and return type.
  • Đa hình thời gian chạy: Đa hình thời gian chạy của phương thức động điều phối giúp người dùng giải quyết phương thức ghi đè trong thời gian chạy thay vì biên dịch thời gian. Phương thức ghi đè được gọi là đối tượng của một siêu lớp. Runtime polymorphism of the Dynamic Method Dispatch helps the user to resolve the overridden method at runtime rather than compile-time. The overridden method is called the object of a superclass.

69. Ý bạn là gì về giao diện trong Java?

Giao diện Java là một lớp hoàn toàn trừu tượng được gọi là một tập hợp các phương pháp trừu tượng, phương pháp tĩnh và hằng số. Nó hoạt động như một bản thiết kế của một lớp nhóm các phương pháp hoặc chức năng liên quan với các cơ thể trống.

Dưới đây là một ví dụ về giao diện Java:

import java.util.*; class A { int roll_no; String name; A() { System.out.println("Constructor called"); } public void fun() { System.out.println("Class A function called"); } } public class parameterized_constructor { public static void main(String args[]) { A obj=new A(); obj.fun(); System.out.println("The value of instance variables are: "); System.out.println("Name: "+obj.name); System.out.println("Roll No: " +obj.roll_no); } } The output of the above program would be: Constructor called Class A function called The value of instance variables are: Name: null Roll No: 0 0

Output:

import java.util.*; class A { int roll_no; String name; A() { System.out.println("Constructor called"); } public void fun() { System.out.println("Class A function called"); } } public class parameterized_constructor { public static void main(String args[]) { A obj=new A(); obj.fun(); System.out.println("The value of instance variables are: "); System.out.println("Name: "+obj.name); System.out.println("Roll No: " +obj.roll_no); } } The output of the above program would be: Constructor called Class A function called The value of instance variables are: Name: null Roll No: 0 1

70. Sự khác biệt giữa lớp trừu tượng và giao diện là gì?

Dưới đây là sự khác biệt chính giữa lớp trừu tượng và giao diện:

Lớp học trừu tượng Giao diện
Có thể cung cấp đầy đủ, mặc định hoặc chỉ các chi tiết trong phương thức ghi đèKhông cung cấp bất kỳ mã nào, người dùng chỉ có thể có chữ ký của giao diện.
Có các biến thể hiện.Không có biến thể hiện.
Một lớp trừu tượng có thể được công khai, riêng tư hoặc được bảo vệ.Giao diện phải được công khai.
Một lớp trừu tượng có thể có các hàm tạo.Không có hàm tạo có sẵn trong giao diện.
Một lớp chỉ có thể thừa hưởng một lớp trừu tượng duy nhất.Một lớp có thể thực hiện một hoặc nhiều giao diện.
Các lớp học trừu tượng là nhanh chóng.Các giao diện chậm hơn vì chúng phải xác định vị trí các phương thức tương ứng trong lớp.

71. Giải thích đóng gói dữ liệu trong Java?

Đóng gói dữ liệu là một khái niệm OOPS cơ bản kết thúc dữ liệu (biến) và mã (phương thức) như một đơn vị. Các biến và phương thức này chỉ có thể được truy cập thông qua lớp hiện tại, vì chúng sẽ bị ẩn khỏi những người khác. Đóng gói bảo vệ dữ liệu khỏi sửa đổi không cần thiết và có thể đạt được theo hai cách:

  • Bằng cách tuyên bố biến của một lớp là riêng tư
  • Sử dụng các phương thức setter và getter công khai để xem và sửa đổi các giá trị

72. Một servlet ở Java là gì?

Nó có một công nghệ phía máy chủ được sử dụng để tạo máy chủ web và máy chủ ứng dụng. Chúng tôi có thể hiểu các dịch vụ là các chương trình Java xử lý yêu cầu từ các máy chủ web, xử lý yêu cầu và hoàn nguyên về các máy chủ web sau khi phản hồi được tạo.

Một số gói như javax.servlet và javax.servlet.http cung cấp các giao diện và lớp phù hợp giúp người dùng tạo servlet của họ. Tất cả các dịch vụ nên triển khai giao diện javax.servlet.servlet, cộng với các giao diện và các lớp khác như HTTPServlet, Java Servlet API, v.v.

Có sáu bước liên quan đến việc thực hiện một servlet:

  • Các khách hàng gửi yêu cầu đến máy chủ web hoặc máy chủ ứng dụng.
  • Máy chủ web nhận được yêu cầu.
  • Servlet xử lý yêu cầu và tạo ra đầu ra.
  • Bây giờ, servlet gửi yêu cầu trở lại máy chủ web.
  • Cuối cùng, máy chủ gửi yêu cầu đến máy khách và kết quả hiện được hiển thị trên màn hình máy khách hoặc bất kỳ thiết bị nào khác.

73. Người điều phối yêu cầu là gì?

Người điều phối yêu cầu là một giao diện được sử dụng để gửi các yêu cầu đến các tài nguyên khác như trang máy chủ Java (JSP), hình ảnh, HTML hoặc một servlet khác trong cùng một ứng dụng. Nó cũng có thể được sử dụng để bao gồm các phản hồi từ phần này sang servlet khác để khách hàng nhận được yêu cầu từ cả hai động cơ. Hơn nữa, nó cũng có thể được sử dụng để chuyển tiếp yêu cầu của khách hàng đến servlet tiếp theo.

Có hai phương thức được xác định trong giao diện requestDispatcher:

  • void bao gồm (): Nó bao gồm nội dung của tài nguyên trước khi gửi phản hồi.: It includes the content of the resource before sending the response.
  • void forward (): Phương thức chuyển tiếp yêu cầu từ một servlet sang tài nguyên khác như jsp, hình ảnh, v.v. trên máy chủ.: the method forwards the request from one servlet to another resource like the JSP, image, etc on the server.

74. Làm thế nào để cookie hoạt động trong các dịch vụ?

Cookies là các tệp văn bản được gửi bởi máy chủ và được lưu trữ trong hệ thống máy khách để giữ thông tin trên máy cục bộ và sử dụng nó cho mục đích theo dõi. Java Servlet hỗ trợ & NBSP; Cookie http thông qua lớp javax.servlet.http.cookie thực hiện các giao diện có thể làm sạch và có thể nối tiếp.

Máy chủ gửi một bộ cookie đến máy khách, ví dụ: tên, tuổi, v.v. Sau đó, trình duyệt lưu trữ thông tin trong máy cục bộ và gửi các cookie này đến máy chủ, nếu bất kỳ yêu cầu nào được gửi đến máy chủ web. Thông tin này sau đó có thể được sử dụng để xác định người dùng.

75. Sự khác biệt giữa ServletContext so với ServletConfig là gì?

Sự khác biệt giữa ServletContext so với ServletConfig như sau:

ServletContext ServletConfig
Chung cho tất cả các servlet và thường đại diện cho toàn bộ ứng dụng web.Đại diện cho servlet đơn.
Tương tự như các tham số toàn cầu được liên kết với toàn bộ ứng dụng.Tương tự như các tham số cục bộ liên quan đến một servlet cụ thể.
ServletContext có phạm vi toàn ứng dụng.ServletConfig có phạm vi rộng servlet.
Để có được đối tượng ngữ cảnh, phương thức getServletContext () được sử dụng.Để có được đối tượng cấu hình, GetServletConfig () được sử dụng.
Chủ yếu được sử dụng để có được một loại tệp hoặc ứng dụng MIME.Chủ yếu được sử dụng cho người dùng hoặc nhiệm vụ cụ thể như thẻ mua sắm.

76. Giải thích vòng đời chủ đề trong Java?

Có 5 trạng thái trong vòng đời chủ đề và Java có thể ở bất kỳ một trong số đó. Chủ đề nằm ở bất kỳ một trong những trạng thái này:

  • MỚI: Chủ đề nằm ở trạng thái mới sau khi nó được tạo ra. Nó vẫn ở trạng thái mới cho đến khi bạn bắt đầu quá trình thực thi.The thread lies in the new state after it has been created. It remains in the new state until you start the execution process.
  • Chạy: Ở trạng thái Runnable, luồng đã sẵn sàng để chạy bất cứ lúc nào hoặc nó có thể đã bắt đầu chạy. At runnable state, the thread is ready to run at any point in time or it might have started running already.
  • Chạy: Bộ lập lịch chọn luồng và thay đổi trạng thái của nó thành chạy, CPU bắt đầu thực thi luồng ở trạng thái chạy. The scheduler picks up the thread and changes its state to running, the CPU starts executing the thread in the running state.
  • Chờ đợi: Trong khi sẵn sàng thực thi, một chủ đề khác có thể đang chạy trong hệ thống. Vì vậy, chủ đề đi đến trạng thái chờ đợi. While being ready to execute, another thread might be running in the system. So, the thread goes to the waiting state.
  • Dead: Sau khi thực hiện chủ đề kết thúc, trạng thái của nó được thay đổi thành trạng thái chết, điều đó có nghĩa là nó không được coi là hoạt động nữa.Once the execution of the thread is finished, its state is changed to the dead state, which means it’s not considered active anymore.

77. Làm thế nào để phân biệt các quy trình với các chủ đề?

Dưới đây là sự khác biệt chính giữa các quy trình và luồng:

Quá trình Chủ đề
Quá trình này là tập hợp các hướng dẫn hoặc chương trình trong thực thi.Chủ đề là một phân đoạn hoặc một phần của một quá trình
Mất nhiều thời gian hơn để thực hiện.Mất ít thời gian hơn để thực hiện.
Chuyển đổi ngữ cảnh chậm hơn.Chuyển đổi ngữ cảnh nhanh hơn.
Các quá trình thường bị cô lập.Chủ đề chia sẻ bộ nhớ.
Quá trình này là một quá trình trọng lượng nặng.Quá trình nhẹ.
Một quy trình bị chặn sẽ không ảnh hưởng đến hiệu suất của các quy trình khác.Một luồng bị chặn sẽ chặn các luồng khác của cùng một quy trình.
Quá trình tiêu thụ ít tài nguyên hơn.Chủ đề tiêu thụ ít tài nguyên hơn.

78. Giải thích các loại ngoại lệ trong Java?

Có hai loại ngoại lệ trong lập trình Java:

  • Ngoại lệ tích hợp: Các ngoại lệ này là các trường hợp ngoại lệ có sẵn trong gói tiêu chuẩn của Java Lang. Chúng được sử dụng cho một số lỗi nhất định với các ngoại lệ cụ thể như đã đề cập dưới đây: These exceptions are the exceptions available in the standard package of java lang. They are used for certain errors with specific Exceptions as mentioned below:
    • ArithTHMETICEXception: ném cho các lỗi liên quan đến các hoạt động số học.
    • IOException: ném cho các hoạt động đầu vào không thất bại.
    • FILENOTFOURNDEXception: Được nâng lên khi tệp không thể truy cập được hoặc không tồn tại.
    • ClassNotFoundException: Ngoại lệ được nâng lên khi trình biên dịch không thể tìm thấy định nghĩa lớp.
    • InterruptedEexception: Lớn lên khi một luồng bị gián đoạn.
    • NosuchFieldException: Được nâng lên khi một lớp hoặc phương thức không có một biến được chỉ định.
    • NullPulumException: Ném trong khi đề cập đến biến hoặc giá trị của một đối tượng null.
    • RunTimeException: Nâng cao cho các lỗi xảy ra trong thời gian chạy. Ví dụ: thực hiện chuyển đổi loại không hợp lệ.
    • IndexOutoFboundSexception: Được nêu ra khi chỉ mục của bộ sưu tập như một mảng, chuỗi hoặc vectơ nằm ngoài phạm vi hoặc không hợp lệ.
  • Các trường hợp ngoại lệ do người dùng xác định: Các ngoại lệ do người dùng xác định là các ngoại lệ được người dùng ném bằng các tin nhắn tùy chỉnh. Chúng được sử dụng cho các trường hợp ngoại lệ được xây dựng có thể không thể xác định lỗi. User-defined exceptions are the exceptions thrown by the user with custom messages. These are used for cases where the in-built Exception might not be able to define the error.

79. Làm thế nào để viết nhiều câu lệnh bắt trong một khối thử?

Dưới đây là chương trình cho nhiều câu lệnh bắt:

import java.util.*; class A { int roll_no; String name; A() { System.out.println("Constructor called"); } public void fun() { System.out.println("Class A function called"); } } public class parameterized_constructor { public static void main(String args[]) { A obj=new A(); obj.fun(); System.out.println("The value of instance variables are: "); System.out.println("Name: "+obj.name); System.out.println("Roll No: " +obj.roll_no); } } The output of the above program would be: Constructor called Class A function called The value of instance variables are: Name: null Roll No: 0 2

Đầu ra của chương trình sau trong các trường hợp khác nhau sẽ là:

import java.util.*; class A { int roll_no; String name; A() { System.out.println("Constructor called"); } public void fun() { System.out.println("Class A function called"); } } public class parameterized_constructor { public static void main(String args[]) { A obj=new A(); obj.fun(); System.out.println("The value of instance variables are: "); System.out.println("Name: "+obj.name); System.out.println("Roll No: " +obj.roll_no); } } The output of the above program would be: Constructor called Class A function called The value of instance variables are: Name: null Roll No: 0 3import java.util.*; class A { int roll_no; String name; A() { System.out.println("Constructor called"); } public void fun() { System.out.println("Class A function called"); } } public class parameterized_constructor { public static void main(String args[]) { A obj=new A(); obj.fun(); System.out.println("The value of instance variables are: "); System.out.println("Name: "+obj.name); System.out.println("Roll No: " +obj.roll_no); } } The output of the above program would be: Constructor called Class A function called The value of instance variables are: Name: null Roll No: 0 4import java.util.*; class A { int roll_no; String name; A() { System.out.println("Constructor called"); } public void fun() { System.out.println("Class A function called"); } } public class parameterized_constructor { public static void main(String args[]) { A obj=new A(); obj.fun(); System.out.println("The value of instance variables are: "); System.out.println("Name: "+obj.name); System.out.println("Roll No: " +obj.roll_no); } } The output of the above program would be: Constructor called Class A function called The value of instance variables are: Name: null Roll No: 0 5

80. Sự khác biệt giữa từ khóa ném và ném?

Sau đây là sự khác biệt chính giữa từ khóa ném và ném:

Chìa khóa throw ném
Sự định nghĩaTừ khóa ném được sử dụng để ném rõ ràng một ngoại lệ bên trong một chương trình hoặc một khối mã.Từ khóa ném được sử dụng để khai báo một ngoại lệ trong chữ ký phương thức có thể xảy ra trong quá trình biên dịch hoặc thực hiện chương trình.
Loại ngoại lệChỉ có thể ném các trường hợp ngoại lệ không được kiểm soát.Có thể được sử dụng cho cả ngoại lệ được kiểm tra và không được kiểm soát.
Cú phápNém từ khóa theo sau là một biến thể hiện.Ném từ khóa theo sau là tên lớp ngoại lệ.
Việc thực hiệnTừ khóa ném được sử dụng để chỉ ném một ngoại lệ duy nhất.Ném có thể được sử dụng để ném nhiều ngoại lệ.

81. Viết chương trình đảo ngược chuỗi mà không sử dụng hàm được xây dựng?

Có hai cách chúng ta có thể đảo ngược một chuỗi trong Java mà không cần sử dụng hàm được xây dựng:

  • Sử dụng vòng lặp và in chuỗi ngược mỗi lần mỗi lần.
  • Sử dụng hàm đệ quy và in chuỗi ngược.

Trong chương trình sau, bạn có thể thấy cả hai cách để in lò xo theo thứ tự ngược lại:

import java.util.*; class A { int roll_no; String name; A() { System.out.println("Constructor called"); } public void fun() { System.out.println("Class A function called"); } } public class parameterized_constructor { public static void main(String args[]) { A obj=new A(); obj.fun(); System.out.println("The value of instance variables are: "); System.out.println("Name: "+obj.name); System.out.println("Roll No: " +obj.roll_no); } } The output of the above program would be: Constructor called Class A function called The value of instance variables are: Name: null Roll No: 0 6

Đầu ra của chương trình trên sẽ là:

import java.util.*; class A { int roll_no; String name; A() { System.out.println("Constructor called"); } public void fun() { System.out.println("Class A function called"); } } public class parameterized_constructor { public static void main(String args[]) { A obj=new A(); obj.fun(); System.out.println("The value of instance variables are: "); System.out.println("Name: "+obj.name); System.out.println("Roll No: " +obj.roll_no); } } The output of the above program would be: Constructor called Class A function called The value of instance variables are: Name: null Roll No: 0 7

82. Viết một chương trình để in loạt Fibonacci bằng cách sử dụng khái niệm đệ quy?

import java.util.*; class A { int roll_no; String name; A() { System.out.println("Constructor called"); } public void fun() { System.out.println("Class A function called"); } } public class parameterized_constructor { public static void main(String args[]) { A obj=new A(); obj.fun(); System.out.println("The value of instance variables are: "); System.out.println("Name: "+obj.name); System.out.println("Roll No: " +obj.roll_no); } } The output of the above program would be: Constructor called Class A function called The value of instance variables are: Name: null Roll No: 0 8

Đầu ra của chương trình trên là:

import java.util.*; class A { int roll_no; String name; A() { System.out.println("Constructor called"); } public void fun() { System.out.println("Class A function called"); } } public class parameterized_constructor { public static void main(String args[]) { A obj=new A(); obj.fun(); System.out.println("The value of instance variables are: "); System.out.println("Name: "+obj.name); System.out.println("Roll No: " +obj.roll_no); } } The output of the above program would be: Constructor called Class A function called The value of instance variables are: Name: null Roll No: 0 9

Đó là tất cả trong phần của các câu hỏi phỏng vấn Java cốt lõi trung gian. Hãy cùng chuyển sang phần tiếp theo của các câu hỏi phỏng vấn Java nâng cao cho các chuyên gia có kinh nghiệm.

Câu hỏi phỏng vấn Java nâng cao cho các chuyên gia có kinh nghiệm

83. Giải thích ngôn ngữ biểu thức trong JSP.

Ngôn ngữ biểu thức được sử dụng trong JSP để đơn giản hóa khả năng truy cập của các đối tượng. Nó cung cấp nhiều đối tượng có thể được sử dụng trực tiếp như param, requestScope, sessionScope, Ứng dụng, yêu cầu, phiên, v.v.

84. Đối tượng ngầm là gì?

Các đối tượng ngầm, còn được gọi là các biến được xác định trước, được tạo bởi công cụ JSP bên trong phương thức dịch vụ để có thể truy cập trực tiếp mà không được khai báo rõ ràng.

85. Xác định cookie. Sự khác biệt giữa phiên và cookie là gì?

Cookie là một thông tin nhỏ, được gửi đến trình duyệt bởi một máy chủ web. Trình duyệt lưu trữ cookie cho mọi máy chủ web trong một tệp cục bộ. Trong một yêu cầu trong tương lai, trình duyệt gửi tất cả các cookie được lưu trữ cho máy chủ web chi tiết đó.

Sự khác biệt giữa cookie và phiên là:

  • & nbsp; một phiên hoạt động bất kể cài đặt trên trình duyệt máy khách. Khách hàng có thể đã chọn để vô hiệu hóa cookie.
  • & nbsp; phiên và cookie cũng khác nhau trong việc lưu trữ lượng thông tin. Phiên HTTP có thể lưu trữ bất kỳ đối tượng Java nào, trong khi cookie chỉ có thể lưu trữ các đối tượng chuỗi.

86. Đường hầm HTTP là gì?

Đường hầm HTTP đề cập đến việc đóng gói dữ liệu/thông tin mạng riêng và truyền nó qua mạng công cộng. Thay vì gửi dữ liệu dưới dạng gói, việc đóng gói dữ liệu và đóng gói nó trong một kết nối. Quá trình này cho phép các máy khách bên ngoài thu thập tất cả dữ liệu được gửi bởi Nhà môi giới yêu cầu đối tượng phía máy khách (Orb) cần được gửi đến quỹ đạo phía máy chủ. Mặt nạ đường hầm HTTP yêu cầu giao thức khác như yêu cầu HTTP.

87. Chức năng của container IOC vào mùa xuân là gì?

Container IOC chịu trách nhiệm:

  • Tạo một ví dụ
  • Cấu hình thể hiện
  • & nbsp; lắp ráp các phụ thuộc

88. Đang tải lười biếng ở Hibernate là gì?

Lazy Loading là một loại thiết lập quyết định có nên tải các thực thể trẻ em cùng với các thực thể cha hay không. Khi bật tính năng này, các thực thể liên quan sẽ chỉ được tải khi chúng được yêu cầu trực tiếp. Giá trị mặc định của cài đặt này là ’đúng, điều này ngăn các thực thể trẻ em tải.

89. Làm thế nào chúng ta có thể tìm nạp các bản ghi bằng Spring JDBCTemplate?

Chúng ta có thể tìm nạp các bản ghi từ cơ sở dữ liệu bằng phương thức truy vấn của JDBCTemplate. Có hai giao diện để làm điều này:

  1.  ResultSetExtractor
  2.  RowMapper

90. Lớp điều khiển phía trước của MVC Spring là gì?

Lớp phục vụ điều phối hoạt động như bộ điều khiển phía trước trong MVC Spring.

91. Trạng thái của một đối tượng trong ngủ đông là gì?

Các trạng thái của một đối tượng ở Hibernate là:

  1. Thoáng qua: các đối tượng vừa được tạo ra không có khóa chính ở trạng thái thoáng qua. Ở đây các đối tượng được liên kết với bất kỳ phiên. The objects that are just created having no primary key are in a transient state. Here the objects are associated with any session.
  2. Kiên trì: Khi phiên của một đối tượng vừa được mở và trường hợp của nó chỉ được lưu hoặc lấy, nó được cho là ở trạng thái dai dẳng.: When the session of an object is just opened and its instance is just saved or retrieved, it is said to be in a persistent state.
  3. Tách rời: Khi phiên của một đối tượng được đóng lại, nó được cho là ở trạng thái tách rời. When the session of an object is closed, it is said to be in a detached state.

92. Làm thế nào để tạo ra một lớp học bất biến trong ngủ đông?

Nếu chúng ta đánh dấu một lớp là có thể thay đổi = giả Sai, lớp sẽ được coi là một lớp bất biến. Giá trị mặc định của Mutable là True True.

93. Hash-collision trong một hashtable là gì? Nó được xử lý như thế nào trong Java?

Trong Hashtable, nếu hai khóa khác nhau có cùng giá trị băm, thì nó dẫn đến việc va chạm băm. Một nhóm danh sách liên kết loại được sử dụng để giữ các khóa khác nhau của cùng một giá trị băm.

94. Viết một cú pháp để chuyển đổi một bộ sưu tập đã cho thành một bộ sưu tập được đồng bộ hóa.

Sau đây sẽ chuyển đổi một bộ sưu tập đã cho thành bộ sưu tập được đồng bộ hóa:

import java.util.*; class A { int roll_no; String name; A(int x,String y) { this.roll_no=x; this.name=y; System.out.println("Constructor called"); } public void fun() { System.out.println("Class A function called"); } } public class non_parameterized_constructor { public static void main(String args[]) { A obj=new A(10,"Harry Williams"); System.out.println("The value of instance variables"); System.out.println("Name: "+obj.name); System.out.println("Roll No: "+obj.roll_no); } } The output of the above program will be: Constructor called The value of instance variables Name: Harry Williams Roll No: 10 0

95. Viết mã để làm cho các bộ sưu tập chỉ đọc.

Chúng ta có thể thực hiện các bộ sưu tập chỉ đọc bằng cách sử dụng mã dòng sau:

import java.util.*; class A { int roll_no; String name; A(int x,String y) { this.roll_no=x; this.name=y; System.out.println("Constructor called"); } public void fun() { System.out.println("Class A function called"); } } public class non_parameterized_constructor { public static void main(String args[]) { A obj=new A(10,"Harry Williams"); System.out.println("The value of instance variables"); System.out.println("Name: "+obj.name); System.out.println("Roll No: "+obj.roll_no); } } The output of the above program will be: Constructor called The value of instance variables Name: Harry Williams Roll No: 10 1

96. Có nghĩa là gì khi ràng buộc trong RMI?

Binding là quá trình liên kết hoặc đăng ký một tên cho một đối tượng từ xa, có thể được sử dụng như một điều xa hơn, để tìm kiếm đối tượng từ xa đó. Một đối tượng từ xa có thể được liên kết với một tên bằng cách sử dụng các phương thức BIND/REBIND của lớp đặt tên.

97. Các tính năng mới nhất được giới thiệu trong Java 8 là gì?

Các tính năng dưới đây được giới thiệu trong Java 8:

  • Biểu thức Lambda
  • Giao diện Phương thức mặc định và tĩnh
  • Phương thức tham khảo
  • Tên tham số
  • Luồng tùy chọn
  • Đồng thời

98. Đặt tên cho một vài chú thích Java 8.

Chú thích giao diện @Functional: Nó được giới thiệu trong Java SE 8, chỉ ra rằng khai báo loại được dự định là một giao diện chức năng như được định nghĩa bởi đặc tả ngôn ngữ Java.

Chú thích @repeatable: Được giới thiệu trong Java SE 8, chú thích @repeatable chỉ ra rằng chú thích được đánh dấu có thể được áp dụng nhiều lần cho cùng một tuyên bố hoặc sử dụng loại.

99. Phân biệt giữa một vị ngữ và một hàm.

Một vị từ có một đối số và trả về một giá trị boolean.

Một hàm có một đối số và trả về một đối tượng. Cả hai đều hữu ích để đánh giá các biểu thức lambda.

100. Viết mã để sắp xếp danh sách các chuỗi bằng biểu thức Lambda Java 8.

import java.util.*; class A { int roll_no; String name; A(int x,String y) { this.roll_no=x; this.name=y; System.out.println("Constructor called"); } public void fun() { System.out.println("Class A function called"); } } public class non_parameterized_constructor { public static void main(String args[]) { A obj=new A(10,"Harry Williams"); System.out.println("The value of instance variables"); System.out.println("Name: "+obj.name); System.out.println("Roll No: "+obj.roll_no); } } The output of the above program will be: Constructor called The value of instance variables Name: Harry Williams Roll No: 10 2

101. Nashorn trong Java 8 là gì?

Với Java 8, Nashorn, một động cơ JavaScript được cải thiện rất nhiều, được giới thiệu và nó đã thay thế tê giác hiện có. Nó cung cấp hiệu suất tốt hơn 2 lần10 lần, vì nó trực tiếp biên dịch mã trong bộ nhớ và chuyển mã byte cho JVM. Mặc dù, Nashorn sử dụng tính năng Invoke Dynamic, được giới thiệu trong Java 7, để cải thiện hiệu suất.

102. Xác định StringJoiner và viết mã mẫu.

StringJoiner là một phương thức sử dụng để xây dựng một chuỗi với dấu phân cách mong muốn.

import java.util.*; class A { int roll_no; String name; A(int x,String y) { this.roll_no=x; this.name=y; System.out.println("Constructor called"); } public void fun() { System.out.println("Class A function called"); } } public class non_parameterized_constructor { public static void main(String args[]) { A obj=new A(10,"Harry Williams"); System.out.println("The value of instance variables"); System.out.println("Name: "+obj.name); System.out.println("Roll No: "+obj.roll_no); } } The output of the above program will be: Constructor called The value of instance variables Name: Harry Williams Roll No: 10 3

103. Bạn có thể thực thi mã JavaScript từ cơ sở mã Java 8 không?

Đúng! Chúng ta có thể thực thi mã JavaScript từ cơ sở mã Java 8 bằng cách sử dụng ScripTeneGenManAger. Chúng tôi gọi mã JavaScript và giải thích nó trong Java.

104. Việc sử dụng xử lý hàng loạt trong JDBC là gì?

Xử lý hàng loạt là một kỹ thuật được sử dụng để nhóm một bộ truy vấn SQL liên quan và thực hiện chúng theo thứ tự. Điều này được thực hiện để tránh thực hiện một truy vấn tại một thời điểm.

Việc sử dụng xử lý hàng loạt đảm bảo rằng các truy vấn thực hiện nhanh hơn, do đó duy trì hiệu quả cao và tốc độ thực thi tổng thể.

105. Các loại tuyên bố được JDBC hỗ trợ là gì?

Có ba loại câu lệnh được JDBC hỗ trợ như hình dưới đây:

  • Tuyên bố: Được sử dụng để thực thi các truy vấn tĩnh và để truy cập chung vào cơ sở dữ liệu
  • Callablestatement: Cung cấp quyền truy cập vào các quy trình được lưu trữ và tham số thời gian chạy
  • PreadStatement: Cung cấp các tham số đầu vào cho các truy vấn trong khi chúng đang thực hiện

106. Bộ sưu tập trong Java là gì?

Một bộ sưu tập là một khung được sử dụng để lưu trữ và điều khiển một thùng chứa các đối tượng trong Java.

Bộ sưu tập Java có thể được sử dụng để thực hiện nhiều hoạt động khác nhau như:

  • Tìm kiếm
  • Loại
  • Vận dụng
  • Xóa bỏ

Dưới đây là biểu đồ đại diện cho hệ thống phân cấp các bộ sưu tập trong Java:

107. Ý nghĩa của quá trình quá tải hàm tạo trong Java là gì?

Quá tải hàm tạo là một kỹ thuật phổ biến trong số các lập trình viên có yêu cầu thêm nhiều hàm tạo vào một lớp duy nhất với một danh sách tham số khác.

Sau đây biểu thị một ví dụ về quá tải hàm tạo:

import java.util.*; class A { int roll_no; String name; A(int x,String y) { this.roll_no=x; this.name=y; System.out.println("Constructor called"); } public void fun() { System.out.println("Class A function called"); } } public class non_parameterized_constructor { public static void main(String args[]) { A obj=new A(10,"Harry Williams"); System.out.println("The value of instance variables"); System.out.println("Name: "+obj.name); System.out.println("Roll No: "+obj.roll_no); } } The output of the above program will be: Constructor called The value of instance variables Name: Harry Williams Roll No: 10 4

Để xóa những nghi ngờ của bạn, bạn có thể ghé thăm cộng đồng Java Intellipaat!

108. Trình điều khiển JDBC là gì?

Kết nối cơ sở dữ liệu Java (JDBC) là API cho phép khách hàng truy cập các nguồn dữ liệu khác nhau từ bảng tính đến các tệp phẳng và cơ sở dữ liệu quan hệ. Nó có một giao diện lớp giữa thiết lập kết nối giữa các ứng dụng và cơ sở dữ liệu Java. Ngoài việc kết nối các nguồn dữ liệu, JDBC còn được sử dụng để gửi truy vấn và cập nhật vào cơ sở dữ liệu, truy xuất và xử lý dữ liệu nhận được từ cơ sở dữ liệu.

Có bốn loại trình điều khiển JDBC:

  • Trình điều khiển cầu JDBC-ODBC: Sử dụng kết nối cơ sở dữ liệu mở (ODBC) để kết nối với cơ sở dữ liệu. Nó còn được gọi là trình điều khiển phổ quát vì nó có thể được sử dụng để kết nối với bất kỳ cơ sở dữ liệu nào. Uses Open Database Connectivity(ODBC) to connect with the database. It’s also known as the Universal Driver as it can be used to connect with any database.
  • Trình điều khiển gốc API: Nó có một trình điều khiển Java một phần sử dụng các thư viện phía máy khách của cơ sở dữ liệu để chuyển đổi các cuộc gọi JDBC thành các cuộc gọi gốc của giao diện lập trình cơ sở dữ liệu. Mạng-API cần được cài đặt trên các máy khách riêng lẻ riêng biệt. It’s a partial java Driver that uses client-side libraries of the database to convert JDBC calls into native ones of the database programming interface. The Network-API needs to be installed on individual client machines separately.
  • Trình điều khiển giao thức mạng: Trình điều khiển sử dụng phần mềm trung gian hoặc máy chủ ứng dụng để chuyển đổi các cuộc gọi JDBC thành giao thức dành riêng cho nhà cung cấp. Nó không yêu cầu cài đặt phía máy khách riêng lẻ vì tất cả các trình điều khiển kết nối có mặt trong một trình điều khiển. The driver uses the middleware or application server to convert the JDBC calls into the vendor-specific protocol. It doesn’t require individual client-side installation as all the connectivity drivers are present in one driver.
  • Trình điều khiển mỏng: Đây là những trình điều khiển di động giành được yêu cầu cài đặt từ bất kỳ cài đặt phía máy khách hoặc máy chủ nào. Họ trực tiếp tương tác với cơ sở dữ liệu và don lồng yêu cầu bất kỳ thư viện cơ sở dữ liệu nào để làm như vậy. These are portable drivers that won’t require any installation from any client or server-side installation. They directly interact with the database and don’t require any database library to do so.

109. Sự khác biệt giữa thực thi, thực thi và thực thi là gì?

Dưới đây là sự khác biệt chính giữa Execute, ExecuteQuery và ExecuteUpdate:

hành hình thực hiện kiểm tra ExecuteUpdate
Được sử dụng để thực hiện bất kỳ truy vấn SQL nào và nhận kết quả ở định dạng Boolean (Đúng hoặc Sai).ExecuteQuery được sử dụng để thực thi các truy vấn SQL và truy xuất một số dữ liệu từ cơ sở dữ liệu.ExecuteUpdate được sử dụng để thực thi các câu lệnh DML (Ngôn ngữ thao tác dữ liệu) như cập nhật hoặc sửa đổi cơ sở dữ liệu.
Trả về một giá trị boolean, trong đó true chỉ ra truy vấn được trả về là một đối tượng của kết quả và sai chỉ ra rằng không có gì hoặc giá trị số nguyên đã được trả về.Trả về đối tượng resultset có chứa kết quả được tạo và trả về bởi truy vấn.Trả về một giá trị số nguyên đại diện cho số lượng hàng được cập nhật hoặc thay đổi bởi truy vấn.
Được sử dụng để thực hiện cả truy vấn chọn và không chọn.Được sử dụng để thực hiện các truy vấn chọn.Được sử dụng để thực hiện các truy vấn không chọn.
Ex-bất kỳ tuyên bố SQL nào.Ex- chọnEx- chèn, tạo, thay đổi, xóa, cập nhật, v.v.

Để xóa những nghi ngờ của bạn, bạn có thể ghé thăm cộng đồng Java Intellipaat!

Các câu hỏi phỏng vấn Java phổ biến nhất là gì?

Câu hỏi và câu trả lời phỏng vấn Java phổ biến nhất..
Q #1) Java là gì? ....
Q #2) Các tính năng của Java là gì? ....
Q #3) Java cho phép hiệu suất cao như thế nào? ....
Q #4) Đặt tên cho Java IDE? ....
Q #5) Bạn có nghĩa là gì khi xây dựng? ....
Q #6) Biến cục bộ và biến thể hiện có nghĩa là gì? ....
Q #7) Lớp học là gì ?.

Trang web nào tốt nhất cho các câu hỏi phỏng vấn Java?

10 trang web và địa điểm để thực hành các vấn đề mã hóa cho các cuộc phỏng vấn vào năm 2022..
LeetCode.Leetcode là một trang web tuyệt vời và tương đối mới với một số lượng lớn các câu hỏi.....
Geekforgeeks.....
Hackerrank.....
Javarevisited.....
Sự quan tâm.....
Mã nghề nghiệp Blog.....
Java67.....

Java có tốt cho các cuộc phỏng vấn lập trình không?

1. Sự phù hợp cho các cuộc phỏng vấn Một số ngôn ngữ chỉ phù hợp hơn cho các cuộc phỏng vấn - các ngôn ngữ cấp cao hơn như Python hoặc Java cung cấp các hàm thư viện tiêu chuẩn và cấu trúc dữ liệu cho phép bạn dịch giải pháp để mã hóa dễ dàng hơn.Từ kinh nghiệm của tôi với tư cách là một người phỏng vấn, hầu hết các ứng cử viên chọn Python hoặc Java.higher level languages like Python or Java provide standard library functions and data structures which allow you to translate solution to code more easily. From my experience as an interviewer, most candidates pick Python or Java.

50 câu hỏi và câu trả lời phỏng vấn phổ biến là gì?

Hơn 50 câu hỏi phỏng vấn công việc phổ biến nhất..
Cho tôi biết về bản thân của bạn..
Dẫn tôi qua sơ yếu lý lịch của bạn ..
Làm thế nào bạn biết đến vị trí này?.
Tại sao bạn muốn làm việc tại công ty này?.
Tại sao bạn muốn công việc này?.
Tại sao chúng tôi nên tuyển dụng bạn?.
Bạn có thể mang theo gì cho công ty?.
Điểm mạnh lớn nhất của bạn là gì?.

Chủ đề