发表于: 2017-08-01 23:45:34

2 1079


【说明】今天主要是看了昨天遗留的一些问题,但是看着看着觉得内容好多呀

一:今日完成

今天看的概念太多了,头有点晕乎,发现基础就是基础,一直在那里放着,始终都存在,使用的时候如果能够多留意一下,估计就不会有现在的窘境,反正就是多就是乱,,

我把看的几十个网页里面的精华给 筛选出来,并放上网址大家也可以去看一下。

不行太多了,,放上去就满屏了

-------------------------------------------------

1,mybatis  

  1. MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。
  2. MyBatis 避免了几乎所有的 JDBC 代码和手工设置参数以及抽取结果集。
  3. MyBatis 使用简单的 XML 或注解来配置和映射基本体,将接口和 Java 的 POJOs(Plain Old Java Objects, 普通的 Java 对象) 映射成数据库中的记录。  
  4. Mybatis 实现了 DAO 接口与 xml 映射文件的绑定,自动为我们生成接口的具体实现,使用起来变得更加省事和方便。

2,hibernate

三拷三配、六个准备,七个步骤

首先讲三拷三配、六个准备,拷 JDBC 驱动包不用多讲,因为 hibernate 也是基于 JDBC 的,只是对其进行了封装,所以 JDBC 驱动包必不可少。

既然是使用 hibernate, 那 hibernate 开发包也必不可少,用来提供各种类的。

log4j 包用来记录日志信息的,这个也是非常有用的,因为以后做的系统都要发布到服务器上面去的,你不可能每时每刻都守在服务器旁边看有没有出问题,有了日志就可以省很多事了。

只要定期去查看日志文件就好了,所有问题都会记录在日志文件中。                 

三配中配置 pojo 也不用多讲,跟以前差不多,一个表对应一个 pojo 类就 ok 了。因为 hibernate 是基于对象关系映射的框架,所以 pojo 类对象与关系表的映射配置必不可少,需要配置三个东西: 表和类的映射属性和字段的映射表和表的关系(如果两个表有主外键关系的话,这里只有一个表所以不用配置),配置代码如下:

最后是总配置文件 hibernate.cfg.xml 的配置(有可视化界面操作的),该配置是用于建立数据库连接的,其代码如下:

       ①读取配置文件

  ②创建 session 工厂

  ③打开 session

  ④开始事务:hibernate 中增删改一定要用事务,查询可以不用

  ⑤处理事务,对数据表的增 (save)、删 (delete)、改 (update)

  ⑥提交事务或者回滚事务

  ⑦关闭 session。

查询数据如果是根据主键查找一条记录的时候可以用 session 的 get() 方法,查询多条记录则必须用 HQL(Hibernate Query Language),HQL 和 SQL 语句差不多,只是表名改为类名、将字段名改为属性名


1. XML 配置方式进一步降低了耦合,使得应用更加容易扩展,即使对配置文件进一步修改也不需要工程进行修改和重新编译。

2. 在处理大的业务量的时候,用 XML 配置应该更加好一些。因为 XML 更加清晰的表明了各个对象之间的关系,各个业务类之间的调用。同时 spring 的相关配置也能一目了然。

当然,有人会说,用 XML 配置,在大的业务量时候会使得 XML 文件过大,不容易查看。这一点我们完全可以利用业务分解书写多个 XML 配置文件就可以了。

缺点有:

配置文件读取和解析需要花费一定的时间,配置文件过多的时候难以管理,无法对配置的正确性进行校验,增加了测试难度。

annotation 配置的优缺点:

优点有:

1. 在 class 文件中,可以降低维护成本,annotation 的配置机制很明显简单

2. 不需要第三方的解析工具,利用 java 反射技术就可以完成任务

3. 编辑期可以验证正确性,差错变得容易

4. 提高开发效率

缺点有:

1. 如果需要对于 annotation 进行修改,那么要重新编译整个工程

2. 业务类之间的关系不如 XML 配置那样容易把握。

3. 如果在程序中 annotation 比较多,直接影响代码质量,对于代码的简洁度有一定的影响。


3.

mysql-server-5.5 做出的改善

  1) 默认存储引擎更改为 InnoDB

  2) 提高性能和可扩展性

       3) 改善检测和诊断

  Mysql5.5 引入了一种新的性能架构 (performancn_shema,P_S), 用于监控 mysql 监控服务器运行时的性能

之前的 innodb 版本最大能处理 1023 个并发处理操作,现在 mysql5.5 可以处理高达 128K 的并发事物

4.

为什么要有依赖注入(一种设计代码模式),因为我们要控制反转(设计代码的思路)。为什么控制反转。因为我们软件设计需要符合软件设计原则依赖倒置(设计代码原则),单一职责原则

5.

Servlet3.0 新特性
  1. 异步处理支持:有了该特性,Servlet 线程不再需要一直阻塞,直到业务处理完毕才能再输出响应,最后才结束该 Servlet 线程。在接收到请求之后,Servlet 线程可以将耗时的操作委派给另一个线程来完成,自己在不生成响应的情况下返回至容器。针对业务处理较耗时的情况,这将大大减少服务器资源的占用,并且提高并发处理速度。
  2. 新增的注解支持:该版本新增了若干注解,用于简化 Servlet、过滤器(Filter)和监听器(Listener)的声明,这使得 web.xml 部署描述文件从该版本开始不再是必选的了。
  3. 可插性支持:熟悉 Struts2 的开发者一定会对其通过插件的方式与包括 Spring 在内的各种常用框架的整合特性记忆犹新。将相应的插件封装成 JAR 包并放在类路径下,Struts2 运行时便能自动加载这些插件。现在 Servlet 3.0 提供了类似的特性,开发者可以通过插件的方式很方便的扩充已有 Web 应用的功能,而不需要修改原有的应用。

6.

线程池一般有三个重要参数: 
1. 最大线程数。在程序运行的任何时候,线程数总数都不会超过这个数。如果请求数量超过最大数时,则会等待其他线程结束后再处理。 
2. 最大共享线程数,即最大空闲线程数。如果当前的空闲线程数超过该值,则多余的线程会被杀掉。 
3. 最小共享线程数,即最小空闲线程数。如果当前的空闲数小于该值,则一次性创建这个数量的空闲线程,所以它本身也是一个创建线程的步长。

7.

 google 用的是 jetty,taobao 用什么不清楚,但是可以肯定的是现在 alibaba 用的是 jetty 定制版本

resin 性能好,功能多,监控功能比 tomcat 好太多,内置对集群的支持,并且支持用 PHP 写页面,就是市场太少。

淘宝最早用的 jboss,现在换 tomcat 和 jetty 了。其实 jboss 内置的容器就是 tomcat,但是做了改进,加强了集群管理,就是太复杂了。


8. 时间原点

其对应的日期是 1970 年 1 月 1 日 8 点 0 分 0 秒 。 (为什么是 8 点,因为中国的太平洋时区是 UTC-8,刚好和格林威治时间差 8 个小时)
因为 1969 年发布了第一个 UNIX 版本:AT&T,综合考虑,当时就把 1970 年当做了时间原点。

9. 单例模式

1. 构造方法私有化
2. 静态属性指向实例
3. public static 的 getInstance 方法,返回第二步的静态属性
10.

10 获取类对象有 3 种方式
1. Class.forName
2. Hero.class
3. new Hero().getClass()

11.

对象属性初始化有 3 种
1. 声明该属性的时候初始化 
2. 构造方法中初始化
3. 初始化块

12.

当一个属性被 static 修饰的时候,就叫做类属性,又叫做静态属性 
当一个属性被声明成类属性,那么所有的对象,都共享一个值 

13.

成员变量有四种修饰符 
private 私有的 
package/friendly/default 不写 
protected 受保护的 
public 公共的 

14

this 这个关键字,相当于普通话里的 “我” 
this 即代表当前对象
如果要在一个构造方法中,调用另一个构造方法,可以使用 this()

15.

对象就像 "房产", 引用就像 "房产证"
房产证的复印件可以有多张,但是真正的 "房产" 只有这么一处

二:明日计划

明天因为时间充足(or 有限),打算完成

①去面试

------------------

②做最后的准备

------------------

③再做一个总结

------------------

三:疑难问题

四:思考总结

Ⅰ 对自己今天的进度满意吗

------------------一般般

Ⅱ 那些困扰自己的问题所在

------------------hibernate 的封装体现在哪里

Ⅲ 暗示自己为明天加油打劲

------------------保持一个好的状态



返回列表 返回列表
评论

    分享到