精华内容
下载资源
问答
  • 比较基础的编程,适合刚入门的同学练手
  • java 二级上级300道

    2007-11-08 10:00:50
    java二级上机考试题目 是南开大学的100套模拟试卷, 有答案和分析
  • java面试试题

    2013-11-29 09:07:27
    Collection是集合类的上级接口,继承于它的接口主要有Set和List。 Collections是针对集合类的一个帮助类,它提供了一系列静态方法实现了对各种集合的排序,搜索和线程安全等操作。   2.Hibernate的二级缓存问题...

    1.Collection和Collections的区别?

    Collection是集合类的上级接口,继承于它的接口主要有Set和List。
    Collections是针对集合类的一个帮助类,它提供了一系列静态方法实现了对各种集合的排序,搜索和线程安全等操作。

     

    2.Hibernate的二级缓存问题?

    缓存就是把以前从数据库中查询出来和使用过的对象保存在内存中(一个数据结构中),这个数据结构通常是或类似 Hashmap,当以后要使用某个对象时,先查询缓存中是否有这个对象,如果有则使用缓存中的对象,如果没有则去查询数据库,并将查询出来的对象保存在缓存中,以便下次使用。

     

    3.J2EE 是什么?

    答:J2EE是一套设计、开发、编译和部署企业级应用程序的规范。基于多层结构的WEB应用支持分布式计算应用模型以服务端计算为核心基于主键开发、松耦合支持流一的安全事务、负载均衡、并发处理等

     

    2.抽象类和接口的区别

      (1)接口可以被多重implements,抽象类只能被单一extends
      (2)接口只有定义,抽象类可以有定义和实现
      (3)接口的字段定义默认为:public static final, 抽象类字段默认是"friendly"(本包可见)

    3.Hashtable的原理,并说出HashMap与Hashtable的区别

    HashTable的原理:通过节点的关键码确定节点的存储位置,即给定节点的关键码k,通过一定的函数关系H(散列函数),得到函数值H(k),将此值解释为该节点的存储地址.
    HashMap 与Hashtable很相似,但HashMap 是非同步(unsynchronizded)和可以以null为关键码的.

     

    4.forward和redirect的区别

    forward: an internal transfer in servlet
      redirect: 重定向,有2次request,第2次request将丢失第一次的attributs/parameters等

     

    10.多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?

     答:多线程有两种实现方法,分别是继承Thread类与实现Runnable接口同步的实现方面有两种,分别是synchronized,wait与notify。

     

    11.获取当前系统时间

    Date date=new Date();

        SimpleDateFormat format=new SimpleDateFormat("yyyy-MM--dd hh:mm:ss");

    String contentsdate=format.format(date);

    System.out.println(contentsdate);

    12.写一个Singleton模式的例子

    public class Singleton{
     private static Singleton single = new Singleton();
     private Singleton(){}
     public Singleton getInstance(){
     return single;
     }
    }

    13.Jsp与servlet的区别

    JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。JSP编译后是“类servlet”。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。

     

     

    14.集合

    List:常用的实现类:ArrayList

       1、可以存放任意类型

         2、List的实现类长度可伸缩

         3、其中存放的元素可以重复

         4、存放的元素是有序的,按存放的先后顺序存放       

    Set集合:常用类:HashSet

         可以存放任意类型的元素

         存放的元素是无序的,是不能重复的。

     

    Map集合:常用类:HashMap  

              1.在HashMap中,Key的值可以为null.

         2、当HshMap中重复key时,后面的key--value值会将前面同样的key的值覆盖掉 

     

     

    15.Map的取值:

      

    1.toString()方法:

    String str=map.get("23").toString();

    System.out.println("str:"+str);

    2.遍历一个map,从中取得key value

     Set key = map.keySet();// 将map集合中所有key放入一个set集合之中,并且将这个set集合作为返回值

    for (Object object : key) {

    System.out.println(object + " " + map.get(object));

    }

    3.迭代法:

     Map map = new HashMap() ; 

    Iterator it = map.entrySet().iterator() ; 
    while (it.hasNext()) 

     Map.Entry entry = (Map.Entry) it.next() ; 
     Object key = entry.getKey() ; 
     Object value = entry.getValue() ; 
    }

     

     

    展开全文
  • java面试1

    2017-06-12 10:23:29
    一、简答 1、Collection和Collections的区别? 答:Collection是集合类的上级接口,继承与他的接口主要有Set和List。 Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、...

    一、简答题

    1、Collection和Collections的区别?

    答:Collection是集合类的上级接口,继承与他的接口主要有Set和List。

    Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。

    2、Truncate和delete的区别?

    答:Delete删除的记录如不提交可以恢复,此命令不能删除回滚段中的数据。

    truncate删除的记录不能回复,并可以删除回滚段中的数据。

    3、用正则表达式获取由数字和26个英文组成的字符串

    import java.util.regex.Pattern;  
    import java.util.regex.Matcher;  
    public class Test{  
        public static void main(String[] args){  
            String  str="akl今天是个jj.A@好日子_2.33";  
            String s = "[a-zA-Z0-9]";
            Pattern  pattern=Pattern.compile(s);  
            Matcher  ma=pattern.matcher(str);  
       
            while(ma.find()){  
                System.out.print(ma.group());  
            }  
       
        }  
     }
    运行结果如下:


    4、简述逻辑操作(&,|,^)与条件操作(&&,||)的区别?

    答:区别主要有两点:a.条件操作只能操作布尔型的,而逻辑操作不仅可以操作布尔型,而且可以操作数值型 b.逻辑操作不会产生短路

    5、public class Something{

    void doSomething(){

    private String s="",

    int l = s.length();

    }

    }

    请找出以上程序中的错误

    答:局部变量前不能放置任何访问修饰符 (private,public,和protected)。final可以用来修饰局部变量。所以要删除private或者将private换成final。

    6、运行时异常与一般异常有何异同?

    答:异常表示程序过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作过程中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。

    第二种更清晰的解释:

    Java提供了两类主要的异常:运行时异常runtime exception和一般异常checked exception。checked 异常。对于后者这种异常,JAVA要求程序员对其进行catch。所以,面对这种异常不管我们是否愿意,只能自己去写一大堆catch块去处理可能的异常。
    运行时异常我们可以不处理。这样的异常由虚拟机接管。出现运行时异常后,系统会把异常一直往上层抛,一直遇到处理代码。如果不对运行时异常进行处理,那么出现运行时异常之后,要么是线程中止,要么是主程序终止。

    7、Servlet可以存储数据的三个不同的作用域是?

    答:请求、会话和上下文。

    详细解释:

    就servlet规范本身,servlet可以再三个不同的作用域存储数据,分别是:Request对象、Session对象和ServletContext对象中保存。

    二、java编程题

    1、有一个字符串"ECALYHWEQAEFSZC",请写程序找出其中有多少字符,每种字符有几个,并打印出来?

    import java.util.HashMap;
    import java.util.Map.Entry;
    
    public class Test2 {
    
    	public static void main(String[] args) {
    		String s="ECALYHWEQAEFSZC";
    		HashMap<Character,Integer> map=new HashMap<Character,Integer>();
    		for (int i=0;i<s.length();i++) {
    			char c=s.charAt(i);
    			Integer num=(Integer)map.get(c);
    			if(num==null){
    				num=1;
    			}else{
    				num++;
    			}
    			map.put(c, num);
    		}
    		
    		for(Entry<Character, Integer> entry:map.entrySet()){
    			System.out.print(entry.getKey()+"="+entry.getValue()+" ");
    		}
    	}
    }
    运行结果如下:



    2、写一段Jdbc连接Oracle的程序,并实现数据查询?

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    
    /**
     * 写一段Jdbc连接Oracle的程序,并实现数据查询?
     * @author Taylor
     *
     */
    public class Test3 {
    
    	String dbUrl="jdbc:oracle:thin:@127.0.0.1:1521:orcl";
    	String dbUser="scott";
    	String dbPwd="tiger";
    	Connection con =null;
    	PreparedStatement pstmt=null;
    	
    	ResultSet rs=null;
    	
    	public Test3(String sql){
    		try {
    			Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
    			con=DriverManager.getConnection(dbUrl,dbUser,dbPwd);
    			pstmt=con.prepareStatement(sql);
    		} catch (Exception e) {
    			e.printStackTrace();
    		} 
    	}
    	
    	public ResultSet excuteQuery(){
    		rs=null;
    		try {
    			rs=pstmt.executeQuery();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    		return rs;
    	}
    	
    	public void closeCon(){
    		try {
    			if(pstmt!=null){
    				pstmt.close();
    			}
    			if(con!=null){
    				con.close();
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    	
    	public static void main(String[] args) {
    		ResultSet rs;
    		Test3 test3=new Test3("select * from emp");
    		rs=test3.excuteQuery();
    		try {
    			while(rs.next()){
    				System.out.print(rs.getString("empno")+"-"+rs.getString("ename")+" ");
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    		} finally {
    			test3.closeCon();
    		}
    	}
    }
    运行结果如下:


    java连接oracle的jar包:http://download.csdn.net/download/zenglinshan/9866943

    三、数据库基础知识

    emp表中的示例数据如图-1所示:


    dept表中的示例数据如图-2所示:


    注意:这个题中用到的表刚好可以从上一题得通过select * from emp;select * from dept;这两条语句得到

    1、查询出薪水比本部门平均薪水高的员工信息。

    答:select a.* from emp a,(select deptno,avg(sal) avgsal from emp group by deptno)b where a.deptno=b.deptno and a.sal>b.avgsal

    执行结果如下图所示


    2、查出不在部门20,且比部门20中任何一个人工资都高的员工姓名,部门名称

    select ename,deptno from emp where deptno!=20 and sal>(select max(sal) from emp where deptno=20)

    执行结果如下图所示


    展开全文
  • java 面试 总结

    2009-09-16 08:45:34
     Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。 10、&和&&的区别。 &是位运算符...
  • Java面试5

    2019-02-17 00:45:00
    4、&和&&...答:Collection是集合类的上级接口,继承与他的接口主要有Set 和List.Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全...

    4、&和&&的区别

    答: &是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)

    5、Collection 和 Collections的区别

    答: Collection是集合类的上级接口,继承与他的接口主要有Set 和List.Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作

    11、数组有没有length()这个方法? String有没有length()这个方法

    答: 数组没有length()这个方法,有length的属性。String有有length()这个方法

    12、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型

    答: 方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被"屏蔽"了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型

    13、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别

    答: Set里的元素是不能重复的,那么用iterator()方法来区分重复与否。equals()是判读两个Set是否相等 equals()和==方法决定引用值是否指向同一对象equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值

    22、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后

    答: 会执行,在return前执行

    37、int 和 Integer 有什么区别

    答: Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。原始类型封装类,booleanBoolean,charCharacter,byteByte,shortShort,intInteger,longLong,floatFloat,doubleDouble引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关

    面向对象特性
    封装,继承,多态和抽象。
    封装给对象提供了隐藏内部特性和行为的能力。对象提供一些能被其他对象访问的方法来改变它内部的数据。


    多态是编程语言给不同的底层数据类型做相同的接口展示的一种能力。一个多态类型上的操作可以应用到其他类型的值上面。

    继承给对象提供了从基类获取字段和方法的能力

    抽象是把想法从具体的实例中分离出来的步骤
    1.什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?

    Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。

    Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。

    2.JDK和JRE的区别是什么?

    Java运行时环境(JRE)是将要执行Java程序的Java虚拟机。它同时也包含了执行applet需要的浏览器插件。Java开发工具包(JDK)是完整的Java软件开发包,包含了JRE,编译器和其他的工具(比如:JavaDoc,Java调试器),可以让开发者开发、编译、执行Java应用程序。

    自动装箱

    自动装箱是Java编译器在基本数据类型和对应的对象包装类型之间做的一个转化。比如:把int转化成Integer,double转化成double,等等。反之就是自动拆箱。

    10.什么是值传递和引用传递?

    对象被值传递,意味着传递了对象的一个副本。因此,就算是改变了对象副本,也不会影响源对象的值。

    对象被引用传递,意味着传递的并不是实际的对象,而是对象的引用。因此,外部对引用对象所做的改变会反映到所有的对象上。

    21.Iterator和ListIterator的区别是什么?

    Iterator可用来遍历Set和List集合,但是ListIterator只能用来遍历List。

    Iterator对集合只能是前向遍历,ListIterator既可以前向也可以后向。

    ListIterator实现了Iterator接口,并包含其他的功能,比如:增加元素,替换元素,获取前一个和后一个元素的索引,等等。

    25.HashMap和Hashtable有什么区别?

    HashMap和Hashtable都实现了Map接口,因此很多特性非常相似。但是,他们有以下不同点:

    HashMap允许键和值是null,而Hashtable不允许键或者值是null。

    Hashtable是同步的,而HashMap不是。因此,HashMap更适合于单线程环境,而Hashtable适合于多线程环境。

    HashMap提供了可供应用迭代的键的集合,因此,HashMap是快速失败的。另一方面,Hashtable提供了对键的列举(Enumeration)。

    一般认为Hashtable是一个遗留的类。

    33.Enumeration接口和Iterator接口的区别有哪些?

    Enumeration速度是Iterator的2倍,同时占用更少的内存。但是,Iterator远远比Enumeration安全,因为其他线程不能够修改正在被iterator遍历的集合里面的对象。同时,Iterator允许调用者删除底层集合里面的元素,这对Enumeration来说是不可能的。

    34.HashSet和TreeSet有什么区别?

    HashSet是由一个hash表来实现的,因此,它的元素是无序的。add(),remove(),contains()方法的时间复杂度是O(1)。

    另一方面,TreeSet是由一个树形的结构来实现的,它里面的元素是有序的。因此,add(),remove(),contains()方法的时间复杂度是O(logn)。

    42.JVM的永久代中会发生垃圾回收么?

    垃圾回收不会发生在永久代,如果永久代满了或者是超过了临界值,会触发完全垃圾回收(Full GC)。如果你仔细查看垃圾收集器的输出信息,就会发现永久代也是被回收的。这就是为什么正确的永久代大小对避免Full GC是非常重要的原因。请参考下Java8:从永久代到元数据区

    43.Java中的两种异常类型是什么?他们有什么区别?

    Java中有两种异常:受检查的(checked)异常和不受检查的(unchecked)异常。不受检查的异常不需要在方法或者是构造函数上声明,就算方法或者是构造函数的执行可能会抛出这样的异常,并且不受检查的异常可以传播到方法或者是构造函数的外面。相反,受检查的异常必须要用throws语句在方法或者是构造函数上声明。这里有Java异常处理的一些小建议。

    45.throw和throws有什么区别?

    throw关键字用来在程序中明确的抛出异常,相反,throws语句用来表明方法不能处理的异常。每一个方法都必须要指定哪些异常不能处理,所以方法的调用者才能够确保处理可能发生的异常,多个异常是用逗号分隔的。

    45.异常处理的时候,finally代码块的重要性是什么?

    无论是否抛出异常,finally代码块总是会被执行。就算是没有catch语句同时又抛出异常的情况下,finally代码块仍然会被执行。最后要说的是,finally代码块主要用来释放资源,比如:I/O缓冲区,数据库连接。

    75.PreparedStatement比Statement有什么优势?

    PreparedStatements是预编译的,因此,性能会更好。同时,不同的查询参数值,PreparedStatement可以重用。

    76.什么时候使用CallableStatement?用来准备CallableStatement的方法是什么?

    CallableStatement用来执行存储过程。存储过程是由数据库存储和提供的。存储过程可以接受输入参数,也可以有返回结果。非常鼓励使用存储过程,因为它提供了安全性和模块化。

    77.数据库连接池是什么意思?

    像打开关闭数据库连接这种和数据库的交互可能是很费时的,尤其是当客户端数量增加的时候,会消耗大量的资源,成本是非常高的。可以在应用服务器启动的时候建立很多个数据库连接并维护在一个池中。连接请求由池中的连接提供。在连接使用完毕以后,把连接归还到池中,以用于满足将来更多的请求。

    95.解释下Servlet的生命周期。

    Servlet生命周期可以分成四个阶段:加载和实例化、初始化、服务、销毁。

      当客户第一次请求时,首先判断是否存在Servlet对象,若不存在,则由Web容器创建对象,而后调用init()方法对其初始化,此初始化方法在整个Servlet生命周期中只调用一次。

      完成Servlet对象的创建和实例化之后,Web容器会调用Servlet对象的service()方法来处理请求。

      当Web容器关闭或者Servlet对象要从容器中被删除时,会自动调用destory()方法。

    96.doGet()方法和doPost()方法有什么区别?

    doGet:GET方法会把名值对追加在请求的URL后面。因为URL对字符数目有限制,进而限制了用在客户端请求的参数值的数目。并且请求中的参数值是可见的,因此,敏感信息不能用这种方式传递。

    doPOST:POST方法通过把请求参数值放在请求体中来克服GET方法的限制,因此,可以发送的参数的数目是没有限制的。最后,通过POST请求传递的敏感信息对外部客户端是不可见的。

    101.HTTP响应的结构是怎么样的?

    HTTP响应由三个部分组成:

    状态码(Status Code):描述了响应的状态。可以用来检查是否成功的完成了请求。请求失败的情况下,状态码可用来找出失败的原因。如果Servlet没有返回状态码,默认会返回成功的状态码HttpServletResponse.SC_OK。

    HTTP头部(HTTP Header):它们包含了更多关于响应的信息。比如:头部可以指定认为响应过期的过期日期,或者是指定用来给用户安全的传输实体内容的编码格式。如何在Serlet中检索HTTP的头部看这里。

    主体(Body):它包含了响应的内容。它可以包含HTML代码,图片,等等。主体是由传输在HTTP消息中紧跟在头部后面的数据字节组成的。

    102.什么是cookie?session和cookie有什么区别?

    cookie是Web服务器发送给浏览器的一块信息。浏览器会在本地文件中给每一个Web服务器存储cookie。以后浏览器在给特定的Web服务器发请求的时候,同时会发送所有为该服务器存储的cookie。下面列出了session和cookie的区别:

    无论客户端浏览器做怎么样的设置,session都应该能正常工作。客户端可以选择禁用cookie,但是,session仍然是能够工作的,因为客户端无法禁用服务端的session。

    在存储的数据量方面session和cookies也是不一样的。session能够存储任意的Java对象,cookie只能存储String类型的对象。

    104.什么是HTTP隧道?

    HTTP隧道是一种利用HTTP或者是HTTPS把多种网络协议封装起来进行通信的技术。因此,HTTP协议扮演了一个打通用于通信的网络协议的管道的包装器的角色。把其他协议的请求掩盖成HTTP的请求就是HTTP隧道。

    105.sendRedirect()和forward()方法有什么区别?

    sendRedirect()方法会创建一个新的请求,而forward()方法只是把请求转发到一个新的目标上。重定向(redirect)以后,之前请求作用域范围以内的对象就失效了,因为会产生一个新的请求,而转发(forwarding)以后,之前请求作用域范围以内的对象还是能访问的。一般认为sendRedirect()比forward()要慢。

    109.JSP有什么优点?

    下面列出了使用JSP的优点:

    JSP页面是被动态编译成Servlet的,因此,开发者可以很容易的更新展现代码。

    JSP页面可以被预编译。

    JSP页面可以很容易的和静态模板结合,包括:HTML或者XML,也可以很容易的和产生动态内容的代码结合起来。

    开发者可以提供让页面设计者以类XML格式来访问的自定义的JSP标签库。

    开发者可以在组件层做逻辑上的改变,而不需要编辑单独使用了应用层逻辑的页面。

    9、Servlet和CGI的区别。
    与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。

    15、final, finally, finalize的区别。 
    final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
    finally是异常处理语句结构的一部分,表示总是执行。

    finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。

    51、垃圾回收的优点和原理。并考虑2种回收机制。
    Java语言中一个显着的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制, Java中的对象不再有"作用域"的概念,只有对象的引用才有"作用域"。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。
    52、请说出你所知道的线程同步的方法。
    wait():使一个线程处于等待状态,并且释放所持有的对象的lock。
    sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉InterruptedException异常。
    notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。

    Allnotity():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们竞争。

    64、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么? 

    JSP 是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。JSP编译后是"类servlet"。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。

    71、简述synchronized和java.util.concurrent.locks.Lock的异同?
    主要相同点:Lock能完成synchronized所实现的所有功能

    主要不同点:Lock有比synchronized更精确的线程语义和更好的性能。synchronized会自动释放锁,而Lock一定要求程序员手工释放,并且必须在finally从句中释放。 


    5.  $(document).ready() 是个什么函数?为什么要用它?(answer)
       ready() 函数用于在文档进入ready状态时执行代码。当DOM 完全加载(例如HTML被完全解析DOM树构建完成时),jQuery允许你执行代码。使用$(document).ready()的最大好处在于它适用于所有浏览器,jQuery帮你解决了跨浏览器的难题。


    6. JavaScript window.onload 事件和 jQuery ready 函数有何不同?(答案)
     JavaScript window.onload 事件和 jQuery ready 函数之间的主要区别是,前者除了要等待 DOM 被创建还要等到包括大型图片、音频、视频在内的所有外部资源都完全加载。如果加载图片和媒体内容花费了大量时间,用户就会感受到定义在 window.onload 事件上的代码在执行时有明显的延迟。

      另一方面,jQuery ready() 函数只需对 DOM 树的等待,而无需对图像或外部资源加载的等待,从而执行起来更快。使用 jQuery $(document).ready() 的另一个优势是你可以在网页里多次使用它,浏览器会按它们在 HTML 页面里出现的顺序执行它们,相反对于 onload 技术而言,只能在单一函数里使用。鉴于这个好处,用 jQuery ready() 函数比用 JavaScript window.onload 事件要更好些。


    11. $(this) 和 this 关键字在 jQuery 中有何不同?(答案如下)
      这对于很多 jQuery 初学者来说是一个棘手的问题,其实是个简单的问题。$(this) 返回一个 jQuery 对象,你可以对它调用多个 jQuery 方法,比如用 text() 获取文本,用val() 获取值等等。而 this 代表当前元素,它是 JavaScript 关键词中的一个,表示上下文中的当前 DOM 元素。你不能对它调用 jQuery 方法,直到它被 $() 函数包裹,例如 $(this)。

    1. jQuery 库中的 $() 是什么?(答案如下)
     $() 函数用于将任何对象包裹成 jQuery 对象,接着你就被允许调用定义在 jQuery 对象上的多个不同方法。你甚至可以将一个选择器字符串传入 $() 函数,它会返回一个包含所有匹配的 DOM 元素数组的 jQuery 对象。

    3、Jquery中有哪几种类型的选择器?

    从我自己的角度来讲,可以有3种类型的选择器,如下:

    1、基本选择器:直接根据id、css类名、元素名返回匹配的dom元素。

    2、层次选择器:也叫做路径选择器,可以根据路径层次来选择相应的DOM元素。

    3、过滤选择器:在前面的基础上过滤相关条件,得到匹配的dom元素。

    JQ中html()、text()和val()区别?

     

    6、什么是未声明和未定义的变量?

    未声明的变量是程序中不存在且未声明的变量。如果程序尝试读取未声明变量的值,则会遇到运行时错误。未定义的变量是在程序中声明但尚未给出任何值的变量。如果程序尝试读取未定义变量的值,则返回未定义的值。

    16、说明“==”和“===”之间的区别?

    当进行双等号比较时候: 先检查两个操作数数据类型,如果相同, 则进行===比较, 如果不同, 则愿意为你进行一次类型转换, 转换成相同类型后再进行比较, 而===比较时, 如果类型不同,直接就是false.


    16. javascript是一种什么样的语言
    解释性脚本语言,代码不进行预编译
    主要用来向HTML页面添加交互行为
    可以直接嵌入HTML页面,但单独写成js文件有利于结构和行为的分离
    跨平台性,在绝大多数浏览器支持下,可以在多种平台下运行,linux,windows
    20. null和undefind的区别
    null是表示一个空的对象,转为数值为0,undefind表示一个空的原始值,转为数值为NAN
    undefind指本该有一个值,但却并有定义,null表示没有对象,不应该有值
    23. 哪些操作会造成内存泄露
    内存泄露指任何对象在不再拥有或不再需要它之后依然存在

    setTimeout第一个参数是字符串而不是函数的时候就会造成内存泄露

    闭包

    控制台日志

    循环(两个对象彼此引用且彼此保留)

    24. js垃圾回收方式
    标记清除:这是js最常用的垃圾回收方法,当一个变量进入执行环境时,例如函数中声明一个变量,将其标记为进入环境,当变量离开环境时,(函数执行结束),标记为离开环境
    引用计数: 跟踪记录每个值被引用的次数,声明一个变量,并将引用 类型赋值给这个变量,则这个值的引用次数+1,当变量的值变成了另一个,则这个值的引用次数-1,当值的引用次数为0的时候,就回收

    转载于:https://www.cnblogs.com/wwjldm/p/10389974.html

    展开全文
  • 第十五章上级题;

    2016-09-21 16:16:29
    上级练习1package cn.第十五章上级题; import java.util.Scanner; public class Shangjilianxi2 { public boolean show(String sf, String sj, String zj) { boolean flag = false; if (sf.length() != 16 &&...
    上级练习1
    package cn.第十五章上级题;
    
    import java.util.Scanner;
    
    public class Shangjilianxi2 {
    	public boolean show(String sf, String sj, String zj) {
    		boolean flag = false;
    		if (sf.length() != 16 && sf.length() != 18) {
    			System.out.println("身份证号必须16或18位");
    		}else{
    			if (sj.length() != 11) {
    				System.out.println("手机号必须是11位");
    			}else{
    				String[] ss = zj.split("-");
    				if (ss[0].length() != 4 || ss[1].length() != 7) {
    					System.out.println("座机号不正确:");
    				} else {
    					flag = true;
    				}
    			}
    		}
    		return flag;
    	}
    
    	public static void main(String[] args) {
    		Shangjilianxi2 q = new Shangjilianxi2();
    		boolean b = false;
    		do {
    			Scanner input = new Scanner(System.in);
    			System.out.println("请输入身份证:");
    			String name = input.next();
    			System.out.println("请输入手机号:");
    			String pwd1 = input.next();
    			System.out.println("请输入座机号:");
    			String pwd2 = input.next();
    			b = q.show(name, pwd1, pwd2);
    		} while (!b);
    		System.out.println("注册成功");
    	}
    }
    package cn.上机练习1;
    
    import java.util.Scanner;
    
    public class Register {
    	public static void main(String[] args) {
    		Scanner input=new Scanner(System.in);
    		String name,mima;
    		System.out.println("请输入用户名:");
    		name=input.next();
    		System.out.println("请输入密码:");
    		mima=input.next();
    		System.out.println(name.toLowerCase());
    		System.out.println(mima.toUpperCase());
    		if(name.toLowerCase().equals(("TOM").toLowerCase())&&mima.toUpperCase().equals(("1234567").toUpperCase())){
    			System.out.println("注册成功");
    		}else{
    			System.out.println("注册失败,密码长度小于6位");
    		}
    		
    	}
    
    }
    


    展开全文
  • java面试精选

    2012-04-01 14:59:44
     Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。 10、&和&&的区别。 &是位运算符...
  • JAVA面试最全集

    2010-03-13 13:09:10
    一、Java基础知识 1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。 2.字符串的操作: 写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入...
  • 2018 java面试基础

    2019-03-01 20:08:11
    4、&amp;...答: Collection是集合类的上级接口,继承与他的接口主要有Set 和List.Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操...
  • 花旗银行JAVA 面试分类

    千次阅读 2013-04-02 22:42:15
    JAVA的基本知识 1、List、Map、Set三个接口,存取元素时,各有什么特点? List 以特定次序来持有元素,可有重复元素。Set 无法拥有重复元素,内部排序。Map 保存key-value值,value可多值。 2、...
  • 答:Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 6、什么时候用assert ...............
  • RPC概述 RPC(Remote Procedure Call)即远程过程调用,允许一台计算机调用另一台计算机上的程序得到结果,而代码中不需要做额外的编程,就像在本地调用一样。 现在互联网应用的量级越来越大...博主有过一个上级,把粗鲁
  • Java面试:Collection 和 Collections的区别 【考题干】请简单的描述一下Collection和Collections的区别是什么? 【参考答案】Collection是集合类的上级接口,继承与它的接口主要有Set和List.Collections是...
  • 【整理】Java笔试

    2011-08-25 10:51:13
    String s = new String("xyz");创建了几个String Object 答:两个,一个字符对象,一个字符对象引用对象 Collection 和 Collections的区别 ...答:Collection是集合类的上级接口,继承与他的接口主要有Set
  • 超级有影响力的Java面试大全文档 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。...
  • 北大青鸟ACCP5.0上级作业,所有课后
  • java经典面试汇总

    2012-08-03 19:59:44
    答:Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 6、什么时候用assert 答:...
  • 答:Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 6、什么时候用assert 答:...
  • java集合类面试

    2020-03-05 11:55:12
    1. java 容器都有哪些? list set map 三大种,分别根据自己的理解进行介绍。 2.Collection 和 Collections 有什么区别? Collection是集合的上级接口, Collections是针对集合的一个工具类,提供了一系列...
  • 答:Collection是集合类的上级接口,继承于他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 Set里的元素是不能重复的,那么用...
  • Java集合面试 1.Collection和Collections的区别 Collection是集合类的上级接口,继承与他有关的接口主要有List和Set Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程...
  • Java基础阶段笔试2

    2017-10-10 17:55:00
    Java基础阶段笔试2 问题:Collection 和 Collections的区别?(10分) 本题目的:检测对面结合类的理解 答案: Collection是集合类的上级接口(3),继承与他的接口主要有Set 和List。(2) ...
  • 菜单编号 菜单名 上级菜单编号 M001 用户管理 NULL M002 登录 M001 M003 存款 NULL M004 活期存款 M003 M005 退出 M001 M006 定期存款 M003 M007 整存争取 M006 …… (1)用什么算法可以获得菜单的的层级结构 ...
  • 2.Java的四种引用,强弱软虚 (1)强引用 (2)软引用 (3)弱引用 (4)虚引用 3.泛型常用特点 (待补充) 4.final有哪些用法? 5.static都有哪些用法? 面试: 1.Collection包结构,与Collections的区别 ...
  • java 常见笔试面试

    2008-11-12 22:59:50
    对现在刚毕业要找工作的人群很有用 ... Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。
  • 当某个类加载器需要加载某个.class文件的时候,它首先会把这个任务委托给他的上级类加载器,去递归这个操作,如果说上级的类加载器没有去加载,自己才会去加载这个类的 1.BootstrapClassLoader(启动类加载器):c++...
  • 前两天面了一个公司的java web开发,有两个问题没答出来,请大牛帮忙解答一下,十分感谢: 1.左键单击页面,要实现页面的跳转,且不用超链接实现,请问怎么办到? 2一个系统中,一般情况下,下级不可以查看上级的...

空空如也

空空如也

1 2 3 4
收藏数 79
精华内容 31
关键字:

java上级题

java 订阅