What Is Java?

10 569 0
What Is Java?

Đang tải... (xem toàn văn)

Thông tin tài liệu

What Is Java? Last updated Nov 2, 2007. In 1995, Sun Microsystems made the first public version of Java available. It defined Java as having the following attribute: • Java is simple. That simplicity derives from syntax similar to C/C++ and the omission of complex C/C++ features such as multiple implementation inheritance, pointers, and operator overloading. • Java is object-oriented. Java’s object-oriented nature encourages a developer to think in terms of classes and objects rather than separate code and data. That class/object focus results in code that is easier to write, easier to maintain, and easier to reuse. • Java is network-savvy. A TCP/IP library simplifies the development of programs that communicate with HTTP, FTP, and other TCP/IP network processes. Furthermore, the library’s use of the same stream-oriented mechanism for communicating with remote network processes that file-oriented code uses to communicate with files on a computer’s local hard drive helps a developer write network code faster. • Java is interpreted. Java’s compiler translates source code into class files of bytecode instructions. A virtual machine examines each instruction and uses that instruction’s meaning to execute an equivalent sequence of platform-dependent instructions. Interpretation speeds up the development process and simplifies debugging. • Java is robust. Errant programs do not crash the virtual machine or corrupt the underlying (native) platform. Robustness is achieved, in part, by not supporting C/C+ + pointers, by providing a garbage collector to automatically free up dynamically allocated memory (instead of forcing the developer to accomplish that task), by performing strict compile-time/runtime type checking, and by providing true arrays with bounds checking. • Java is secure. Java’s "sandbox" security model identifies sensitive operations (such as file I/O) that a malicious program can exploit to harm the native platform, and provides a mechanism for allowing or preventing access to those operations. • Java is architecture-neutral. A compiled Java program’s bytecode instructions target a generic virtual machine instead of a specific platform. Because each platform-specific virtual machine implementation supplies a consistent interface to the bytecodes, the same Java program runs on diverse platforms (via their virtual machines). • Java is portable. Portability is achieved through architecture neutrality and through a strict definition of the language (which permits no implementation-dependent features). For example, Java’s integer primitive type always means a signed 2’s complement 32-bit integer. In contrast, the C/C++ integer type can be unsigned, and its size varies according to a platform’s register size (typically 32 bits or 64 bits). • Java is high-performance. Many virtual machines use a just-in-time (JIT) compiler to dynamically compile a program’s bytecode instructions into platform-specific instructions (which execute faster than bytecodes) as the program runs. • Java is multithreaded. Support for threads is built into the language via thread- synchronization primitives. There is also a thread library. • Java is dynamic. Java’s use of an interface type to distinguish between what a program must do and how that task gets accomplished helps Java adapt to a continually evolving environment, and makes it easier for vendors to modify Java libraries without breaking program code that uses those libraries. The above definition implies that Java is not your average computer language. Unlike many computer languages, a Java compiler doesn’t translate correct source code (based on a language specification’s syntax and semantics) to equivalent executable code that runs directly on Microsoft Windows/Intel, Sun Solaris/SPARC, or another platform (an operating system and hardware architecture combination). Instead, Java’s compiler translates correct source code to executable code that runs indirectly on a native platform via a virtual machine (a software representation of a hypothetical computer). The virtual machine presents a well-defined interface to a Java program’s bytecode instructions (operation codes and operands that have meaning to the virtual machine) and situates between a Java program’s bytecodes and the native platform. Initially these goals were ambitious and required developers to spend a significant amount of time testing and debugging their applications running in different virtual machines on different operating systems, but as time moved forward, so did Java. Today, moving between modern Java virtual machines, even from different vendors, is mostly transparent. No longer do you have to think about if your application will run on Linux or Windows, if you choose to use Java you get both for free, plus Macintosh, Sun, AIX, HP-UX, and any other operating system for which there is a Java virtual machine. The History of Java Java’s abstraction of the underlying operating system, and hence the underlying network infrastructure, can only be appreciated after a brief history lesson about how Java came to be. In 1991, a research group at Sun Microsystems, as part of their "Green" project, was working to develop software to control consumer electronic devices. The goal was to develop a programming language that could be used to control and network "smart" devices, such as televisions, toasters, and even buildings. These devices would all coexist and could communication with one another. The first prototype that Sun Microsystems developed was a device called the Star7 — a device, similar to a remote control that could communicate with other Star7 devices. Now, the initial intent was to use C++ to control the Star7, but as the result of frustration with C++, James Gosling, a member of the Green project, developed a new language, called Oak, to control the Star7. Why Oak you ask? Well, it is pretty technical, but here goes: rumor has it that the title came from a tree that James could see out of his window while developing the language. Sun later replaced the name Oak with Java because they found that Oak was already being used. Anyway, as a result of Oak, or Java, being designed to run on small appliances, the language had certain inherent benefits to it: • It had to be small to run on the limited memory of small appliances • It had to be efficient and reliable enough to function as a small appliance — we are all used to crashes using computers, but what if your microwave oven changed its power setting and cause your popcorn to catch fire? • It had to be portable to run on different pieces of hardware So what happened to Java after that? After graduating from the Green project, Java was used to create one of the earliest Web Browsers in 1994, called HotJava, but Java came alive however, in 1995 when Netscape licensed the Java programming language and included support for it in its Navigator product. In 1997 Sun released the Servlet API that revolutionized server-side web development away from monolithic CGI scripts or proprietary solutions. In 1999 Sun released the first version of the Java 2, Enterprise Edition (J2EE) specification that included JavaServer Pages (JSP) and Enterprise JavaBeans (EJB) in a highly distributed enterprise middleware. Since then we have seen enterprise Java flourish and evolve to the current Java 5, Enterprise Edition, and we have seen hoards of open source and close source communities evolve. The Power of Java The Java syntax is easy to learn because it resembles C++, its object-oriented foundation makes it intuitive, and its early beginnings in driving communication between devices makes network programming a breeze, but what makes Java truly powerful is its community. One thing that I have always told my students is that before you write any code, look and see if someone has already written the code for you. As you peruse through the Java Reference Guide, you’ll discover technologies like Struts (a Web framework), Hibernate (a persistence engine), Spring (a powerful Inversion-of-Control engine that provides an alternative to enterprise Java), among dozens of other technologies. The Java community has come together in a communal effort to build the majority of technologies you need to build enterprise applications. This enables you to focus on solving your business problems and not on building application infrastructure. The best sources to discover these technologies are (1) Sourceforge.net and (2) Apache.org, in which most Java projects are delegated to jakarta.apache.org. So the next time you are thinking of building a cache or a connection pool or a web or EJB container, it might be better to check these web sites before hand! To help drive innovation, Java has a Java Community Process (JCP) through which standards can be defined and accepted by the community. The JCP has seen the inception of a plethora of new technologies and has provided a medium for interested parties to provide feedback and shape the direction of new technologies. Summary Java is a feature-rich programming language with a robust set of inherent functionality to empower beginners through experts to build top-quality applications. As a result, most colleges have moved their programming curriculum to Java. But the thing that makes Java great is its community: a group of individuals dedicated to making your job easier. And as such, the Java community projects allow you to focus on solving your business problems rather than spending most of your time building an infrastructure to support your application. If you’re new to programming or you’ve been programming for decades, Java can not only make you more productive, but can help you enjoy programming! Server Last updated Jun 13, 2008. There are multiple server technologies, into which I am grouping both web and enterprise applications, but the industry is dominated by three primary technologies: • Microsoft Windows .NET • Enterprise Java Technologies • LAMP (Linux Apache, MySQL, and PHP) .NET and Java are actually more similar than you might think, at least in terms of capabilities. Enterprise Java has been in existence longer than .NET and as a result is probably a little more mature, but not enough so to sway your decision. The main difference between the two is in their deployment platforms: .NET should be deployed to a Windows technology stack whereas enterprise Java applications can not only deploy to Windows, but also to Unix, Linux, and even Macintosh. The important differentiator is that very large scale applications can run in very large Unix environments with hundreds of thousands of nodes or even on multimillion dollar mainframes. My travels have taken me to Java customers ranging from banks on Wall Street to large healthcare companies to huge telecommunications companies, and each of them was successful in solving their business problems using Java. One of the things that has truly made Java a powerful competitor in the web and enterprise technology space has been the emergence of open source technologies. For example, if you are building a web application, rather than starting from scratch with the technology alone, you can analyze your needs and find a proven framework that best solves your business problems. And most of these technologies are running in thousands of different environments across the world, all developed and supported by volunteers whose only aim is to provide the best performing and most robust solution to a domain of business problems. If it were not for this open source community, Java would not be nearly the technology that it is today. As a point of reference, nearly half of the application architectures that I analyzed in my customer travels (in the financial, healthcare, and telecom industries) used Apache Struts as their web framework. Apache Struts was built as one of the first Model View Controller (MVC) architectures by developers that did not want to reinvent the wheel with each new application they built and it grew into a phenomenon of mass industry adoption. And if Struts does not solve your problem, you might look at Spring MVC or Apache Velocity or Wicket or any one of a dozen alternatives. Likewise, data persistence technologies such as Hibernate grew out of a need for a simple object-relational persistence technology and now you can find Hibernate in a great number of large-scale enterprise applications. The point is that the open source community that has evolved around enterprise Java enables you to quickly piece together the best in breed technologies and focus on solving your business problem, not on building an infrastructure. LAMP is an interesting technology stack that is comprised of all open source technologies that work together to rapidly produce web applications. LAMP should not to be discounted because we have seen how powerful open source communities can become, but it has its limitations. Namely, it is great at building dynamic web applications, but it lacks many of the enterprise- scale checks-and-balances that Java provides, such complex transactional support that many enterprise applications require. And without these features, you do not see too many large companies using LAMP to implement their mission critical applications. I have been focusing on large-scale applications, but when comparing .NET to Java, I must also mention that Java is an ideal technology for very small-scale applications as well. The reason is that the open source communities that have provided you with great frameworks have also provided you with open source web and enterprise containers. Apache Tomcat is an open source and completely free web container that has widespread adoption across our industry. JBoss, Apache Geronimo, and Sun’s Glassfish provide support for enterprise technologies and integrate very closely with Tomcat. So if you are working for a company that wants a very large commercial partner you can choose IBM or BEA/Oracle, but if you want your software licenses for free then you have open source alternatives that can give you great performance. And because Java runs on Windows, Linux, Unix, and Macintosh, you can buy inexpensive hardware and run a mission critical application in a heterogeneous environment, all with enterprise-scale support that your applications need. Summary Last updated Jun 13, 2008. When choosing a technology to use to solve your business problems, you need to consider many factors, including physical cost, development cost, performance, robustness, flexibility, as well as your eventual deployment platforms. Java provides technologies to help you solve small-scale as well as very large-scale business problems and everything in between. On top of that, Java applications can run on different platforms, which means that you are never locked into a single vendor. Finally, the open source communities and projects that have evolved around the Java industry can provide you with best of breed infrastructure to allow you to focus on solving your business problems. This is all to say that Java allows you to rapidly develop robust software with the flexibility to deploy that software to a wider audience than any of its competitors. And as such, Java deserves your serious consideration for any application you are getting ready to write. Java là gì? Ngày cập nhật 2 tháng 11 năm 2007. Năm 1995, Sun Microsystems, thực hiện các phiên bản đầu tiên công cộng của Java có sẵn. Nó được định nghĩa Java như có thuộc tính sau: • Java là đơn giản. Đó đơn giản xuất phát từ cú pháp tương tự như C / C + + và các thiếu sót nào của phức tạp C / C + +, các tính năng như thừa kế thực hiện nhiều, con trỏ, và nhà điều hành quá tải. • Java là hướng đối tượng. Java hướng đối tượng thiên nhiên khuyến khích một nhà phát triển để suy nghĩ về các lớp học và các đối tượng chứ không phải là mã riêng và dữ liệu. Đó là lớp / đối tượng kết quả được tập trung trong mã được dễ dàng hơn để viết, để duy trì dễ dàng hơn, và dễ dàng hơn để sử dụng lại. • Java là mạng hiểu biết. Một TCP / IP, thư viện đơn giản hoá việc phát triển các chương trình giao tiếp với HTTP, FTP, và các giao thức TCP / IP của mạng lưới các quá trình. Hơn nữa, của thư viện sử dụng cùng một dòng theo định hướng cơ chế cho quá trình giao tiếp với mạng từ xa mà tập theo định hướng mã sử dụng để giao tiếp với các tập tin trên ổ cứng của máy vi tính địa phương giúp một nhà phát triển viết mã mạng nhanh hơn. • Java là giải thích. Của trình biên dịch Java dịch mã nguồn thành tập tin lớp hướng dẫn bytecode. Một máy ảo kiểm tra từng giảng dạy và sử dụng có chỉ dẫn của ý nghĩa để thực thi một chuỗi tương đương với nền tảng hướng dẫn phụ thuộc. Giải thích tăng tốc quá trình phát triển và đơn giản hoá việc gỡ lỗi. • Java là mạnh mẽ. Kém chất lượng chương trình không đụng xe máy ảo hoặc hỏng (nằm dưới gốc) nền tảng. Mạnh mẽ là đạt được, một phần, bởi không hỗ trợ C / C + +, gợi ý, bằng cách cung cấp một bộ thu rác tự động miễn phí lên cấp phát bộ nhớ động (thay vì buộc các nhà phát triển để thực hiện nhiệm vụ đó), bằng cách thực hiện việc kiểm tra nghiêm ngặt loại compile-time/runtime, và bằng cách cung cấp các mảng thực sự với giới hạn kiểm tra. • Java là an toàn. Java chỗ thử "" bảo mật nhận dạng mô hình hoạt động nhạy cảm (như tập I / O) là một chương trình độc hại có thể khai thác để làm hại nền tảng nguồn gốc, và cung cấp một cơ chế để cho phép hoặc ngăn chặn truy cập đến những hoạt động. • Java là kiến trúc trung lập. Một chương trình biên dịch Java của bytecode mục tiêu hướng dẫn chung chung một máy ảo thay vì một nền tảng cụ thể. Bởi vì mỗi nền tảng máy ảo cụ thể thực hiện cung cấp một giao diện nhất quán với các bytecode, Java cùng một chương trình chạy trên nền tảng đa dạng (thông qua máy ảo của họ). • Java là cầm tay. Portability là đạt được thông qua trung lập kiến trúc và thông qua một định nghĩa nghiêm ngặt của ngôn ngữ (mà không có giấy phép thực hiện tính năng phụ thuộc). Ví dụ, Java của loại nguyên thủy luôn luôn có nghĩa là một số nguyên ký bổ sung 2 của 32-bit số nguyên. Ngược lại, C / C + +, loại có thể là số nguyên unsigned, và kích thước của nó thay đổi tùy theo kích thước của một nền tảng đăng ký (thường là 32 bit hoặc 64 bit). • Java là hiệu năng cao. Nhiều máy ảo sử dụng một chỉ-trong-thời gian (JIT) để trình biên dịch tự động hướng dẫn biên dịch bytecode của chương trình vào nền tảng hướng dẫn cụ thể (được thực hiện nhanh hơn bytecode) là chương trình chạy. • Java là đa mạch. Hỗ trợ cho các chủ đề được xây dựng vào các ngôn ngữ thông qua thread-nguyên thủy đồng bộ hóa. Ngoài ra còn có một thư viện thread. • Java là năng động. Java sử dụng một loại giao diện để phân biệt giữa những gì mà một chương trình phải làm và làm thế nào mà nhiệm vụ được thực hiện sẽ giúp Java thích ứng với một môi trường liên tục phát triển, và làm cho nó dễ dàng hơn cho các nhà cung cấp để sửa đổi mà không vi phạm các thư viện Java mã chương trình có sử dụng các thư viện. Định nghĩa trên hàm ý rằng Java là ngôn ngữ không trung bình máy tính của bạn. Không giống như nhiều ngôn ngữ máy tính, một trình biên dịch Java không dịch mã nguồn đúng (dựa theo cú pháp và ngữ nghĩa một đặc tả của ngôn ngữ) để mã thực thi tương đương với chạy trực tiếp trên Microsoft Windows / Intel, Sun Solaris / SPARC, hoặc nền tảng khác (một hệ điều hành phần cứng và kiến trúc kết hợp). Thay vào đó, trình biên dịch Java dịch mã nguồn đúng để thực thi mã chạy gián tiếp trên một nền tảng bản địa thông qua một máy ảo (một đại diện của một phần mềm máy tính giả). Các máy ảo cũng trình bày một giao diện xác định để hướng dẫn bytecode một chương trình Java (mã số hoạt động và toán hạng có ý nghĩa cho các máy ảo) và situates giữa bytecode một chương trình Java và nền tảng của bản địa. Ban đầu các nhà phát triển được những mục tiêu đầy tham vọng và được yêu cầu phải chi một số tiền đáng kể thời gian thử nghiệm và gỡ lỗi các ứng dụng của họ đang chạy trong máy ảo khác nhau trên các hệ điều hành khác nhau, nhưng như thời gian di chuyển về phía trước, vì vậy đã làm Java. Hôm nay, di chuyển giữa các máy ảo Java hiện đại, ngay cả từ nhà cung cấp khác nhau, chủ yếu là minh bạch. Không còn làm bạn phải suy nghĩ về nếu ứng dụng của bạn sẽ chạy trên Linux hoặc Windows, nếu bạn chọn sử dụng Java bạn sẽ có được cả hai cho Việt, cộng với máy Macintosh, Sun, AIX, HP-UX, và điều hành bất kỳ hệ thống nào khác mà có một máy ảo Java. Lịch sử của Java Java trừu tượng của hệ điều hành, và do đó cơ sở hạ tầng mạng nằm bên dưới, chỉ có thể được đánh giá cao sau khi một bài học lịch sử ngắn gọn về cách Java đã đến được. Năm 1991, một nhóm nghiên cứu tại Sun Microsystems, như một phần của "dự án của họ" xanh, được làm việc để phát triển các phần mềm để điều khiển các thiết bị điện tử tiêu dùng. Mục đích là để phát triển một ngôn ngữ lập trình mà có thể được sử dụng để kiểm soát và mạng lưới "thông minh" thiết bị, như tivi, toasters, và thậm chí cả tòa nhà. Tất cả những thiết bị này sẽ cùng tồn tại và có thể giao tiếp với nhau. Nguyên mẫu đầu tiên mà Sun Microsystems đã phát triển một thiết bị gọi là Star7 - một thiết bị, tương tự như một điều khiển từ xa có thể giao tiếp với các thiết bị Star7 khác. Bây giờ, mục đích ban đầu là sử dụng C + + để kiểm soát Star7, nhưng là kết quả của sự thất vọng với C + +, James Gosling, một thành viên của dự án Green, phát triển một ngôn ngữ mới, được gọi là Oak, để kiểm soát Star7. Tại sao Oak bạn yêu cầu? Vâng, đó là đẹp, kỹ thuật, nhưng ở đây đi: đồn kể rằng đề xuất thân từ một cây mà James có thể thấy trên cửa sổ của mình trong khi phát triển ngôn ngữ. Chủ nhật sau đó thay thế tên Oak với Java, vì họ thấy rằng Oak đã được sử dụng. Dù sao, như là kết quả của Oak, hoặc Java, được thiết kế để chạy trên các thiết bị gia dụng nhỏ, ngôn ngữ có lợi ích nhất định cố hữu với nó: • Nó có thể nhỏ để chạy trên bộ nhớ giới hạn của thiết bị gia dụng nhỏ • Nó có được hiệu quả và đáng tin cậy, đủ để chức năng như một thiết bị nhỏ - chúng tôi là tất cả được sử dụng để treo bằng cách sử dụng máy vi tính, nhưng lò vi sóng của bạn nếu những gì thay đổi thiết lập quyền lực của mình và gây bỏng ngô của bạn để bắt lửa? • Nó có thể cầm tay để chạy trên phần khác nhau của phần cứng Vì vậy, những gì đã xảy ra với Java sau đó? Sau khi tốt nghiệp từ dự án Green, Java đã được sử dụng để tạo ra một trong những trình duyệt web sớm nhất vào năm 1994, được gọi là HotJava, nhưng Java đến sống Tuy nhiên, vào năm 1995 khi Netscape cấp phép các ngôn ngữ lập trình Java và bao gồm hỗ trợ cho nó trong sản phẩm Navigator của nó. Năm 1997, Sun phát hành API Servlet rằng cuộc cách mạng phát triển web server-side từ khối CGI script hoặc các giải pháp độc quyền. Năm 1999, Sun phát hành phiên bản đầu tiên của Java 2, Enterprise Edition (J2EE) đặc điểm kỹ thuật bao gồm JavaServer Pages (JSP) và Enterprise JavaBeans (EJB) tại một trung doanh nghiệp phân phối rất cao. Kể từ đó chúng tôi đã thấy doanh nghiệp Java thịnh vượng và phát triển cho Java hiện tại 5, Enterprise Edition, và chúng tôi đã thấy hoards của mã nguồn mở và cộng đồng mã nguồn đóng tiến triển. The Power of Java Cú pháp Java là dễ dàng để tìm hiểu vì nó giống C + +, đối tượng của mình theo định hướng nền tảng làm cho nó trực quan, và bắt đầu vào đầu lái xe của mình trong giao tiếp giữa các thiết bị làm cho lập trình mạng nên dễ dàng, nhưng những gì làm cho Java thật sự mạnh mẽ được cộng đồng của mình. Một điều mà tôi đã luôn luôn nói với các sinh viên của tôi là trước khi bạn viết bất kỳ mã, nhìn và thấy nếu có ai đó đã viết code cho bạn. Khi bạn lướt qua tham khảo Hướng dẫn Java, bạn sẽ khám phá công nghệ như Struts (một khuôn khổ Web), Hibernate (một công cụ persistence), Xuân (một Inversion mạnh-của-Điều khiển động cơ mà cung cấp một thay thế cho doanh nghiệp Java), trong số hàng chục các công nghệ khác. Các cộng đồng Java đã gặp nhau trong một nỗ lực để xây dựng xã, phần lớn các công nghệ cần thiết để xây dựng các ứng dụng doanh nghiệp. Điều này cho phép bạn tập trung vào giải quyết các vấn đề kinh doanh của bạn và không xây dựng cơ sở hạ tầng ứng dụng. Các nguồn tốt nhất để phát hiện đây là những (1 công nghệ) Sourceforge.net và (2) Apache.org, trong đó phần lớn các dự án được giao để Java jakarta.apache.org. Vì vậy, thời gian tiếp theo bạn đang nghĩ đến việc xây dựng một bộ nhớ cache hay bơi một kết nối hoặc một trang web hoặc EJB container, nó có thể tốt hơn để kiểm tra các trang web này trước khi tay! Để giúp lái xe cải tiến, Java có Java Community Process (JCP) mà qua đó các tiêu chuẩn có thể được định nghĩa và được chấp nhận bởi cộng đồng. Các JCP đã được thấy những khởi đầu của một plethora của các công nghệ mới và đã cung cấp một phương tiện cho các bên quan tâm để cung cấp thông tin phản hồi và hình dạng theo hướng công nghệ mới. Tóm lược Java là một tính năng phong phú ngôn ngữ lập trình với một bộ mạnh mẽ của các chức năng vốn có để trao quyền cho người mới bắt đầu thông qua các chuyên gia để xây dựng các ứng dụng chất lượng hàng đầu. Kết quả là, hầu hết các trường cao đẳng có chương trình di chuyển của họ để lập trình Java. Nhưng điều mà làm cho Java lớn là cộng đồng của nó: một nhóm các cá nhân chuyên dụng để làm công việc của bạn dễ dàng hơn. Và như vậy, các dự án cộng đồng Java cho phép bạn tập trung vào giải quyết các vấn đề kinh doanh của bạn hơn là chi tiêu phần lớn thời gian của bạn xây dựng một cơ sở hạ tầng để hỗ trợ các ứng dụng của bạn. Nếu bạn mới để lập trình hoặc bạn đã lập trình được trong nhiều thập niên, Java có thể không chỉ làm cho bạn năng suất hơn, nhưng có thể giúp bạn tận hưởng chương trình! Server Ngày cập nhật ngày 13 Tháng 6 năm 2008. Có nhiều công nghệ máy chủ, mà tôi vào nhóm cả trang web và các ứng dụng doanh nghiệp, nhưng ngành công nghiệp này bị chi phối bởi ba công nghệ chính: • Microsoft Windows. NET • Java Enterprise Technologies • LAMP (Linux Apache, MySQL, và PHP) NET và Java thực sự. Thêm tương tự hơn bạn có thể nghĩ rằng, ít nhất là về khả năng. Doanh nghiệp Java đã tồn tại lâu hơn NET và kết quả là rất có thể nhiều hơn một chút trưởng thành,. Nhưng không đủ để cho sway quyết định của bạn. Sự khác biệt chính giữa hai nền tảng là trong việc triển khai của họ: NET nên được triển khai một công nghệ Windows ngăn xếp trong khi các doanh nghiệp ứng dụng Java có thể không chỉ triển khai cho Windows., Mà còn Unix, Linux, và ngay cả khi máy tính Macintosh. Các khác biệt quan trọng là các ứng dụng quy mô rất lớn, có thể chạy trong môi trường Unix rất lớn với hàng trăm ngàn hoặc thậm chí cả các nút trên máy tính lớn đồng đô la multimillion. Đi của tôi đã đưa tôi vào Java khách hàng từ các ngân hàng trên phố Wall cho các công ty y tế lớn cho các công ty viễn thông lớn, và mỗi người trong số họ đã thành công trong việc giải quyết các vấn đề kinh doanh của mình bằng cách sử dụng Java. Một trong những điều đó đã thực sự làm Java một đối thủ cạnh tranh mạnh mẽ trong các trang web và không gian công nghệ doanh nghiệp đã được sự nổi lên của các công nghệ mã nguồn mở. Ví dụ, nếu bạn đang xây dựng một ứng dụng web, chứ không phải là bắt đầu từ đầu với công nghệ một mình, bạn có thể phân tích nhu cầu của bạn và tìm thấy một khuôn khổ đã được chứng minh là tốt nhất giải quyết các vấn đề kinh doanh của bạn. Và hầu hết các công nghệ này đang chạy trong hàng ngàn các môi trường khác nhau trên toàn thế giới, tất cả đều phát triển và hỗ trợ bởi các tình nguyện viên mà chỉ nhằm mục đích là cung cấp các giải pháp thực hiện tốt nhất và mạnh mẽ nhất để một tên miền của các vấn đề kinh doanh. Nếu nó không được cho cộng đồng mã nguồn mở, Java sẽ không được gần các công nghệ ngày nay. Như là một điểm tham chiếu, gần một nửa của ứng dụng kiến trúc mà tôi đã phân tích trong chuyến du lịch của khách hàng của tôi (trong chăm sóc sức khỏe tài chính, và ngành công nghiệp viễn thông) được sử dụng Struts như khuôn khổ web của họ. Struts được xây dựng là một trong những người đầu tiên Mẫu Xem Controller (MVC) kiến trúc của các nhà phát triển mà không muốn reinvent bánh xe với mỗi ứng dụng mới họ được xây dựng và phát triển thành một hiện tượng của ngành công nghiệp nhận con nuôi tin đại chúng. Struts và nếu không giải quyết vấn đề của bạn, bạn có thể xem Spring MVC hoặc Apache Velocity hoặc wicket hoặc một trong bất kỳ một lựa chọn thay thế tá. Tương tự như vậy, các dữ liệu công nghệ kiên trì như Hibernate đã tăng trưởng trên là cần thiết cho một đối tượng đơn giản-công nghệ kiên trì quan hệ và bây giờ bạn có thể tìm thấy Hibernate trong một số lượng lớn các ứng dụng doanh nghiệp lớn có quy mô. Điểm có ích là cộng đồng nguồn mở đã phát triển xung quanh doanh nghiệp Java cho phép bạn nhanh chóng mảnh với nhau là tốt nhất trong công nghệ giống và tập trung vào giải quyết các vấn đề kinh doanh của bạn, không phải xây dựng một cơ sở hạ tầng. LAMP là một công nghệ thú vị stack đó là bao gồm tất cả các công nghệ mã nguồn mở mà làm việc với nhau để nhanh chóng sản xuất các ứng dụng web. ĐÈN nên không để được giảm giá, vì chúng tôi đã thấy như thế nào cộng đồng mã nguồn mở có thể trở nên mạnh mẽ, nhưng nó có những giới hạn của nó. Cụ thể, nó được xây dựng rất lớn ở các ứng dụng web năng động, nhưng nó thiếu rất nhiều doanh nghiệp quy mô kiểm tra--và-dư mà Java cung cấp, các giao dịch phức tạp hỗ trợ các ứng dụng doanh nghiệp đòi hỏi nhiều. Và không có các tính năng này, bạn không thấy quá nhiều công ty lớn sử dụng để thực hiện sứ mệnh ĐÈN ứng dụng quan trọng của họ. Tôi đã được tập trung vào các ứng dụng quy mô lớn, nhưng khi so sánh NET Java, tôi cũng phải đề cập đến. Rằng Java là một công nghệ rất lý tưởng cho các ứng dụng quy mô nhỏ là tốt. Lý do là các cộng đồng nguồn mở đã cung cấp cho bạn các khuôn khổ lớn cũng đã cung cấp cho bạn trang web mã nguồn mở và container doanh nghiệp. Apache Tomcat là một mã nguồn mở và container web hoàn toàn miễn phí mà đã lan rộng việc áp dụng trên toàn ngành công nghiệp của chúng tôi. JBoss, Apache Geronimo, Glassfish và Sun cung cấp hỗ trợ cho các doanh nghiệp công nghệ và tích hợp rất chặt chẽ với Tomcat. Vì vậy, nếu bạn đang làm việc cho một công ty rất muốn một đối tác thương mại lớn bạn có thể chọn IBM hay BEA / Oracle, nhưng nếu bạn muốn có giấy phép phần mềm của bạn miễn phí sau đó bạn có lựa chọn thay thế mã nguồn mở, có thể cung cấp cho bạn hiệu suất lớn. Và bởi vì Java chạy trên Windows, Linux, Unix, và Macintosh, bạn có thể mua phần cứng đắt tiền và chạy một nhiệm vụ ứng dụng quan trọng trong một môi trường không đồng nhất, hỗ trợ với quy mô tất cả các doanh nghiệp ứng dụng mà bạn cần. Tóm lược Ngày cập nhật ngày 13 Tháng 6 năm 2008. Khi chọn một công nghệ sử dụng để giải quyết các vấn đề kinh doanh của bạn, bạn cần cân nhắc nhiều yếu tố, bao gồm cả chi phí vật chất, chi phí hiệu quả phát triển,, mạnh mẽ, tính linh hoạt, cũng như triển khai các nền tảng cuối cùng của bạn. Java cung cấp công nghệ để giúp bạn giải quyết quy mô nhỏ cũng như rất nhiều vấn đề kinh doanh quy mô và tất cả mọi thứ ở giữa. Trên hết, các ứng dụng Java có thể chạy trên nền tảng khác nhau, có nghĩa là bạn không bao giờ bị khóa vào một nhà viết đơn. Cuối cùng, các cộng đồng mã nguồn mở và các dự án đã phát triển trên toàn ngành công nghiệp Java có thể cung cấp cho bạn tốt nhất của cơ sở hạ tầng giống để cho phép bạn tập trung vào giải quyết các vấn đề kinh doanh của bạn. Điều này là tất cả để nói rằng Java cho phép bạn nhanh chóng phát triển các phần mềm mạnh mẽ với sự linh hoạt để triển khai được phần mềm cho một đối tượng rộng hơn bất kỳ đối thủ cạnh tranh. Và như vậy, Java xứng đáng xem xét nghiêm trọng của bạn cho bất kỳ ứng dụng bạn đang nhận được sẵn sàng để viết. . Java is multithreaded. Support for threads is built into the language via thread- synchronization primitives. There is also a thread library. • Java is dynamic dynamic. Java’s use of an interface type to distinguish between what a program must do and how that task gets accomplished helps Java adapt to a continually

Ngày đăng: 19/10/2013, 21:15

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan