成都吉胜科技有限公司

岗位:Java开发
公司简介:成立于2001年,自创立之日起就一直致力于从事工具软件、管理软件及网络应用软件等高新技术软件的研发。目前拥有多项领先的技术和产品。成都吉胜科技有限公司的旗舰产品为“万象幻境网吧管理专家”,该软件是国内最早的网吧管理软件之一,迄今已有四年的历史,用户遍及全国及海外地区。吉胜科技凭着领先的理念和创意、丰富的业内经验,深明客户所需,致力提供优质产品及服务,已成为客户公认的网吧管理、计费软件开发的领跑者。还拥有包括:网站过滤专家、多点视频会议系统、指纹识别系统、仓管物流系统等在内的诸多产品。

1、下列标识符不合法的有(ABD )
A.new B.SUsdollars C.1234 D.car.taxi

- java 标识符可以是 **字母、数字、$、_(下划线)**,但不可用数字开头  不可以是java 的关键字
 - 包名:全部小写(如:multiplicationtable)
 - 类名:每个单词的首字母大写(如:MultiplicationTable)
 - 变量名:第一个字母小写,以后每个单词的首字母大写(如:multiplicationTable)
 - 常量:全部使用大写字母,单词间用下划线隔开(如:MULTIPLICATION_TABLE)

2、描述Servler的生命周期,Servler是否线程安全并说明原因?

- 首先加载Servlet的实现类,当客户端通过网络访问服务器时,实例化Servlet对象;
 - 然后调用Servlet类中的init方法设置Servlet对象的config成员,并执行service方法;
 - 当不再有客户端访问服务器,web-app将会调用Servlet类中的destroy方法销毁Servlet对象,到此Servlet对象的生命周期结束。

Servlet不是线程安全的。
要解释为什么Servlet为什么不是线程安全的,需要了解Servlet容器(即Tomcat)使如何响应HTTP请求的。
当Tomcat接收到Client的HTTP请求时,Tomcat从线程池中取出一个线程,之后找到该请求对应的Servlet对象并进行初始化,
之后调用service()方法。要注意的是每一个Servlet对象再Tomcat容器中只有一个实例对象,即是单例模式。
如果多个HTTP请求请求的是同一个Servlet,那么着两个HTTP请求对应的线程将并发调用Servlet的service()方法。

3、什么是AOP,说明对AOP编程思想理解及应用。

- AOP:面向切面编程
 - AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
   你写代码的时候,事先只需考虑主流程,而不用考虑那些不重要的流程 		
 - 日志记录,性能统计,安全控制,事务处理,异常处理等等。

4、说明Hibernate的几种机制及每种机制原理。

  1. 运行机制:读取并解析配置文件;读取并解析映射信息,创建SessionFactory;打开Sesssion;创建事务Transation;持久化操作;提交事务;关闭Session;关闭SesstionFactory
  2. 缓存机制:分一、二两层缓存。所谓的缓存也就是在内存(虚存)中存有一份和数据源相同的数据。一级缓存:由hibernate管理.虽然提供了几个人为管理的api,但hibernate官方不建意人为参于.在增,删、改的情况下,一级缓存内的数据会和数据源内的数据保持一致.具体怎么保持一致看官方文档。二级缓存:人为管理,可用于分布式架构中,缓存变化少,或是不变化的数据(比如城市信息),可被多会话共享.
  3. 锁机制:①悲观锁 它指的是对数据被外界修改持保守态度。假定任何时刻存取数据时,都可能有另一个客户也正在存取同一笔数据,为了保持数据被操作的一致性,于是对数据采取了数据库层次的锁定状态,依靠数据库提供的锁机制来实现。②乐观锁 乐观锁定(optimistic locking)则乐观的认为资料的存取很少发生同时存取的问题,因而不作数据库层次上的锁定,为了维护正确的数据,乐观锁定采用应用程序上的逻辑实现版本控制的方法。
  4. 主键生成机制

5、存储过程和函数的区别?
  本质上没区别,执行的本质都一样。
  只是函数有如:只能返回一个变量的限制。而存储过程可以返回多个。  
  函数是可以嵌入在sql中使用的,可以在select中调用,而存储过程要让sql的query 可以执行, 需要把 mysql_real_connect 的最后一个参数设置为CLIENT_MULTI_STATEMENTS。
  函数限制比较多,比如不能用临时表,只能用表变量.还有一些函数都不可用等等.而存储过程的限制相对就比较少。