Có một cuốn sách kinh điển để học Java như một nhà phát triển có kinh nghiệm không? [đóng cửa]


28

Bây giờ tôi đã là một nhà phát triển .NET trong khoảng 5/6 năm qua cho hoặc nhận. Tôi chưa bao giờ thực hiện bất kỳ sự phát triển Java chuyên nghiệp nào và lần cuối cùng tôi thực sự chạm vào nó có lẽ đã trở lại trường đại học. Tôi đã chơi với ngôn ngữ Scala một chút nhưng không có gì nghiêm trọng. Gần đây, tôi đã được cung cấp một cơ hội để thực hiện một số công việc tuyệt vời, nhưng sử dụng Java thay vì .NET. Tôi nghĩ rằng tôi có thể ổn định với bộ kỹ năng hiện tại của mình, nghĩa là tôi đã biết cách lập trình tốt và quen thuộc với các ngôn ngữ như C # và C ++, v.v. Vì vậy, cú pháp và tất cả những thứ ngôn ngữ đó thực sự không phải là vấn đề. Những gì tôi cần là một cuốn sách tham khảo thực sự tốt và một cuốn sách về cách suy nghĩ trong Java. Mỗi ngôn ngữ / Khung / Ngăn xếp cố gắng giải quyết mọi thứ theo một cách nhất định và tôi chắc chắn Java không khác nhau.

Một số sách Java tuyệt vời mà bạn đơn giản không thể sống thiếu là gì? Có cuốn sách nào nói về những phần quan trọng nhất của Java phải được hiểu trước tất cả những thứ khác không?

Như một lưu ý phụ, tôi sẽ thực hiện phần lớn việc phát triển web Java. Không thực sự 100% về loại công cụ họ đang sử dụng để duy trì, khung, máy chủ, v.v.


2
Đến từ ngăn xếp .NET đến ngăn xếp Java từ góc độ web sẽ là địa ngục. Bạn sẽ nhớ .NET rất nhiều. Jthis, jthat, jthingamgig. Chỉ là ý kiến ​​của tôi mang nó cho những gì nó có giá trị.

@Sergio: Không phải những gì tôi muốn nghe !!! LOL
Nodey The Node Guy

1
@Sergio - Steven, vì sự thoải mái của bạn, tôi rất không đồng ý. Java có vấn đề, nhưng tôi nghĩ nó tốt nhất trong không gian web.
Nicole


Câu trả lời:


19

Để tham khảo, tôi khuyên bạn chỉ nên sử dụng công cụ chính thức của Sun (nay là Oracle) như các hướng dẫn và JavaDocs. Mặc dù có ý nghĩa cho người mới, nhưng chúng thường được tổ chức tốt đến mức dễ dàng cho một chuyên gia để tìm thấy những gì họ cần.

Java hiệu quả của Bloch là một cuốn sách tuyệt vời để hiểu các khía cạnh ít tầm thường hơn (và đặc biệt là các tổng quát).

Các tài liệu bổ sung có thể phụ thuộc vào ngăn xếp Java chính xác mà bạn sử dụng - J2EE, Spring, GWT, Gui toolkit, v.v.


11

Lập trình viên Java được chứng nhận của Sun

SCJP cho Java 6

Tôi đánh giá cao cuốn sách này như một hướng dẫn hoàn chỉnh giúp bạn phát triển cho một nhà phát triển có thẩm quyền.

Câu hỏi này rất giống với câu hỏi Cách tốt nhất để học Java nếu bạn đã có nền OOP, như ActionScript 3? nơi tôi đã nói:

Bạn đã đề cập rằng bạn không muốn một cuốn sách vượt qua những điều bạn đã biết. Tôi đặc biệt khuyên dùng SCJP cho Hướng dẫn học Java 6 . Tôi đã nhận được cuốn sách này (phiên bản Java 5) để nghiên cứu thử nghiệm và mặc dù tôi đã biết và đang làm việc với Java toàn thời gian, nó không xúc phạm trí thông minh của tôi ngay cả khi đi qua những điều cơ bản của ngôn ngữ.

Mặc dù tôi đã thành thạo, tôi đã học được các chi tiết quan trọng về ngôn ngữ trong suốt cuốn sách, bao gồm các chi tiết cụ thể về từ khóa truy cập, tính đa hình, cũng như mức độ ưu tiên của phương thức quá tải, điều này trở nên quan trọng hơn rất nhiều khi thêm thuốc generic và tự động đấm bốc.

Từ đó, bạn thực sự có thể muốn thực hiện bài kiểm tra (mặc dù ở mức 200-300 đô la, bất kể bây giờ là gì, sẽ tốt hơn cho một nhà tuyển dụng trợ cấp cho bạn). Các bài kiểm tra cấp độ tiếp theo, SCJD (D cho nhà phát triển), trên thực tế đòi hỏi bạn phải thực hiện một chương trình cơ bản với một back- và front-end, đó sẽ là một cách tuyệt vời để có được một cơ bản, nhỏ (20-40 giờ), nổi dự án xác định để cắt răng của bạn trên.


1
Là một người đọc bìa sách này, tôi thực sự khuyên bạn nên đọc nó, nó có rất nhiều thông tin bên trong về Java mà tôi chưa từng thấy trong một cuốn sách trước đây mà không gây khó chịu cho người mới bắt đầu, trong khi không phải là một cuốn sách cho Những người mới bắt đầu tuyệt đối với lập trình, bất kỳ ai có kiến ​​thức lập trình tốt đều có thể đọc cuốn sách này mà không gặp vấn đề gì
Mahmoud Hossam

@Phobia - thật khó để mô tả làm thế nào nó có thể tốt cho cả người mới bắt đầu và cựu chiến binh, nhưng nó là, phải không?
Nicole

vâng, RẤT
Mahmoud Hossam

9

Java hiệu quả của Joshua Bloch là phải. Thảo luận thú vị về một số phần không tầm thường của ngôn ngữ.

Tôi cũng đã nghe những điều hay về Goetz "Java đồng thời trong thực tiễn" nhưng tôi đã không tự mình đọc nó.


5

Nếu bạn muốn trở thành một chuyên gia đồng thời, hãy giới thiệu Goetz et. al. Đồng thời Java trong thực tiễn . Nếu bạn muốn lên một mặt phẳng cao hơn của sự giác ngộ đồng thời, Nghệ thuật lập trình đa bộ xử lý của Maurice Herlihy là đỉnh cao và chứa mã Java đáng kể. (Xem thêm cuộc thảo luận SO ... lưu ý câu hỏi này đã bị đóng, nhưng câu trả lời vẫn hữu ích)


Gần đây tôi mới đọc qua cuốn sách này và nó đã tác động sâu sắc đến sự hiểu biết của tôi.
Nodey The Node Guy

Tất cả 3 liên kết bạn đưa ra không có dữ liệu, 2 liên kết cuối cùng đã chết, liên kết đầu tiên đang được xây dựng.
Chúng tôi là Borg

Bạn có thể đưa ra các bản sửa lỗi được đề xuất ... nhưng tôi đã chăm sóc hai bản đầu tiên; câu hỏi cuối cùng tôi để lại vì nó tham khảo một câu hỏi trên stackoverflow đã bị đóng / xóa, nhưng bạn vẫn có thể thấy với đủ điểm brownie và câu trả lời vẫn rất thú vị.
andersoj

4

Chính xác là không có nhiều thứ để phát triển web cụ thể, nhưng "Java hiệu quả" của Joshua Bloch là một thứ phải đọc theo ý kiến ​​của tôi:

Liên kết với Amazon


0

Giống như câu trả lời của Uri, hãy tìm tài liệu mặt trời chính thức và Java hiệu quả để hiểu sâu hơn về ngôn ngữ.

Sau đó, đi thẳng với tài liệu chơi và sách, như sách nấu ăn khung sách điện tử chơi , ở đây bạn có một chương mẫu

Không có ích gì khi bạn tự nghiên cứu về ngăn xếp phát triển web j2ee tiêu chuẩn (bạn biết, mùa xuân, thanh chống, tomcat, jsf, v.v.) bởi vì chơi có một cách tiếp cận rất khác để phát triển web ... nếu bạn kiên trì ngủ đông như một sự kiên trì Tôi muốn giới thiệu để có một cái nhìn về các tài liệu của hibernate

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.