小编Rol*_*lan的帖子

在java中有一个'阻止直到条件变为真'的功能吗?

我正在为服务器编写一个监听器线程,目前我正在使用:

while (true){
    try {
        if (condition){
            //do something
            condition=false;
        }
        sleep(1000);

    } catch (InterruptedException ex){
        Logger.getLogger(server.class.getName()).log(Level.SEVERE, null, ex);
    }
}
Run Code Online (Sandbox Code Playgroud)

使用上面的代码,我遇到了运行函数吃掉所有cpu时间循环的问题.睡眠功能有效,但它似乎是一个临时修复,而不是解决方案.

是否有一些函数会阻塞,直到变量'condition'变为'true'?或者是不断循环标准的等待方法,直到变量的值发生变化?

java multithreading block

66
推荐指数
7
解决办法
9万
查看次数

如何将值从JDialog框返回到父JFrame?

我创建了一个模态JDialog框,其上有一个自定义绘图和一个JButton.当我单击JButton时,JDialog框应该关闭,并且应该返回一个值.

我在父JFrame中创建了一个名为setModalPiece的函数,它接收一个值并将其设置为本地JFrame变量.

问题是从JDialog框中看不到此函数(即使JDialog框具有对父JFrame的引用).

两个问题:1)有没有更好的方法将值从JDialog框返回到其父JFrame?

2)为什么不能使用传递给JDialog的JFrame的引用来访问我的JFrame函数setModalPiece?

java swing return-value jdialog

43
推荐指数
2
解决办法
7万
查看次数

如何为Java程序创建.msi文件?(日食)

我有一个java项目,我希望打包和出售.如何创建一个将在其他Windows计算机上安装我的程序的.msi文件?如果有任何教程,请指导我们.如果这与如何创建.msi文件有关,我也在使用Eclipse.

谢谢

java eclipse windows-installer

8
推荐指数
2
解决办法
1万
查看次数

首先强制子查询

我正在创建一个多次使用2个嵌入式服务器功能的查询.

问题:函数搜索一个相当大的表,它们需要很长时间才能执行.

目标:使用子查询就像它是一个表一样,这样我就可以引用列而不运行函数来多次生成列.

Example Pseudocode:

Select general.column1, general.column2, general.column1-general.column2
from (select package.function1('I take a long time') column1, 
      package.function2('I take even longer') column2,
      normal_column
      from bigtable) general;
Run Code Online (Sandbox Code Playgroud)

Example Pseudocode:

Select general.column1, general.column2, general.column1-general.column2
from (select package.function1('I take a long time') column1, 
      package.function2('I take even longer') column2,
      normal_column
      from bigtable) general;
Run Code Online (Sandbox Code Playgroud)

当我运行我的代码时,general.column1将引用column1语句中的函数,而不是它返回的数据(这最终是我所追求的).

我对SQL很新,所以感谢任何帮助,如果您需要更多信息,我会尽力提供.

谢谢!

sql oracle oracle10g oraclereports

4
推荐指数
1
解决办法
6704
查看次数

查看oracle app并获取:java.lang.ClassNotFoundException:oracle.forms.engine.Main

我正在尝试调试oracle表单应用程序.在生产中,当我加载应用程序时,我收到一个错误:java.lang.ClassNotFoundException:oracle.forms.engine.Main

我不确定导致这个问题的原因.我现在一直在搜索论坛半天,看起来它可能与java版本问题有关.

我已经包含了(略微修改以保护我的公司)java控制台输出,如果我正确读取它,看起来像证书需要重新打包.
但是,当我查看该网站的证书时,它表示已通过verisign验证.

我正在使用IE 9来尝试查看表单应用程序,我得到一个:java.lang.ClassNotFoundException:oracle.forms.engine.Main

在Java控制台中,我得到以下输出:

Java Plug-in 1.6.0_45 Using JRE version 1.6.0_45-b06 Java HotSpot(TM) Client VM User home directory = C:\Users\my_username network: Cache entry not found [url: https://company_site.ca:4446/forms/java/frmall.jar, version: null] network: Connecting https://company_site.ca:4446/forms/java/frmall.jar with proxy=DIRECT network: Connecting http://company_site.ca:4446/ with proxy=DIRECT javax.net.ssl.SSLException: Received fatal alert: unexpected_message at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source) at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.recvAlert(Unknown Source) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source) at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source) at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(Unknown Source) at sun.plugin.PluginURLJarFileCallBack.connect(Unknown Source) …

java oracle internet-explorer oracleforms oracle10g

4
推荐指数
1
解决办法
3万
查看次数

LinqToExcel - 导致Object的InvalidCastException必须实现Iconvertible错误

我正在使用以下代码查询LinqToExcel中的excel文件:

var excelFile = new LinqToExcel.ExcelQueryFactory(@"\"+txtFileName.Text.Replace(@"\\",@"\"));

var properties = from p in excelFile.Worksheet<Property>()
                 where AssessmentID != null
                 select p;
foreach (var autoP in properties)
        doSomething();
Run Code Online (Sandbox Code Playgroud)

当我查看运行时调试器时,我会在查看属性变量的"结果视图"时看到"InvalidCastException" .所以,我假设我的班级定义有一些时髦的东西.我还假设我不需要将类的所有成员映射到excel文件,而只需要我认为合适的那些.
所以,这里也是类定义:

public class Property
{

    [DataMember]
    public int? Year { get; set; }

    [DataMember]
    public string ChangeReason { get; set; }

    [DataMember]
    public string AssessmentID { get; set; }

    [DataMember]
    public string CallBackNotes { get; set; }

    [DataMember]
    public string InspectionNotes { get; set; } 

    [DataMember]
    public string Notes { get; …
Run Code Online (Sandbox Code Playgroud)

excel iconvertible linq-to-excel visual-studio-2015

4
推荐指数
1
解决办法
858
查看次数

如何将 IMethodSymbol 转换为 MethodDeclarationSyntax?

给定一个IMethodSymbol我如何创建一个MethodDeclarationSyntax

背景:

对于代码修复,我将实现接口的一个类中的方法复制到实现不同接口的另一个类中。

因此,我需要修改复制方法的一些内容(参数、命名空间等)。我想修改IMethodSymbol,将符号转换为 a MethodDeclarationSyntax,然后将符号添加到新类中。

我已经能够通过使用来做到这一点DeclaringSyntaxReferences属性来做到这一点,但是当原始类驻留在 nuget 包中时,这不起作用。

使用DeclaringSyntaxReferences(以及我自己的一些代码)我能够执行以下操作:

public static MethodDeclarationSyntax[] ToMethodDeclarationSyntax(this IMethodSymbol methodSymbol)
        {
            var namespaceValue = methodSymbol.ContainingNamespace.GetNameSpaceIdentifier();
            var syntaxReference = methodSymbol.DeclaringSyntaxReferences;
            var syntaxNodes = syntaxReference.Select(syntaxRef => syntaxRef.GetSyntax());
            var methodNodes = syntaxNodes.OfType<MethodDeclarationSyntax>();
            var methodExpression = methodSymbol.CreateExpressionSyntax();
            return methodNodes
                .Select(mds => mds
                    .WithExpressionBody(methodExpression)
                    .WithReturnType(SyntaxFactory.QualifiedName(namespaceValue, SyntaxFactory.IdentifierName(mds.ReturnType.ToString())))
                    .WithParameterList(methodSymbol.GetFullyQualifiedParameterListSyntax())
                )
                .ToArray();
        }
Run Code Online (Sandbox Code Playgroud)

有没有办法从 IMethodSymbol 生成 MethodDeclarationSyntax 而不使用DeclaringSyntaxReferences

谢谢!

c# roslyn roslyn-code-analysis codefixprovider

3
推荐指数
1
解决办法
426
查看次数

java对象流

我正在尝试在java中创建一个服务器,它将同时保持多达4个连接.我认为将相关信息保存在一个数组中可以达到我的目的,但是我遇到了一些麻烦.

这是我创建的课程:


import java.net.*;
import java.io.*;
public class tcpConnects{
private ObjectInputStream input;
private ObjectOutputStream output;
private int player;
public tcpConnects(int playerNumber, Socket connect) {
    // TODO Auto-generated method stub
        try{
            System.out.println("create InputStream");
            input= new ObjectInputStream(connect.getInputStream());
            System.out.println("create OutputStream");
            output= new ObjectOutputStream(connect.getOutputStream());
            System.out.println("streams created");
            //sendData("Welcome!");
            player=playerNumber;
        }catch (IOException ioException){
            ioException.printStackTrace();
        }
    }
    public ObjectInputStream getInput(){
        return input;
    }
    public void setInput(ObjectInputStream in){
        input=in;
    }
    public ObjectOutputStream getOutput(){
        return output;
    }
    public void setOutput(ObjectOutputStream out){
        output=out;
    }
    public int getPlayer(){
        return player;
    } …
Run Code Online (Sandbox Code Playgroud)

java sockets dataoutputstream

0
推荐指数
1
解决办法
2109
查看次数

F# 使用命名元组作为函数参数

我在 F# 中有以下类型:

type CodeNameError(CodeNameCombination: (Code*Name)[]) =
member this.CodeNameCombinations = CodeNameCombination
Run Code Online (Sandbox Code Playgroud)

有没有办法将 (Code*Name)[] 转换为 F# 中的命名元组数组?在 c# 中我会做类似的事情:

public CodeNameError((Code code, Name name)[] codeName)
{
    CodeNameCombination = codeName
}
Run Code Online (Sandbox Code Playgroud)

f# tuples c#-to-f#

0
推荐指数
1
解决办法
524
查看次数