Java Surface Examination Questions Daquan (I.)

Source: Internet
Author: User
Tags bitwise

Java-related Basics
1. What are the aspects of object-oriented features
1. Abstraction:
Abstraction is about ignoring aspects of a topic that are not related to the current goal, so that you can more fully focus on the aspects that are relevant to the current goal. Abstractions do not intend to understand all of the problems, but simply select one part of them, temporarily without some detail. Abstract includes two aspects, one is the process abstraction, the other is the data abstraction.
2. Inheritance:
Inheritance is a hierarchical model of a junction class and allows and encourages the reuse of classes, which provides a way to articulate commonalities. A new class of objects can be derived from existing classes, a process known as class inheritance. The new class inherits the attributes of the original class, which is called the derived class (subclass) of the original class, and the original class is called the base class of the new class (The parent Class). Derived classes can inherit methods and instance variables from their base classes, and classes can modify or add new methods to make them more suitable for special needs.
3. Package:
Encapsulation is the process and data is surrounded, access to data only through the defined interface. Object-oriented computing begins with this basic concept that the real world can be portrayed as a series of fully autonomous, encapsulated objects that access other objects through a protected interface.
4. Polymorphism:
Polymorphism refers to allowing objects of different classes to respond to the same message. Polymorphism consists of parameterized polymorphism and inclusion polymorphism. Polymorphism language has the advantage of flexibility, abstraction, behavior sharing and code sharing, which solves the problem of application function with the same name.
2. Is string the most basic data type?
The basic data types are byte, int, char, long, float, double, Boolean, and short.
The Java.lang.String class is of the final type, so you cannot inherit the class or modify the class. In order to improve efficiency and save space, we should use the StringBuffer class
3. What is the difference between int and integer
Java offers two different types: reference types and primitive types (or built-in types). int is the raw data type of Java, and integer is the wrapper class provided by Java for Int. Java provides a wrapper class for each primitive type.
Raw type Encapsulation class
Booleanboolean
Charcharacter
Bytebyte
Shortshort
Intinteger
Longlong
Floatfloat
Doubledouble
The behavior of reference types and primitive types is completely different, and they have different semantics. Reference types and primitive types have different characteristics and usages, including: size and speed issues, which types of data structures are stored as the default values that are specified when reference types and primitive types are used as instance data for a class. The default value of an object reference instance variable is NULL, and the default value of the original type instance variable is related to their type.
4. The difference between string and StringBuffer
The Java platform provides two classes: string and StringBuffer, which can store and manipulate strings, which are character data that contain multiple characters. This string class provides a string of values that cannot be changed. The string provided by this StringBuffer class is modified. You can use StringBuffer when you know that character data is going to change. Typically, you can use Stringbuffers to dynamically construct character data.
5. What are the similarities and differences between abnormal operation and general anomaly?
An exception represents an unhealthy state that may occur during a program's run, and a run-time exception that represents an exception that may be encountered in a typical operation of a virtual machine is a common run error. The Java compiler requires the method to declare a non-runtime exception that might occur, but does not require that a runtime exception that is not caught to be thrown must be declared.
6. Speak the life cycle of the servlet and tell the difference between servlet and CGI.
When the servlet is instantiated by the server, the container runs its Init method, the service method is run when the request arrives, and the service method automatically dispatches the Doxxx method (Doget,dopost) corresponding to the request, etc. The Destroy method is called when the server decides to destroy the instance.
The difference from CGI is that the servlet is in a server process, it runs its service method in a multithreaded manner, one instance can serve multiple requests, and its instances are generally not destroyed, and CGI generates a new process for each request, which is destroyed after the service is completed. So the efficiency is lower than the servlet.
7, say the arraylist,vector,linkedlist storage performance and characteristics
Both ArrayList and vectors use arrays to store data, which is larger than the actual stored data in order to add and insert elements, both of which allow the element to be indexed directly by ordinal, but the insertion element involves memory operations such as array element movement, so the index data is fast and the data is inserted slowly. Vector because of the use of the Synchronized method (thread-safe), usually performance is worse than ArrayList, and LinkedList using a doubly linked list for storage, index data by ordinal need to be forward or backward traversal, but when inserting data only need to record the item before and after items can be , so the insertion speed is faster.
8. What technology is EJB based on? And say the difference between Sessionbean and Entitybean, Statefulbean and Statelessbean.
EJB includes Sessionbean, Entitybean, Messagedriven Bean, based on Jndi, RMI, Jat and other technologies.
Sessionbean is used in the Java EE application to perform some server-side business operations, such as accessing the database and invoking other EJB components. Entitybean is used to represent the data used in the application system.
For a client, Sessionbean is a non-persistent object that implements some business logic that runs on the server.
For a client, Entitybean is a persistent object that represents an object view of an entity stored in persistent storage, or an entity implemented by an existing enterprise application.
Session Bean can also be subdivided into stateful session bean and stateless session bean, both of which can put system logic in the method of execution, the difference is stateful The session bean can record the status of the caller, so usually a user will have a corresponding entity for the stateful Session bean. Statelesssession Bean is also a logical component, but he is not responsible for recording user status, that is, when the user calls the stateless Session Bean, Ejbcontainer will not find a specific stateless The entity of the Session Bean to execute this method. In other words, it is likely that several users will be executing the instance of the same bean when executing the methods of a stateless Session bean. In terms of memory, the Stateful session bean compared to the stateless session Bean, Stateful session bean consumes more memory from the Java EE Server, but Stateful session Bea The advantage of n is that he can maintain the user's state.
9. The difference between collection and collections.
Collection is the ancestor interface of the collection class, and the main interface for inheriting it is set and list.
Collections is a helper class for a collection class that provides a series of static methods for searching, sorting, threading, and so on for various collections.
10, the difference between & and &&.
& is a bitwise operator that represents the bitwise AND Operation,&& is a logical operator that represents the logical and (and).
11. The difference between HashMap and Hashtable.
HashMap is a lightweight implementation of Hashtable (non-thread-safe implementation), they all complete the map interface, the main difference is that the HASHMAP allows null (NULL) key value (key), because of non-thread security, the efficiency may be higher than Hashtable.
HashMap allows NULL to be used as a entry key or value, and Hashtable is not allowed.
HashMap hashtable contains method removed, changed to Containsvalue and ContainsKey. Because the contains method is easy to cause misunderstanding.
Hashtable inherits from the dictionary class, and HashMap is an implementation of the map interface introduced by Java1.2.
The biggest difference is that the Hashtable method is synchronize, and HashMap is not, when multiple threads are accessing hashtable, they do not need to synchronize their methods. The hashmap must be provided with an external synchronization (if Arraylist:list lst =collections.synchronizedlist (New ArrayList ()) or Hashmap:mapmap = Collections.synchronizedmap (New HashMap ());).
The Hash/rehash algorithms used by Hashtable and HashMap are probably the same, so there is no big difference in performance.
12, Final,finally, finalize the difference.
Final is used to declare properties, methods, and classes, respectively, that the property is immutable, that the method is not overridden, and that the class is not inheritable.
Finally is part of the exception-handling statement structure, which indicates that it is always executed.
Finalize is a method of the object class that, when executed by the garbage collector, calls this method of the reclaimed object, and can override this method to provide garbage collection of other resource recycles, such as closing the file.
13. What is the difference between sleep () and wait ()?
Sleep is a threading class (thread) method that causes this thread to pause execution for a specified time, giving the execution opportunity to other threads, but the monitoring state remains and is automatically restored when it is finished. Calling sleep does not release the object lock.
Wait is a method of the object class that calls the wait method on this object to cause this thread to discard the object lock, enter the waiting lock pool waiting for this object, and only after the Notify method (or Notifyall) is issued for this object the thread enters the object lock pool ready to get the object lock into the running state.
14, the difference between overload and override. Can the overloaded method change the type of the return value?
The overridden overriding and overloaded overloading of a method are different manifestations of Java polymorphism. Overriding overriding is a representation of polymorphism between a parent class and a subclass, and overloading overloading is a representation of polymorphism in a class. If you define a method in a subclass that has the same name and arguments as its parent class, we say that the method is overridden (overriding). When an object of a subclass uses this method, the definition in the subclass is called, and for it the definition in the parent class is "masked". If more than one method with the same name is defined in a class, they either have a different number of arguments or have different parameter types, which is called a method overload (overloading). The overloaded method is to change the type of the return value.
15. What is the difference between error and exception?
Error indicates a serious problem in situations where recovery is not impossible but difficult. For example, memory overflow. It is impossible to expect the program to handle such situations.
Exception represents a design or implementation issue. That is, it means that if the program runs normally, it never happens.

16. What are the similarities and differences between synchronous and asynchronous, and under what circumstances are they used separately? An example is described.
If the data will be shared between threads. For example, the data being written may be read by another thread later, or the data being read may have been written by another thread, then the data is shared and must be accessed synchronously.
When an application calls a method that takes a long time to execute on an object and does not want the program to wait for the method to be returned, it should use asynchronous programming, which is often more efficient in many cases with asynchronous approaches.
17. What is the difference between AbstractClass and interface?
A class that declares the existence of a method and does not implement it is called an abstract class (AbstractClass), which is used to create a class that embodies some basic behavior, declares a method for that class, but does not implement the class in that class. An instance of the abstract class cannot be created. However, you can create a variable whose type is an abstract class that points to an instance of a specific subclass. Cannot have abstract constructors or abstract static methods. The subclasses of the abstract class provide implementations for all abstract methods in their parent class, otherwise they are also abstract classes. Instead, implement the method in the subclass. Other classes that know their behavior can implement these methods in the class.
An interface (interface) is a variant of an abstract class. In an interface, all methods are abstract. Multiple inheritance can be obtained by implementing such an interface. All the methods in the interface are abstract, without a program body. An interface can only define Staticfinal member variables. The implementation of an interface is similar to a subclass, except that the implementation class cannot inherit the behavior from the interface definition. When a class implements a special interface, it defines the method (which is given by the program body) to all such interfaces. It can then invoke the interface's method on any object that implements the interface's class. Because of an abstract class, it allows you to use the interface name as the type of the reference variable. The usual dynamic binder will take effect. A reference can be converted to an interface type or converted from an interface type, and the instanceof operator can be used to determine whether the class of an object implements an interface.
18. What is the difference between heap and stack?
A stack is a linear collection whose actions to add and delete elements should be completed in the same paragraph. The stack is processed in a last-in, first-out manner.
A heap is a constituent element of a stack
19. The difference between forward and redirect
Forward is the server requests the resource, the server directly accesses the URL of the destination address, reads the response content of that URL, and then sends the content to the browser, the browser does not know where the server sends the content from, so its address bar is the original address.
Redirect is the server based on logic, send a status code, tell the browser to request the address again, in general, the browser will use all the parameters just requested again, so the session,request parameters can be obtained.
20. What is the difference between EJB and Java bean?
Java beans are reusable components, there is no strict specification for JavaBean, in theory, any Java class can be a Bean. In general, however, because JavaBean is created by a container (such as Tomcat), Java beans should have an parameterless constructor, and generally javabean implement the serializable interface to implement Bean persistence. Java beans are actually equivalent to the local in-process COM component in the Microsoft COM model, which cannot be accessed across processes. The Enterprisejava Bean is equivalent to DCOM, the distributed component. It is a Java-based remote method invocation (RMI) technology, so EJBS can be accessed remotely (across processes, across computers). However, EJBS must be in containers such as Webspere, WebLogic, and EJB clients never directly access real EJB components, but are accessed through their containers. The EJB container is the proxy for the EJB component, and the EJB component is created and managed by the container. The customer accesses the real EJB component through the container.
21, staticnested class and inner class are different.
The static Nested class is an inner class declared static (static), which can be instantiated without relying on an external class instance. The usual inner classes need to be instantiated after the external class is instanced.
22. What is the difference between dynamic include and static include in JSP?
Dynamic include uses the Jsp:include action to implement <jsp:includepage= "included.jsp" flush= "true"/> It always checks for changes in the included files, is suitable for containing dynamic pages, and can take parameters.
Static include pseudo-code implementation, will not check the changes contained in the file, for containing static page <% @include file= "included.htm"%>
23, when to use the Assert.
Assertion (assertion) is a common debugging method in software development, which is supported in many development languages. In the implementation, assertion is a statement in the program, which checks a Boolean expression, a correct program must ensure that the value of the Boolean expression is true, if the value is False, the program is already in an incorrect state, The system will give a warning or exit. In general, assertion is used to ensure the most basic and critical correctness of the program. Assertion inspection is usually turned on during development and testing. To improve performance, the assertion check is usually turned off after the software is released.
24. What is GC? Why do you have a GC?
GC is garbage collection meaning (gabagecollection), memory processing is the programmer is prone to problems, forget or wrong memory recycling will cause the program or system instability or even crash, The GC functionality provided by Java can automatically monitor whether an object exceeds the scope to achieve the purpose of automatically reclaiming memory, and the Java language does not provide a way to release the displayed operation of the allocated memory.
25, shorts1 = 1; S1 = s1 + 1; what's wrong? short S1 = 1; S1 + = 1; what's wrong?
Short S1 = 1; S1 = s1 + 1; (S1+1 operation result is int type, need cast type)
Short S1 = 1; S1 + = 1; (can be compiled correctly)
26, Math.Round (11.5) how much? Math.Round (-11.5) how much?
Math.Round (11.5) ==12
Math.Round (-11.5) ==-11
The round method returns the longest integer closest to the parameter, and the parameter adds 1/2 to its floor.
27. Strings = new String ("xyz"); how many stringobject have been created?
Two
28, Design 4 threads, of which two threads add 1 to J each time, and two threads to J for each reduction of 1 per second. Write the program.
The following program implements threads using an internal class, and does not consider order issues when adding or subtracting J.
public class threadtest1{
private int J;
public static void Main (String args[]) {
ThreadTest1 tt=new ThreadTest1 ();
Inc Inc=tt.new Inc ();
Dec dec=tt.new Dec ();
for (int i=0;i<2;i++) {
Thread T=new Thread (inc);
T.start ();
T=new Thread (DEC);
T.start ();
}
}
Private synchronized Void Inc () {
j + +;
System.out.println (Thread.CurrentThread (). GetName () + "-inc:" +j);
}
private synchronized void Dec () {
j--;
System.out.println (Thread.CurrentThread (). GetName () + "-dec:" +j);
}
Class INC implements runnable{
public void Run () {
for (int i=0;i<100;i++) {
Inc ();
}
}
}
Class Dec implements runnable{
public void Run () {
for (int i=0;i<100;i++) {
Dec ();
}
}
}
}
29. Does Java have goto?
Reserved words in Java are not currently used in Java.
30. Start a thread with run () or start ()?
Starting a thread is calling the start () method so that the virtual processor represented by the thread is in a running state, which means it can be dispatched and executed by the JVM. This does not mean that the thread will run immediately. The run () method can produce a flag that must be exited to stop a thread.

31, EJB includes (Sessionbean,entitybean) say their life cycle, and how to manage the transaction?
The lifecycle of the sessionbean:stateless Session Bean is determined by the container, and when the client makes a request to establish an instance of the bean, the EJB container does not have to create a new instance of the bean for the client to invoke. Instead, find an existing instance to provide to the client. When a client invokes a stateful session bean for the first time, the container must immediately create a new bean instance in the server and associate it with the client, which in the future calls the stateful session bean method, the container assigns the call to the bean instance associated with the client.
Entitybean:entity beans can survive for a relatively long time, and the state is persistent. As long as the data in the database exists, Entity beans has survived. Not according to the application or service process. Even if the EJB container crashes, the Entity beans is alive. The Entity beans life cycle can be managed by the container or beans itself.
EJB is managed by the following technologies: Object Management Organization (OMG), Transactionservice (JTS), Java Transaction API (JTA), Development Group (x/), Microsystems (OTS) Open) of the XA interface.
32. What are the application servers?
BEA WebLogic server,ibm WebSphere applicationserver,oracle9i application Server,jboss,tomcat
33, give me one of your most common to the runtime exception.
ArithmeticException, Arraystoreexception, Bufferoverflowexception,bufferunderflowexception, CannotRedoException, Cannotundoexception,classcastexception, Cmmexception, Concurrentmodificationexception,domexception, Emptystackexception, Illegalargumentexception,illegalmonitorstateexception, Illegalpathstateexception, Illegalstateexception,imagingopexception, Indexoutofboundsexception, MissingResourceException, Negativearraysizeexception, Nosuchelementexception, Nullpointerexception,profiledataexception, ProviderException, Rasterformatexception,securityexception, SystemException, Undeclaredthrowableexception,unmodifiablesetexception, Unsupportedoperationexception
34, interface can inherit interface? is an abstract class achievable (implements) interface? Does an abstract class inherit entity classes (concrete Class)?
Interfaces can inherit interfaces. Abstract classes can implement (implements) interfaces, whether an abstract class can inherit an entity class, but only if the entity class must have an explicit constructor.
35, List, Set, map inherit from collection interface?
List,set Yes, map is not
36. What is the working mechanism of the data connection pool?
The Java EE server starts with a certain number of pooled connections and maintains not less than this number of pooled connections. When a client program needs to connect, the pool driver returns an unused pooled connection and memento it as busy. If there is currently no idle connection, the pool driver creates a new number of connections, and the number of new connections is determined by the configuration parameters. When a pooled connection call is completed, the pool driver memento the connection to idle, and other calls can use the connection.
37, the abstract method can be static at the same time, whether it can be native at the same time, whether it can be synchronized at the same time?
Are not
38. Does the array have the length () method? Does string have the length () method?
The array does not have the length () method, which has the length property. String has the length () method.
39, set of elements can not be repeated, then what method to distinguish the repetition or not? Do you use = = or equals ()? What's the difference?
The elements in the set cannot be duplicated, so use the iterator () method to distinguish between duplicates or not. Equals () is the interpretation of two sets for equality.
The Equals () and = = methods Determine whether the reference value points to the same object Equals () is overwritten in the class so that when the contents and types of the two detached objects match, the truth is returned.
40. Can the constructor constructor be override?
The constructor constructor cannot be inherited, so overriding cannot be overridden, but can be overloaded with overloading.

Java Surface Examination Questions Daquan (I.)

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.