文章目录
jQuery的加载机制$(function(){})和window.onload有什么区别
他们都是在页面加载完过后才执行,但是:
jQuery的 $(function(){})会优先执行
window.onload最后执行
什么是Maven,说出使用Maven的优势是什么?
maven的含义
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具
Maven的优势:
自动构建,jar包依赖管理,契约编程
用过Maven的话,说出几个它常用的命令
- 打开cmd命令行,进入Hello项目根目录执行 mvn compile命令,查看根目录变化
- cmd 中继续录入mvn clean命令,然后再次查看根目录变化
- cmd 中录入 mvn clean compile命令, 查看根目录变化
- ****cmd 中录入 mvn clean test命令,查看根目录变化
- ****cmd 中录入 mvn clean package命令,查看根目录变化
- ****cmd 中录入 mvn source:jar命令,查看根目录变化,源码包
- cmd 中录入 mvn clean site命令,查看根目录变化
- ****cmd 中录入 mvn install命令,查看本地仓库变化
- ****生成Eclipse的需要2个文件mvn eclipse:eclipse
- maven打包不执行测试用例的命令
- ****mvn package -Dmaven.test.skip=true
为什么要使用JPA?
JPA是持久化规范,一般使用其实现Hibernate框架,不过其底层还是使用JDBC的
jdbc优缺点
优点:
jdbc操作数据库的底层技术
比较简单 比较直接,就可以操作数据库
缺点:
转换的时候特别麻烦
重复性代码比较多
移植数据库比较麻烦
jdbc 自身没有缓存(Cache),如果性能上面需要控制的化,就需要写缓存代码
jdbc不是面向对象的思维来操作的呀 面向sql操作,如果是sql高手,操作jdbc很爽的;
JPA优缺点
优点:
面向对象操作,操作对象 就相当于操作数据 比如 entityManager.perisit(employee)
移植数据比较方法,以后如果想换数据库,只需要换一个数据库方言就OK
JPA有缓存,效率不错的 (一级缓存 二级缓存 查询缓存)
缺点:
不能干预sql的生成 ,查询一个数据 find 默认查询所有字段 (select * from )
有些优化 jpa做不了,比如特别大数据量的时候,jpa也不适合,mybatis也解决不了 (架构策略 分库 分表 (分布式))
一个项目里面 对sql要求比较高,就不适合jpa
查询1千万条数据,怎么才是最快的?
如果内存够大可以先把数据放到缓存(内存)中
否则就分页查询显示1000条
执行SQL:查出1000条显示
在查询完之后,偷偷的查询下一页的数据,放到缓存中准备好
配置自动生成表的属性含义
create
创建策略 每次都要先删除 再创建
update
更新策略 不会删除 如果发现没有表 也会创建
如果是表里面新增字段 配置有效果
如果这个表里面已存在字段,修改属性 没有效果
create-drop
先删除 在创建 再删除 不怎么会用
validate
验证策略 如果有对应实体 但是没有对应的数据库表 会报错
数据库多字段 OK
数据库少字段 不OK
什么场景使用二级缓存
- 读取大于修改;
- 对数据要有独享控制,数据不会被第三方修改;
- 可以容忍出现无效数据,非关键数据(不是财务数据等)
- 数据量不能超过内存容量,数据量特别巨大,此时不适合于二级缓存(钝化)
JPA是否支持JDK1.4?
不支持,JPA需要Java 5或更新版本
与Hibernate相比,JPA是不是更好
JPA是规范,而Hibernate是实现
。因此,这是不同事物的比较。可以肯定,使用标准API比使用专有API有更多优势,但不存在真正的劣势
什么是持久化单元
持久化单元是类和配置设置的集合,可以根据该集合创建EntityManagerFactory。它在 persistence.xml 文件中作为一个条目出现