Java foundation:
1, scope public, private, protected, as well as if you do not write
A: The difference is as follows:
Scope current class with the same package children, other packages
PUBLIC √ √ √ √
Protected √ √ × ×
Friendly √ √ × ×
PRIVATE × × × ×
Do not write, default is Friendly
2, the difference between ArrayList and Vector, the difference between Hashmap and HashTable
A: ARRAYLIST and VECTOR are mainly from two aspects.
I. Synchronization: Vector is a thread safe, that is to say is synchronized, and ArrayList is unsafe line programs, not synchronous.
II. Data growth: When you need to grow, Vector default growth is the original one, but ArrayList is half.
It is mainly from three aspects on Hashmap and HashTable.
I. Historical reasons: HashTable is an implementation of the MAP interface introduced by the Java 1.2 based on the old Dictionary class.
II. Synchronization: Hashtable is a thread safe, that is, HashMap is unsafe, not synchronous
Three. Values: Only HashMap allows you to take null values as a key or value of a table
3, can the CHAR type variable can be stored a Chinese Chinese character? Why?
A: It is possible to define a Chinese, because Java is encoded in Unicode, a char accounts for 16 bytes, so a Chinese is no problem.
4, many threads have several implementation methods, what is it? Synchronize several implementation methods, what is it?
A: Multi-thread has two implementation methods, which are inheriting the Thread class and implementing Runnable interface.
There are two implementations in synchronization, Synchronized, Wait and Notify, respectively.
5. Inheriting the order of execution of the class is generally a choice question, ask you what will print out?
A: Parent class:
Package test;
Public Class FatherClass
{
Public FatherClass ()
{
System.out.println ("FatherClass Create");
}
}
Subclass:
Package test;
Import Test.fatherClass;
Public Class ChildClass Extends FatherClass
{
Public ChildClass ()
{
System.out.println ("ChildClass Create");
}
Public static void main (string [] args)
{
Fatherclass fc = new fatherclass ();
Childclass cc = new childclass ();
}
}
Output results:
C: /> java test.childclass
FatherClass Create
FatherClass Create
Childclass Create
6, the internal class implementation?
A: The sample code is as follows:
Package test;
Public Class OuterClass
{
Private class interclass
{
Public interclass ()
{
System.out.println ("Interclass Create");
}
}
Public outerclass ()
{
Interclass IC = New Interclass ();
System.out.println ("OuterClass Create");
Public static void main (string [] args)
{
Outerclass oc = new outerclass ();
}
}
Output result:
C: /> Java Test / OuterClass
Interclass Create
OuterClass Create
Agather:
Public class outerclass {
Private Double D1 = 1.0;
// INSERT CODE Here
}
You NEED TO INSERT An Inner Class Declaration At Line 3. Which Two Inner Class Declarations Are
Valid? (choose two.)
A. Class innerone {
Public Static Double Methoda () {Return D1;}
}
B. Public class innerone {
Static Double Methoda () {Return D1;
}
C. private class innerone {
Double methoda () {Return D1;}
}
D. static class innerone {
protected double methoda () {return d1;}
}
E. Abstract class innerone {
Public Abstract Double Methoda ();
}
described as follows:
I. Static internal classes can have static members, not static internal classes, no static members. Therefore, A, b fault
II. Non-static members of static internal classes can access the external class of static variables, not accessible non-static variables; RETURN D1 error.
Dimension
III. Non-static members of non-static internal classes can access unstatic variables of external classes. Therefore, C is correct
IV. The answer is C, E
7. How to optimize the garbage recovery mechanism?
I hope everyone will make up, thank you.
8, FLOAT FLOAT F = 3.4 is it correct?
A: Not correct. The accuracy is not accurate, and it should be converted with a mandatory type, as shown below: float f = (float) 3.4
9. Describe the Collection Framework in Java, including how to write your own data structure)?
A: The Collection Framework is as follows:
COLLECTION
├List
│├LINKEDLIST
│├ARRAYLIST
│ └Vector
│ └stack
└SET
Map
├Hashtable
├Hashmap
└weakhashmap
Collection is the most basic set interface, a collection represents a set of object, ie the elements of Collection (Elements)
Map provides mapping of Key to Value
10. Abnormal handling mechanism, event mechanism in Java?
11. Proffles and inheritance in Java?
I hope everyone will make up, thank you.
12, abstract class and interface?
A: Abstract class and interface are used for abstraction, but the abstract class (Java) can have its own partial implementation, and the interface is completely an identifier (both multiple inheritance functions).
13, Java communication programming, programming questions (or question and answer), programming, read servers several characters, and write to local displays in Java Socket?
A: Server end program:
Package test;
Import
Java.net. *;
Import
Java.io. *;
Public class server {
Private serversocket ss;
PRIVATE SOCKET Socket;
PRIVATE BUFFEREDREADER IN
Private PrintWriter Out;
Public server ()
{
Try
{
SS = New Serversocket (10000);
While (True)
{
Socket = ss.accept ();
String remoteip = socket.getinetaddress (); gethostaddress ();
String remoteport = ":" Socket.getlocalPort ();
System.out.println ("A Client Come In! IP:" Remoteip Remoteport);
IN = New BufferedReader (New
InputStreamReader (socket.getinputstream ()));
String line = in.readline ();
System.out.println ("CLEINT Send IS:" line);
OUT = New PrintWriter (socket.getOutputStream (), true);
Out.println ("Your Message Received!");
Out.close ();
In.Close ();
Socket.close ();
}
} catch (ioException e)
{
Out.println ("WRONG");
}
}
Public static void main (string [] args)
{
New server ();
}
}
Client End Program:
Package test;
Import
Java.io. *;
Import
Java.net. *;
Public Class Client
{
Socket socket;
Bufferedreader in;
Printwriter out;
Public client ()
{
Try
{
System.out.println ("Try to Connect To 127.0.0.1:10000");
Socket = New Socket ("127.0.0.1", 10000);
System.out.println ("The Server Connected!");
System.out.Println ("please enter some character:");
BufferedReader line = new bufferedreader (New
InputStreamReader (System.in);
OUT = New PrintWriter (socket.getOutputStream (), true);
Out.println (line.readline ());
IN = New BufferedReader (socket.getinputStream ());
System.out.println (in.readline ());
Out.close ();
In.Close ();
Socket.close ();
} catch (ioException e)
{
Out.println ("WRONG");
}
}
Public static void main (string [] args)
{
NEW client ();
}
14. Use Java to achieve a method of sorting, Java class to realize serialization (two)? As in the Collection framework, what kind of interface is to be achieved?
A: Sort by the insert method is as follows
Package test;
Import
Java.util. *;
Class insertsort
{
ArrayList Al;
Public InsertSort (int Num, int MOD)
{
Al = New ArrayList (NUM);
Random Rand = new random ();
System.out.println ("The arraylist sort before:");
For (int i = 0; i { Al.Add (new integer (math.abs (rand.nextint ())% mod 1)); System.out.println ("Al [" i "] =" Al.Get (i)); } } Public void sortit () { Integer Tempint; INT maxSize = 1; For (INT I = 1; I { Tempint = (Integer) Al.Remove (i); IF (Tempint.intValue ()> = (Integer) Al.Get (MaxSize-1)). INTVALUE ()) { Al.Add (MaxSize, Tempint); MaxSize ; System.out.println (al.toString ()); } else { For (int J = 0; j { IF ((Integer) Al.Get (j)). INTVALUE ()> = Tempint.intValue ()) { Al.Add (j, tempint); MaxSize ; System.out.println (al.toString ()); Break; } } } } System.out.println ("The ArrayList Sort After:"); For (int i = 0; i { System.out.println ("Al [" i "] =" Al.Get (i)); } } Public static void main (string [] args) { INSERTSORT IS = New Insertsort (10,100); Is.sortit (); } } The Java class realizes the methodification method is to implement java.io.serializable interface Compare Compare Comparison in the Collection Framework To implement the Comparable interface and Comparator interface 15. Programming: Write a function that intercept strings, input to a string and byte, and output a string that is intercepted by byte. But to ensure that the Chinese characters are not taken, such as "I abc" 4, should be "I abc", enter "I am ABC Han DEF", 6, should output "I ABC" instead of "I am ABC Han ". A: The code is as follows: Package test; Class splitstring { String splitstr; Int splitbyte; Public splitstring (String str, int Bytes) { Splitstr = STR; Splitbyte = bytes; System.out.println ("THE STRING IS: '" SPLITSTER "; splitbytes =" splitbyte); } Public void splitit () { Int loopcount; LoopCount = (splitstr.length ()% splitbyte == 0)? (splitstr.length () / splitbyte) :( splitstr.length () / split BYTE 1); System.out.println ("Will Split INTO" LoopCount; For (int i = 1; i <= loopcount; i ) { IF (i == loopcount) { System.out.println (Splitstr.Substring ((i-1) * splitbyte, splitstr.length ())); } else { System.out.println (Splitstr.Substring ((i-1) * splitbyte, (i * splitbyte)))))) } } } Public static void main (string [] args) { Splitstring ss = new splitstring ("TEST DD Wen DSAF in Male Big 3443N China 43 Chinese 0EWLDFLS = 103 ", 4); ss.splitit (); } } 16, Java multi-thread programming. Write a multi-thread program with Java, such as writing four threads, two plus 1, two to one variable minus one, output. I hope everyone will make up, thank you. 17, the difference between String and StringBuffer. A: The length of String is invisible, and the length of StringBuffer is variable. If you use the content in the string, especially when you want to modify, use StringBuffer, if you finally need String, use StringBuffer's toString () method JSP 1. What built-in objects have jsp? What is the role? A: JSP has 9 basic built-in components (can correspond to six internal components of the ASP): Request user request, this request will contain parameters from Get / POST request Response web page back to the user's response The properties of the PageContext page are managed here Session and request related session Application Servlet is being executed OUT is used to transfer the output of the response Config servlet architecture components Page JSP page itself Exception For error web, unconcerned exceptions 2, what actions are there? What is the role? A: JSP has the following six basic actions JSP: incrude: Introduces a file when the page is requested. JSP: Usebean: Find or instantiate a JavaBean. JSP: setProperty: Sets the properties of JavaBean. JSP: getProperty: Outputs the properties of a JavaBean. JSP: Forward: Turn the request to a new page. JSP: Plugin: Generate Object or Embed tag according to the browser type. 3, Dynamic INCLUDE and Static Include in JSP? Answer: Dynamic include use JSP: Include action implementation Static Include is implemented with the include false code, which does not check the changes of the file included, suitable for the static page <% @ include file = "incruded.htm"%> 4, what is the difference between the two jump methods? What is the difference? A: There are two kinds, respectively: The frontier page does not turn to the page referred to in INCLUDE, just display the result of the page, the main page is still the original page. It will come back later, which is equivalent to the function call. And can be used with parameters. The latter is completely turned to a new page and will not come back. Equivalent to the GO TO statement. Servlet 1, talk about the life cycle of servlet? A: Servlet has a good definition of survival, including loading and instantiation, initialization, processing request, and service end. This survival period is expressed by the init, service, and destroy method of the javax.servlet.servlet interface. 2, the SERVLET version (forgot what two versions are asked)? I hope everyone will make up, thank you. 3, the difference between forward () and redirect () in the Java Servlet API? A: The former is only the steering of the control of control in the container. It does not show the turn-behind address in the client browser address bar; the latter is completely jump, the browser will get the address of the jump, and re-re- Send a request link. Thus, the link address after the jump is seen from the address bar of the browser. Therefore, the former is more efficient, and when the former can meet the needs, try to use the forward () method, and this also helps to hide the actual link. In some cases, for example, you need to jump into a resource on a further server, you must use the sendRedirect () method. 4, the basic architecture of servlet Public class servletname extends httpservlet { Public Void Dopost (httpservletRequest Request, HttpservletResponse Response) THROWS ServletException, IOException { } Public void doget (httpservletRequest Request, HttpservletResponse Response) THROWS ServletException, IOException { } } JDBC, JDO 1, you may let you write a JDBC even Oracle program and implement data queries. A: The program is as follows: Package hello.ant; Import Java.sql. *; Public Class JDBC { String dburl = "JDBC: Oracle: Thin: @ 127.0.0.1: 1521: ORCL"; String theuser = "admin"; String thepw = "manager"; CONNECTION C = NULL; Statement Conn; ResultSet RS = NULL; Public JDBC () { Try { Class.Forname ("Oracle.jdbc.driver.OracleDriver"). NewInstance (); C = DriverManager.getConnection (dburl, theuser, thepw); CONN = C.CREATESTATEMENT (); } catch (exception e) { E.PrintStackTrace (); } } Public Boolean ExecuteUpdate (STRING SQL) { Try { CONN.EXECUTEUPDATE (SQL); Return True; } Catch (SQLException E) { E.PrintStackTrace (); Return False; } } Public ResultSet ExecuteQuery (String SQL) { RS = NULL; Try { Rs = conn.executeQuery (SQL); } Catch (SQLException E) { E.PrintStackTrace (); } Return RS; } Public void close () { Try { CONN.CLOSE (); C. close (); } Catch (Exception E) { E.PrintStackTrace (); } } Public static void main (string [] args) { ResultSet RS; JDBC conn = new JDBC (); RS = conn.executeQuery ("Select * from test"); Try { While (rs.next ()) { System.out.println (rs.getstring ("id")); System.out.println (rs.getstring ("name"); } } catch (Exception E) { E.PrintStackTrace (); } } } 2, Class.Forname role? Why is it used? A: Call this access to return an object that is specified by a string specified class name. 3, what is JDO? A: JDO is a new specification for Java object persistence, which is a referred to as Java Data Object, and is also a standardized API for accessing objects in a data warehouse. JDO provides transparent object storage, so that the developer does not require additional code (such as the JDBC API). These cumbersome routines have been transferred to the JDO product provider, so that developers are freed out to concentrate on time and energy logically. In addition, JDO is flexible because it can run on any data underlayer. JDBC is just more common to relational database (RDBMS) JDO, providing storage capabilities of any data underlying, such as relational database, file, xml, and object database (ODBMS), etc., make it stronger to apply portability. 4. Subject solution in Oracle's large amount of data. Generally, the ID method is used, and there is a three-layer nested method. A: A paging method <% INT i = 1; INT NUMPAGES = 14; String pages = Request.getParameter ("Page"); INT CurrentPage = 1; CurrentPage = (Pages == NULL)? (1): {Integer.Parseint (PAGES)}} SQL = "SELECT COUNT (*) from Tables"; ResultSet RS = DBLINK.EXECUTEQUERY (SQL); While (rs.next ()) i = rs.getinT (1); INT INTPAGECUNT = 1; INTPAGECOUNT = (I% Numpages == 0)? (i / numpages): (I / Numpages 1); Int nextpage; INT. NextPage = CURRENTPAGE 1; IF (Next> = INTPAGECOUNT) NextPage = INTPAGECOUNT; UPPAGE = CURRENTPAGE-1; IF (UPPAGE <= 1) UPPAGE = 1; Rs.close (); SQL = "SELECT * from Tables"; Rs = dblink.executequery (SQL); i = 0; While ((i %> // Output content / / Output page connection Total: <% = currentpage%> / <% = INTPAGECOUNT%> first page
HREF = "list.jsp? Page = <% = UPPAGE%>"> Previous <% For (int J = 1; j <= INTPAGECOUNT; J ) { IF (CurrentPage! = J) { %> XML aspect 1, what parsing technology is there? Is there anything? A: There are DOM, SAX, Stax, etc. DOM: It is very powerful when processing large files. This problem is caused by the tree structure of the DOM. This structure is more memory, and the DOM must load the entire document into memory before parsing the file, suitable for the random access of XML SAX: not now in Dom, SAX is Event drive type XML parsing method. It sequentially reads the XML file, and does not need to load all files all. When encountered at the beginning of the file, the end of the document, or the label is ended, it triggers an event, and the user handles the XML file by writing processing code in its callback event, suitable for the order of XML. Stax: streaming API for XML (stax) 2. What are your aspects of XML technology in the project? How to implement it? A: Data storage, information configuration is two aspects. When doing a data exchange platform, the data that cannot be data sources cannot be assembled into an XML file, and then the XML file is compressed and encrypted, and then transmitted to the recipient through the network, and the decryption is decryled and decompressed and the related information is reduced in the XML file. When doing software configuration, it is easy to use XML, and the various configuration parameters of the software are stored in the XML file. 3. How to solve Chinese problems when using JDOM to resolve the Chinese problem? How to resolve? A: Look at the following code, solve the encoding method Package test; Import Java.io. *; Public Class Domtest { Private string infile = "c: //people.xml"; Private string outfile = "c: //people.xml"; Public static void main (string args []) { New domtest (); } Public domtest () { Try { Javax.xml.parsers.documentbuilder builder = Javax.xml.Parsers.DocumentBuilderFactory.newInstance (). NewDocumentBuilder (); Org.w3c.dom.document doc = builder.newdocument (); Org.w3c.dom.Element root = doc.createElement ("teacher"); Org.w3c.dom.Element Wang = Doc.createElement ("King"); Org.w3c.dom.Element Liu = Doc.createElement ("Liu"); Wang.Appendchild (Doc.createTextNode ("I am Teacher")) Root.appendchild (wang); Doc.Appendchild (root); Javax.xml.transform.transformer Transformer = Javax.xml.transform.transformerfactory.newinstance (). NewTransformer (); TRANSFORMER.SETOUTPUTPROPERTY (javax.xml.transform.outputkeys.encoding, "gb2312"); Transformer.setputProperty (javax.xml.transform.outputkeys.indent, "yes"); Transformer.Transform (New Javax.xml.Transform.dom.Domsource (DOC), New Javax.xml.transform.Stream.StreamResult (outfile)); } Catch (Exception E) { System.out.println (E.getMessage ()); } } } 4. Programming Way to parse XML in Java. A: The XML file is analyzed by SAX, the XML file is as follows: XML Version = "1.0" encoding = "GB2312"?> Event callback class saxhandler.java Import Java.io. *; Import Java.util.hashtable; Import org.xml.sax. *; Public Class SaxHandler Extends Handlerbase { Private hashtable table = new hashtable (); Private string currentelement = null; PRIVATE STRING CURRENTVALUE = NULL; Public void settable (HashTable Table) { THIS.TABLE = TABLE; } Public hashtable gettable () { Return Table; } Public void StartElement (String Tag, AttributeList Attrs) Throws SAXEXCEPTION { Currentelement = tag; } Public void characters (char [] ch, int start, int ingth) Throws SAXEXCEPTION { CurrentValue = New String (CH, Start, Length); } Public void endelement (String name) THROWS SAXEXCEPTION { Currentelement.equals (name)) Table.Put (Currentelement, CurrentValue); } } JSP content displays source code, SAXXML.JSP: HEAD> <% @ Page ErrorPage = "Errpage.JSP" ContentType = "text / html; charSet = GB2312"%> <% @ Page Import = " Java.io. * "%> <% @ Page Import = " Java.util.hashtable "%> <% @ page import = "org.w3c.dom. *"%> <% @ Page Import = "ORG.XML.SAX. *"%> <% @ page import = "javax.xml.parsers.saxparserfactory"%> <% @ page import = "javax.xml.parsers.saxparser"%> <% @ Page Import = "SAXHANDLER"%> <% File file = new file ("c: //people.xml); FileReader Reader = New FileReader (file); Parser Parser; SAXPARSERFACTORY SPF = saxparserfactory.newinstance (); SAXPARSER SP = SPF.NEWSAXPARSER (); SAXHANDLER HANDLER = New SAXHANDLER (); Sp.Pars (New InputSource (Reader), Handler; Hashtable hashtable = handler.gettable (); Out.println ("