Memory Coldfusion玩具页面内存泄漏

Memory Coldfusion玩具页面内存泄漏,memory,memory-leaks,coldfusion,webserver,coldfusion-11,Memory,Memory Leaks,Coldfusion,Webserver,Coldfusion 11,我刚刚在服务器上设置了一个简短的玩具学习ColdFusion页面。该页面调用CFF函数,该函数获取当前日期,确定年份,然后返回一个布尔值,反映当前年份是否为闰年。此信息以纯文本形式显示在主页上 page.cfm <html> <head> <cfinclude template="./func.cfm" /> </head> <body> <cfset yearList = "2000;2001,2

我刚刚在服务器上设置了一个简短的玩具学习ColdFusion页面。该页面调用CFF函数,该函数获取当前日期,确定年份,然后返回一个布尔值,反映当前年份是否为闰年。此信息以纯文本形式显示在主页上

page.cfm

<html>
<head>
        <cfinclude template="./func.cfm" />
</head>
<body>
        <cfset yearList = "2000;2001,2002/2003,2004,2005;2006/2007,2008,2009;2010,2011,2012" >

        <cfloop index="year" list=#yearList# delimiters=",;/" >

                <cfset isLeapYear = #My_IsLeapYear(year)# >

                <cfif isLeapYear is True>
                        <cfoutput>
                                #year# is a leap year!
                        </cfoutput>

                        <cfelse>
                                <cfoutput>
                                #year# is not a leap year.
                                </cfoutput>
                </cfif>
                <br>
        </cfloop>

</body>
</html>
func.cfm

<cffunction name="My_IsLeapYear" output="false" access="public" returnType="boolean">
        <cfargument name="year" type="numeric" required="true" default="" />
        <cfset var isLeapYear = (DaysInYear(CreateDate(arguments.year,1,1)) EQ 366) />

        <cfreturn isLeapYear>
</cffunction>

试图访问此页面导致了可怕的内存泄漏,并关闭了它所在的服务器。我不知所措。有什么想法吗?

我认为这是一种更快的检查方法:

<cfset yearList = "2000;2001,2002/2003,2004,2005;2006/2007,2008,2009;2010,2011,2012" >

<cfoutput>
<cfloop index="year" list="#yearList#" delimiters=",;/" >
        <p>#year# is <cfif !(val(year) MOD 4 EQ 0)>not </cfif>a leap year!</p>
</cfloop>
</cfoutput>
在page.cfm中,您可以更改此代码:

<cfset isLeapYear = #My_IsLeapYear(year)# >
<cfif isLeapYear is True>
要进行更简单的调用,请执行以下操作:

<cfif My_IsLeapYear(year)>

由于该函数只返回布尔值。

内存泄漏是由一个奇怪的外部问题引起的。谢谢你的评论和建议

您是否已经减少了此代码以排除其中任何一个?故障排除步骤1。从函数中获取代码并将其放入.cfm页面的循环中。查看问题是否仍然存在。没有错误/内存泄漏。这在我这里执行得很好。与您的问题无关,但必需参数的默认值没有任何意义。另外,空字符串不是整数。实际上,这个规则是不正确的。公历有一个奇怪的特点,就是有些年份可以被4整除,而不是闰年。无论如何,这与速度无关。OP是正确的,当年份/100时,它也必须能被4整除。wwu.edu/skywise/leapyear.html,所以1700年、1800年和1900年不是闰年,而1600年和2000年是。很高兴你发现了这一点,但这听起来像是一个局部问题。如果实际的解决方案对其他人没有用处,你应该删除该线程。@Leigh我报告说它被mod删除了。我自己怎么删除它?老实说,我不确定。我认为问题所有者可以看到一个删除选项。如果没有,我想等待mods。
<cfif My_IsLeapYear(year)>