耐着性子,花了半个下午看了这篇博客,觉得总结的实在不错,解决了我很大的疑惑,讲的很全面而且容易理解,因此决定将这篇博客的链接放给大家,也好以后复习的时候可以方便的找到:JAVA虚拟机体系结构 看了这篇博客后印象比较深刻的几个点: JVM的方法区中存储的都是哪些数据。 清晰的解释了什么是常量池解析。 关于Class这个对象的一点知识。 看了这篇博客,再结合之前关于.class文件的那点知识,相信你对类、对象在JVM中是怎么一回事应该有了一个比较深刻的理解。 作者:championhengyi 发表于2017/11/27 21:54:35 原文链接 阅读:34 评论:0 查看评论 继续阅读 >>


董恒毅 17/11/27 21:54:35
什么是主键、外键 关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键。 比如: 学生表(学号,姓名,性别,班级) 其中每个学生的学号是唯一的,学号就是一个主键 课程表(课程编号,课程名,学分) 其中课程编号是唯一的,课程编号就是一个主键 成绩表(学号,课程号,成绩) 成绩表中单一一个属性无法唯一标识一条记录,学号和课程号的组合才可以唯一标识一条记录,所以学号和课程号的属性组是一个主键 成绩表中的学号不是成绩表的主键,但它和学生表中的学号相对应,并且学生表中的学号是学生表的主键,则称成绩表中的学号是学生表的外键。 同理:成绩表中的课程号是课程表的外键。 定义主键和外键主要是为了维护关系数据库的完整性,总结一下: 1.主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄。身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。 继续阅读 >>


董恒毅 17/11/18 20:24:39
什么是索引 索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快100倍。 假设我们创建了一个名为people的表: CREATE TABLE people (peopleid SMALLINT NOT NULL, name CHAR(50) NOT NULL); 然后,我们完全随机把1000个不同name值插入到people表。下图显示了people表所在数据文件的一小部分(在数据文件中name列没有任何明确的次序): 如果我们创建了name列的索引,MySQL将在索引中排序name列: 对于索引中的每一项,MySQL在内部为它保存一个数据文件中实际记录 继续阅读 >>


董恒毅 17/11/16 16:44:37
在看《Spring实战》第七章的时候,需要上传文件,书上说的是将上传的图片保存在/tmp/uploads这个目录下,因此我给项目的根路径下创建了/tmp/uploads这个目录,但是却出现了标题中的错误,经过一番斗争之后,明白了问题的所在。 问题分析 要解决这个问题,我们需要看一下Spring的源码: public class StandardMultipartHttpServletRequest extends AbstractMultipartHttpServletRequest { //中间代码省略 /** * Spring MultipartFile adapter, wrapping a Servlet 3.0 Part object. */ @SuppressWarnings("serial") private static class StandardMultipartFile implements MultipartF 继续阅读 >>


董恒毅 17/11/14 08:52:43
package spittr.model; import org.apache.commons.lang3.builder.EqualsBuilder; import org.apache.commons.lang3.builder.HashCodeBuilder; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; /** * Created by hg_yi on 17-11-7. */ public class Spitter { private Integer id; @NotNull @Size(min=5, max=16, message="{username.size}") private String username; @NotNull @Size(min=5, max=25, message="{pas 继续阅读 >>


董恒毅 17/11/10 10:49:02
原文地址:关于SpringMVC中表单验证无效问题 作者:championhengyi 发表于 2017/11/10 10:23:15 原文链接 http://blog.csdn.net/championhengyi/article/details/78497029 阅读:176 继续阅读 >>


董恒毅 17/11/10 10:23:15
原文地址:SpringMVC中使用bean来接收form表单提交的参数时的注意点 作者:championhengyi 发表于 2017/11/08 23:33:46 原文链接 http://blog.csdn.net/championhengyi/article/details/78484679 阅读:127 继续阅读 >>


董恒毅 17/11/08 23:33:46
原文地址:【intellij idea】Project Structure 讲解 作者:championhengyi 发表于2017/11/6 17:58:12 原文链接 阅读:0 评论:0 查看评论 继续阅读 >>


董恒毅 17/11/06 17:58:12
IDEA报错如下: Caused by: java.lang.ClassNotFoundException: org.apache.commons.dbcp2.BasicDataSource at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1465) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1310) 解决办法: 1.将 org.apache.commons.commons-dbcp2 和 org.apache.commons.commons-pool2 jar包同时添加进pom.xml文件并在Project Structure 的 Artifacts模块中将这两个依赖添加进WEB-INF中的lib下,如图: 这是没有添加进WEB_INF的时候,添加成功后右边的栏目会和并到左边的WEB_INF下的lib中,只要 继续阅读 >>


董恒毅 17/11/06 17:49:28
什么是缓存Cache? 为什么人们要使用它? 一个使用缓存Cache的站点会监听客户端向服务器端发出的请求,并保存服务器端的回应——比如HTML页面、图片等文件。接着,如果再次使用相同URL发送请求,他能够使用之前已经保存下来的反馈文件,而不是再次向服务器发出请求。 有两个主要的理由让人们使用缓存: 减少延迟 — 因为所发出的网页请求是指向更接近客户端的缓存而不再是源服务器端,因此请求所花费时间更短,这让网站看上去反应更快。 降低网络负荷 — 因为缓存文件可以重复使用,节省了不少的带宽.这也给用户省了不少流量. 缓存 Caches种类 浏览器缓存 Caches 浏览器缓存机制,其实主要就是HTTP协议定义的缓存机制(如: Expires; Cache-control等)。 Expires策略(忽略) Expires是Web服务器响应消息头字段,在响应http请求时告诉浏览器在过期时间前浏览器可以直接从浏览器缓存取数据,而无需再次请求。 不过Expires是HTTP 1.0的东西,现在默认浏览器均默认使用 继续阅读 >>


董恒毅 17/11/01 11:46:48