• 关于

    错误代码含义

    的搜索结果

问题

机器翻译有哪些错误代码,分别代表什么含义?

保持可爱mmm 2020-03-27 14:56:10 1 浏览量 回答数 1

问题

signature timestamp nonceURL不合法。错误代码:71009 查看错误代码含义

极速培训 2019-12-01 21:15:32 2593 浏览量 回答数 2

回答

Resignature timestamp nonceURL不合法。错误代码:71009 查看错误代码含义 是的,就是用的 咱们的demo

极速培训 2019-12-02 01:58:23 0 浏览量 回答数 0

阿里云试用中心,为您提供0门槛上云实践机会!

0元试用32+款产品,最高免费12个月!拨打95187-1,咨询专业上云建议!

问题

套件问题

诺诺ev 2019-12-01 21:38:36 3040 浏览量 回答数 2

问题

创建钉钉套件问题

诺诺ev 2019-12-01 21:35:49 3374 浏览量 回答数 1

回答

ReISV创建套件验证url提示返回文本非success 我的也不好使,跟你一样的错误,就提示“URL不合法。错误代码:71009 查看错误代码含义” 我是。net开发的 ,用一个ashx页面回传在下面的事件里 public void ProcessRequest(HttpContext context) { // result就是加密后,生成的json串,   context.Response.Write(result); } 这样的回调url不好使吗?

shilyding 2019-12-02 02:13:50 0 浏览量 回答数 0

问题

错误代码含义

2019-12-01 18:40:01 206 浏览量 回答数 1

问题

一个获取电脑的CPU信息php函数的问题

吴孟桥 2019-12-01 19:47:53 1066 浏览量 回答数 1

问题

SDK异常的两种类型

云栖大讲堂 2019-12-01 21:09:34 1217 浏览量 回答数 0

回答

一般来说配置是指写在配置文件中的配置,而JFinal采用了代码API引导式设置(可不称为配置而是设置),所以JFinal可以达到零配置。但有些配置是非常有必要的,例如数据库用户名与密码,这种情况的确使用配置文件更方便,所以JFinal在JFinalConfig中配备了loadPropertyFile(...),以及getProperty(...)加载外部属性文件并获取值,从而满足这种个别要求。除此之外,JFinal提倡无配置文件。相对于struts使用大量的xml进行配置,JFinal更时省力。 ######另外,楼主可以关注一下JFinal的代码API引导式设置,可以试用一下。首先,eclipse有代码提示功能,这样在设置配置项的时候,可以不需要记忆有哪些配置项。其次API的方法名、方法参数、方法类型、方法注释可以很明确地说明该配置的含义,使用起来很舒服。再次,JFinal采用代码API引导式配置不用担心手误的问题,因为eclipse会提供代码检查,如果设置有语法错误会有错误提提示,而xml配置至少有如下缺点:1:手误的问题一般要运行时才能发现,除非编辑器支持该xml并有错误提示。2:需要记忆配置项的含义。3:xml标记增加了配置内容,冗长。######在用eclipse的前提下,xml一样有检查,一样提示,一样自动补全。DTD又不是写着玩的。###### @像风一样自由_wei : 写错了,呵呵,是时间代价,写成时间代码了,难怪这位哥儿说鸡同鸭讲 :)###### @像风一样自由_wei : 相比xml俺更愿意写代码,厌倦了xml###### @JFinal ......算了吧,鸡同鸭讲######写dtd是需要付出时间代码的,而且写起来很麻烦。另外在没有dtd的情况下就不会有提示了 :)

kun坤 2020-06-08 11:28:57 0 浏览量 回答数 0

回答

一般来说配置是指写在配置文件中的配置,而JFinal采用了代码API引导式设置(可不称为配置而是设置),所以JFinal可以达到零配置。但有些配置是非常有必要的,例如数据库用户名与密码,这种情况的确使用配置文件更方便,所以JFinal在JFinalConfig中配备了loadPropertyFile(...),以及getProperty(...)加载外部属性文件并获取值,从而满足这种个别要求。除此之外,JFinal提倡无配置文件。相对于struts使用大量的xml进行配置,JFinal更时省力。 ######另外,楼主可以关注一下JFinal的代码API引导式设置,可以试用一下。首先,eclipse有代码提示功能,这样在设置配置项的时候,可以不需要记忆有哪些配置项。其次API的方法名、方法参数、方法类型、方法注释可以很明确地说明该配置的含义,使用起来很舒服。再次,JFinal采用代码API引导式配置不用担心手误的问题,因为eclipse会提供代码检查,如果设置有语法错误会有错误提提示,而xml配置至少有如下缺点:1:手误的问题一般要运行时才能发现,除非编辑器支持该xml并有错误提示。2:需要记忆配置项的含义。3:xml标记增加了配置内容,冗长。######在用eclipse的前提下,xml一样有检查,一样提示,一样自动补全。DTD又不是写着玩的。###### @像风一样自由_wei : 写错了,呵呵,是时间代价,写成时间代码了,难怪这位哥儿说鸡同鸭讲 :)###### @像风一样自由_wei : 相比xml俺更愿意写代码,厌倦了xml###### @JFinal ......算了吧,鸡同鸭讲######写dtd是需要付出时间代码的,而且写起来很麻烦。另外在没有dtd的情况下就不会有提示了 :)

montos 2020-05-30 13:57:48 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档该错误含义为:用户发出请求的时间(由请求中携带的Timestamp参数标识)和服务器接收到请求的时间之差不在15分钟内。一般出现该错误都是因为调用代码中时间/时区设置有误导致,请检查下相关设置是否正确。如果需要协助,可通过钉钉群和工单方式联系技术支持。

2019-12-01 23:32:21 0 浏览量 回答数 0

问题

云监控站点监控状态码说明

反向一觉 2019-12-01 21:24:39 1532 浏览量 回答数 0

回答

域名不能正确解析可以更换其它的dns服务器,在百度搜索“公用dns”,选一个就行了 IIS状态代码的含义 概要 当用户试图通过HTTP或文件传输协议(FTP)访问一台正在运行Internet信息服务(IIS)的服务器上的内容时,IIS返回一个表示该请求的状态的数字代码。该状态代码记录在IIS日志中,同时也可能在Web浏览器或FTP客户端显示。状态代码可以指明具体请求是否已成功,还可以揭示请求失败的确切原因。 更多信息 日志文件的位置 在默认状态下,IIS把它的日志文件放在%WINDIR\System32\Logfiles文件夹中。每个万维网(WWW)站点和FTP站点在该目录下都有一个单独的目录。在默认状态下,每天都会在这些目录下创建日志文件,并用日期给日志文件命名(例如,exYYMMDD.log)。 HTTP 1xx-信息提示 这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个1xx响应。 100-继续。 101-切换协议。 2xx-成功 这类状态代码表明服务器成功地接受了客户端请求。 200-确定。客户端请求已成功。 201-已创建。 202-已接受。 203-非权威性信息。 204-无内容。 205-重置内容。 206-部分内容。 3xx-重定向 客户端浏览器必须采取更多操作来实现请求。例如,浏览器可能不得不请求服务器上的不同的页面,或通过代理服务器重复该请求。 301-对象已永久移走,即永久重定向。 302-对象已临时移动。 304-未修改。 307-临时重定向。 4xx-客户端错误 发生错误,客户端似乎有问题。例如,客户端请求不存在的页面,客户端未提供有效的身份验证信息。400-错误的请求。 401-访问被拒绝。IIS定义了许多不同的401错误,它们指明更为具体的错误原因。这些具体的错误代码在浏览器中显示,但不在IIS日志中显示: 401.1-登录失败。 401.2-服务器配置导致登录失败。 401.3-由于ACL对资源的限制而未获得授权。 401.4-筛选器授权失败。 401.5-ISAPI/CGI应用程序授权失败。 401.7–访问被Web服务器上的URL授权策略拒绝。这个错误代码为IIS6.0所专用。 403-禁止访问:IIS定义了许多不同的403错误,它们指明更为具体的错误原因: 403.1-执行访问被禁止。 403.2-读访问被禁止。 403.3-写访问被禁止。 403.4-要求SSL。 403.5-要求SSL128。 403.6-IP地址被拒绝。 403.7-要求客户端证书。 403.8-站点访问被拒绝。 403.9-用户数过多。 403.10-配置无效。 403.11-密码更改。 403.12-拒绝访问映射表。 403.13-客户端证书被吊销。 403.14-拒绝目录列表。 403.15-超出客户端访问许可。 403.16-客户端证书不受信任或无效。 403.17-客户端证书已过期或尚未生效。 403.18-在当前的应用程序池中不能执行所请求的URL。这个错误代码为IIS6.0所专用。 403.19-不能为这个应用程序池中的客户端执行CGI。这个错误代码为IIS6.0所专用。 403.20-Passport登录失败。这个错误代码为IIS6.0所专用。 404-未找到。 404.0-(无)–没有找到文件或目录。 404.1-无法在所请求的端口上访问Web站点。 404.2-Web服务扩展锁定策略阻止本请求。 404.3-MIME映射策略阻止本请求。 405-用来访问本页面的HTTP谓词不被允许(方法不被允许) 406-客户端浏览器不接受所请求页面的MIME类型。 407-要求进行代理身份验证。 412-前提条件失败。 413–请求实体太大。 414-请求URI太长。 415–不支持的媒体类型。 416–所请求的范围无法满足。 417–执行失败。 423–锁定的错误。 5xx-服务器错误 服务器由于遇到错误而不能完成该请求。 500-内部服务器错误。 500.12-应用程序正忙于在Web服务器上重新启动。 500.13-Web服务器太忙。 500.15-不允许直接请求Global.asa。 500.16–UNC授权凭据不正确。这个错误代码为IIS6.0所专用。 500.18–URL授权存储不能打开。这个错误代码为IIS6.0所专用。 500.100-内部ASP错误。 501-页眉值指定了未实现的配置。 502-Web服务器用作网关或代理服务器时收到了无效响应。 502.1-CGI应用程序超时。 502.2-CGI应用程序出错。application. 503-服务不可用。这个错误代码为IIS6.0所专用。 504-网关超时。 505-HTTP版本不受支持。 FTP 1xx-肯定的初步答复 这些状态代码指示一项操作已经成功开始,但客户端希望在继续操作新命令前得到另一个答复。 110重新启动标记答复。 120服务已就绪,在nnn分钟后开始。 125数据连接已打开,正在开始传输。 150文件状态正常,准备打开数据连接。 2xx-肯定的完成答复 一项操作已经成功完成。客户端可以执行新命令。200命令确定。 202未执行命令,站点上的命令过多。 211系统状态,或系统帮助答复。 212目录状态。 213文件状态。 214帮助消息。 215NAME系统类型,其中,NAME是AssignedNumbers文档中所列的正式系统名称。 220服务就绪,可以执行新用户的请求。 221服务关闭控制连接。如果适当,请注销。 225数据连接打开,没有进行中的传输。 226关闭数据连接。请求的文件操作已成功(例如,传输文件或放弃文件)。 227进入被动模式(h1,h2,h3,h4,p1,p2)。 230用户已登录,继续进行。 250请求的文件操作正确,已完成。 257已创建“PATHNAME”。 3xx-肯定的中间答复 该命令已成功,但服务器需要更多来自客户端的信息以完成对请求的处理。331用户名正确,需要密码。 332需要登录帐户。 350请求的文件操作正在等待进一步的信息。 4xx-瞬态否定的完成答复 该命令不成功,但错误是暂时的。如果客户端重试命令,可能会执行成功。421服务不可用,正在关闭控制连接。如果服务确定它必须关闭,将向任何命令发送这一应答。 425无法打开数据连接。 426Connectionclosed;transferaborted. 450未执行请求的文件操作。文件不可用(例如,文件繁忙)。 451请求的操作异常终止:正在处理本地错误。 452未执行请求的操作。系统存储空间不够。 5xx-永久性否定的完成答复 该命令不成功,错误是永久性的。如果客户端重试命令,将再次出现同样的错误。500语法错误,命令无法识别。这可能包括诸如命令行太长之类的错误。 501在参数中有语法错误。 502未执行命令。 503错误的命令序列。 504未执行该参数的命令。 530未登录。 532存储文件需要帐户。 550未执行请求的操作。文件不可用(例如,未找到文件,没有访问权限)。 551请求的操作异常终止:未知的页面类型。 552请求的文件操作异常终止:超出存储分配(对于当前目录或数据集)。 553未执行请求的操作。不允许的文件名。 常见的FTP状态代码及其原因 150-FTP使用两个端口:21用于发送命令,20用于发送数据。状态代码150表示服务器准备在端口20上打开新连接,发送一些数据。 226-命令在端口20上打开数据连接以执行操作,如传输文件。该操作成功完成,数据连接已关闭。 230-客户端发送正确的密码后,显示该状态代码。它表示用户已成功登录。 331-客户端发送用户名后,显示该状态代码。无论所提供的用户名是否为系统中的有效帐户,都将显示该状态代码。 426-命令打开数据连接以执行操作,但该操作已被取消,数据连接已关闭。 530-该状态代码表示用户无法登录,因为用户名和密码组合无效。如果使用某个用户帐户登录,可能键入错误的用户名或密码,也可能选择只允许匿名访问。如果使用匿名帐户登录,IIS的配置可能拒绝匿名访问。 550-命令未被执行,因为指定的文件不可用。例如,要GET的文件并不存在,或试图将文件PUT到您没有写入权限的目录。 答案来源网络,供参考,希望对您有帮助

问问小秘 2019-12-02 03:01:30 0 浏览量 回答数 0

问题

测试平台对持续集成的支持(之一)——概述

云效平台 2019-12-01 21:17:53 3164 浏览量 回答数 1

回答

有时您的PDO代码会产生类似Call to a member function execute()或类似的错误。甚至没有任何错误,但查询不能完全一样。这意味着您的查询无法执行。 每次查询失败,MySQL都会显示一条错误消息,说明原因。不幸的是,默认情况下,此类错误不会转移到PHP,并且您所拥有的只是上面提到的无提示或神秘的错误消息。因此,配置PHP和PDO报告MySQL错误非常重要。一旦收到错误消息,解决该问题将变得很容易。 为了获得有关该问题的详细信息,请在连接后立即在代码中添加以下行 $dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); ($dbh您的PDO实例变量的名称在哪里)或-更好-将此参数添加为连接选项。之后,所有数据库错误都将转换为PDO异常,如果不理会这些异常,则它们将像常规的PHP错误一样起作用。 如果发生某些特定错误,则极有可能不会引发异常。如果您的query()/ prepare()或execute()通话返回,false但没有例外,请PDO::errorInfo()像这样检查, trigger_error("PDO errorInfo: ".$dbh->errorInfo()); 得到错误消息后,您必须阅读并理解它。听起来似乎太明显了,但是学习者经常忽略错误消息的含义。但大多数情况下,它可以很直接地说明问题: 说,如果它说一个特定的表不存在,则必须检查拼写,错字,字母大小写。另外,您还必须确保您的PHP脚本连接到正确的数据库 或者,如果显示SQL语法有错误,则必须检查SQL。问题点就在错误消息中引用的查询部分之前。 您还必须信任错误消息。如果它说令牌的数量与绑定变量的数量不匹配,那就是。缺少表或列也是如此。如果有选择,无论是您自己的错误还是错误消息是错误的,请始终坚持前者。再次听起来是屈尊的,但是这个站点上的数百个问题证明了此建议非常有用。 请注意,为了查看PDO错误,您通常必须能够查看PHP错误。为此,您必须根据站点环境配置PHP: 在开发服务器上,很容易在屏幕上显示错误,因此必须打开显示错误: error_reporting(E_ALL); ini_set('display_errors',1); 在实时站点上时,必须记录所有错误,但永远不要显示给客户端。为此,可以这样配置PHP: error_reporting(E_ALL); ini_set('display_errors', 0); ini_set('log_errors', 1); 请注意,error_reporting应始终将其设置为E_ALL。 还要注意,尽管存在常见的妄想,但错误报告无需使用try-catch。PHP将以一种更好的形式报告您的PDO错误。未捕获的异常对于开发非常有用,但是如果您要显示自定义的错误页面,仍然不要为此使用try catch,而只需设置自定义错误处理程序即可。简而言之,您不必将PDO错误视为特殊错误,而是将它们视为代码中的任何其他错误。 PS 有时没有错误,但也没有结果。那就意味着,没有符合您条件的数据。因此,即使您可以保证数据和标准都正确,您也必须承认这一事实。他们不是。您必须再次检查它们。我有一篇文章,《如何调试与PDO的数据库交互》,可以对此提供帮助。只需按照此说明逐步进行操作,即可解决您的问题或对堆栈溢出有一个可解答的问题。来源:stack overflow

保持可爱mmm 2020-05-08 09:54:51 0 浏览量 回答数 0

回答

< IMG SRC="中文图片.jpg" WIDTH="77" HEIGHT="80" BORDER=0 ALT="" >或 < a href="中文.jsp">中文文件名< / a>或 http://127.0.0.1:8080/中文.[扩展名]通常在以上三种情况下,Tomcat5服务器会报告找不到文件的错误。探其原因主要是编码的问题,因为Tomcat5的http Connector所用的URI解码默认用的是 ISO-8859-1,而一般浏览器默认用的发送编码为UTF-8,这样问题就出现了,初步的解决方法如下:在server.xml中类似如下配置:复制代码 代码如下: < Connector port="8080" …… URIEncoding="UTF-8" / > 其中URIEncoding="UTF-8" 这项,其含义是指定URI的编码为:UTF-8。在后面加上这一项后问题就可以解决了。

我的中国 2019-12-02 01:33:32 0 浏览量 回答数 0

问题

signature timestamp nonceURL不合法。错误代码:71009 查看错误代码含义

极速培训 2019-12-01 21:15:31 2638 浏览量 回答数 1

回答

不良的编程习惯TOP1:粘贴复制 在学生时代,我们都知道抄袭是不对的。但在工作中,这方面的规则还很模糊。虽然有些代码块是不能盗用的——不要把专有代码拷贝到你的堆栈中,尤其是这些代码有标记版权信息。这种时候你应该编写自己的版本,老板付你薪水就是要做正事的。 但是当原始创作者想要共享代码时,问题就变得复杂了。这些共享代码也许放到了某个在线编程论坛上,也许它们是带有许可证(BSD,MIT)的开放源代码,允许使用一到三个函数。你使用这些共享代码是没有问题的,而且你上班是为了解决问题,而不是重新发明轮子。 大多数情况下,复制代码的优势非常明显,小心对待的话问题也不大。至少那些从靠谱的来源获得的代码已经被大致“检查“过了。 问题的复杂之处在于,这些共享代码是否存在一些未发现的错误,代码的用途或底层数据是否存在一些特别的假设。也许你的代码混入了空指针,而原始代码从未检查过。如果你能解决这些问题,那么就可以理解为你的老板得到了两位程序员共同努力的成果。这就是某种形式的结对编程,而且用不着什么高大上的办公桌。 不良的编程习惯TOP2:非函数式代码 在过去十年间,函数范式愈加流行。喜欢用嵌套函数调用来构建程序的人们引用了很多研究成果。这些研究表明,与旧式的变量和循环相比,函数式编程代码更安全,错误更少,而且可以随程序员的喜好任意组合在一起。粉丝们十分追捧函数式编程,还会在代码审查和拉取请求中诋毁非函数式方法。关于这种方法的优势,他们的观点其实并没有错。 但有时你需要的仅仅是一卷胶带而已。精心设计并细心计划的代码需要花费很多时间,不仅需要花费时间想象,还需要构建和之后导航的时间。这些都增加了复杂性,并且会花费很多的时间与精力。开发漂亮的函数式代码需要提前做计划,还要确保所有数据都通过正确的途径传递。有时找出并更改变量会简单得多,可能再加个注释说明一下就够了。就算要在注释中为之后的程序员致以冗长而难懂的歉意,也比重新设计整个系统,把它扳回正轨上要省事得多。 不良的编程习惯第 3 位:非标准间距 软件中的大多数空格都不会影响程序的性能。除少数使用间距指示代码块的语言(如 Python)外,大多数空格对程序行为的影响为零。尽管如此,仍然有一些得了强迫症的程序员会数空格,并坚持认为它们很重要。曾有这样一位程序员以最严肃的口吻告诉我的老板,说我正在写“非标准代码”,还说他一眼就看出来了。我的错咯?因为我没在等号的两侧放置空格,违反了 ESLint space-infix-ops 规则[1]。 有时候你只要操心那些更深层的内容就行了,谁管什么空格的位置。也许你担心数据库过载,也许你担心空指针可能会让你的代码崩溃。一套代码中,几乎所有的部分都比空格更重要,就算那些喜欢走形式的标准委员会写出来一大堆规则来限制这些空格或制表符的位置,那又如何呢。 令人欣喜的是,网上可以找到一些很好用的工具来自动重新格式化你的代码,让你的代码遵守所有精心定义的 linting 规则。人类不应该在这种事情上浪费时间和脑细胞。如果这些规则这么重要,我们就应该用工具来解决这些问题。 不良的编程习惯第 4 位:使用 goto 禁止使用 goto 的规则可以追溯到许多结构化编程工具还没有出现的时代。如果程序员想创建一个循环或跳转到另一个例程,则需要键入 goto,后跟一个行号。多年之后,编译器团队开始允许程序员使用字符串标签来代替行号。这在当时被认为是一项热门的新特性。 有的人把这样做法的结果称为“意大利面条式代码”。因为以后没人能读懂你的代码,没人搞得清楚执行路径。成为一团混乱的线程,缠结在一起。Edsger Dijkstra 写过一篇题为“我们认为 goto 声明是有害的”的一篇文章[2],号召大家拒绝使用这个命令。 但是绝对分支并不是问题所在,问题在于它产生的那堆纠缠的结果。一般来说,精心设计的 break 或 return 能提供有关该位置的代码执行情况的非常清晰的陈述。有时,将 goto 添加到一个 case 语句中所生成的东西与联 if-then-else 块的相比,结构更正确的列表理解起来更容易。 也有反例。苹果 SSL 堆栈中的“goto fail”安全漏洞[3]就是一个很好的例子。但是,如果我们谨慎地避免 case 语句和循环中出现的一些问题,我们就可以插入很好用的绝对跳转,使代码读者更容易理解正在发生的事情。有时我们可以放一个 break 或 return,不仅更简洁,而且大家读起来更愉快,除了那些讨厌 goto 的人们。 不良的编程习惯第 5 位:不声明类型 热爱类型化语言的人们有他们的理由。当我们为每个变量的数据类型添加清晰的声明时,我们会编写更好,错误更少的代码。花点时间来阐明类型,就可以帮助编译器在代码开始运行之前标记出愚蠢的错误。这可能会很痛苦,但也会有回报。这是一种编程的笨办法,就是为了避免错误。 时代变了。许多较新的编译器已经足够聪明了,它们可以在查看代码时推断出类型。它们可以在代码中前后移动,最后确认变量应该是 string 或 int,抑或是其他类型。而且,如果推断出来的这些类型没法对齐,则编译器会给出错误标志。它们不需要我们再类型化变量了。 换句话说,我们可以省略一些最简单的声明,然后就能轻松节省一些时间了。代码变得更简洁,代码读者也往往能猜出 for 循环中名为 i 的变量是一个整数。 不良的编程习惯第 6 位:溜溜球代码 程序员喜欢将其称为“yo-yo 代码”。首先,这些值将存储为字符串,然后将它们解析为整数,接下来将它们转换回字符串。这种方法效率极低。你几乎能感受到一大堆额外负载让 CPU 不堪重负的样子。能快速编写代码的聪明程序员会调整自己的代码架构,以最大程度地减少转换。因为他们安排好了计划,他们的代码也能跑得更快。 但不管你信不信,有时溜溜球代码也是有意义的。有的时候,你需要用一个可以在自己的黑匣子里搞定一大堆智能操作的库。有的老板花了很多钱,请好多天才做出来这么一个库。如果这个库需要字符串形式的数据,那么你就得给它字符串,就算你最近刚把数据转换为整数也得再转回去。 当然,你可以重写所有代码以最大程度地减少转换,但这会花费一些时间。有时,代码多运行一分钟、一小时、一天甚至一周也是可以接受的,因为重写代码会花费更多时间。有时候,增加技术债务要比重新建立一笔技术债的成本更低些。 有时这种库里面不是专有代码,而是你很久以前编写的代码。有时,转换一次数据要比重写该库中的所有内容更省事。这种时候你就可以编写悠悠球代码了,不要怕,我们都遇到过这种事情。 不良的编程习惯第7位:编写自己的数据结构 有一条标准规则是,程序员在大二学完数据结构课程后,再也不要编写用于存储数据的代码了。已经有人编写过了我们所需要的所有数据结构,并且他们的代码经过了多年的测试和重新测试。这些结构与语言打包在一起,还可能是免费的。你自己写的代码只会是一堆错误。 但有的时候数据结构库的速度有点缓慢。有时候我们被迫使用的标准结构并不适合我们自己的代码。有时,库会要求我们在使用它的结构之前重新配置数据。有时,这些库带有笨重的保护,还有一些诸如线程锁定之类的特性,而我们的代码并不需要它们。 发生这种情况时就该编写我们自己的数据结构了。有时我们自己的结构会快很多,还可能让我们的代码更整洁,因为我们不需要一大堆额外的代码来重新精确地格式化数据。 不良的编程习惯第 8 位:老式循环 很久以前,创建 C 语言的某人想将所有抽象可能性封装在一个简单的构造中。这个构造开始时要做一些事情,每次循环都要做一些事情,所有事情都完成时还有一些方法来提示我们。当时,这似乎是一种拥有无限可能性的完美语法。 此一时彼一时,如今一些现代评论者只看到了其中的麻烦,发生的事情太多了,所有这些可能性既可能向善也可能作恶。这种构造让阅读和理解代码变得非常困难。他们喜欢更加函数式的的范式,其中没有循环,只有应用到列表的函数,还有映射到某些数据的计算模板。 有时无循环方法更简洁,尤其是当我们只有一个简单的函数和一个数组的时候。但还有些时候,老式的循环要简单得多,因为它可以做更多事情。例如,当你找到第一个匹配项后就立刻停止搜索,这样的代码就简单得多。 此外,要对数据执行多项操作时,映射函数会要求更严格的编码。假设你要对每个数字取绝对值,然后取平方根,最快的方案是先映射第一个函数,然后映射第二个函数,将数据循环两次。 不良的编程习惯第 9 位:在中间打破循环 从有一天开始,一个规则制定小组宣布每个循环都应该有一个“不变项”,就是一个在整个循环中都为真的逻辑语句。当不变量不再为真时,循环就结束了。这是处理复杂循环的好方法,但会带来一些令人抓狂的约束,例如禁止我们在循环中间使用 return 或 break。这条规则是禁止 goto 语句规则的子集。 这个理论很不错,但它通常会导致代码变得更复杂。考虑以下这种简单的情况,其中会扫描一个数组,找出通过测试的一个条目: while (i<a.length){ ... if (test(a[i]) then return a[i]; ... } 喜欢循环不变项的人们宁愿我们添加另一个布尔变量,将其称为 notFound,然后这样用它: while ((notFound) && (i<a.length){ ... if (test(a[i])) then notFound=false; ... } 如果这个布尔名称取得很合适,那就会是一段自我注释得很好的代码。它可以让大家理解起来更容易。但这也增加了复杂性。这还意味着要分配另一个局部变量并阻塞一个寄存器,编译器可能没那么聪明,没法修复这个错误。 有时使用 goto 或 jump 会更简洁。 不良的编程习惯第10位:重载运算符和函数 一些有趣的语言会让你绕一些大弯子,比如说重新定义看起来应该是常量的元素值。拿 Python 来说,至少在 2.7 版及更低版本中,它允许你键入 TRUE=FALSE。这不会引发某种逻辑崩溃,也不会导致宇宙的终结;它只是交换了 TRUE 和 FALSE 的含义。你还可以使用 C 预处理器和其他一些语言来玩这种危险的游戏。还有一些语言允许你重新定义加号之类的运算符。 有时候,在一大段代码中重新定义一个或一些所谓常量,结果效率会更高。有时,老板会希望代码执行完全不同的操作。当然,你可以检查代码,逐一更改对应的部分,也可以干脆重新定义现实来节省时间。别人会觉得你是天才。用不着重写庞大的库,只需翻转一下即可。 这里也许应该划一条底线。无论这种做法多有意思,看起来多聪明,你都不应该在家里做实验。这太危险了——我是认真的。

茶什i 2019-12-30 11:01:01 0 浏览量 回答数 0

回答

按照你给的代码来看,遇到的报错是<preclass="brush:java;toolbar:true;auto-links:false;">System.out.println("abbreviation="+size.getAbbreviation()); 因为size内并没有getAbbreviation()方法。并且size也不能调用EnumTest内的getAbbreviation()方法,所以报错了。 把错误行代码注释或者改成如下,即可运行。 <preclass="brush:java;toolbar:true;auto-links:false;">System.out.println("abbreviation="+EnumTest.abbreviation); 根据Abbreviation方法的字面含义来看,应该是要判断后存入Size的缩写如:SMALL→S 判断方法我就不赘述了。 getAbbreviation这个方法不存在,因为你这么定义getAbbreviation是EnumTest的方法,而不是Size这个枚举的,所以你直接size.getAbbreviation()是编译失败的。

爱吃鱼的程序员 2020-06-10 14:08:29 0 浏览量 回答数 0

回答

与 C++ 不同,Java 不支持运算符重载。Java 不能为程序员提供自由的标准算术运算符重载,例如+, - ,*和/等。如果你以前用过 C++,那么 Java 与 C++ 相比少了很多功能,例如 Java 不支持多重继承,Java中没有指针,Java中没有引用传递。另一个类似的问题是关于 Java 通过引用传递,这主要表现为 Java 是通过值还是引用传参。虽然我不知道背后的真正原因,但我认为以下说法有些道理,为什么 Java 不支持运算符重载。 1)简单性和清晰性。清晰性是Java设计者的目标之一。设计者不是只想复制语言,而是希望拥有一种清晰,真正面向对象的语言。添加运算符重载比没有它肯定会使设计更复杂,并且它可能导致更复杂的编译器, 或减慢 JVM,因为它需要做额外的工作来识别运算符的实际含义,并减少优化的机会, 以保证 Java 中运算符的行为。 2)避免编程错误。Java 不允许用户定义的运算符重载,因为如果允许程序员进行运算符重载,将为同一运算符赋予多种含义,这将使任何开发人员的学习曲线变得陡峭,事情变得更加混乱。据观察,当语言支持运算符重载时,编程错误会增加,从而增加了开发和交付时间。由于 Java 和 JVM 已经承担了大多数开发人员的责任,如在通过提供垃圾收集器进行内存管理时,因为这个功能增加污染代码的机会, 成为编程错误之源, 因此没有多大意义。 3)JVM复杂性。从JVM的角度来看,支持运算符重载使问题变得更加困难。通过更直观,更干净的方式使用方法重载也能实现同样的事情,因此不支持 Java 中的运算符重载是有意义的。与相对简单的 JVM 相比,复杂的 JVM 可能导致 JVM 更慢,并为保证在 Java 中运算符行为的确定性从而减少了优化代码的机会。 4)让开发工具处理更容易。这是在 Java 中不支持运算符重载的另一个好处。省略运算符重载使语言更容易处理,这反过来又更容易开发处理语言的工具,例如 IDE 或重构工具。Java 中的重构工具远胜于 C++。

YDYK 2020-04-25 14:34:17 0 浏览量 回答数 0

回答

为了实现一些内容,常常需要这么玩: public void test() { Comparable c = new Comparable(){ @Override public int compareTo(Object o) { return 0; } }; } 你所看到的是实现了一个接口(用Comparable为例)的匿名类,现在,提出了一个需求:方法中有一个局部变量a,这个匿名类需要实现将别的值和这个方法中的局部变量值作比较。这样的方法使用存在着固有问题: public void test() { String str = new String("进行比较"); Comparable<String> c = new Comparable<String>(){ public Object comparing; @Override public int compareTo(String o) { return str.compareTo(o); } }; str = new String("值改变了"); c.compareTo("进行比较"); } //警告:这是一段错误的代码这其中的逻辑漏洞在于:方法中的局部变量已经改变了指向,调用方法时的那个str是该指向"进行比较"还是"值改变了"呢?c语言的指针用法可以很明确的传达这些信息,但Java抛弃了指针,这个问题就必须用另一种方式进行明确。final 修饰符的含义是,这个变量所指向的信息是不可修改的。也就是说` final String str = new String("进行比较"); str = new String("值改变了");` //警告:这是一段错误的代码 这两条语句本身就是矛盾的,编译器会直接阻止这种赋值语法。这样,匿名内部类的方法中取用的变量就一定是定义时的那个值,也就不再害怕因为变量改变指向导致语法逻辑不清晰。同样的,final修饰符也可以挂在参数上,意义和局部变量是一样的。简单地说,final修饰符是为了在匿名对象的方法中使用此变量

蛮大人123 2019-12-02 02:21:42 0 浏览量 回答数 0

问题

【精品问答】机器翻译

montos 2020-04-08 17:28:31 10 浏览量 回答数 1

回答

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以获取在'?附近使用的正确语法。或MemberName =吗?在第1行 MySQL无法理解?SQL查询中的含义。这确实是无效的SQL语法。因此,某种程度上它并没有被取代PreparedStatement。你猜怎么着? PreparedStatement s = conn.prepareStatement(query); s.setInt(1, intValue); s.setString(2, strValue); rs = s.executeQuery(query); // Fail! 您正在用原始查询覆盖准备好的查询!您需要调用无参PreparedStatement#executeQuery()方法而不是Statement#executeQuery(String)。 PreparedStatement s = conn.prepareStatement(query); s.setInt(1, intValue); s.setString(2, strValue); rs = s.executeQuery(); // OK! 与该问题无关,您的代码正在泄漏资源。几个小时后,数据库将耗尽它们,并且您的应用程序将崩溃。要解决此问题,您需要遵循JDBC习惯语close Connection,Statement并ResultSet在获取它们finally的代码try块中。有关详细信息,请参见JDBC基本教程。来源:stack overflow

保持可爱mmm 2020-05-11 10:56:54 0 浏览量 回答数 0

回答

首先,你的a变量是真,如果scanner.hasNext()是真的,导致a正在true与每个输入,包括"N"它的手段,你的while循环将继续下去,直到有没有更多的投入。 其次,您可以通过以下方式优化代码: 我建议除暴安良a,并kkw让你的代码更清洁和更短。仅使用一个Scanner,然后在循环外部进行定义。Scanner对于相同的输入,您不需要多个。另外,Scanner用每个循环初始化a 都是资源消耗。使用有意义的变量名。编程不仅应该高效,而且还应易于阅读。在这个很小的代码中,这是一个小问题,但是可以想象拥有一个完整的程序,而不必添加功能和错误修复,而必须搜索每个变量的含义。 这是代码的优化且有效的版本: Scanner scanner = new Scanner(System.in); while (true) { System.out.println("Enter a number"); int input1 = scanner.nextInt(); scanner.nextLine(); // nextInt() doesn't move to the next line System.out.println("Enter a second number:"); int input2 = scanner.nextInt(); scanner.nextLine(); System.out.println("Total sum is " + (input1 + input2)); /* Important to surround the sum with brackets in order to tell the compiler that input1 + input2 is a calculation and not an appending of "Total sum is "*/ System.out.println("Do you want to continue? (Y/N)"); if (scanner.hasNext() && scanner.nextLine().equalsIgnoreCase("n")) break; } scanner.close(); 回答来源:Stack Overflow

montos 2020-03-22 13:58:07 0 浏览量 回答数 0

回答

0段—非程序员: 初学编程者,遇到问题,完全是懵懵懂懂,不知道该怎么编程解决问题。也就是说,还是门外汉,还不能称之为“程序员”。计算机在他面前还是一个神秘的黑匣子。 1段—基础程序员: 学习过一段时间编程后,接到任务,可以编写程序完成任务。 编写出来的代码,正常情况下是能够工作的,但在实际运行中,碰到一些特殊条件就会出现各类BUG。也就是说,具备了开发Demo软件的能力,但开发的软件真正交付给客户使用,恐怕会被客户骂死。 程序员程序是写好了,但到底为什么它有时能正常工作,有时又不行,程序员自己也不知道。 运行中遇到了bug,或者需求改变,需要修改代码或者添加代码,很快程序就变得结构混乱,代码膨胀,bug丛生。很快,就连最初的开发者自己也不愿意接手维护这个程序了。 2段—数据结构: 经过一段时间的编程实践后,程序员会认识到“数据结构+算法=程序”这一古训的含义。他们会使用算法来解决问题。进而,他们会认识到,算法本质上是依附于数据结构的,好的数据结构一旦设计出来,那么好的算法也会应运而生。 设计错误的数据结构,不可能生长出好的算法。 记得某一位外国先贤曾经说过:“给我看你的数据结构!” 3段—面向对象: 再之后,程序员就会领略面向对象程序设计的强大威力。大多数现代编程语言都是支持面向对象的。但并不是说,你使用面向对象编程语言编程,你用上了类,甚至继承了类,你就是在写面向对象的代码了。 我曾经见过很多用Java,Python,Ruby写的面向过程的代码。 只有你掌握了接口,掌握了多态,掌握了类和类,对象和对象之间的关系,你才真正掌握了面向对象编程技术。 就算你用的是传统的不支持面向对象的编程语言,只要你心中有“对象”,你依然可以开发出面向对象的程序。 如,我用C语言编程的时候,会有意识的使用面向对象的技巧来编写和设计程序。用struct来模拟类,把同一类概念的函数放在一起模拟类。如果你怀疑用C语言是否能编写出面向对象的代码,你可以看一下Linux内核,它是用C语言编写的,但你也可以看到它的源代码字里行间散发出的浓浓的“对象”的味道。 答案来源于网络

养狐狸的猫 2019-12-02 02:20:35 0 浏览量 回答数 0

回答

一. Apache基本介绍 Apache HTTP Server(简称Apache)是一个开放源码的网页服务器,网页服务器默认使用端口80,通常用tomcat或者php处理动态内容,同时使用mysql作为数据库,tomcat和php以及mysql的安装配置详细见其他文档,本文档只是apache的安装与配置。 二. Apache的安装 下载apache安装包,双击开始安装,点击下一步,出现系统设置信息在Network Domain下填入您的域名(比如:test.com),在Server Name下填入您的服务器名称(比如:www.testr.com,也就是主机名加上域名),在Administrator's Email Address下填入系统管理员的联系电子邮件地址(比如:test@aliyun),三条信息均可任意填写,网站可以在后面进行配置。 选择安装全部,我们选择安装在D盘,安装完成。 三. Apache基本配置 1.apache的启动和关闭,一种方法是右下角的图标操作。 另一种是开始菜单栏操作。 2.apache的日志,访问日志和错误日志可以通过开始菜单查看,也可以在%home%\logs下查看。 3.apache的配置文件同样可以在开始菜单栏查看,同样在%home%\conf\也可以。 4. 配置apache站点 (1)首先配置域名和绑定站点IP,绑定域名在安装apache的时候可以设置,在安装之后可以在配置文件%home%\conf\httpd.conf更改ServerName选项。 绑定IP可在Listen选项设置。 (2)设置网站的主目录,可在配置文件中的DocumentRoot字段设置。 (3)设置网站的首页可通过DirectoryIndex字段设置。 (4)日志设置,可以在Customlog设置访问日志的路径,通过LogFormat设置日志的格式。 通过ErrorLog字段来定义错误日志的路径,LogLevel记录了日志的级别,这里设置为记录警告信息以上的日志。 5.apache虚拟主机配置 (1)基于IP的虚拟主机,各个名词的含义已在前面解释过,在此不再赘述。 (2)基于域名的虚拟主机 四. PHP配置 在D盘新建目录php,将php包解压缩到php下。 将D:\php\ php.ini-development更改名称为php.ini 在apache的配置文件httpd.conf中添加php的支持模块。 php连接数据库设置见数据库的文档。 附录1 Apache访问日志的格式与含义 例:192.168.157.1 - - [26/Dec/2012:09:14:43 +0800] "GET /favicon.ico HTTP/1.1" 404 209 1.客户端IP 2.-(E-mail) 3.-(登录名)、4.请求时间 5.方法+资源+协议 6.状态代码 7.发送字节数 Apache错误日志的格式与含义 例:[Wed Dec 26 09:20:46 2012] [error] [client 192.168.157.1] File does not exist: D:/Program Files/Apache Software Foundation/Apache2.2/htdocs/favicon.ico 1.时间 2.日志级别 3.客户端IP 4.错误信息

KB小秘书 2019-12-02 02:07:21 0 浏览量 回答数 0

回答

阿里云OpenAPI Explorer是一个提供在线API调试功能的平台。集成了阿里云各个产品所提供的API,具有快速检索、查阅文档、在线调试、生成SDK等功能。本文主要介绍通过OpenAPI Explorer使用E-HPC的所有API接口。 功能简介 搜索产品及API接口 打开阿里云OpenAPI Explorer,进入主界面,拖动产品列表或者在云产品列表下的搜索栏中进行E-HPC产品的搜索。拖动产品列表或者搜索“弹性高性能计算”可以找到E-HPC提供的所有API接口,可以针对所需要的API进行搜索。API搜索界面 在线调试示例 以使用OpenAPI Explorer进行集群的增加用户(AddUsers)操作为例,首先使用ListClusters接口进行集群的查询,向下拖动列表找到ListClusters接口,或在搜索栏中搜索ListClusters接口,进行API参数的填写,示例中查询区域华东2(对应的RegionID为cn-shanghai)中的用户集群。 说明:加红点为必填的参数,参数的格式、默认值以及注意事项会在填写框下方标注。在示例代码板块显示的是SDK的示例代码,有Java、NodeJS、PHP、Python等版本。用户可以参考示例代码进行自己的代码编写。示例代码中包含了需要import的库,库的使用示例,设置参数以及发起请求示例。用户参照示例代码,可以在本地进行API的使用与调试。 参数填写 填写完参数之后,点击下方的“发送请求”按钮,会在在线调试板块显示该API的请求状态、请求URL、响应结果等相关信息。这里请求返回的结果可以展开查看,ListClusters这个API查询到在华东2(cn-shanghai)这个区域中所有集群的信息,具体返回字段意义请参照E-HPC产品帮助文档中ListClusters。请求返回 查询完集群信息之后,通过返回的结果可以找到想进行增加用户操作的集群ID,然后找到AddUsers接口,进行增加用户的操作。 说明:这里的User参数是一个嵌套参数,也就是说一个User参数包含三个子参数信息(Name,Group,Password)。嵌套参数可以点击参数右侧加号进行批量添加。 嵌套参数界面 在返回成功之后,用户可以选择继续使用API接口进行后续操作,比如使用ListUsers进行用户列表的查询,也可以选择使用E-HPC管理控制台进行后续操作。 查看对应官方文档 在OpenAPI Explorer使用API接口时,如果对该接口的含义不了解、对API字段描述不清楚、对返回字段有疑问或是对错误码信息需要进一步了解的,可以直接在该API页面下方点击“查看当前文档”进行官方文档的跳转,查询对应接口的详细信息。

1934890530796658 2020-03-23 23:11:11 0 浏览量 回答数 0

问题

Windows 下 如何配置Apache

boxti 2019-12-01 21:31:08 1297 浏览量 回答数 0

回答

你好,IIS是运行ASP或asp.net的,你的php项目应在apache下运行。你改成apache后仍啊让你无法访问,应该是配置不对。请参考下apache的配置教程: Windows 下配置 apache  一.  Apache基本介绍 Apache HTTP Server(简称Apache)是一个开放源码的网页服务器,网页服务器默认使用端口80,通常用tomcat或者php处理动态内容,同时使用mysql作为数据库,tomcat和php以及mysql的安装配置详细见其他文档,本文档只是apache的安装与配置。   二. Apache的安装 下载apache安装包,双击开始安装,点击下一步,出现系统设置信息在Network Domain下填入您的域名(比如:test.com),在Server Name下填入您的服务器名称(比如:www.testr.com,也就是主机名加上域名),在Administrator's Email Address下填入系统管理员的联系电子邮件地址(比如:test@aliyun),三条信息均可任意填写,网站可以在后面进行配置。 选择安装全部,我们选择安装在D盘,安装完成。   三. Apache基本配置 1.apache的启动和关闭,一种方法是右下角的图标操作。 另一种是开始菜单栏操作。 2.apache的日志,访问日志和错误日志可以通过开始菜单查看,也可以在%home%\logs下查看。 3.apache的配置文件同样可以在开始菜单栏查看,同样在%home%\conf\也可以。 4. 配置apache站点 (1)首先配置域名和绑定站点IP,绑定域名在安装apache的时候可以设置,在安装之后可以在配置文件%home%\conf\httpd.conf更改ServerName选项。 绑定IP可在Listen选项设置。 (2)设置网站的主目录,可在配置文件中的DocumentRoot字段设置。 (3)设置网站的首页可通过DirectoryIndex字段设置。 (4)日志设置,可以在Customlog设置访问日志的路径,通过LogFormat设置日志的格式。 通过ErrorLog字段来定义错误日志的路径,LogLevel记录了日志的级别,这里设置为记录警告信息以上的日志。  5.apache虚拟主机配置 (1)基于IP的虚拟主机,各个名词的含义已在前面解释过,在此不再赘述。 (2)基于域名的虚拟主机   四. PHP配置 1.       在D盘新建目录php,将php包解压缩到php下。 2.       将D:\php\ php.ini-development更改名称为php.ini 3.       在apache的配置文件httpd.conf中添加php的支持模块。 4.       php连接数据库设置见数据库的文档。     附录1  Apache访问日志的格式与含义 例:192.168.157.1 - - [26/Dec/2012:09:14:43 +0800] "GET /favicon.ico HTTP/1.1" 404 209 1.客户端IP   2.-(E-mail)   3.-(登录名)、4.请求时间    5.方法+资源+协议  6.状态代码   7.发送字节数 Apache错误日志的格式与含义 例:[Wed Dec 26 09:20:46 2012] [error] [client 192.168.157.1] File does not exist: D:/Program Files/Apache Software Foundation/Apache2.2/htdocs/favicon.ico 1.时间  2.日志级别  3.客户端IP   4.错误信息

浮生递归 2019-12-01 23:56:10 0 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 企业建站模板