zoukankan      html  css  js  c++  java
  • java面试题

    说说你对SERVLET的理解:
    运行在WEB服务器上的小的Java程序,用来接收和响应从客户端发送过来的请求,通常使用HTTP协议
    生命周期:
    用户第一次访问Servlet的时候,服务器会创建一个Servlet的实例,那么Servlet中init方法就会执行.
    任何一次请求服务器都会创建一个新的线程访问Servlet中的service的方法.在service方法内部根据请求的方式的不同调用doXXX的方法.
    (get请求调用doGet,post请求调用doPost).当Servlet中服务器中移除掉,或者关闭服务器,Servlet的实例就会被销毁,那么destroy方法就会执行.

    SERVLET中FORWARD和REDIRECT的区别:
    重定向(redirect)其实是两次request,第一次,客户端request,A服务器响应,并response回来,告诉浏览器,
    你应该去B。这个时候IE可以看到地址变了,而且历史的回退按钮也亮了。重定向可以访问自己web应用以外的资源。
    在重定向的过程中,传输的信息会被丢失。
    请求转发(forward)是服务器内部把对一个request/response的处理权,移交给另外一个.
    对于客户端而言,它只知道自己最早请求的那个A,而不知道中间的B,甚至C、D。传输的信息不会丢失。

    SESSION和COOKIE的区别和使用场景:
    Session和cookie都是会话(session)跟踪技术.cookie通过在客户端记录信息确定用户身份,
    而session是通过在服务器端记录信息确定用户身份.但是session的实现依赖于cookie机制来保存JESESSIONID(session的唯一标识,需要存在客户端)

    事务的四大特征

    事务是并发控制的单位,是用户定义的一个操作序列.这些操作要么都做,要么都不做,是一个不可分割的工作单位.例子:转账

    事务的四大特性:ACID

    原子性(Atomicity):表示事务内不可分割,要么都成功,要么都失败
    一致性(Consistency):要么都成功,要么都失败.失败了,要对前面的操作进行回滚
    隔离性(Isolation):一个事务开启了,不能受其它事务的影响
    持久性(Durability):持续性,表示事务开始了,就不能终止.事务提交后,将数据序列化到数据库

    触发器的使用?

    触发器:触发器需要有触发条件,当条件满足后,做什么操作

    应用场景:某些社交软件的日志更新,会通知好友; 一些论坛中,当插入新帖时,会更改当前帖子总数以及最后发帖时间.

    CREATE [or REPLACE] TRIGGER 触发器名
    BEFORE | AFTER
    [DELETE ][[or] INSERT] [[or]UPDATE [OF 列名]]
    ON 表名
    [FOR EACH ROW ][WHEN(条件) ]
    declare
    ……
    begin
    PLSQL 块
    End ;

    使用索引的一些技巧

    索引弊端:
    1. 占用磁盘空间.
    2. 对dml(插入,修改.删除)操作有影响,变慢
    使用场景:
    1. 肯定在where条件经常使用,如果不做查询就没有意义
    2. 该字段的内容不是唯一的几个值(sex).
    3. 字段内容不是频繁变化

    具体技巧:
    1. 对于创建的多列索引(复合索引),不是使用的第一部分就不会使用索引(最左匹配)
    2. 对于使用like查询,查询如果是”%aaa”不会使用到索引,而”aaa%”会使用到索引
    3. 如果条件中有or,有条件没有使用索引,即使其中有条件带索引,也不会使用.简单来说,就是要求使用的所有字段,都必须单独使用时才能使用索引.
    4. 如果列类型是字符串,拿一定要在条件中将数据使用引号引用起来,否则索引失效
    5. 如果mysql估计使用全表扫描要比索引快,则不适用索引.例子:表里只有一条记录

    ZooKeeper:

    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。
    它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
    ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
  • 相关阅读:
    IIS Post 大小超出允许的限制
    webpack从零开始第1课:安装webpack和webpack-dev-server
    React
    ubuntu 安装nodejs和git
    ubuntu 启用root用户方法
    ubuntu安装最新版node和npm
    MVC Dropdownlist数据绑定 默认值
    C#调用Excel VBA宏[转载]
    git download error processing
    mysqladmin 使用
  • 原文地址:https://www.cnblogs.com/chdchd/p/11630765.html
Copyright © 2011-2022 走看看