摘要: 1. 优雅需要付出代价。从短期利益来看,对某个问题提出优雅的解决方法,似乎可能花你更多的时间。但当它终于能够正确执行并可轻易套用于新案例中,不需要花上数以时计,甚至以天计或以月计的辛苦代价时,你会看得到先前所花功夫的回报(即使没有人可以衡量这一点)。这不仅给你一个可更容易开发和调试的程序,也更易于理解和维护。这正是它在金钱上的价值所在。这一点有赖某种人生经验才能够了解,因为当你努力让某一段程序代码变得比较优雅时,你并不是处于一种具生产力的状态下。但是,请抗拒那些催促你赶工的人们,因为那么做只会减缓你的速度罢了。2. 先求能动,再求快。即使你已确定某段程序代码极为重要,而且是系统的重要瓶颈,这个 阅读全文
posted @ 2013-08-30 19:57 子弹哦 阅读(326) 评论(0) 推荐(0)
摘要: Java的数据结构有哪些?Map与Set的本质区别是什么?分析:Java常见的数据结构有Collection和Map,其中Collection接口下包括List和Set接口,其下又有多个实现类如List下有ArrayList、LinkedList和Vector等实现类,Set下有HashSet、LinkedSet等实现类和SortedSet接口,HashSet下有LinkedHashSet子类,SortedSet接口下有TreeSet实现类。Map接口下有HashMap(有LinkedHashMap子类)、HashTable(有Properties子类)实现类和SortedMap接口(有Tre 阅读全文
posted @ 2013-08-25 12:39 子弹哦 阅读(292) 评论(0) 推荐(0)
摘要: Ajax的核心是JavaScript对象XmlHttpRequest。该对象在Internet Explorer 5中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。在创建Web站点时,在客户端执行屏幕更新为用户提供了很大的灵活性。下面是使用Ajax可以完成的功能:* 动态更新购物车的物品总数,无需用户单击Update并等待服务器重新发送整个页面。* 提升站点的性能,这是通过减少从服务器下载的数据量而实现的。例如,在Amazon的购物车页面,当更新篮子中的一项物品的数量时,会重新载入整个页面, 阅读全文
posted @ 2013-08-24 00:04 子弹哦 阅读(173) 评论(0) 推荐(0)
摘要: JDBC API的核心组件:1.DriverManager类:用语跟踪可用的JDBC驱动程序并产生数据库连接。2.Connection接口:用于取得数据库信息、生成数据库语句,并管理数据库事务。3.Statement接口:用于在基层连接上运行SQL语句,并且生成一个结果集。Statement有两个子接口:PreparedStatement和CallableStatement。 PreparedStatement提供了可以与查询信息一起预编译的一种语句类型。 CallableStatement从PreparedStatement继承而来,它用来封装数据库中存储过程的执行。4.ResultSet接 阅读全文
posted @ 2013-08-23 23:51 子弹哦 阅读(1086) 评论(0) 推荐(0)
摘要: 深入研究java.lang.ThreadLocal类一、概述ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。线程局部变量(ThreadLocal)其实的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是Java中一种较为特殊的线程绑定机制,是每一个线程都可以独立地改变自己的副本,而不会和其它线程的副本冲突。从线程的角度看,每个线程都保持一个对其线程局部变量副本的隐式引用,只要线程是活动的并且 Thre 阅读全文
posted @ 2013-08-23 21:22 子弹哦 阅读(135) 评论(0) 推荐(0)
摘要: 早在Java 1.2推出之时,Java平台中就引入了一个新的支持:java.lang.ThreadLocal,给我们在编写多线程程序时提供了一种新的选择。使用这个工具类可以很简洁地编写出优美的多线程程序,虽然ThreadLocal非常有用,但是似乎现在了解它、使用它的朋友还不多。 ThreadLocal是什么 ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是thread local variable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。线程局部变量(ThreadLocal)其实的功用非常... 阅读全文
posted @ 2013-08-23 21:21 子弹哦 阅读(148) 评论(0) 推荐(0)
摘要: forward方式:request.getRequestDispatcher("/somePage.jsp").forwardrequest, response);redirect方式:response.sendRedirect("/somePage.jsp");forward是服务器内部重定向,程序收到请求后重新定向到另一个程序,客户机并不知道;redirect则是服务器收到请求后发送一个状态头给客户,客户将再请求一次,这里多了两次网络通信的来往。当然forward也有缺点,就是forward的页面的路径如果是相对路径就会有些问题了。 forward 阅读全文
posted @ 2013-08-23 13:05 子弹哦 阅读(417) 评论(0) 推荐(0)
摘要: 1.库表关系的复杂度,首先取决于需求,不取决于设计,设计能力强的人,也要遵守库表设计的规范,从巴克斯三个范式上,原则上也要遵守。不能说用了Hibernate,自己的库表设计能力就强了。不能为了用Hibernate,就去一味批判复杂的关系不对。复杂的关系设计对不对,首先取决于是否有复杂的需求,其次才取决于设计者的能力。2. 只要你用的是关系数据库,就必须要明白,为什么叫关系数据库,而不叫面向对象数据库,把面向对象的那些观点,拿到库表设计上,后期维护和调优上,你要担起责任,不能让开发人员替早期决策人员擦屁股。我见过有的人,打着OO和扩展性的旗号,硬生生的把一个表,拆成了三个表,而这三个表,本来,只 阅读全文
posted @ 2013-08-20 20:41 子弹哦 阅读(600) 评论(0) 推荐(2)