Current location - Trademark Inquiry Complete Network - Trademark registration - What does JAVA mean and what is it used for?
What does JAVA mean and what is it used for?

Introduction to Java

Java is the general name for the Java programming language (hereinafter referred to as the Java language) and the Java platform launched by SunMicrosystems in May 1995. The HotJava browser (supporting Javaapplet) implemented in Java shows the charm of Java: cross-platform, dynamic Web and Internet computing. Since then, Java has been widely accepted and promoted the rapid development of the Web. Commonly used browsers now support Java applets. On the other hand, Java technology is also constantly updated.

The Java platform consists of the Java Virtual Machine (JavaVirtualMachine) and the Java Application Programming Interface (API). The Java Application Programming Interface provides a standard interface for Java applications that is independent of the operating system and can be divided into basic parts and extended parts. After a Java platform is installed on the hardware or operating system platform, Java applications can run. Now the Java platform has been embedded in almost all operating systems. In this way, Java programs can be compiled only once and run on various systems. The Java Application Programming Interface has evolved from version 1.1x to version 1.2. The currently commonly used Java platform is based on Java1.4, and the latest version is Java1.7.

Java is divided into three systems: JavaSE (Java2Platform Standard Edition, java platform standard edition), JavaEE (Java2Platform, Enterprise Edition, java platform enterprise edition), and JavaME (Java2Platform MicroEdition, java platform micro edition).

On April 20, 2009, Oracle announced its acquisition of Sun.

In 1991, James Gosling of Sun Microsystems. Bill Joe and others developed Oak (the name of an oak tree) software for the interactive operation of televisions, control toasters and other household appliances. He is the predecessor of Java. At that time, Oak did not attract people's attention. It was not until 1994, with the rapid development of the Internet and 3W, that they compiled the HotJava browser in Java, and received the support of Sun CEO Scott McNealy to develop and develop it. For promotional and legal reasons, Oak was renamed Java in 1995. There was an episode in how Java got its name. One day, while the Java team members were drinking coffee, they were discussing what to name the new language. Someone suggested using Java (Java is an island in Indonesia that is rich in coffee), and this proposal was approved. With the approval of other members, the new language was named Java. Soon Java was recognized by the industry, and many large companies such as IBM Microsoft.DEC purchased the right to use Java, and was named one of the top ten outstanding technology products in 1995 by the American magazine PC Magazine. Since then, a new chapter in Java applications has begun.

The birth of Java challenged the traditional computer model and had a profound impact on computer software development and the software industry:

(1) The software 4A goal requires software to achieve any It can be used by people anywhere at any time on any electronic device. This can meet the needs of distributed computing models such as interoperability on software platforms, scalability and importance, and plug-and-play capabilities.

(2) The rise of construction-based development methods has led to the CORBA international standard software architecture and multi-layer application system framework. On this basis, two major factions, Java.2 platform and .NET platform, were formed, which promoted the development of the entire IT industry.

(3) It has had a profound impact on both the software industry and industrial enterprises. Software has shifted from development-centered to service-centered. Intermediary providers, component providers, server software and consulting service providers emerged. Enterprises must reinvent themselves. B2B e-commerce will drive the entire new economic market, allowing enterprises to gain new value, new growth, new business opportunities, and new management.

(4) It has brought a new revolution to software development, emphasizing the use of third-party component integration, utilizing the platform’s infrastructure services to realize important technologies at each stage of development, and paying attention to the organizational and cultural concepts of the development team. , collaboration, creation, responsibility and integrity are the basic qualities of talents.

In short, we can see the importance of Java to the information age, and it will continue to develop in the future. Java will have broader prospects in application.

[Edit this paragraph]JAVA-Origin of the name

Java was born in 1995 and has a history of 14 years. The origin of the name Java: Java is the English name of the Indonesian island of Java, famous for its coffee production. Many library class names in the Java language are mostly related to coffee, such as JavaBeans (coffee beans), NetBeans (network beans), ObjectBeans (object beans), etc. The logos of SUN and JAVA are also a cup of steaming coffee.

According to James Gosling's recollection, the language originally designed for TV set-top boxes has always been called the Green project within Sun. Our new language needs a name. Gosling noticed a dense oak tree outside his office, a tree very common in Silicon Valley. So he named this new language Oak. But Oak is the name of another registered company. This name can no longer be used.

At the naming gathering, many names were proposed. Finally, according to everyone's selection order, a dozen names were arranged into a table and reported to the trademark lawyer. Number one on the list is Silk. Although everyone liked this name, it was firmly opposed by James Gosling. Neither the second nor the third person passed the lawyer test. Only the fourth-ranked name was approved by everyone and approved by lawyers, and this name was Java.

For more than 10 years, Java has become as famous as Java coffee around the world and has become a well-deserved overlord of enterprise-level application platforms. And the Java language is as mellow and moving as coffee.

[Edit this paragraph] Java language features

Java is a simple, object-oriented, distributed, interpreted, robust and safe, structure-neutral, and reliably Portable, high-performance, multi-threaded dynamic language.

When SUN launched the Java language in 1995, the world's attention was attracted by this magical language. So what is so magical about Java?

The Java language was actually first born in 1991. It was originally called the OAK language. It is a general environment designed by SUN Company for some consumer electronic products. Their original purpose was just to develop a platform-independent software technology, and before the advent of the Internet, OAK could be said to be unknown, and even almost died. However, the emergence of the Internet changed OAK's fate.

Before the advent of Java, the information content on the Internet were boring and rigid HTML documents. This is simply intolerable for those obsessed with WEB browsing. They are eager to see some interactive content on the WEB, and developers are also eager to create a class of applications on the WEB that can be executed without considering the software and hardware platforms. Of course, these programs must also have great security guarantees. . Traditional programming languages ??are powerless to meet this requirement of users. SUN engineers were keenly aware of this. Starting in 1994, they began to apply OAK technology to the WEB and developed the first version of HotJava.

When SUN was officially launched under the name Java in 1995, almost all WEB developers sighed: Oh, this is exactly what I want! So Java became a dazzling star, and the ugly duckling suddenly turned into a white swan.

[Edit this paragraph]Main features of Java

1. The Java language is simple. The syntax of Java language is very close to C language and C language, making it easy for most programmers to learn and use Java. On the other hand, Java discards those features of C that are rarely used, difficult to understand, and confusing, such as operator overloading, multiple inheritance, and automatic casts. In particular, the Java language does not use pointers and provides automatic garbage collection so that programmers do not have to worry about memory management.

2. The Java language is object-oriented. The Java language provides primitives such as classes, interfaces and inheritance. For the sake of simplicity, it only supports single inheritance between classes, but supports multiple inheritance between interfaces, and supports the implementation mechanism between classes and interfaces (the keyword is implements) . The Java language fully supports dynamic binding, while the C language only uses dynamic binding for virtual functions. In short, the Java language is a pure object-oriented programming language.

3. The Java language is distributed. Java language supports the development of Internet applications. Among the basic Java application programming interfaces, there is a network application programming interface (java.net), which provides class libraries for network application programming, including URL, URLConnection, Socket, ServerSocket, etc. Java's RMI (Remote Method Activation) mechanism is also an important means of developing distributed applications.

4. The Java language is robust. Java's strong typing mechanism, exception handling, automatic collection of waste, etc. are important guarantees for the robustness of Java programs. Discarding pointers is a smart choice for Java. Java's security checking mechanism makes Java more robust.

5. The Java language is safe. Java is usually used in network environments. For this reason, Java provides a security mechanism to prevent malicious code attacks. In addition to the many security features of the Java language, Java has a security prevention mechanism (class ClassLoader) for classes downloaded through the network, such as allocating different name spaces to prevent replacement of local classes of the same name, byte code inspection, and providing security management Mechanism (class SecurityManager) allows Java applications to set up security sentries.

6. The Java language is architecture-neutral. Java programs (files with the suffix java) are compiled into an architecture-neutral bytecode format (files with the suffix class) on the Java platform, and can then be run on any system that implements this Java platform. This approach is suitable for heterogeneous network environments and software distribution.

7. The Java language is portable. This portability comes from architecture neutrality. In addition, Java also strictly regulates the length of each basic data type. The Java system itself is also highly portable. The Java compiler is implemented in Java, and the Java running environment is implemented in ANSIC.

8. The Java language is interpreted. As mentioned before, Java programs are compiled into bytecode format on the Java platform and can then be run on any system that implements this Java platform. At runtime, the Java interpreter in the Java platform interprets and executes these bytecodes, and the classes required during the execution are loaded into the running environment during the connection phase.

9. Java is high-performance. Compared with those interpreted high-level scripting languages, Java is indeed high-performance. In fact, the running speed of Java is getting closer and closer to C with the development of JIT (Just-In-Time) compiler technology.

10. The Java language is multi-threaded.

In the Java language, a thread is a special object that must be created by the Thread class or its descendants (grandchildren). There are usually two ways to create a thread: first, use the constructor of type Thread(Runnable) to wrap an object that implements the Runnable interface into a thread; second, derive a subclass from the Thread class and override run Method, the object created using this subclass is a thread. It is worth noting that the Thread class has implemented the Runnable interface, so any thread has its run method, and the run method contains the code to be run by the thread. The activity of a thread is controlled by a set of methods. The Java language supports the simultaneous execution of multiple threads and provides a synchronization mechanism between multiple threads (the keyword is synchronized).

11. The Java language is dynamic. One of the design goals of the Java language is to adapt to dynamically changing environments. The classes required by Java programs can be dynamically loaded into the running environment, or the required classes can be loaded through the network. This also facilitates software upgrades. In addition, classes in Java have a run-time representation and can perform run-time type checking.

The excellent characteristics of the Java language make Java applications extremely robust and reliable, which also reduces the maintenance costs of the application system. Java's comprehensive support for object technology and the API embedded in the Java platform can shorten application system development time and reduce costs. Java's compile-once-run-anywhere nature enables it to provide an open architecture that can be used anywhere and a low-cost way to transfer information between multiple platforms. In particular, the Java Enterprise Application Programming Interface (JavaEnterpriseAPIs) provides relevant technologies and rich class libraries for enterprise computing and e-commerce application systems.

[Edit this paragraph]Java related technologies

1. JDBC (JavaDatabaseConnectivity) provides a unified interface to connect various relational databases and can provide unified access to a variety of relational databases. It is composed of A set of classes and interfaces written in Java language. JDBC provides a standard API for tool/database developers, based on which more advanced tools and interfaces can be built, allowing database developers to write database applications using pure Java API. At the same time, JDBC is also a trademark name.

2. EJB (Enterprise JavaBeans) allows developers to easily create, deploy and manage cross-platform component-based enterprise applications.

3. JavaRMI (JavaRemoteMethodInvocation) is used to develop distributed Java applications. A Java object's methods can be called by a remote Java virtual machine. In this way, remote method activation can occur between peers, or between a client and a server, as long as the applications on both sides are written in Java.

4. JavaIDL (JavaInterfaceDefinitionLanguage) provides seamless interoperability with CORBA (CommonObjectRequestBrokerArchitecture). This enables Java to integrate heterogeneous business information resources.

5. JNDI (JavaNamingandDirectoryInterface) provides a unified and seamless connection from the Java platform to Java. This interface blocks the various naming and directory services used by corporate networks.

6. JMAPI (Java Management API) provides a rich set of objects and methods for the development of system, network and service management on heterogeneous networks.

7. JMS (JavaMessageService) provides enterprise messaging services, such as reliable message queues, publish and subscribe communications, and all aspects of push/pull technology.

8. JTS (Java Transaction Service) provides an open standard for accessing transaction processing resources. These transaction processing resources include transaction processing applications, transaction processing management and monitoring.

In Java technology, it is also worth paying attention to JavaBeans, which is an open standard component architecture that is independent of the platform but uses the Java language. A JavaBean is a Java class that meets the JavaBeans specification and usually defines a real-world thing or concept. The main characteristics of a JavaBean include properties, methods and events. Usually, in a development environment that supports the JavaBeans specification (such as SunJavaStudio and IBMVisualAgeforJava), you can visually operate JavaBeans, and you can also use JavaBeans to construct new JavaBeans. The advantage of JavaBeans also lies in the portability brought by Java. Now, EJB (Enterprise JavaBeans) extends the JavaBean concept to the Java server component architecture. This model supports multi-layer distributed object applications. In addition to JavaBeans, typical component architectures include DCOM and CORBA. An in-depth discussion of these component architectures is beyond the scope of this book.

java - see

Computer Science Course List

JNI (JavaNativeInterface) Java Native Interface.

[Edit this paragraph]Java open source project

SpringFrameworkJava open source J2EE framework

Spring is a powerful framework that solves many common problems in J2EE development. Spring provides a consistent way to manage business objects and encourages the good habit of programming to interfaces rather than classes. The architectural foundation of Spring is based on the InversionofControl container using JavaBean properties. However, this is only part of the complete picture: Spring is unique in using IoC containers as a complete solution that focuses on all architectural layers. Spring provides the only data access abstraction, including a simple and efficient JDBC framework, greatly improving efficiency and reducing possible errors. Spring's data access architecture also integrates Hibernate and other O/Rmapping solutions. Spring also provides the only transaction management abstraction that can provide a consistent programming model across various underlying transaction management technologies, such as JTA or JDBC transactions. Spring provides an AOP framework written in the standard Java language, which provides declarative transaction management and other enterprise affairs for POJOs - and if you need - you can also implement your own aspects. This framework is powerful enough to enable applications to put aside the complexity of EJB while enjoying the key services associated with traditional EJB. Spring also provides a powerful and flexible MVCWeb framework that can be integrated with IoC containers. SpringIDE: an auxiliary development plug-in under the Eclipse platform.

WebWorkJava open source Web framework

WebWork is developed by the OpenSymphony organization and is committed to the pull-out MVC model J2EEWeb of componentization and code reuse. frame. The latest version of WebWork is 2.1. The predecessor of WebWork2.x is WebWork developed by Rickard Oberg, but now WebWork has been split into two projects, Xwork1 and WebWork2. Xwork is simple, flexible and powerful. It is a standard Command mode implementation and is completely separated from the web layer.

Xwork provides many core functions: front-end interceptor (interceptor), runtime form attribute validation, type conversion, powerful expression language (OGNL_theObjectGraphNotationLanguage), IoC (InversionofControl inversion control) container, etc. WebWork2 is built on Xwork and handles HTTP responses and requests. WebWork2 uses ServletDispatcher to convert HTTP requests into Action (business layer Action class), session (session) application (application) scope mapping, and request request parameter mapping. WebWork2 supports multi-view representation, and the view part can use JSP, Velocity, FreeMarker, JasperReports, XML, etc. Support for AJAX was added in WebWork2.2, which is built on the two frameworks of DWR and Dojo. EclipseWork: an Eclipse plug-in for WebWork-assisted development

StrutsJava open source Web Framework

Struts is an MVC framework based on the SunJ2EE platform, which is mainly implemented using Servlet and JSP technologies. Because Struts can fully meet the needs of application development, is easy to use, agile and fast, it has attracted much attention in the past year. Struts integrates Servlets, JSP, custom tags and message resources into a unified framework. When developers use it for development, they no longer need to code to implement a full set of MVC patterns, which greatly saves time, so Struts is A very good application framework. StrutsIDE: an Eclipse plug-in for Struts-assisted development

HibernateJava open source persistence layer framework

Hibernate is an open source object-relational mapping framework that implements a very lightweight version of JDBC Level object encapsulation allows Java programmers to use object programming thinking to manipulate the database as they wish. Hibernate can be used in any situation where JDBC is used. It can be used in Java client programs or in Servlet/JSP Web applications. The most revolutionary thing is that Hibernate can replace CMP in the J2EE architecture that uses EJB. , complete the important task of data persistence. Hibernate auxiliary development tools under the Eclipse platform: HibernateSynchronizerMiddlegenIDE

QuartzJava open source Job scheduling

Quartz is another open source project of the OpenSymphony open source organization in the field of Jobscheling. It can be compatible with J2EE and J2SE applications. Can be combined or used individually. Quartz can be used to create simple or complex daily schedules for running ten, hundreds, or even tens of thousands of Jobs. Jobs can be made into standard Java components or EJBs. The latest version of Quartz is Quartz1.5.0.

VelocityJava open source template engine

Velocity is a java-based template engine (template engine). It allows anyone to reference objects defined by Java code simply using a template language.

When Velocity is applied to web development, interface designers and Java program developers can simultaneously develop a web site that follows the MVC architecture. That is to say, page designers can only focus on the display effect of the page, while Java program developers focus on the business. Logical encoding. Velocity separates Java code from web pages, which facilitates long-term maintenance of web sites, and also provides us with an alternative to JSP and PHP. Velocity's capabilities extend far beyond web site development. For example, it can generate SQL, PostScript, and XML from templates. It can also be used as a standalone tool to generate source code and reports, or as an integrated component of other systems. use. Velocity can also provide template services (templateservice) for Turbineweb development architecture. Velocity Turbine provides a template service that allows a web application to be developed in a true MVC model. VeloEclipse: Velocity is an auxiliary development plug-in under the Eclipse platform

IBATISJava open source persistence layer framework

Using the ORM mechanism provided by ibatis, for business logic implementers, they are faced with Pure Java objects, this layer is basically the same as implementing ORM through Hibernate. For specific data operations, Hibernate will automatically generate SQL statements, while ibatis requires developers to write specific SQL statements. Compared with "fully automatic" ORM mechanisms such as Hibernate, ibatis provides greater freedom for system design by compromising the workload of SQL development and database portability. As a useful supplement to "fully automatic" ORM implementation, the emergence of ibatis is of special significance.

CompiereERP&CRMJava open source ERP and CRM system

CompiereERP&CRM provides comprehensive solutions for small and medium-sized enterprises around the world, covering everything from customer management, supply chain to financial management. All fields support international features such as multiple organizations, multiple currencies, multiple accounting models, multiple cost calculations, multiple languages, and multiple tax systems. Easy to install, easy to implement, easy to use. In just a few hours, you can use requisition-purchase-invoice-payment, quotation-order-invoice-collection, product and pricing, asset management, customer relations, supplier relations, employee relations, business performance analysis, etc. Powerful function.

RollerWebloggerJava Open Source Blog

This weblogging design is relatively sophisticated, and the source code is a good learning material. It supports weblogging features such as: comment function, WYSIWYG HTML editing, TrackBack, providing page templates, RSS syndication, blogroll management and providing an XML-RPC interface.

EclipseJava open source development tools

The Eclipse platform is a development framework donated by IBM to the open source community. It is not famous because of the total amount of funds IBM claims to have invested in development - 40 million US dollars. , but because of the result of such a huge investment: a mature, well-designed and scalable architecture.

NetBeansJava open source development tool

NetBeansIDE is a free, open source integrated development environment provided for software developers. You get all the tools you need to create professional desktop, enterprise, web and mobile applications in Java, C/C and even Ruby.

This IDE can run on a variety of platforms, including Windows, Linux, MacOSX, and Solaris; it is easy to install and very convenient to use.

XPlannerJava Open Source Project Management

XPlanner is a web-based XP team planning and tracking tool. XPlanner provides corresponding management tools for XP's unique development concepts such as iteration, userstories, etc. XPlanner supports the XP development process and solves problems encountered in developing projects using XP ideas. XPlanner features include: simple model planning, virtual notecards, tracking of iterations, userstories and work records, automatic iteration of unfinished stories, working time tracking, team efficiency generation, personal working time reports, and SOAP interface support.

HSQLDBJava open source DBMS database

HSQLDB (HypersonicSQL) is a relational database developed purely in Java