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的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
  • 相关阅读:
    matplotlib 进阶之origin and extent in imshow
    Momentum and NAG
    matplotlib 进阶之Tight Layout guide
    matplotlib 进阶之Constrained Layout Guide
    matplotlib 进阶之Customizing Figure Layouts Using GridSpec and Other Functions
    matplotlb 进阶之Styling with cycler
    matplotlib 进阶之Legend guide
    Django Admin Cookbook-10如何启用对计算字段的过滤
    Django Admin Cookbook-9如何启用对计算字段的排序
    Django Admin Cookbook-8如何在Django admin中优化查询
  • 原文地址:https://www.cnblogs.com/chdchd/p/11630765.html
Copyright © 2011-2022 走看看