文章标题

  1. java类的加载机制
     wait
  2. 适配器模式
     wait
     wait
  3. collection底层
     wait
     wait
  4. java并发包
     wait
     newFixedThreadPool
     newCachedThreadPool
     newScheduledThreadPool
     newSingleThreadExecutor
     wait
  5. 反射
     wait
     wait
  6. jdbc
     wait
     a.加载jdbc驱动程序
     
     
     Class.forName("com.mysql.jdbc.Driver")
     

     
     b.建立连接
     
     Connection connection =
     (Connection) DriverManager.getConnection("jdbc:mysql://127.0.0.1/automan", "root", "1");

     c.创建一个Statement
     
     ①、执行静态SQL语句。通常通过Statement实例实现。
       执行动态SQL语句。通常通过PreparedStatement实例实现。
       PreparedStatement有预编译的功能,已经绑定sql,之后无论执行多少次,都不会再进行编译
       statement执行多少遍就要编译多少次sql,所以preparestatement比statement效率高
      每一种数据库都会尽最大努力对预编译语句提供最大的性能优化.因为预编译语句有可能被重复调用.所以语句在被DB的编译器编译后的执行代码被缓存下来,那么下次调用时只要是相同的预编译语句就不需要编译,只要将参数直接传入编译过的语句执行代码中(相当于一个涵数)就会得到执行.这并不是说只有一个Connection中多次执行的预编译语句被缓存,而是对于整个DB中,只要预编译的语句语法和缓存中匹配.那么在任何时候就可以不需要再次编译而可以直接执行.而statement的语句中,即使是相同一操作,而由于每次操作的数据不同所以使整个语句相匹配的机会极小,几乎不太可能匹配.比如:
      insert into tb_name (col1,col2) values (‘11’,’22’);
      insert into tb_name (col1,col2) values (‘11’,’23’);
      相同操作但因为数据内容不一样,所以整个个语句本身不能匹配,没有缓存语句的意义.事实是没有数据库会对普通语句编译后的执行代码缓存.这样每执行一次都要对传入的语句编译一次.
    当然并不是所以预编译语句都一定会被缓存,数据库本身会用一种策略,比如使用频度等因素来决定什么时候不再缓存已有的预编译结果.以保存有更多的空间存储新的预编译语句.
    ②.preparestatement是预编译,所以可以防止sql注入
    ③.可读性preparestatement更高一些
     Statement stmt = con.createStatement() ;
      PreparedStatement pstmt = con.prepareStatement(sql) ;
      CallableStatement cstmt = con.prepareCall("{CALL demoSp(? , ?)}") ;

     
     d.执行sql语句
     
     executeQuery 、executeUpdate 和execute
     ①、ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句
    ,返回一个结果集(ResultSet)对象。
     ②、int executeUpdate(String sqlString):用于执行INSERT、UPDATE或DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等
     ③、execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的语句。
     
     ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ;
      int rows = stmt.executeUpdate("INSERT INTO ...") ;
      boolean flag = stmt.execute(String sql) ;

     
     e.处理结果
     
     while(rs.next()){
      String name = rs.getString("name") ;
      String pass = rs.getString(1) ; // 此方法比较高效
      }
    (列是从左到右编号的,并且从列1开始)

     
     f.关闭JDBC对象
     
     
    if(rs != null){ // 关闭记录集
    try{
    rs.close() ;
    }catch(SQLException e){
    e.printStackTrace() ;
    }
    }
    if(stmt != null){ // 关闭声明
    try{
    stmt.close() ;
    }catch(SQLException e){
    e.printStackTrace() ;
    }
    }
    if(conn != null){ // 关闭连接对象
    try{
    conn.close() ;
    }catch(SQLException e){
    e.printStackTrace() ;
    }
    }

     
     wait
  7. servlet和jsp的区别
     wait
      Servlet是Java提供的用于开发Web服务器应用程序的一个组件,运行在服务器端,由Servlet容器所管理,用于生成动态的内容。Servlet是平台独立的Java类,编写一个Servlet,实际上就是按照Servlet规范编写一个Java类。
      这里写图片描述
     
      使用Servlet产生动态网页,需要在代码中打印输出很多HTML的标签,此外,在Servlet中,我们不得不将静态现实的内容和动态产生内容的代码混合在一起。使用Servlet开发动态网页,程序员和网页编辑人员将无法一起工作,因为网页编辑人员不了解Java语言,无法修改Servlet代码,而Java程序员可能也不是很了解网页编辑人员的意图,以至于无法修改和实现网页功能。为了解决这些问题,Sun公司就推出了JSP技术。
     
      JSP通过在标准的HTML页面中插入Java代码,其静态的部分无须Java程序控制,只有那些需要从数据库读取并根据程序动态生成信息时,才使用Java脚本控制。
     
      事实上,JSP是Servlet的一种特殊形式,每个JSP页面就是一个Servlet实例——JSP页面由系统编译成Servlet,Servlet再负责响应用户请求。JSP其实也是Servlet的一种简化,使用JSP时,其实还是使用Servlet,因为Web应用中的每个JSP页面都会由Servlet容器生成对应的Servlet。对于Tomcat而言,JSP页面生成的Servlet放在work路径对应的Web应用下。
     
      JSP文件必须在JSP服务器内运行。JSP文件必须生成Servlet才能执行。每个JSP页面的第一个访问者速度很慢,因为必须等待JSP编译成Servlet。JSP页面的访问者无须安装任何客户端,甚至不需要可以运行Java的运行环境,因为JSP页面输送到客户端的是标准HTML页面。index.jsp页面中的每个字符都由index.java文件的输出流生成.
    servlet是在web服务器上的java程序,它提供服务,由它来传递给你html的格式。Servlet API为Servlet提供了统一的编程接口
      Servlet必须部署在Servlet容器,才能响应客户端的请求 对外提供服务。要对外统一接口,由容器来调用。
      jsp侧重显示;servlet侧重控制逻辑。
     
     
     wait
  8. MVC
     wait
     wait
  9. 实现一个springmvc的思路
     wait
     
     wait
  10. springmvc的事务
     wait
     wait
  11. 堆,栈,常量区
     wait
     wait
  12. java值传递和引用传递
     wait
     wait
  13. where和having
     wait
     having和where都是用来筛选
     分组筛选用having
     普通筛选用where
     where里面不能用聚合函数
     wait
  14. mysql聚集索引和非聚集索引
     wait
     两者的根本区别是表记录的排列顺序和与索引的排列顺序是否一致
     a.聚集索引一个表只能有一个,而非聚集索引一个表可以存在多个。
     b.聚集索引存储记录是物理上连续存在,而非聚集索引是逻辑上的连续,物理存储并不连续。
     c.聚集索引查询数据速度快,插入数据速度慢;非聚集索引反之。
      聚集 索引和非聚集索引都可以建立在重复列上。
      建立主键是,默认是聚集索引
      聚集索引插入慢,查询快,非聚集索引相反
     wait
     

  15. js增加一个元素
     

    var newNode = document.createElement("div"); 
    newNode.innerHTML = " This is a newcon "; 
    oTest.appendChild(newNode); 
    oTeset.insertBefore(newNode,null);

 
 
16. http请求的种类
 wait
17. equals()和hashcode()
 wait
18. JS提交表单
 

<input type='submit' value='submit'
document.getElementByIdx_x("myForm").submit();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值