发表于: 2018-03-13 20:02:05
3 536
今天完成的事情:
完成了剩余的深度思考,上传任务一代码,提交任务。
11.修真类型应该是直接存储Varchar,还是应该存储int?
我觉得修真类型可以存储为int,int值代表了具体的修真类型。方便以后与其他表进行连接。
12.varchar类型的长度怎么确定?有什么样的原则,和Text和LongText的区别是什么?
char()是固定长度字符串,在定义时指定字符串列长。实际占用空间就是指定的列长。
varchar()是长度可变的字符串,varchar的最大实际长度由最长的行的大小和使用的字符集确定,而其实际占用的空间为字符串的实际长度加一。
char由于长度固定,所以存取效率比varchar高,但是char因为其长度固定,难免有多余空格符浪费空间。而varchar更重视空间资源。
varchar的长度根据实际需求设计。
当varchar的长度超过65535字节后,会自动转换成text,mysql会报warn。
text用于保存非二进制字符串,如文章内容,评论等。text的最大长度为65535字符的text列。而longtext最大长度为4294967295字符的text列。
13.怎么进行分页数据的查询,如何判断是否有下一页?
mysql中利用limit进行分页。mysql应该是用游标记住当前页在数据库中的位置,判断后面还有没有数据,如果有,就还有下一页
14.为什么不可以用Select * from table?
因为会进行全表查询,很浪费时间和资源。只需要查询想要的信息就可以了。
16.Spring中的IOC是什么意思,为什么要用IOC而不是New来创建实例?
IOC就是控制反转,也可以叫做DI依赖注入。spring框架的两大特性之一。任何一个有意义的应用,都会由两个或者更多的类组成,这些类相互之间进行协作来完成特定的业务逻辑。按照传统的做法,每个对象负责管理与自己相互协作的对象(即它所依赖的对象)的引用,这将会导致高度耦合和难以测试的代码。我的理解:spring中所有对象都是一个javabean,都由spring统一管理,对象由spring容器创建,对象之间相互依赖就减少了很多,这就是IOC带来的最大收益松耦合。
17.为什么要使用Interface,而不是直接使用一个实体类来完成任务?Interface和Impl这种方式的好处是什么?
这个我在以前的日报里面写过,就直接贴出来了。
面向接口编程。定义一系列的公用接口,多子类可实现,也就是便于以后扩展,维护和节约有效的时间,相同接口,但是可有不同实现,互不干扰。
比如增加用户方法,dao接口定义add方法,可以写两个具体类实现它,一个使用mysql,一个使用orcal,java多态性
1.根据客户提出的需求提出来,作为接口的;业务具体实现是通过实现接口类来完成的。
2.当客户提出新的需求时,只需编写该需求业务逻辑新的实现类。
3.假如采用了这种模式,业务逻辑更加清晰,增强代码可读性,扩展性,可维护性。
4.接口和实现分离,适合团队协作开发。
5.实现松散耦合的系统,便于以后升级,扩展。
18.为什么要处理异常,Try/Catch应该在什么样的场景下使用,在真实的系统中,会出现网络中断,DB连接不上的错误吗?多久会发 生一次?
try/catch用来处理业务逻辑的错误处理。比如404,500等错误,给用户跳转到错误页面。网络中断,用户无法访问服务器。本地服务器链接本地数据库不需要网络。
19.日志应该怎么打,在什么位置,需要打印出来什么样的关键参数?
在业务执行中,每一个步骤判断执行成功与否都要打日志,对于异常,视情况记录日志并进行相应处理。 需要打印出当前执行操作的如id,正在操作的对象,异常的具体内容等等。
20.为什么需要单步调试?Debug的时候IDE是怎么找到源码的?
单步调试可以看到代码每一步执行的过程,根据变量的值,找出我们想看到的问题。
21.可否远程连接到线上直接调试?真实的项目中,遇到问题的排查方案是什么?
在本地写程序时,如果程序出了问题了,可以依靠日志信息去调试,修改,测试等。
个人猜测,真实的项目中简单的bug可以远程连接进行调试的。
提交任务一。
明天要做的事:
开始任务二
遇到的问题:
null
评论