175:maven命令:javascript
mvn -v //查看maven版本css
mvn help:system //打印Java系统属性和环境变量html
ping repol.maven.org //检查可否访问公共的maven中央仓库java
mvn clean compile //编译项目主代码web
mvn clean test //编译项目测试代码算法
mvn clean package //打包spring
mvn clean install //将项目输出的jar安装到了Maven本地仓库。数据库
mvn clean deploy //将项目构建输出的构件部署到配置对应的远程仓库apache
mvn archetype:generate //使用Archetype生成项目骨架编程
mvn dependency:list //查看当前项目的已解析依赖
mvn dependency:tree //查看当前项目的依赖树
mvn dependency:analyze //分析当前项目的依赖
执行test以前会先执行compile,执行package以前是会先执行test,执行install以前是会先执行compile。
默认打包的jar是不能直接执行的,由于带有main方法的类信息不会添加到manifest中,为了生成可执行的jar文件,须要借助maven-shade-plugin。
175.项目构建方法
Make:Makefile
Ant:build.xml
Maven:pom.xml
176.Windows系统的默认编码是GBK
177.pom.xml中若是不声明依赖范围,那么默认值就是compile,表示该依赖对主代码和测试代码都有效。
groupId:对应项目名称,例如:com.test.project
artifactId:对应模块名称,例如: project-model
178.maven的三种classpath:编译classpath、测试classpath、运行classpath。
Maven的几种依赖范围:
compile:编译依赖范围,对三种classpath都有效。
test:测试依赖范围,只对测试classpath有效。
provided:已提供依赖范围,对于编译和测试classpath有效,典型的例子是servlet-api,运行时因为容器已经提供,因此不须要maven重复引入。
runtime:运行时依赖范围,对于测试和运行classpath有效,典型的例子是JDBC驱动实现。
system:系统依赖范围,对于编译和测试classpath有效,须要使用<systemPath>指定本地jar包路径,会形成构建的不可移植。
import:导入依赖范围,该依赖范围不会对三种classpath产生实际的影响。
179.maven依赖调解:
第一原则:路径最近者优先
第二原则:第一声明者优先
180.maven的排除依赖,exclusion用来排除传递性依赖。
归类依赖:
<properties>
<spring.version>2.5.6</spring.version>
</properties>
181.maven私服管理软件Nexus
182.Maven远程仓库地址
中央仓库:http://repo1.maven.org/maven2
中央仓库的中国镜像:http://maven.net.cn/content/groups/public/
JBoss Maven仓库:http://repository.jboss.com/maven2/
能够在pom.xml文件中使用<repositories>元素声明一个或者多个远程仓库。
使用<distributionManagement>元素将构件部署到远程仓库
183.maven仓库访问的认证信息配置在settings.xml文件中。
184.当maven项目的依赖中包含一个快照版本时,maven在构建项目的时候会自动从仓库中检查依赖模块的最新版本。
185.maven仓库镜像和私服的配置须要在settings.xml文件中进行。
使用镜像仓库时会彻底屏蔽被镜像仓库。
186.maven仓库搜索服务:
http://repository.sonatype.org/
http://www.jarvana.com/jarvana/
http://www.mvnbrowser.com
187.pom.xml文件中的
<phase>指定生命周期
<goals>指定要执行的插件目标
188.maven在线插件信息
http://maven.apache.org/plugins/index.html
http://repo1.maven.org/maven2/org/apache/maven/plugins/
maven会区别对待依赖的远程仓库与插件的远程仓库。
189.$(document).ready(function(){
//
})
的简写形式为:
$(function(){
//
})
190.AVL树和红黑树是具备自平衡功能的二叉查找树
多叉树的典型例子就是B树和各类B树的变形树,B树是一种自平衡多叉查找树,经常使用于文件管理系统和数据库系统。
191.大多数状况下,因为选择策略的短视,贪婪法会错过真正的最优解,得不到问题的真正解。
192.若是你须要在XML中引用一个id,就使用@id/id_name这种语法,若是你须要在XML中定义一个id,就使用@+id/id_name这种语法
193.Android中,dp是密度无关像素的意思,sp是可伸缩像素的意思。若是必需要指定一个固定值,则使用dp来做为单位,指定文字大小的时候使用sp做为单位。
194.ORM(对象/关系数据库映射)的基本映射方式:
(1)数据表映射类
(2)数据表的行映射对象(即实例)
(3)数据表的列(字段)映射对象的属性
PO:persistent object,持久化对象
为了是POJO具有持久化操做的能力, Hibernate采用XML映射文件,即
PO=POJO+XML
195.JNDI是 Java 命名与目录接口(Java Naming and Directory Interface)
196.Hibernate的Session持有一个必选的一级缓存,还有一个可配置的二级缓存。
197.单点登陆(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只须要登陆一次就能够访问全部相互信任的应用系统。
198.jfinal中handler,controller和interceptor的做用和区别
Handler 会接管全部请求,包括静态请求,如 localhost/css/style.css 或者 locahost/img/logo.jpg,而且能够改变请求所指向的资源参数如 String target参数,因此 Handler 具备能够处理更多的事情,例如改变 target 参数作url 伪静态或者 url 重写。 而拦截器只能拦截对 action 的请求,对静态资源的请求是彻底没法感知的,而且拦截器没法改变 starget 参数,当拦截发生时,不少事情已经肯定了,例如拦截的 controller 和 action 都肯定了 Controller是请求但愿到达的最终目标,一般只作三件事:接收参数、调用业务、使用业务结果渲染页面。Handler、Interceptor 辅助 Controller 解决切面问题,例如权限验证、事务处理等等。
199.树的经常使用遍历方法:
先序遍历:列出目录中的文件名
后序遍历:计算目录所占用的磁盘空间大小
中序遍历:表达式数(左,节点,中)
200.二叉查找树:对于树中的每一个节点X,它的左子树中全部项的值小于X中的值,而它的右子树中全部项的值大于X中的值。
201.javascript的变量默认是全局变量,若是定义变量时不使用关键字var,即使是在一个函数内定义该变量,它也是全局变量。javascript没有块级做用域
202.javascript中的switch语句和其它编程语言的一个主要区别是用来判断的表达式能够是任意类型。
203.javascript中函数的参数传递方式都是按值传递。
204.浏览器提交遵循HTTP协议的文本,文本由Tomcat接收并解析,封装成HttpServletRequest类型的request对象,同时把输出流封装成HttpServletResponse类型的response对象。
205.HTTP中的referer是指从哪一个网页中单击连接到达本页,若是直接输入网址打开的本页面,则为null。
206.Servlet中提供经过getInitParameter(String param)、ServletConfig.getServletConfig()、getInitParameterNames()来获取配置在web.xml中的初始化参数值
207.经过HttpServletResponse.getWriter()得到一个PrintWriter对象,该对象是OutputStream的子类,PrintWriter只能写字符型的数据,若是须要写二进制数据,可使用HttpServletResponse.getOutputStream()。
208.长下文参数ContextParam对于全部的Servlet都可以读取。
209.不管是GET方式仍是POST方式,均可以使用request.getParameter()获取参数值。
210.servlet会在服务器启动或第一次请求该servlet的时候开始生命周期,在服务器结束的时候结束生命周期,不管请求多少次servlet,最多只有一个servlet实例,多个客户端并发请求servlet时,服务器会启动多个线程分别执行该servlet的service()方法。因此servlet不是线程安全的。
服务器加载servlet->servlet构造器->@PostConstruct->init()->Service()->destory()->@PreDestory->服务器卸载servlet
211.使用forward形式跳转servlet时,是服务器端跳转,客户端浏览器的地址不会改变。
当使用redirect跳转servlet时,跳转是在客户端实现的,客户端浏览器实际上请求了2次服务器,第1次获取了重定向状态码与重定向的网址,第2次访问真实地址。
212.若是Tomcat检测到JSP源代码发生了改动,会在下次客户端请求JSP时从新编译JSP,而不须要重启Tomcat.
213.JSP有本身的初始化方法和销毁方法_jspInit()与_jspDestroy().
214.JSP中可使用<%! %>声明方法与属性(全局变量).
215.Java Bean就是普通的Java类,也被称为POJO类,这种类简单到只有私有的属性与对应的getter方法与setter方法。
216.page、request、session、application的范围是依次增大的,设置为page时,只有本页有效,设置为request时,一个request能够经过forward,include等贯穿于若干JSP页面。
217.JSP有9个内置隐藏对象:out request response config session application page pageContext exception
218.(function(){})表示一个匿名函数。function(arg){...}定义了一个参数为arg的匿名函数,而后使用(function(arg){...})(param)来调用这个匿名函数。其中param是传入这个匿名函数的参数。
须要注意与$(function(){})的区别:$(function(){}) 是 $(document).ready(function(){}) 的简写,用来在DOM加载完成以后执行一系列预先定义好的函数。
219.查看某个网站颁发的cookie很简单,在浏览器地址栏输入:javascript:alert(document.cookie)
220.Session须要使用cookie做为识别标志,Session不能依据HTTP链接来判断是否为同一个客户,所以服务器向客户端浏览器发送一个名为JSESSIONID的cookie,Session依据该cookie来识别是否为同一个用户。
221.分库提升数据库写入能力,分表提升数据库查询能力。
业务拆分+分库分表
222.
数字摘要算法:MD五、SHA-一、十六进制编码、Base64编码。
对称加密算法:DES、3DES、AES
非对称加密算法:RSA
223.对称加密与非对称加密结合使用:对称加密快用来加密较长的文件,非对称加密慢但安全性更高,用来给文件密钥加密。
224.RSA算法原理:将两个大素数相乘十分容易,但反过来想要对其乘积进行因式分解却极其困难,所以能够将乘积公开做为加密密钥。
225.签名认证是对非对称加密技术和数字摘要技术的综合运用,指的是将通讯内容的摘要信息使用发送者的私钥进行加密,而后将密文与原文一块儿传输给信息的接收者,接收者经过发送者的公钥解密被加密的摘要的信息,而后使用与发动者相同的摘要算法对接收的内容采用相同的方式产生摘要串,与解密的摘要串进行对比,若是相同,则说明接收到的内容是完整的,在传输过程当中没有瘦到第三方的篡改,不然说明通讯内容已被第三方修改。
常见的数字签名算法:MD5withRSA,SHA1withRSA
226.数字证书一般包含以下内容:
对象的名称(人、服务器、组织)
证书的过时时间
证书的颁发机构
证书颁发机构对证书信息的数字签名
签名算法
对象的公钥。
227.X.509
X.509提供了一种标准的方式,将证书信息规范地存储到一系列可解析的字段当中,X.509 V3是X.509标准目前使用最为普遍的版本。
228.网络用户的数字证书则须要数字证书认证机构(CA)来进行颁发,只有通过CA颁发的数字证书在网络中才具有可认证性。
229.用户在使用数字证书以前必须先安装颁发该证书的根证书,大多数操做系统都会预先安装一些较为权威的证书认证机构的根证书,如VeriSign、GeoTrust等。
230.数字证书管理工具:keytool、OpenSSL
keytool是Java的数字证书管理工具
CSR:数字证书签发申请
231.免费证书认证机构:http://www.cacert.org/
232.OpenSSL包含三个组成部分:SSL协议库、密码算法库、以及各类与之相关的应用程序。