小编mai*_*rgs的帖子

Java中的端口到服务名称?

我的服务文件(C:\ WINDOWS\system32\drivers\etc\services)有一堆端口到服务的映射:

echo                7/tcp
echo                7/udp
discard             9/tcp    sink null
discard             9/udp    sink null
systat             11/tcp    users                  #Active users
systat             11/udp    users                  #Active users
daytime            13/tcp
daytime            13/udp
qotd               17/tcp    quote                  #Quote of the day
qotd               17/udp    quote                  #Quote of the day
chargen            19/tcp    ttytst source          #Character generator
Run Code Online (Sandbox Code Playgroud)

我试图找到一种方法通过Java API(而不是解析)或第三方库以编程方式从端口转换为服务名称?

伪代码:

Port port = new Port("443","tcp");
String service = port.getService();
System.out.println(service);  //prints "https"
Run Code Online (Sandbox Code Playgroud)

有没有什么好办法可以做到这一点?

java service ports hosts ip-address

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

如何使用双反斜杠或正斜杠分隔符生成目录路径?

我正在编写一个来自ant的文本文件的目录路径,稍后Java应用程序将其读取以查找另一个文件.

在我的蚂蚁脚本中我有:

<property name="fulltrainer.dir"  location="${trainer.dir}" />

<echo file="${trainer.dir}/properties/commonConfig.properties"># KEY         VALUE
CurrentBuildFile=${fulltrainer.dir}\current_build</echo>
Run Code Online (Sandbox Code Playgroud)

在build.properties文件中,trainer.dir设置为:

trainer.dir=../trainer
Run Code Online (Sandbox Code Playgroud)

它最终写作:

# KEY        VALUE
CurrentBuildFile=C:\Workspaces\ralph\trainer\current_build
Run Code Online (Sandbox Code Playgroud)

到commonConfig.properties文件.

我需要它写:

# KEY        VALUE
CurrentBuildFile=C:\\Workspaces\\ralph\\trainer\\current_build
Run Code Online (Sandbox Code Playgroud)

或者,我需要它写:

# KEY        VALUE
CurrentBuildFile=C:/Workspaces/ralph/trainer/current_build
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

java unix windows ant

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

跨对象的Java同步

我正在努力确保我理解java中synchronized的性能影响.我有几个简单的类:

public class ClassOne {

    private ClassTwo classTwo = new ClassTwo();

    public synchronized void setClassTwo(int val1, int val2) {
        classTwo.setVal(val1);
        classTwo.setVal2(val2);
    }

    public static void main(String[] args) {
        ClassOne classOne = new ClassOne();
        classOne.setClassTwo(10, 100);
    }

}

public class ClassTwo {

    private int val;
    private int val2;

    public synchronized void setVal(int val) {
        this.val = val;
    }

    public synchronized void setVal2(int val2) {
        this.val2 = val2;
    }

}
Run Code Online (Sandbox Code Playgroud)

因此,正如您在前面的示例中所看到的,我正在同步ClassOne.setClassTwo和ClassTwo.setVal以及ClassTwo.setVal2.我想知道的是,如果我在ClassTwo.setVal和ClassTwo.setVal2上删除同步,性能是否完全相同,如下所示:

public class ClassTwo {

    private int val;
    private int val2;

    public …
Run Code Online (Sandbox Code Playgroud)

java synchronization

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

JTable 禁用列选择

在此处输入图片说明

我正在尝试禁用 JTable 中除 1 列之外的所有行的选择。(示例屏幕截图中的图层列)。在其他列中,我有我希望用户能够与之交互的微调器和复选框,而不会影响图层列中的选择。

我最初的尝试是在任何选定的行出现时存储它们,然后在选择 A 列之外的单元格时恢复到该组选定的行。它有点工作,但问题是它在选择另一个单元格时“闪烁”,然后再将其恢复。如何防止“闪退”?

这是我设置的一个示例来说明问题:

public class TableTest {

    static int[] selectedRows = new int[0];

    final static String[] columns = new String[] { "Layer", "Enabled", "Read Only", "Storage" };

    final static DefaultTableModel model = new DefaultTableModel(new Vector(), new Vector(Arrays.asList(columns))) {

        @Override
        public void setValueAt(Object obj, int row, int col) {

            if (obj instanceof Boolean || obj instanceof Integer) {
                Object localObject = super.getValueAt(row, col);
                if (localObject instanceof Integer) {

                    Integer val = (Integer) localObject;

                    ((SpinnerCell) obj).getSpinner().setValue(val); …
Run Code Online (Sandbox Code Playgroud)

java swing jtable

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

用于导入/导出data/ddl的Postgres命令行工具

对于Postgres,是否有任何类型的命令行实用程序允许将数据库"转储到文件"并允许导入相同的数据库转储?

我知道这可以通过PGAdmin完成,但我需要能够在cmd行上执行此操作.

sql database postgresql ddl

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

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

Ada枚举类型范围

据我了解,Ada在其枚举类型上使用基于0的索引.因此,在下面的Status_Type中,序数值从0到5.

   type Status_Type is
     (Undefined,  
      Available,
      Fout,     
      Assigned,     
      Effected,  
      Cleared); 
Run Code Online (Sandbox Code Playgroud)

我的问题是......以下示例的序数值是多少?它们从0开始还是从超类型的序数值开始?

   subtype Sub_Status_Type is Status_Type
     range Available.. Effected;

   subtype Un_Status_Type is Sub_Status_Type
     range Fout .. Assigned;
Run Code Online (Sandbox Code Playgroud)

Sub_Status_Type序数值是从1到4还是从0到3?

Un_Status_Type序数值是3到4还是从1到2还是从0到1?

enums ada

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

在Linux中将Java进程作为服务运行

我需要在(Red Hat 6.4)Linux中运行Java进程作为服务(它需要在启动时运行并保持运行).我主要使用它,除了它在"服务配置"窗口中似乎没有正确的状态.

为了说明,我做了一个简单的Java程序:

package service;

public class JavaService {

    public static void main(String args[]){

        System.out.println("Starting Java-Service");
        while(true){

            try {
                Thread.sleep(5000);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            System.out.println("Java-Service is still running..");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我震惊了,把它放在这个位置:/ opt/service/lib

然后,我创建了这个脚本:/ opt/service/bin/run_java_service

#!/bin/tcsh
#
# chkconfig: 2345 80 30
# description: java-service Service

setenv JAVA_SERVICE_HOME /opt/service
setenv CLASSPATH $JAVA_SERVICE_HOME/lib/JavaService.jar

setenv SERVICE_PID  `ps aux | grep JavaService | grep -v grep | awk '{print $2}'`;

if ( (stop == …
Run Code Online (Sandbox Code Playgroud)

java linux service rhel tcsh

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

右键单击 JTabbedPane 上的 JPopupMenu

我有一个带有自定义选项卡组件的 JTabbedPane。我希望能够右键单击选项卡上的任意位置并显示 JPopupMenu。我遇到的问题是每个选项卡上都有死空间,其中 JPopupMenu 不会通过右键单击出现。我相信它是因为我将侦听器附加到充当标签组件的JPanel,但JPanel不是“填写”整个选项卡。

有没有办法将鼠标侦听器附加到整个选项卡?

这是一个例子来说明我所看到的。在选项卡的黄色区域,我可以右键单击并弹出菜单,但在选项卡的灰色区域中,右键单击不会被拦截。

在此处输入图片说明

public class TabExample {

    public static void main(String[] args) {

        EventQueue.invokeLater(new Runnable() {

            @Override
            public void run() {
                JFrame frame = new JFrame();
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

                frame.setBounds(100, 100, 1024, 768);

                JTabbedPane pane = new JTabbedPane();

                for (int i = 0; i < 15; i++) {
                    JPanel panel = new JPanel();
                    JLabel label = new JLabel("Panel " + i);
                    panel.add(label);
                    pane.addTab("", panel);

                    final JPanel tabComponentPanel = new JPanel(new BorderLayout());

                    final JLabel tabComponentLabel = new JLabel("My Tab …
Run Code Online (Sandbox Code Playgroud)

java swing jtabbedpane

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

CSS部分填充的星星和间距

我正在使用HTML和CSS来显示基于百分比的星级。我正在尝试使该百分比与填充的星星的百分比相匹配。

我关闭了它,但是当我添加“ letter-spacing”和“ padding-left” CSS使其在网页上看起来更好时,填充区域的百分比会发生变化。

这是我的HTML和CSS:

.score {
  margin-bottom: 5px;
  display: inline-block;
  font-size: 40px;
  color: #ccc;
  position: relative;
  text-shadow: 0px 0px 4px #FFF;
}

.score::before,
.score span::before {
  content: "?????";
  display: block;
}

.score span {
  color: #E6DB74;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}

.scorePadded {
  margin-bottom: 5px;
  display: inline-block;
  font-size: 40px;
  color: #ccc;
  position: relative;
  text-shadow: 0px 0px 4px #FFF;
  letter-spacing: 20px;
  padding-left: 5px;
}

.scorePadded::before,
.scorePadded span::before {
  content: "?????";
  display: block;
}

.scorePadded span …
Run Code Online (Sandbox Code Playgroud)

html css

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