小编Joh*_*ick的帖子

Cygwin将来会成为原生的64位?

有谁知道是否会有一个真正的64位版本的Cygwin?常见问题解答说"据我们所知,没有人正在使用64位版本"或类似的东西.如果您愿意,cygwin永远是32位应用程序(或应用程序系列)吗?

64位版本会很好.在大多数情况下,我可以在64位窗口上使用32位版本的cygwin做我需要的.但是我不时地从cygwin启动的64位程序会识别它是由32位父级启动并且行为不正确或根本不运行的事实.我必须打开cmd.exe或powershell会话才能运行这几个命令.在安装了IIS的Windows 2003 64位上可以为yourelf重现的一个示例是从cygwin运行以下命令,然后从未在cygwin中打开的cmd.exe运行.(cmd.exe中显然不需要双反斜杠,但它们在两个shell中都可以正常工作.)

cscript c:\\ windows \\ system32 \\ iisApp.vbs

因此,当我需要运行以这种方式运行的东西时,我可以继续打开cmd.exe会话.但是作为Cygwin的忠实粉丝,我真的希望看到某天有人会制作64位版本.

cygwin

7
推荐指数
1
解决办法
7248
查看次数

没有多重继承的方法怎么做

我有一组扩展单个抽象类的类.这些类的子集需要对其中一个方法执行相同的实现,另一个类的子集需要该方法的另一个实现,而第三个子集需要另一个.总共大约有十个子类,但只有三种可能的实现方法之一.(这些类实现的许多其他方法没有任何共同之处.)

我正试图找出实现这一目标的最佳方法.我认为我在C++中所做的是多重继承:创建仅实现此方法的三个类,然后让子类从这三个类中的适当的一个继承.

在Java中有这样做的最佳实践吗?

我正在考虑在主要的抽象类和孩子之间插入一个由三个抽象类组成的层.三者中的每一个都继承自主要抽象类,并实现有问题的方法.然后孩子们继承了这三个人.但是我不喜欢的是,如果另一种方法带有类似的"分组"行为,并且它不对应于三个"中间层"类?那会很难看

这有什么意义吗?我匆匆写作......

编辑:那么,在问我问题后24小时,我收到了大约六种模式进行调查.我还不确定它们都是官方的设计模式名称.但我会调查每一个,然后向后报告(并选择一个正确的答案).到目前为止,模仿建议:

* Delegation

* Bridge

* Strategy

* Composition

* Decorator (if I was choosing on name alone, I choose this one)
Run Code Online (Sandbox Code Playgroud)

我还需要补充一点,正在实现的方法需要访问几乎所有类的私有成员.所以这将是我选择的重要因素.

java inheritance

7
推荐指数
3
解决办法
205
查看次数

循环依赖被认为是不好的设计吗?

在我的工作中(90%是Java,但我确信这个问题适用于其他语言)我经常创建两个彼此"了解"的类.更具体地说,A类导入B,B类导入A类,两者都有另一种类型的成员或局部变量.

这被认为是糟糕的设计吗?如果你愿意,反模式?

oop circular-dependency

6
推荐指数
1
解决办法
2799
查看次数

在SQL WHERE子句中转义问号(?)

在我使用的各种SQL产品中,问号(?)标记查询中的输入参数.

如何逃避该行为并搜索包含问号的文本,例如......

SELECT *
FROM   A_TABLE
WHERE  A_FIELD = 'This is a question mark not an input parameter?'
Run Code Online (Sandbox Code Playgroud)

...上面的问号是字面问号,而不是占位符.如果答案是产品特定的,我目前正在使用Derby(又名Java DB).

sql

6
推荐指数
1
解决办法
4976
查看次数

Oracle JDBC 异常消息语言是德语

我通过 JDBC 从 Oracle 收到德语的异常消息。我怎样才能把它改成英文?

\n\n
java.sql.SQLException: Die Zeitzone f\xc2\xb3r die Datenbank-Session ist nicht festgelegt\n        at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)\n        at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)\n        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:199)\n        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:263)\n        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:271)\n        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:445)\n        at oracle.jdbc.driver.TimestampltzAccessor.getString(TimestampltzAccessor.java:94)\n        at oracle.jdbc.driver.T4CTimestampltzAccessor.getString(T4CTimestampltzAccessor.java:256)\n        at oracle.jdbc.driver.OracleResultSetImpl.getString(OracleResultSetImpl.java:971)\n
Run Code Online (Sandbox Code Playgroud)\n

oracle jdbc

6
推荐指数
1
解决办法
2467
查看次数

如果<meta>被弃用以进行自动刷新,我应该使用什么?

我已经使用<meta http-equiv="refresh" content="5">了一段时间来自动更新我的页面,然后我发现在5秒之前单击刷新会导致自动更新无法工作,至少在IE8中是这样.

所以我决定研究这个<meta>标签并根据维基百科发现:"通过META元素自动刷新已经被弃用了十多年[5]并且在此之前被认为是有问题的".

那么,我应该用什么来自动更新我的页面?(我猜这将是一个有点麻烦的东西.)

提前谢谢串!!!!

html

5
推荐指数
2
解决办法
1130
查看次数

用双反斜杠替换单反斜杠需要8个反斜杠?

这是"这里到底发生了什么"的问题.我实际上并不需要解决方案.

我不得不用双反斜杠替换String中的所有单个反斜杠.这就是我最终做的......

strRootDirectory = strRootDirectory.replaceAll("\\\\", "\\\\\\\\");
Run Code Online (Sandbox Code Playgroud)

...其中strRootDirectory是上面的java.lang.String.

现在,我理解第一个参数的四个反斜杠:正则表达式需要两个反斜杠以表示单个字面反斜杠,并且java希望它们加倍.没关系.

但是,第二个参数的八个反斜杠是怎么回事?是不是替换字符串应该是文字(非正则表达式,我的意思)字符串?我希望在第二个参数中需要四个反斜杠,以表示两个反斜杠.

java regex string

5
推荐指数
2
解决办法
7089
查看次数

在IIS 7中克隆/复制/复制现有应用程序池

在PowerShell中,可以将现有IIS 7应用程序池克隆到新的应用程序池,从而保留新池中的所有源池设置.像这样...

import-module webadministration
copy IIS:\AppPools\AppPoolTemplate IIS:\AppPools\NewAppPool -force
Run Code Online (Sandbox Code Playgroud)

现在我想在C#中使用Microsoft.Web.Administration命名空间中的类来做同样的事情.我浏览了命名空间,但我找不到一种方法可以轻松完成.我可以调用MemberwiseClone方法来创建现有应用程序池的浅表副本,但我不知道是否会复制所有原始应用程序池属性.

有人可以帮忙吗?

c# iis

5
推荐指数
1
解决办法
7579
查看次数

按钮文本与查询字符串中提交的值不同

精简版:

如何在使用<button>标签的情况下让表单的按钮标签文本与提交给服务器的值不同?

长版:

我想让表单中按钮中出现的文本与查询字符串中提交的值不同。所以,我环顾四周,发现了这种方法......

<button name="method" type="submit" value="repackage">Update Config</button>
Run Code Online (Sandbox Code Playgroud)

...在我的一台笔记本电脑上运行 IE9,我很高兴。用户method=repackage在查询字符串中看到“更新配置”和服务器。

然后我带着这个应用程序运行并在工作站上运行它,也使用 IE9。但是出了点问题。用户仍然看到“更新配置”,但服务器现在收到method=Update%20Config了查询字符串。

所以我又研究了一些。我发现 www.w3schools.com 建议不要<button>在表单中使用标签。他们说:“如果你<button>在 HTML 表单中使用元素,不同的浏览器可能会提交不同的值。用于<input>在 HTML 表单中创建按钮”在这篇文章中。这似乎是我正在经历的。

所以我又看了一些,发现了很多关于正确方法的相互矛盾的信息。例如,这里是 Stack Overflow 的一篇帖子,正好问了这个问题,但公认的答案是使用<button>标签。我可以从经验和研究中说,这不是一个可靠的方法。

html

5
推荐指数
1
解决办法
2738
查看次数

阻塞 FIFO 队列并能够跳过元素?

简洁版本: 如何在 Java 中最好地实现阻塞 FIFO 队列,如果队列中的项目在从队列中弹出时不满足某些条件,则能够暂时跳过或跳过队列中的项目?

长版:

我已经在应用程序中使用 ArrayBlockingQueue 多年了,它对于我的目的来说工作得很好。到目前为止我只需要调用 put() 和 take() 。效果很好。

现在,当通过 take() 检索元素时,需要满足某些条件。如果它不符合标准,它应该返回队列,但处于与之前相同的位置。

想象一下国际机场海关排队的情况。由于某种原因,乘客在登机时只收到了海关申报表。乘客们都在拼命地写字,以便在轮到他们之前完成表格。队伍前面有一名保安。当海关官员准备好接待下一位乘客时,保安人员会检查队伍中的第一位乘客是否填写了海关申报单。如果是这样,他会将乘客送往海关官员。如果没有,他会检查第二名乘客,然后是第三名,依此类推,直到找到完成检查的人。他将该人送往海关官员。每次海关官员有空时都会发生同样的情况,总是先让线路上的第一位乘客开始。

在研究过程中,我唯一想到的就是使用双端队列(deque)并从前面取出元素,直到找到满足条件的元素。然后按照我取下它们的相反顺序将元件放回正面。

有人有推荐吗?

java queue

5
推荐指数
1
解决办法
803
查看次数

标签 统计

java ×3

html ×2

c# ×1

circular-dependency ×1

cygwin ×1

iis ×1

inheritance ×1

jdbc ×1

oop ×1

oracle ×1

queue ×1

regex ×1

sql ×1

string ×1