面试经验3.6

1:8种基本类型?

byte,short,long,int,char,float,double,boolean

2:String,StringBuilder,StringBuffer的区别?

StringBuilder,StringBuffer可以储存和操作字符串,String是只读字符串。

StringBuilder是在单线程环境下使用的,它的所有方法没有被synchronized修饰,因此效率比StringBuffer高。

3:阐述静态变量和实例的区别?

静态变量是被static修饰的变量,它属于类,不属于类的任何一个对象,静态变量在内存中有且仅有一个拷贝。

实例变量必须依存于某一实例,需要创建对象,然后通过对象才能访问到它。

4:final关键字有几种用法?

修饰类:表示类不可以被继承

修饰方法:表示方法不可以被重写(可以重载)

修饰变量:表示变量被第一次赋值后不可修改

5:final,finally,finalize的区别?

final如上;

finally通常用于try-catch之后,这里的代码只要jvm不关闭就可以执行,可以将释放外部资源的代码写在finally块中;

finalize:Object类中定义的方法,这个方法是由垃圾收集器在销毁对象的时候调用的,通过重写finalize方法可以整理系统资源或者执行其他清理工作。

6:JSP有哪些内置对象?作用分别是什么?

request:封装客户端的请求,其中包含来自GET或POST请求的参数;

response:封装服务器对客户端的响应;

pageContext:通过该对象可以获取其他对象;

session: 封装用户会话的对象;

application:封装服务器运行环境的对象;

out: 输出服务器响应的输出流对象;

config: Web应用的配置对象;

page: JSP页面本身(相当于Java程序中的this);

exception:封装页面抛出异常的对象。

7:如何解析大的json数据?

用流的方式进行解析,参考https://blog.csdn.net/xbliu564/article/details/78944755/

8:线程的生命周期?

在线程的生命周期中,它要经过新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)和死亡(Dead)5种状态。

https://www.cnblogs.com/sunddenly/p/4106562.html

9:Spring和SpringMVC的区别?

Spring是IOC和AOP的容器框架,SpringMVC是基于Spring功能之上添加的Web框架,想用SpringMVC必须先依赖Spring。
简单点的话可以将SpringMVC类比于Struts。
Spring是IOC和AOP的容器框架,SpringMVC是基于Spring功能之上添加的Web框架,想用SpringMVC必须先依赖Spring。
Spring可以说是一个管理bean的容器,也可以说是包括很多开源项目的总称,spring mvc是其中一个开源项目,所以简单走个流程的话,http请求一到,由容器(如:tomact)解析http搞成一个request,通过映射关系(路径,方法,参数啊)被spring mvc一个分发器去找到可以处理这个请求的bean,那tomcat里面就由spring管理bean的一个池子(bean容器)里面找到,处理完了就把响应返回回去。

SpringMVC是一个MVC模式的WEB开发框架;

Spring是一个通用解决方案, 最大的用处就是通过Ioc/AOP解耦, 降低软件复杂性, 所以Spring可以结合SpringMVC等很多其他解决方案一起使用, 不仅仅只适用于WEB开发

https://www.cnblogs.com/rainbow70626/p/9784938.html

10:输入一个字符串,反向输出,并且大写变成小写,小写变成大写?

public static void out(){
        String str = "AbCd";
        System.out.println(str);
        for(int i = str.length()-1;i>=0;i--){
            if(str.charAt(i)>= 'a' & str.charAt(i)<= 'z')
                System.out.print((char)(str.charAt(i)-32));
            else if (str.charAt(i)>= 'A' & str.charAt(i)<= 'Z')
                System.out.print((char)(str.charAt(i)+32));
        }
    }

 

11:判断一个数是否是回文数?比如121,12321,1234321

public static boolean judge(int n){
        String str = Integer.toString(n);
        StringBuilder sb = new StringBuilder(str);
        sb = sb.reverse();
        if(sb.toString().equals(str)){
            System.out.println("true");
            return true;
        }
        else{
            System.out.println("false");
            return false;
        }
    }

值得注意的是,reverse在用完之后,无论是否赋值给别的对象,自身都会被倒转。

 
posted @ 2019-03-06 21:50  白诗  阅读(106)  评论(0)    收藏  举报