发表于: 2017-08-01 23:45:34
2 1079
【说明】今天主要是看了昨天遗留的一些问题,但是看着看着觉得内容好多呀
一:今日完成
今天看的概念太多了,头有点晕乎,发现基础就是基础,一直在那里放着,始终都存在,使用的时候如果能够多留意一下,估计就不会有现在的窘境,反正就是多就是乱,,
我把看的几十个网页里面的精华给 筛选出来,并放上网址大家也可以去看一下。
不行太多了,,放上去就满屏了
-------------------------------------------------
1,mybatis
- MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。
- MyBatis 避免了几乎所有的 JDBC 代码和手工设置参数以及抽取结果集。
- MyBatis 使用简单的 XML 或注解来配置和映射基本体,将接口和 Java 的 POJOs(Plain Old Java Objects, 普通的 Java 对象) 映射成数据库中的记录。
- 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 新特性
- 异步处理支持:有了该特性,Servlet 线程不再需要一直阻塞,直到业务处理完毕才能再输出响应,最后才结束该 Servlet 线程。在接收到请求之后,Servlet 线程可以将耗时的操作委派给另一个线程来完成,自己在不生成响应的情况下返回至容器。针对业务处理较耗时的情况,这将大大减少服务器资源的占用,并且提高并发处理速度。
- 新增的注解支持:该版本新增了若干注解,用于简化 Servlet、过滤器(Filter)和监听器(Listener)的声明,这使得 web.xml 部署描述文件从该版本开始不再是必选的了。
- 可插性支持:熟悉 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. 时间原点
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 即代表当前对象
15.
对象就像 "房产", 引用就像 "房产证"
房产证的复印件可以有多张,但是真正的 "房产" 只有这么一处
二:明日计划
明天因为时间充足(or 有限),打算完成
①去面试
------------------
②做最后的准备
------------------
③再做一个总结
------------------
三:疑难问题
四:思考总结
Ⅰ 对自己今天的进度满意吗
------------------一般般
Ⅱ 那些困扰自己的问题所在
------------------hibernate 的封装体现在哪里
Ⅲ 暗示自己为明天加油打劲
------------------保持一个好的状态
评论