......

Java的认识

基础
Java怎么运行?
jre和jdk区别?
        jdk包含了jre
成员变量和局部变量?
stringBuffer,StringBuilder,string?为什么一个安全一个不安全
         StringBuffer几乎所有的方法都使用synchronized实现了同步,线程比较安全,在多线程系统中可以保证数据同步,但是效率比较低;而StringBuilder 没有实现同步,线程不安全,在多线程系统中不能使用 StringBuilder,但是效率比较高。
runnable和callable区别?
        
        Runnable接口中的 run() 方法的返回值是 void ,它做的事情只是纯粹地去执行 run() 方法中的代码而
已;
        Callable接口中的 call() 方法是有返回值的,是一个泛型,和 Future FutureTask 配合可以用来获取 异步执行的结果。
post 请求和 get 请求的区别?
过滤器拦截器 aop 有哪些相同和区别
se
io 流
        
        按功能来分:输入流(input )、输出流( output )。
        按类型来分:字节流和字符流。
        字节流和字符流的区别是:字节流按 8 位传输以字节为单位输入输出数据,字符流按 16 位传输以 字符为单位输入输出数据。
怎么创建多线程 
       
数据库多表查询
jdbc?
线程创建方式
         Thread
        Runnable
        Callable  重写call方法,封装到FutureTask,再装到Thread中
        线程池(5种)
线程池
        Executors .newSingleThreadExecutor()创建一个单一线程池
        Executors.newFixedThreadPool(int Threads)固定大小线程池,参数为线程池大小
        Executors.newCacheThreadPool()可伸缩的线程池,遇强则强,遇弱则弱
        以上三种方式都new了一个ThreadPoolExecutor,在ThreadPoolExecutor中包含线程池的七大参数
线程池七大参数
        int corePoolSize    核心线程池大小
        int maximumPoolSize    最核心大线程池大小
        long keepAliveTime    超时时间 没有人使用会自动释放
        TimeUnit unit    超时单位
        BlockingQueue<Runnable> workQueue    阻塞队列
        ThreadFactory threadFactory    线程工厂,创建线程的,一般不用动
        RejectedExecutionHandler handler    拒绝策略
四种拒绝策略
        
xml和json的了解
cookie和session区别
sql连接方式
线程生命周期,各个状态如何转换
spring注入方式
voliate?
索引,怎么创建,什么时候会失效
java内存泄露问题
sql聚合函数
run和start区别
arraylist和linkedlist区别
jvm内存如何分配
object的公共方法
aop和ioc
synchronize和Lock区别
子查询的聚合查询如何实现,具体代码
hsahmap,hashtable,treemap
创建线程池的哪几种方式
反射,如何获取属性和方法,哪几种方式?具体调用方法
servlet生命周期
堆和栈的区别
sql连接方式

1.哪些集合?
List,set
2.hashmap和treemap区别?
hashmap用于增删和查找
treemap用于有序key的遍历
3.hashmap怎么遍历?
      1)单独遍历key    Set  keySet()
      2)遍历每一组键值对   Set  entrySet()
      3)单独遍历value(这个操作不常用)
        Collection values()
                        将所有的value以一个集合的形式返回。      

 4.迭代器怎么遍历   
集合提供了统一的遍历方式:迭代器模式
Iterator iterator()
迭代器遍历集合遵循的步骤:问->取->删。其中删除不是必须操作

 //获取迭代器
        Iterator it = c.iterator();
/*
            boolean hasNext()
            判断集合是否还有"下一个"元素可以遍历。迭代器的起始位置可以理解为是集合第一个
            元素位置之前。因此第一次调用hasNext()就是判断集合是否有第一个元素。
            E next()
            获取集合中"下一个"元素。获取后迭代器的位置会向后移动一个元素位置
         */
while(it.hasNext()){
            String e = (String)it.next();
            System.out.println(e);
            if("#".equals(e)){
                /*
                    迭代器在遍历的过程中不能通过集合的方法增删元素,否则迭代器会
                    抛出并发修改异常:
                    java.util.ConcurrentModificationException
                 */
//                c.remove(e);
                /*
                    迭代器提供了remove方法可以将本次通过next方法获取的元素从集合
                    中删除。
                 */
                it.remove();
            }
        }

5.foreach怎么遍历?

6.基本类型和引用类型的关联,自动拆装箱怎么回事?

         int a = 123;
        //触发了编译器的自动装箱特性,编译器会补充代码将基本类型转换为包装类
        Integer i = a;
//        Integer i = Integer.valueOf(a);//编译器改好的样子

        //触发了自动拆箱特性,编译器会补充代码将包装类转换为基本类型
        a = i;
//        a = i.intValue();//编译器改好的样子
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值