发表于: 2019-12-29 23:40:04
2 1162
#########################################################
继续补上昨天没有写完的工具简介。其实很多工具、框架只要知道了它诞生的背景以及他要解决的问题就很好理解了。
这个日报编辑器实在是不能忍,我只能当作 notepad 去用了。(纯吐槽,你看不见我····)
ActiveMQ:(一个消息队列,MQ 即 Message Queue)
啥是消息?消息就是需要被传递的东西,字符串,文本甚至图片视频都可以是消息。需要传递的消息太多了,可能上个还没处理完下一个又来了,就整个消息队列,你随便传,我先放消息队列里,慢慢处理。(不懂队列是啥的自己去面壁反思)
ActiveMQ是Java消息服务的一个实现,一个纯 java 应用。
==================================================
memcached:(一种缓存技术,存储经常被读写的文件和数据)
在专门的机器的内存里维护一张巨大的 hash 表,来存储经常被读的一些数组与文件,从而极大的提高网站的运行效率。
memcached适合做的东西:
1、访问频繁的字典数据
2、大量的hot数据(热门数据缓存)
3、页面缓存(web站常用)
4、搜索的查询条件和结果(热门搜索的内容缓存起来)
5、临时处理数据(不需要入库,排重)
redis:(运行在内存上的数据库)我知道这句话有点别扭,但就是那意思,数据库放在内存上
redis 会把数据库放在内存上,每隔一段时间就把数据库固化到硬盘上。
有点 mysql 和 memcached 综合体的感觉,我也不懂为什么网上很多人把 redis 和 mamcache 去比较,完全不是一个东西啊···
==================================================
Mybatis 与 hibernate:(数据库持久层框架)
Java程序都是通过JDBC连接数据库的,通过SQL对数据库编程,JDBC是由SUN公司提出的一些列规范,只定义了接口规范,具体实现由各个数据库厂商去实现,它是一种典型的桥接模式,数据持久层框架都是 JDBC 的一种封装。
桥接模式是一种结构型设计模式,它的主要特点是把抽象与行为实现分离开来,分别定义接口,可以保持各部分的独立性以及应对他们的功能扩展。
在 java web 开发中,往往数据才是最终要的东西,特别是大企业,数据的维护和业务开发要分开,这带来了以下的挑战:
1.数据粒度不同:面向对象的模型在构建时是基于客观实体的,而面向关系的数据表在构建时则是基于字段的,这样的话,面向对象模型会比面相关系的模型拥有更粗的粒度。
2.继承关系的表现:面相关系的模型无法通过“继承”表现出父子类间的关系。那么基于继承的多态特征也无法表现出来。
3.对象间关系:关系型模型无法明确地确定面向对象模型间的依赖关系。
4.数据导航:同一个对象关系网中,两个对象间的数据导航在两种模型下是不同的。
为了处理上述问题,数据库持久层框架应运而生,java 持久层框架需要完成以下任务:
- 1.将数据保存到可掉电式存储设备中。
- 2.为了提高操作效率,提供ORM机制,并封装必要的数据操作方法,提供方法接口。
- 3.在前两点基础上,可以提供额外的数据业务,如分页、排序等。
Mybatis 学习起来比较简单,能很快上手,方便对查询语句进行优化,但是需要花费更多的时间去编写底层查询语句。
hibernate 学习曲线很陡峭,难上手难精通,开发起来比较简单,因为查询语句都是自动生成的,无法对其进行优化。
==================================================
log4j:(日志记录框架)
第一用途:编写程序的时候,进行调试。类似于:大家使用System.out.print()来调试代码
第二用途:项目上线(商业运行),查看系统的运行状态。
日志是用来记录信息的,比如服务器的日志主要是用来记录一些访问信息,以便出现状况时,可以根据日志来判断原因。
==================================================
JUnit:(java 单元测试框架)
好了,整个修真院 java 工程师课程用到的工具、框架差不多都过了一遍了,说说我的感想:
1. 很多名词都比较抽象,但是只要找到他要解决的问题就很好理解了。
2.阿帕奇怎么这么牛逼呢?啥啥框架都让他一家给造了。
#########################################################
之前有个任务没有完成,这里我再做一次
16.在src/main/java下随便创建一个java文件,clean,install.查看本地的.m2下是否成功看到有Jar包。
mvn -v //检测maven 是否成功安装
mvn archtype:generate //开始创建 java 项目
选择项目类型,填写名称、id等信息,项目创建成功。
这里我转化成了 eclipse 项目,方便使用 eclipse 进行编辑。(然而后来并没有使用 eclipse)
mvn clean package //开始构建项目
项目构建成功。
进入子目录运行项目。
java cn.mogeek.testCase.App
输出 Hello World!(这是我做过的最艰难的一个 Hello World)
在目录下新加一个 tt.java 文件,并且修改原来的 App.java 文件,编译运行成功:(忽略报错信息,是我手残写错了)
mvn clean package
在 target 文件夹下面也是有 jar 包的。
连着几天的日报都有点水,摸鱼摸的有点过分了。。。
先提交日报,接着做任务。
下一个步骤是:17. 编写DAO,分别JdbcTemplate和Mybatis连接数据库,注意使用JDBCTemplate的时候分离Interface和Imple,使用Mybatis的时候注意理解为什么不需要Impl,注意遵守命名规范。
日报都第五天了才做到 步骤17 确实过分了,加油加油,奥里给!
评论