Cách học lập trình bằng Java - hướng dẫn đầy đủ. Ngôn ngữ lập trình Java: Bắt đầu học từ đâu

Sau nhiều năm, tôi nghĩ, tôi sẽ phát triển chương trình Java đầu tiên của mình như thế nào nếu tôi bắt đầu ngay hôm nay?

Người quen với Java là ở trường đại học và nhớ lại điều này khiến bạn đổ mồ hôi lạnh. Ngoài một ngôn ngữ mới lạ, tôi phải cài đặt một số loại JDK, sau đó là IDE, sau đó tạo dự án đầu tiên và thêm các thư viện vào đó theo cách thủ công. Làm điều đó bằng cách tương tự với các chương trình tạo sẵn và bắt java.lang.ClassNotFoundException và java.lang.NoSuchMethodException và điều kinh dị tương tự không xác định. Khi tôi biết cách chỉ làm việc trong hệ điều hành Windows và truy cập Internet thông qua modem thông qua đường dây điện thoại.

Tôi hy vọng nó sẽ thú vị cho cả những người mới bắt đầu làm quen với java và những người còn nhớ jdk 1.4. Hãy thử IDE Eclipse Che trực tuyến.

Tôi sẽ đặt trước về điều kiện chính - bây giờ bạn nên có truy cập internet ổn định. Và tất nhiên, sau khi đọc bài viết này, bạn sẽ không kiếm được công việc Kiến trúc sư Java trị giá 180.000 đô la một năm tại Thành phố New York hoặc thậm chí học Java trong 21 ngày. Hãy chỉ phát triển Hello world của chúng ta trong một môi trường hiện đại bằng một vài dòng mã, nhưng với máy chủ web.

Cloud IDE và phát triển vùng chứa Docker

Phần mềm mã nguồn mở Eclipse Che là một IDE thế hệ mới để hợp tác phát triển phần mềm. Không quá quen thuộc với chúng ta "oldies", nhưng cho phép bạn phát triển cục bộ chỉ với một trình duyệt hiện đại và truy cập mạng ổn định. Máy chủ Che có thể chạy trên mạng cục bộ. Để bắt đầu nhanh chóng, chúng tôi thậm chí không cần cài đặt bất cứ thứ gì !!!

Theo liên kết Eclipse Che. Có thể tạo một tài khoản miễn phí trên codenvy.com. Bạn có thể đăng ký nó vào thư của mình hoặc sử dụng các nhà cung cấp OAuth: Github, Google hoặc Microsoft trực tuyến.

Ở phía máy chủ, vùng chứa Docker được tạo tự động với môi trường phát triển đã được định cấu hình. Sử dụng tác nhân trong vùng chứa, IDE javascript kết nối với nó từ trình duyệt của bạn.

Khi được tạo từ mẫu "Java" trong vùng chứa, lắp ráp Ubuntu thông thường, có nghĩa là bạn có thể cài đặt các gói bạn cần để làm việc. Mẫu "Eclipse Che" dựa trên Alipine - một bản dựng linux tối giản dưới thời Docker và bạn không có quyền tự do ở đó.

Vì vậy, những gì tôi đang nói về. Nếu bạn không biết nó là gì, thậm chí đừng lo lắng về nó ngay bây giờ. Mọi thứ đang hoạt động và vì vậy, hãy để nó giống như một phép thuật ở bước đầu tiên! Theo thời gian, nếu bạn muốn hiểu tất cả thì điều này khá đơn giản.

Hãy tạo một "Không gian làm việc" mới từ mẫu "Java". Bạn sẽ phải xem phim hoạt hình với cần cẩu xây dựng trong khi không gian phát triển của bạn đang được tạo ra.

Oracle JDK 8u45 và Maven 3.3.9 sẽ có sẵn trong môi trường phát triển của bạn. Bắt đầu phát triển từ một dự án Github cũng dễ dàng như vậy.

Chuẩn bị môi trường cho dự án ...


Hệ thống và công trình quản lý phụ thuộc

Tiêu chuẩn thực tế trong thế giới Java là Maven và có lẽ là tiêu chuẩn hỗ trợ tốt nhất trong các IDE khác nhau. Gradle là một dự án trẻ hơn và xứng đáng là sự lựa chọn số 1 của bạn. Nhưng khi bước vào công việc nhà phát triển Java, cơ hội gặp Maven cao hơn nhiều, đặc biệt là trên các dự án kế thừa. Ngoài ra, anh ấy cũng đang cố gắng để trẻ hơn và thoát khỏi định dạng XML với chi phí của dự án Polyglot. Atom, Groovy, Clojure, Ruby, Scala, YAML - làm cơ sở để viết một tệp hợp ngữ. Ở đây câu chuyện cũng giống như với ngôn ngữ lập trình trong JVM. Bất chấp sự tồn tại của Groovy, Scala, JRuby, Jython, Clojure, tất cả sức mạnh và sự ngắn gọn của chúng, ngôn ngữ Java vẫn sống động hơn tất cả những ngôn ngữ sống. Và thậm chí đừng so sánh Java với người dẫn đầu - ngôn ngữ lập trình đang tồn tại và, mặc dù chậm, đang phát triển.

Bảng điều khiển dự án mặc định-java-simple sẽ cung cấp cho chúng tôi Hello World yêu thích của chúng tôi.

Tôi đề xuất hơi phức tạp hóa bước đầu tiên của chúng tôi và thêm Apache Camel vào dự án. Nguồn và đích dữ liệu và tất cả sự phức tạp của việc làm việc với công nghệ đều ẩn đằng sau cú pháp Url bên trong các thành phần của nó và chúng tôi sẽ không đi sâu.

Điều kỳ diệu của lạc đà

Eclipse Che đã tạo một mẫu dự án cho chúng tôi, bây giờ chúng tôi sẽ chỉnh sửa và tạo ứng dụng web của chúng tôi.

Apache Camel là một khung tích hợp mã nguồn mở và chúng ta chỉ cần nó cho một Hello World đơn giản. Hãy thêm các thư viện của nó vào pom.xml, tùy thuộc vào lõi lạc đà và thành phần cầu cảng của máy chủ web.

org.apache.camel lõi lạc đà 2.18.0 org.apache.camel cầu tàu lạc đà 2.18.0

Để các lambdas được biên dịch, hãy thêm vào cùng một tệp:
1.8 1.8

Sau đó, chúng tôi sẽ chỉnh sửa tệp /console-java-simple/src/main/java/org/eclipse/che/examples/HelloWorld.java và đồng thời chúng tôi sẽ cảm nhận cách hoạt động của IDE trực tuyến này.

Gói org.eclipse.che.examples; nhập org.apache.camel.builder.RouteBuilder; nhập org.apache.camel.main.Main; public class HelloWorld (public static void main (String argvs) ném Exception (Main main = new Main (); main.addRouteBuilder (new RouteBuilder () (@Override public void config () ném Exception (from ("cầu cảng: http: / /0.0.0.0:8080 ") .process (exchange -> (exchange.getIn (). SetBody (" Hello World ");));))); main.run (argvs);))

Để có thể chạy ví dụ với lệnh mvn clean install executive: java, bạn cần phải thêm tệp thực thi-maven-plugin vào pom.xml

org.codehaus.mojo executive-maven-plugin 1.5.0 java org.eclipse.che.examples.HelloWorld


Chạy dự án bằng lệnh từ thiết bị đầu cuối

Mvn clean cài đặt thực thi: java
Hoặc chỉnh sửa cấu hình khởi chạy khi nhấp chuột trong IDE.

Bạn có thể kết nối với ứng dụng web của chúng tôi từ thế giới bên ngoài theo địa chỉ từ cột "Địa chỉ Máy chủ" cho dòng "tomcat8". Bạn có thể xem cách thực hiện điều này trong video dưới đây:

Kết quả của chương trình của chúng tôi:

Ví dụ này tạo Apache Camel và đường dẫn dữ liệu của nó. Lộ trình bắt đầu từ máy chủ web của cầu tàu, máy chủ này sẽ lắng nghe các yêu cầu http trên cổng 8080. Khi chúng tôi nhận được yêu cầu, chúng tôi sẽ tạo phản hồi bằng đường process (exchange -> (exchange.getIn (). setBody ("Hello World");)).

Screencast quá trình viết mã java (không có âm thanh và tiếng chửi thề) trong Che và chạy chương trình Hello World.

Java là một ngôn ngữ lập trình và nền tảng máy tính được Sun Microsystems phát hành lần đầu tiên vào năm 1995. Có rất nhiều ứng dụng và trang web không hoạt động nếu không được cài đặt Java, và số lượng các trang web và ứng dụng đó đang tăng lên mỗi ngày. Java nhanh, bảo mật cao và đáng tin cậy. Từ máy tính xách tay đến trung tâm dữ liệu, từ bảng điều khiển trò chơi đến siêu máy tính dùng cho nghiên cứu khoa học, từ điện thoại di động đến Internet, Java ở khắp mọi nơi!

Có thể tải xuống Java miễn phí không?

Có, Java được tải xuống miễn phí. Tải xuống phiên bản mới nhất từ ​​trang web.

Nếu bạn đang phát triển một thiết bị nhúng hoặc thiết bị tiêu dùng và muốn sử dụng các công nghệ Java trong đó, hãy liên hệ với Oracle để biết chi tiết về việc tích hợp Java vào các loại thiết bị khác nhau.

Tại sao cần phải nâng cấp lên phiên bản Java mới nhất?

Phiên bản Java mới nhất có những cải tiến quan trọng để cải thiện hiệu suất, độ ổn định và bảo mật của các ứng dụng Java chạy trên máy tính của bạn. Cài đặt gói dịch vụ miễn phí này sẽ đảm bảo rằng các ứng dụng Java được cài đặt trên máy tính của bạn chạy một cách an toàn và hiệu quả.

CHI TIẾT KỸ THUẬT
Tôi đã nghe các thuật ngữ "Máy ảo Java" và JVM. Đây có phải là phần mềm Java không?

Máy ảo Java chỉ là một khía cạnh của phần mềm Java được sử dụng khi tương tác qua Internet. Máy ảo Java được tích hợp trực tiếp vào phần tải xuống phần mềm Java và được sử dụng để hỗ trợ chạy các ứng dụng Java.

Bài viết này sẽ xem xét tám trong số những lầm tưởng và quan niệm sai lầm phổ biến nhất về Java.

Java chậm

Đây là một huyền thoại khá cũ, nhưng nó thực sự đúng vào một thời điểm. Ban đầu, các máy ảo mà mã bytecode của Java được thực thi là không hoàn hảo, và bên cạnh đó, ngôn ngữ Java và máy ảo được phát triển không phải cho máy tính theo nghĩa thông thường, mà là một loại môi trường chung cho các thiết bị khác nhau, nơi tốc độ của chương trình không quan trọng, nhưng khối lượng dữ liệu không đáng kể. Sự khác biệt về tốc độ thực hiện các tác vụ giống nhau giữa mã được biên dịch thông thường và mã Java được thông dịch có thể gấp hàng trăm lần.

Nhưng bất chấp điều này, hiện tại, tốc độ hoạt động của bytecode trên các máy ảo hiện đại chỉ kém vài chục phần trăm so với các trình biên dịch mã máy tốt nhất, và trong một số trường hợp, thậm chí còn vượt qua chúng! Một diễn giải có thể vượt qua một chương trình đã biên dịch không? Dĩ nhiên là không.

Thực tế là Java bytecode không còn được máy ảo thông dịch nữa, mà được biên dịch và thậm chí tối ưu hóa, hơn nữa là động, dựa trên dữ liệu được máy ảo thu thập về việc thực thi chương trình.

Java thực hiện khá tốt các bài kiểm tra tốc độ cháy, nhưng đối với các ứng dụng thực thì sao? Thật không may, mọi thứ không diễn ra tốt như vậy với các ứng dụng tùy chỉnh. Lý do cho điều này là hoạt động chậm chạp của các thành phần đồ họa của hệ thống.

Các lập trình viên Java biết rằng ngôn ngữ này có hai tính năng giao diện người dùng tiêu chuẩn, AWT và Swing. AWT là một triển khai dành riêng cho nền tảng của giao diện người dùng đồ họa. Tốc độ của hầu hết các triển khai của nó là khá tốt, nhưng số lượng các chức năng rất hạn chế. Để thay thế cho AWT, thư viện Swing đã được phát triển. Nó hoàn toàn dựa trên khả năng của ngôn ngữ, có nhiều chức năng và độc lập với nền tảng, nhưng tốc độ thấp.

Java khó lập trình

Lầm tưởng về độ phức tạp của lập trình Java phần lớn dựa trên thực tế là thư viện lớp chuẩn có cấu trúc cây nhiều cấp và bao gồm rất nhiều đối tượng và thuật toán ứng dụng. Nhưng chính nhờ các lớp tiêu chuẩn mà việc tạo và duy trì các ứng dụng được đơn giản hóa.

Ngôn ngữ lập trình Java hoàn toàn hướng đối tượng. Cú pháp của nó tương tự như C ++. Đồng thời, chức năng tạo lỗi, dư thừa của C ++ (chẳng hạn như nạp chồng toán tử hoặc đa kế thừa) bị loại bỏ.

Thay vì đa kế thừa, Java sử dụng khái niệm “giao diện” đơn giản hơn nhiều, nghĩa là một quy ước gọi tên cho một tập hợp các hàm. Java sử dụng kiểu gõ mạnh và sẽ không cho phép truyền tham số không chính xác, ngoài ra, nó nghiêm ngặt hơn nhiều so với C ++ về sự bất cẩn trong mã nguồn và chẳng hạn, sẽ không cho phép bạn tạo một phương thức với phần mã cố tình không sử dụng. Ngoài ra, Java sẽ không biên dịch một chương trình với một biến chưa được khởi tạo.

Một trong những nguyên nhân chính của vấn đề phát triển chương trình là việc sử dụng sai bộ nhớ động, hay nói đúng hơn là việc giải phóng sai các khối đã chiếm trước đó. Java sử dụng khái niệm "bộ thu gom rác". Điều này có nghĩa là lập trình viên không cần phải lo lắng về việc giải phóng bộ nhớ bị chiếm dụng. Bản thân hệ thống sẽ thêm nó vào bộ nhớ trống khi phát hiện không còn liên kết nào từ chương trình tới đối tượng này nữa.

Để báo hiệu lỗi, Java sử dụng khái niệm thời thượng về "ngoại lệ". Một ngoại lệ là một số sự kiện đặc biệt báo hiệu một lỗi trong chương trình. Hầu hết các ngôn ngữ lập trình (và API) chuyển kết quả của lệnh gọi hàm (xấu hoặc tốt) cho người gọi để báo hiệu lỗi. Kết quả là, mã phân tích cú pháp giá trị trả về bị trộn lẫn với mã thực thi chương trình bình thường, điều này làm cho các chương trình khó đọc và sửa đổi.

Tuy nhiên, quan trọng hơn, các ngoại lệ không chỉ cải thiện khả năng đọc của mã nguồn mà còn ngăn người gọi bỏ qua lỗi. Lập trình viên phải "bắt" ngoại lệ hoặc chuyển trách nhiệm này sang hàm gọi.

Ở phần trên, chúng ta có thể nói thêm rằng hỗ trợ đa nhiệm được “tích hợp sẵn” trong Java. Khi tạo các ứng dụng đa luồng, một nhà phát triển thường phải sử dụng các công cụ của hệ điều hành (semaphores, mutexes) để đồng bộ hóa các tác vụ. Mặt khác, Java cung cấp một giải pháp phổ quát dựa trên các cấu trúc của chính ngôn ngữ đó.

Tổng kết lại, có thể nói về độ phức tạp của lập trình Java thì không thể so sánh được với C ++ hay Pascal. Các tính năng ngôn ngữ được phát triển, hỗ trợ "thu gom rác", thư viện lớp tiêu chuẩn duy nhất, điều khiển trình biên dịch - tất cả điều này giúp đơn giản hóa đáng kể việc tạo các ứng dụng và tăng tốc độ gỡ lỗi của chúng.

Java hoạt động giống nhau ở mọi nơi

“Tạo một lần - sử dụng mọi nơi” (“Viết một lần - chạy mọi nơi”). Phần thứ hai của khẩu hiệu này của những người tạo ra Java chứa tuyên bố rằng một chương trình Java hoạt động theo cùng một cách ở mọi nơi. Thật không may, trong thực tế, mọi thứ không đơn giản như vậy. Máy Java từ các công ty khác nhau trên các nền tảng khác nhau KHÔNG tương thích 100% với nhau.

Sự khác biệt trong hoạt động của các máy Java trên các nền tảng khác nhau tồn tại cả trong việc thực hiện đa nhiệm và trong công việc của thư viện cửa sổ (AWT). Các chương trình Java phức tạp cần được "chạy" trên các nền tảng khác nhau để đảm bảo mọi thứ đều theo thứ tự. Nói chung, ngay cả trên cùng một nền tảng, nhưng trên các máy khác nhau, các chương trình như vậy có thể được thực thi theo những cách khác nhau.

Ví dụ: một lập trình viên có thể gặp phải tình huống trong đó mã của anh ta hoạt động trên máy đa xử lý khác với trên máy đơn xử lý. Cần đề cập đặc biệt đến máy Java do Microsoft tạo ra (sau đây gọi là MS JVM). Nó được gọi là Java không hoàn toàn hợp pháp (đã được xác nhận bởi một quyết định của tòa án gần đây).

Trong MS JVM, bạn sẽ không thấy hỗ trợ công nghệ RMI hoặc CORBA, nhưng ở đây bạn có thể sử dụng các đối tượng ActiveX - một công nghệ chỉ dành riêng cho nền tảng Windows và không tồn tại ở bất kỳ nơi nào khác. Microsoft đã mở rộng thư viện lớp Java tiêu chuẩn với các kiểu phản ánh một số cách hoạt động của nền tảng Windows.

Chúng ta cũng không nên quên tốc độ khác nhau của các máy Java. Sự khác biệt này có thể dẫn đến sự chậm trễ không thể chấp nhận được của chương trình hoặc các vấn đề khác. Kết luận từ phần trên rất đơn giản: khi tạo các chương trình Java, bạn nên thử nghiệm chúng trên nhiều nền tảng và không sử dụng các phần mở rộng ngôn ngữ không chuẩn.

Java là một ngôn ngữ lập trình

Có ý kiến ​​cho rằng Java chỉ là một ngôn ngữ lập trình nhất định. Nhưng đây chỉ là một ảo tưởng. Đúng, Java cũng là một ngôn ngữ lập trình. Điều này và một loạt các công nghệ khác.

Java là một nền tảng, một nền tảng phần mềm hiện đại, nói chung đang tìm cách thay thế tất cả các chức năng của hệ điều hành. Có lẽ điều này sẽ xảy ra trong tương lai gần (mặc dù những nỗ lực như vậy đã được thực hiện, nhưng không thành công). Điểm mạnh chính của Java là tính độc lập của nền tảng, tức là sự độc lập của phần mềm chạy trên máy ảo với phần cứng và hệ điều hành.

Cần lưu ý rằng có hàng chục ngôn ngữ lập trình khác nhau cho nền tảng Java. Một số trong số chúng có thể được biên dịch bởi chính trình biên dịch Java, trong khi một số khác có thể làm việc trực tiếp với máy ảo.

Java là em gái của C ++

Ngôn ngữ lập trình Java có thực sự là hậu duệ của C ++? Nhiều khả năng không hơn là có. Ý tưởng của Sun là làm cho Java dễ học hơn bằng cách làm cho cú pháp của nó tương tự như cú pháp của ngôn ngữ lập trình được sử dụng rộng rãi nhất. Điều này cuối cùng được cho là sẽ khuyến khích và đơn giản hóa quá trình chuyển đổi sang lập trình viên Java C.

Đồng thời, Java dựa trên những ý tưởng và cơ chế được rút ra từ một số hệ thống và ngôn ngữ lập trình khác. Kiểm soát tối thiểu việc tràn mảng (Pascal). Hoặc thực tế là các chương trình Java được biên dịch riêng biệt, các lớp được đóng gói. Đây là một biến thể của lập trình mô-đun (chẳng hạn như trong Mô-đun-2) khác với khái niệm biên dịch độc lập các tệp C ++.

Một số đổi mới được lấy từ các ngôn ngữ và hệ thống mà công chúng chưa biết đến.

Ví dụ, nguyên tắc của giao diện lớp được chuyển từ ngôn ngữ Objective C do NeXT phát triển. Cơ chế xử lý ngoại lệ hầu như được mượn hoàn toàn từ Modula-3. Các nguyên tắc triển khai nội bộ của một thành phần quan trọng của ngôn ngữ Java như "bộ sưu tập rác" được rút ra chủ yếu từ Lisp. Một phần của các ngôn ngữ "bình thường", chẳng hạn như Eiffel, Modula-3, Oberon, ban đầu cũng có cơ chế này.

Tóm lại những điều trên, chúng ta có thể kết luận rằng Java đã hấp thụ một số lượng lớn các ý tưởng và cách tiếp cận từ các hệ thống lập trình khác nhau, bao gồm cả cú pháp của ngôn ngữ C ++.

Java chỉ tốt cho các applet và web

Java được liên kết chặt chẽ với các applet. Thật vậy, các applet là một phần không thể thiếu của cả ngôn ngữ và nền tảng Java nói chung. Ngoài ra, sáng tạo của họ là một động thái tiếp thị thành công của Sun. Nếu không có các applet, thế giới sẽ không biết về Java một cách nhanh chóng như vậy.

Ý tưởng nhúng các ứng dụng vào tài liệu siêu văn bản (HTML) không phải là mới. Nhiều công ty đã cố gắng đẩy mạnh công nghệ của họ vào phân khúc thị trường này, nhưng Java hiện có rất ít đối thủ cạnh tranh. Ngày nay có lẽ là công nghệ JavaScript, ActiveX và Flash. Tuy nhiên, hai phần cuối cùng chỉ hoạt động trong Windows.

Điều gì thu hút các lập trình viên đến với Java? Một mô hình bảo mật mạnh mẽ, một mã duy nhất cho tất cả các nền tảng, nhiều cơ hội để sử dụng các thư viện làm sẵn, dễ lập trình. Trên thực tế, mọi thứ không hề hồng hào như chúng ta mong muốn. Mô hình bảo mật chắc chắn không tệ, nhưng việc triển khai của các nhà sản xuất khác nhau sẽ khác nhau. Do đó, mã hoạt động tốt trong một trình duyệt không hoạt động trong một trình duyệt khác.

Chà, nếu Java có sẵn trong các trình duyệt, vậy các ứng dụng chạy không cần trình duyệt mà nằm dưới sự điều khiển của một máy ảo ngay trong hệ điều hành thì sao? Ở đây tình hình cũng tương tự, trong mọi hệ điều hành hiện đại, một số phiên bản JVM đã được cài đặt sẵn. Và người dùng có thể chạy các ứng dụng JVM hiện có của họ với nó, mặc dù hầu hết thậm chí không nghi ngờ khả năng này.

Chúng ta không nên quên các ứng dụng máy chủ, bao gồm quyền truy cập cơ sở dữ liệu và các ứng dụng mạng. Và đây là ứng dụng chính của các công nghệ Java tại thời điểm này. Sự phân loại này không chỉ bao gồm các ứng dụng phần mềm trung gian mà còn bao gồm bản thân các ứng dụng máy chủ.

Và nếu bạn thêm các ứng dụng khách hoặc thậm chí các applet ở đây, bạn sẽ có được một bộ hoàn chỉnh để tự động hóa.

Nền tảng Java không chỉ có các applet. Nó được sử dụng ở mọi nơi, từ máy khách đến máy chủ. Và nếu bạn nhớ rằng Java không chỉ được sử dụng trên máy tính mà còn được sử dụng trong điện thoại di động, thiết bị gia dụng và thẻ thông minh, thì có vẻ như nó đã thâm nhập vào tất cả các lĩnh vực của thị trường nơi ít nhất là bằng cách nào đó có thể lập trình được.

Java là lý tưởng, nó không cần cải tiến

Java được tạo ra vào năm 1994-1995. Vào thời điểm này, công nghệ thông tin đã được phát triển mạnh mẽ do sự “cá nhân hóa” của máy tính và một phần do sự lan rộng của Internet. Các tác giả của Java đã cố gắng đưa tất cả những thành tựu của ngành thông tin vào đó, nhưng lý tưởng, như bạn biết, là không thể đạt được. Một số thứ vẫn còn sót lại, bao gồm kiểm tra các điều kiện để thực hiện đúng chương trình, "lập trình theo hợp đồng", các mẫu, v.v.

C ++ có một trình kiểm tra điều kiện được gọi là tài sản. Hàm này kiểm tra một số điều kiện do người lập trình chỉ định cho "true". Nếu điều kiện là "false", nội dung sẽ dừng chương trình và chỉ ra rằng các điều kiện hoạt động được phép bị vi phạm, trong khi trình biên dịch loại bỏ các lệnh gọi đến nội dung khi tạo phiên bản cuối cùng của chương trình. Không có khả năng như vậy trong Java. Tất nhiên, bạn có thể sử dụng các điều kiện kiểm tra và tạo ngoại lệ dựa trên chúng, nhưng kết quả là, tất cả các kiểm tra này sẽ đi vào mã thực thi của chương trình.

Có nhiều công nghệ mạnh hơn tài sản. Đây là Design By Contract, "lập trình theo hợp đồng", giúp tạo các ứng dụng lớn sử dụng mã đã tạo trước đó dễ dàng hơn. Java cũng không hỗ trợ "lập trình theo hợp đồng".

Các mẫu lớp trong C ++ là khả năng tạo mã “dưới” một lớp do người dùng chỉ định (trên thực tế, các nhà phát triển Java đã từ bỏ các mẫu một cách có ý thức, tin rằng chúng có nhiều vấn đề hơn là hữu ích. - Khoảng. Ed.). Tập hợp các đối tượng được triển khai với một mẫu sẽ được biên dịch mỗi lần cho mỗi loại đối tượng được lưu trữ trong bộ sưu tập đó. Một tập hợp đối tượng Java điển hình chứa các thể hiện của lớp Đối tượng, tổ tiên của tất cả các lớp Java.

Lập trình viên, khi trích xuất các đối tượng từ một tập hợp, buộc phải sử dụng kiểu ép kiểu để sử dụng lớp "làm việc" của mình. Một ứng dụng như vậy hoạt động tốt cho đến khi một lập trình viên khác vô tình thêm một thể hiện của một lớp hoàn toàn khác vào bộ sưu tập. Sau đó, không có lỗi thời gian biên dịch, nhưng một lỗi xảy ra sau đó khi phiên bản được truy xuất và một nỗ lực được thực hiện để chuyển nó sang kiểu sai.

Hiện tại, Java vẫn tiếp tục phát triển. Có thể trong thời gian sắp tới chúng ta sẽ thấy một số tính năng nêu trên trong đó.

Java tốn rất nhiều tiền

Công nghệ Java có thực sự đắt không? Tất cả phụ thuộc vào độ phức tạp của phần mềm đang được phát triển. Ví dụ, đối với một ứng dụng nhỏ (từ một đến ba tháng), Java có thể không tốn kém gì cả. Tất nhiên, công nghệ này không hoàn toàn miễn phí. Một lập trình viên Java có tay nghề cao sẽ phải trả giá đắt.

Cũng cần có các công cụ thiết kế ứng dụng, công cụ lập hồ sơ Java và các công cụ khác được sử dụng để tạo các dự án lớn. Tuy nhiên, nói chung, sự cạnh tranh trên thị trường đối với phần mềm như vậy là khá cao, và do đó, giá cả đang giảm xuống. Sự lựa chọn rất đa dạng và nhà phát triển không bị ràng buộc với một công ty cụ thể.

Làm thế nào để sử dụng chương trình Java?

Tôi có một số chương trình yêu cầu Java. Cài đặt Java này, từ một tệp tương đối nhỏ, một thư mục CommonFiles đã được hình thành với gần 125 MB nội dung. Phải làm gì tiếp theo? Làm thế nào bây giờ để chạy một chương trình hoạt động với Java?


FF | Ngày 3 tháng 3 năm 2013, 13:25
Đừng lo lắng về điều này. Nếu Java nằm trong hệ thống, thì trong những trường hợp thích hợp, mọi thứ sẽ hoạt động như bình thường.

anatol | Ngày 26 tháng 2 năm 2013, 05:42 chiều
Trên thực tế, Java cho WINDOWS không phải là một chương trình, mà là một môi trường điều hành, một máy ảo trong đó các chương trình được viết cho nó, bằng ngôn ngữ java, hoạt động. Đó là, nó là một loại thư viện lệnh, một trình thông dịch. Có nhiều phiên bản khác nhau. Ví dụ, java sdk được thiết kế để viết chương trình trong JAVA.

Evgeniy | Ngày 26 tháng 2 năm 2013, 00:57
Nếu Java có tính di động, thì nó được thiết kế cho các chương trình di động. Một chương trình như vậy mà tôi biết cho đến nay là Java-PortableApps.com (x32 & x64). Trong cùng thư mục với thư mục CommonFiles, bạn cần cài đặt các chương trình Java di động khác. Nếu đây là các chương trình PortableApps.com, thì mỗi chương trình sẽ được cài đặt trong thư mục riêng của nó. Các chương trình này được khởi chạy theo cách thông thường, giống như tất cả các chương trình, trong khi bản thân Java hoàn toàn không bị động đến. Nếu các chương trình Java di động không phải là PortableApps.com, chúng có thể yêu cầu bạn tải xuống Java khi bạn chạy chúng sau khi cài đặt. Nếu Java được cài đặt trên hệ thống (không phải là portable), thì tất cả các chương trình sẽ hoạt động.

proFFesr | Ngày 25 tháng 02 năm 2013, 08:07
Rất nhiều ứng dụng và trang web sẽ chỉ hoạt động nếu bạn đã cài đặt Java. Java được sử dụng ở mọi nơi: xem ảnh trên trang web, trong trò chơi, v.v., nó tự chạy trong ứng dụng mà nó được yêu cầu.

Oleg | Ngày 25 tháng 2 năm 2013, 06:24
Thực tế là cài đặt đã tăng lên là bình thường. Sau khi khởi động lại, những chương trình yêu cầu Java sẽ bắt đầu hoạt động. Nếu không có các thao tác bổ sung.



Trình duyệt Chrome phiên bản 42 trở lên. Bắt đầu từ phiên bản Chrome 42 (phát hành tháng 4 năm 2015), Chrome đã vô hiệu hóa cách tiêu chuẩn mà các trình duyệt hỗ trợ plugin. Thêm thông tin


Tải xuống và cài đặt Java

Hãy thử gói trình cài đặt ngoại tuyến (chỉ dành cho Windows)

Gói trình cài đặt ngoại tuyến thường sẽ hoàn tất thành công ngay cả khi gói trình cài đặt trực tuyến đã gặp sự cố. Tệp gói của trình cài đặt ngoại tuyến có dung lượng lớn và sẽ mất nhiều thời gian để tải xuống hơn so với trình cài đặt trực tuyến.
»Tải xuống trình cài đặt Windows Ngoại tuyến

Gỡ cài đặt mọi cài đặt Java không hoạt động

Loại bỏ các bản cài đặt trước của Java không hoạt động trước khi cố gắng cài đặt lại.
»Gỡ cài đặt Java cho Windows
»Gỡ cài đặt Java cho Mac

Tạm thời tắt tường lửa hoặc ứng dụng chống vi-rút

Tường lửa hoạt động hoặc phần mềm chống vi-rút có thể ngăn cài đặt Java đúng cách. Hãy nhớ bật lại tường lửa hoặc phần mềm chống vi-rút khi bạn đã hoàn tất cài đặt Java thành công.

Tại sao tôi nhận được thông báo lỗi tệp trong khi cài đặt Java?

Người dùng Windows XP thường thấy thông báo này. Chạy tiện ích Microsoft và thử trình cài đặt ngoại tuyến có thể giải quyết được sự cố. Xem Câu hỏi thường gặp về installshield để biết thêm chi tiết.

Bạn có thể kiểm tra cài đặt Java của mình bằng cách sử dụng các hướng dẫn trong phần bên dưới.

UseJava

Khi bạn đã xác định rằng Java được cài đặt đúng cách, hãy thử các mục sau để giúp bạn chạy một ứng dụng Java cụ thể.

Khởi động lại trình duyệt của bạn sau khi cài đặt Java để kích hoạt phiên bản mới

Nếu bạn vẫn được nhắc cập nhật Java sau khi cài đặt phiên bản mới nhất, hãy thử khởi động lại trình duyệt của bạn. Đóng tất cả các cửa sổ trình duyệt, sau đó mở lại bất kỳ trang web nào yêu cầu Java. Trong hầu hết các trường hợp, bắt đầu một phiên trình duyệt mới sẽ làm cho phiên bản Java được cài đặt mới nhất hoạt động trong trình duyệt của bạn.
Ghi chú: Nếu bạn vẫn được nhắc cập nhật, hãy thử khởi động lại hệ thống của bạn. Một số hệ thống cần khởi động lại để đăng ký plugin Java mới được cài đặt.

Cấp quyền để chạy Java, khi được trình duyệt nhắc

Các trình duyệt sẽ yêu cầu bạn cho phép để chạy trình cắm Java trong trình duyệt. Các lời nhắc quyền thay đổi tùy theo trình duyệt.
»Kích hoạt trình cắm Java trong trình duyệt

Kiểm tra xem plugin Java có được bật trong trình duyệt hay không

Theo mặc định, trình duyệt có thể tắt trình cắm Java hoặc các tiện ích bổ sung có liên quan. Bạn có thể cần phải định cấu hình trình duyệt của mình để kích hoạt trình cắm Java.
»Bật trình cắm Java trong trình duyệt

Xác minh rằng Java được bật trong Bảng điều khiển Java

Nếu Java không được bật trong Bảng điều khiển Java, bạn sẽ không thể chạy các ứng dụng Java trong bất kỳ trình duyệt nào.
»Bật nội dung Java trong trình duyệt bằng Bảng điều khiển Java

Định cấu hình cài đặt bảo mật

Đảm bảo rằng mức bảo mật Java không ngăn ứng dụng chạy. Mức bảo mật mặc định có thể hạn chế khả năng chạy các ứng dụng có thể gây rủi ro cho máy tính của bạn.
»Định cấu hình cài đặt cấp độ bảo mật trong Bảng điều khiển Java

Làm cách nào để chạy các ứng dụng bị chặn bởi cài đặt Bảo mật?

Tính năng Danh sách trang ngoại lệ được giới thiệu bắt đầu với bản phát hành Java 7 Update 51. Việc thêm URL ứng dụng vào danh sách Ngoại lệ cho phép người dùng chạy Ứng dụng Internet đa dạng (RIA) mà thông thường sẽ bị chặn bởi các kiểm tra bảo mật.
»Định cấu hình Danh sách Trang web Ngoại lệ

Tại sao tôi không thể in phiếu giảm giá hoặc nhãn vận chuyển?

Một số ứng dụng Java chưa được nâng cấp để đáp ứng các tiêu chuẩn bảo mật Java mới. Do đó, các ứng dụng này bị chặn do đó vô hiệu hóa tính năng in. Liên hệ với trang web hoặc nhà phát triển ứng dụng để thông báo cho họ về vấn đề này.
»Câu hỏi thường gặp về vấn đề in ấn

Xóa các tệp trong bộ đệm Java (tạm thời)

Đôi khi một tệp bị hỏng trong bộ đệm Java có thể ngăn ứng dụng chạy. Bạn có thể xóa các tệp tạm thời mà Java tải xuống một cách an toàn vì Java sẽ tải lại chúng và đảm bảo chúng được cập nhật.
»Xóa bộ nhớ cache Java

Kiểm tra cài đặt Chống vi-rút hoặc Tường lửa liên quan đến Java

Người dùng nên kiểm tra các ứng dụng bảo mật chống vi-rút và cả cài đặt tường lửa để xem có khu vực nào để định cấu hình các plugin Java và liệu họ có thể thêm các trang web đáng tin cậy hay không.

Xác minh cài đặt proxy

Đảm bảo rằng bạn đang sử dụng cài đặt proxy thích hợp nếu chúng cần thiết cho cấu hình internet cụ thể của bạn.
»Đặt cài đặt proxy trong Bảng điều khiển Java

Gỡ cài đặt các cài đặt JavaFX độc lập trong Firefox (Windows)

Xung đột giữa các phiên bản Java 7u10 trở lên và các bản cài đặt JavaFX độc lập trước đó có thể khiến Firefox không nhận ra các phiên bản Java đã cài đặt.
»Xem các vấn đề về Firefox

thử nghiệm java

Đảm bảo rằng Java được bật trong trình duyệt của bạn

Sau khi hoàn tất cài đặt Java, bạn có thể xác minh rằng Java đang hoạt động trong trình duyệt của bạn. Có thể Java đã bị vô hiệu hóa hoặc bị chặn chạy trong trình duyệt của bạn. Cách bạn cấp quyền chạy Java khác nhau tùy theo trình duyệt đang được sử dụng.