摘要:
在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,HashMap也不例外。HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体。 阅读全文
摘要:
代理模式
代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。
按照代理的创建时期,代理类可以分为两种。
静态代理:由程序员创建或特定工具自动生成源代码,再对其编译。在程序运行前,代理类的.class文件就已经存在了。
动态代理:在程序运行时,运用反射机制动态创建而成。
JDK的动态代理机制只能代理实现了接口的类,而不能实现接口的类就不能实现JDK的动态代理,cglib是针对类来实现代理的,他的原理是对指定的目标类生成一个子类,并覆盖其中方法实现增强,但因为采用的是继承,所以不能对final修饰的类进行代理。 阅读全文
摘要:
我们常通过node app.js方式运行nodejs程序,但总有一些异常或错误导致程序运行停止退出。如何保证node程序的稳定运行? 阅读全文
摘要:
JSP是Servlet的一种特殊形式,每个JSP页面就是一个Servlet实例--JSP页面有系统编译成Servlet,Servlet再负责响应用户请求。 1.JSP注释 <%--注释内容--%> ,与HTML注释<!--注释内容-->不同的是,编译后的HTML页面无法查看到JSP注释内容。 2.J 阅读全文
摘要:
*FilterDispatcher是整个Struts2的调度中心,根据ActionMapper的结果来决定是否处理请求,如果ActionMapper指出该URL应该被Struts2处理,那么它将会执行Action处理,并停止过滤器链上还没有执行的过滤器。 注意:在新的版本中(>2.1.3)使用Str 阅读全文
摘要:
调用Thread.join将会使主调线程堵塞,直到被调用线程运行结束或超时。参数timeout是一个数值类型,表示超时时间,如果未提供该参数,那么主调线程将一直堵塞到被调线程结束。 那为什么要用join()方法? 主线程生成并起动了子线程,而子线程里要进行大量的耗时的运算,当主线程处理完其他的事务后,需要用到子线程的处理结果,这个时候就要用到join();方法了。 示例: ... 阅读全文
摘要:
ExtJS4使用border布局,左边为ExtJS4使用border布局,左边为accordion布局的功能导航菜单,发现当导航菜单面板收缩展开时,右边选项卡面板(TabPanel)中的grid等面板宽度并没有自动变化。 阅读全文
摘要:
MySQL学习笔记_关于MySQL的字符类型VARCHAR长度知识总结一.VARCHAR存储和行长度限制1.VARCHAR(N)中,N指的是字符的长度,VARCHAR类型最大支持65535,指的是65535个字节,但并不支持65535长度的varchar,65535中应该包含了所有字段的长度、变长字段长度标示位、NULL标示位的累计。其中内容开头用1到2个字节表示实际长度(长度超过255时需要2个字节)。所以还有别的开销,实际能存放的长度为65532.(MySQL数据库的varchar类型在5.0.3以下的版本中的最大长度限制为255,其数据范围可以是0~255)2.因为null标示位占用了一 阅读全文
摘要:
MySQL学习笔记_关于MySQL的整数类型字段长度知识总结下表显示MySQL整数类型的存储和范围:MySQL还支持选择在该类型关键字后面的括号内指定整数值的显示宽度(例如,INT(4))。该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度。(类似使用LPAD函数效果)在INT(M) 中, M指示最大显示宽度。最大有效显示宽度是255。显示宽度与存储大小或类型包含的值的范围无关.如果为一个数值列指定ZEROFILL,MySQL自动为该列添加UNSIGNED属性.显示宽度并不限制可以在列内保存的值的范围,也不限制超过列的指定宽度的值的显示。 当结合可选扩展属性ZEROFILL使用 阅读全文
摘要:
MySQL学习笔记_如何选择合适的存储引擎MyISAM:适合用于以select和insert为主,只有很少的update和delete,并且对事务的完整性、并发性要求不是很高的场合。MySQL是在Web、数据仓库和其它应用环境下最常使用的存储引擎之一。InnoDB:用于事务处理应用程序,支持外键。如果应用对事务的完整性有比较高的要求,在并发条件下要求数据的一致性,数据操作除了insert和select以外,还包括很多的update和delete,那么InnoDB存储引擎应是比较合适的选择。InnoDB存储引擎除了有效地降低由于删除和更新导致的锁定,还可以确保事务的完整提交(Commit)和回滚 阅读全文