今天一天的学习感受颇深.
上午讲的是数据库连接池.很不错的课题.也是我在写项目时发现的问题的一个解决方案.数据库的访问毕竟是一个不得不面对的问题.使用数据库连接池,免去了不停创建和销毁连接的性能消耗.我感到好奇的是JNDI的使用.所谓的数据库连接池也就是这个InitialContext了.它根据从容器配置文件里读出的属性来创建并持有连接.可以通过lookup(name)方法来获得连接(DataSource).因为使用的是标准实现这里的DataSource和 DriverManager提供的连接是一致的.上网查了查,发现JNDI的用途是很广的.还记得前几天查找IoC的资料,起初强调的都是传统的获取对象的方式是new和JNDI查找.又提出IoC是一种完不同的机制.当时的理解是,对象的创建和维护由容器实现而应用需要时可以请求容器.容器就会给出一个对象.现在看来这和我理解的JNDI又是一致的了.有些疑惑.总之应该是两个概念没有理解透彻.有待理解.
另一个课题是URL重写.之前曾经看到这个名词是在学习Cookie和Session的时候.说Session的实现是基于Cookie的,如果Cookie功能被关闭,Session就必须其他途径来完成.Java创新性的提出了URL重写.而今天,老师讲的功能则是隐藏实现和简化浏览器地址栏继而简化访问.因为是使用其他组件,所以没什么技术可言.但是功能倒是确实很不错.这个对我的启发就是xml文件的使用,可以很灵活的决定程序的流程.将一些变数很大的数据放到XML中,可以减少程序的维护成本.
随着这个课程的深入,总算是有点开窍了.我也开始体会封装的好处.一是今天的连接池学过后就需要改变正在做的论坛项目的数据库连接方式.这里因为对数据库常用操作进行了封装.所以只需要将getConnection()的实现代码改变就可以了.另一个,就要学的那个大框架Spring,从我之前看的资料来看就是为了增强这种"拥抱变化"的能力.为此它做的很复杂.其中的道理倒是不难想通,有所得必有所失嘛. 我们的Java学习小组越来越上正轨了.昨天和今天大家一起吃饭然后上来听小葛将排序算法.就是那么几个人,但是都很认真.这就是我们当初想要的效果了.小组的内容也很不错,小葛准备的相当充分,将堆排序的原理讲的大家都理解了.关于代码实现,那就是今天晚上自己要做的了.我发现这些算法中蕴含着很强的说不出的魅力.比如同是一个数组同是需要排序,直接选择排序显得臃肿,而堆排序显得高效而优雅.我之前看到的所谓"数据结构思维"也有了些体会.一个数组通过将它作为一棵二叉树来对待就可以得出一种新的相对高效的排序算法.大概可以算作数据结构思维的一种解释了吧.
今天将计划的七份简历都投完了.这是劝自己安静的一个方式.七,一个圆满的数字.我还有很重要的课程需要静心学习,还有许多的知识点需要自己去复习.如果因为找工作而延误了现在的事情,可能反而找不到工作.事情就是这么奇妙.我尽了我的力了,如果没有结果,那么等到一个月后再来吧!