2013年7月25日
摘要: 题目描述: 一日,某小学生问作业:“将16分解为若干素数的和,求这些素数积的最大值”。不禁被吓了一跳。怎么小学生的数学题变得这么难了? 细细询问,小学生没学不等式,没学数学归纳法……。那么只能用最笨的办法——穷举,一个个地试的办法来解决。 穷举之道,在于一一举来,不多不少;而不多不少,则在于有条有理,从容不乱。解决方案1(暂只看到这个):1. 由A-G不等式:n个数的算数平均值>=n个数的几何平均值:(a1+a2+a3+....+an)/n >=(a1*a2*a3*...*an)^(1/n).等号仅在a1=a2=...=an取得。在和相等的情况下,原命题变为求(16/n)^n 的最 阅读全文
posted @ 2013-07-25 11:21 在大地画满窗子 阅读(294) 评论(0) 推荐(0) 编辑
  2013年6月5日
摘要: 这个Employee类的构造方法中我们可以预见,如果每次需要查询一个雇员的信息。哪怕是几秒中之前刚刚查询过的,都要重新构建一个实例,这是需要消耗很多时间的。下面是一个对Employee对象进行缓存的缓存器的定义:01import java.lang.ref.ReferenceQueue;02import java.lang.ref.SoftReference;03import java.util.Hashtable;0405public class EmployeeCache {06 static private EmployeeCache cache ; // 一个 Cache实例07 pr 阅读全文
posted @ 2013-06-05 09:34 在大地画满窗子 阅读(201) 评论(0) 推荐(0) 编辑
  2013年3月20日
摘要: 概念 代理模式是常用的Java 设计模式,它的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。按照代理类的创建时期,代理类可分为两种。静态代理类,在编译阶段,要为每个接口设计自己的代理类。动态代理:到执行时,为对象生成代理类,对象可以为任意接口的。静态代理类: 由程序员创建或由特定工具自动生成源代码,再对其编译。在程序运行前,代理类的.class文... 阅读全文
posted @ 2013-03-20 23:49 在大地画满窗子 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 网站开发两年,经验不足,结合楼主的问题,谈一下自己的认识吧1.如楼上所言,mvc只是传统的概念,你不需要一定要把什么什么比作M,什么什么比作V。struts 通过action和xml等的配置,实现了请求的控制,标签等的使用,辅助jsp完成view层的显示。2.spring更像一个容器,它可以结合其他的框架,如struts和hibernate等,当然他有自己的spring MVC框架也。spring的核心概念IOC和AOP,IOC是利用反射,实现各层的解耦(如业务层和数据访问层解耦),也就是在xml里去配置的方式实现。AOP也就是面向切面编程,其实也是利用反射(或者是动态代理),来实现一些共通的 阅读全文
posted @ 2013-03-20 15:46 在大地画满窗子 阅读(182) 评论(0) 推荐(0) 编辑
  2013年3月19日
摘要: 输入一组整数,求出这组数字子序列和中最大值。也就是只要求出最大子序列的和,不必求出最大的那个序列。例如:序列:-2 11 -413 -5 -2,则最大子序列和为20。序列:-6 2 4 -7 5 3 2 -1 6 -9 10 -2,则最大子序列和为16。 1.对这个问题,有一个相对复杂的O(NlogN)的解法,就是使用递归。该方法我们采用“分治策略”(divide-and-conquer)。在我们例子中,最大子序列可能在三个地方出现,或者在左半部,或者在右半部,或者跨越输入数据的中部而占据左右两部分。前两种情况递归求解,第三种情况的最大和可以通过求出前半部分最大和(包含前半部分最后一个元素)以 阅读全文
posted @ 2013-03-19 14:43 在大地画满窗子 阅读(294) 评论(0) 推荐(0) 编辑
  2013年3月11日
摘要: 摘要:对Web服务器的攻击也可以说是形形色色、种类繁多,常见的有挂马、SQL注入、缓冲区溢出、嗅探、利用IIS等针对Webserver漏洞进行攻击。本文结合WEB TOP10漏洞中常见的SQL注入,跨站脚本攻击(XSS),跨站请求伪造(CSRF)攻击的产生原理,介绍相应的防范方法。关键字:SQL注入,XSS,CSRF1.SQL注入 所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。 攻击者通过在应用程序预先定义好的SQL语句结尾加上额外的SQL语句元素,欺骗数据库服务器执行非授权的查询,篡改命令。 它能够轻易的绕过防.. 阅读全文
posted @ 2013-03-11 16:43 在大地画满窗子 阅读(13389) 评论(0) 推荐(1) 编辑
  2013年2月19日
摘要: 我们当时是根据sessionId生成的一个token值,放入表单中。生成方法如下:---------------------------------------- private static SecureRandom secureRandom=null; public static String createToken() { if(secureRandom==null){ String entoropy="LogonSessionEntoropy" + System.currentTimeMillis(); try { secureRandom = SecureRand 阅读全文
posted @ 2013-02-19 15:58 在大地画满窗子 阅读(587) 评论(0) 推荐(0) 编辑
  2013年1月11日
摘要: 通过diffeclipse导出的jar包和ant build的jar包不同,反编译不同的class文件后发现原因。原因:linux和windows换行符不同。代码是在linux平台下写出的,现在windows下编译打包。eclipse导出时,注释代码没能正常换行,影响到了java代码。解决:将代码拷出,再拷入规范换行符或者通过ant build.xml打包。 阅读全文
posted @ 2013-01-11 10:15 在大地画满窗子 阅读(816) 评论(0) 推荐(0) 编辑
  2012年9月4日
摘要: Java语言的一个重要特性是引入了自动的内存管理机制,使得开发人员不用自己来管理应用中的内存。C/C++开发人员需要通过malloc/free和new/delete等函数来显式的分配和释放内存。这对开发人员提出了比较高的要求,容易造成内存访问错误和内存泄露等问题。一个常见的问题是会产生“悬挂引用(dangling references)”,即一个对象引用所指向的内存区块已经被错误的回收并重新分配给新的对象了,程序如果继续使用这个引用的话会造成不可预期的结果。开发人员有可能忘记显式的调用释放内存的函数而造成内存泄露。而自动的内存管理则是把管理内存的任务交给编程语言的运行环境来完成。开发人员并不需 阅读全文
posted @ 2012-09-04 15:19 在大地画满窗子 阅读(789) 评论(0) 推荐(0) 编辑
  2012年8月23日
摘要: 背景:由于之前开发插件的java代码里,中文注释和显示信息都是直接写在java代码中,现在需要将其中的需要做国际化的中文资源提取出来,放到properties文件里,所以写了一个小工具。 思想:应用了状态机模式编程,定义正常状态(NormalState),引号内状态(QuotState),块注释状态(BlockNote),行注释状态(LineNote),四个状态类,定义一个流程控制类(Process),一个数据模型类(DataModel),还有一个Main类(Main)。 废话不多说,上代码。 数据模型类(DataModel)import java.io.BufferedReader... 阅读全文
posted @ 2012-08-23 17:17 在大地画满窗子 阅读(3428) 评论(6) 推荐(1) 编辑