摘要: 最近有很多人 呼吁 要在JAVA的新版本中引入闭包。那么JAVA 或者说 OOPL (面向对象编程语言)需要引入闭包吗,有了对象还需要闭包吗?收先先了解一下什么是闭包, 闭包 是可以包含自由(未绑定)变量 的代码块;这些变量不是在这个代码块或者任何全局上下文中定义的,而是在定义代码块的环境中定义。“闭包” 一词来源于以下两者的结合:要执行的代码块(由于自由变量的存在,相关变量引用没有释放)和为自由变量提供绑定的计算环境(作用域)。可能上面的定义有点晦涩,下面看一下《Python核心编程》 对闭包 的解释。 如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部... 阅读全文
posted @ 2013-03-01 18:13 寂静沙滩 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 一、内部类 将一个类定义在另一个类的里面,对里面那个类就称为内部类(内置类,嵌套类)访问特点: 非static内部类可以直接访问外部类中的成员,包括私有成员。 原因: 因为内部类中持有了一个外部类的引用, 引用的格式为: 外部类名.this非静态内部类不能定义static成员二、非静态内部类的分类1、 内部类定义在外部类的成员位置上(方法外部): 1>可以被private 、 static 成员修饰符修饰。 被Private修饰: 将内部类在外部类中进行封装。 被static修饰的内部类只能访问外部类中的静态成员,出现了访问权限、 2>在外部其它类中创建非static内部类的实例变 阅读全文
posted @ 2013-03-01 16:28 寂静沙滩 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 创建型: 1. 单件模式(Singleton Pattern) 2. 抽象工厂(Abstract Factory) 3. 建造者模式(Builder) 4. 工厂方法模式(Factory Method) 5. 原型模式(Prototype) 结构型: 6. 适配器模式(Adapter Pattern) 7. 桥接模式(Bridge Pattern) 8. 装饰模式(Decorator Pattern) 9. 组合模式(Composite Pattern) 10. 外观模式(Facade Pattern) 11. 享元模式(Flyweight Pattern) 12. 代... 阅读全文
posted @ 2013-03-01 14:19 寂静沙滩 阅读(369) 评论(0) 推荐(0) 编辑
摘要: 华为甲方领导一拍脑门想要统计每个产品的浏览量记录,想把每个产品的页面浏览流量(字节数)记录下来,放入数据库.想以后管浏览这些信息的人收费。初步设想:1 继承HttpServletResponse类,写一个可获得输出流大小的类2 配置编写过滤器,使用自己的Response,成功获得输出流大小 3 根据httpHeader :Referer 判断承载页面的url,必须是要统计的页面才进行拦截,统计静态文件大小 4 设计一个承载操作信息Map,在action端放入Session,详情如下。每次操作取出count加1,如果session消失了,从0开始。 Map.put("dataBean& 阅读全文
posted @ 2013-03-01 10:33 寂静沙滩 阅读(806) 评论(0) 推荐(0) 编辑
摘要: 1 项目上线之后,出现了无法定位的bug,有时出现有时不出现,认为是负载均衡的某一台服务器的问题,就单边访问挨个服务器测试,终于在一台服务器上问题重现了。所以负载均衡时,单边测试是必须优先就考虑到的。2在方法中所有传入的参数都要做非null验证,加强程序的健壮性。if(arg.eaqul("test"))应该写成if("test".eaqul(arg)),这样就不会出现变量为null时候的空指针异常了。 阅读全文
posted @ 2013-03-01 10:32 寂静沙滩 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 标题党 阅读全文
posted @ 2013-03-01 10:31 寂静沙滩 阅读(835) 评论(1) 推荐(0) 编辑
摘要: 整个网站访问不了,后台日志内存溢出,提出了个致命单,找到问题后,整理成了案例,供培训使用。原因:流量统计FlowUtil类使用两个static的List来装载流量信息实体bean。 用户每次点击都会将一个产生一个bean并加入到第一个List1中,当List1里的bean到一定数量时(可在后台配置缓存大小),List1将所有的实体bean复制到 List2中,然后List1清空继续接收新的bean,这时List2开启一个新线程异步去将bean插入数据库,然后清空。Method add(bean){list1.add(bean); if (list1.size() >= cacheSize 阅读全文
posted @ 2013-03-01 10:30 寂静沙滩 阅读(4946) 评论(0) 推荐(0) 编辑
摘要: 公司搜索引擎是买的英国autonomy的技术,然后用lua脚本进行二次开发,lua是一个优秀的嵌入式脚本,非常小,和c能很好的通讯,魔兽世界的插件就是用这个写的。 阅读全文
posted @ 2013-03-01 10:26 寂静沙滩 阅读(203) 评论(1) 推荐(0) 编辑
摘要: 今天在做Spring AOP练习的时候,用经典方法。创建代理对象的时候直接使用类路径,使用这样的方式<bean id="humanProxy" class="org.springframework.aop.framework.ProxyFactoryBean"> <property name="target" value="test.spring.aop.bean.Human" /> <property name="interceptorNames" value=& 阅读全文
posted @ 2013-03-01 10:24 寂静沙滩 阅读(9878) 评论(0) 推荐(0) 编辑