小编ayu*_*ush的帖子

shell脚本从其路径中查找文件名

您好,我想要一个简单的shell脚本,从文件的给定路径中查找文件的名称.喜欢

$path = "/var/www/html/test.php";
Run Code Online (Sandbox Code Playgroud)

那么我想在一些变量中获得价值"测试".也只有.php文件存在.我正在使用bash shell.谢谢

shell

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

java中的方法重载解析

以下是我对java中重载解析的了解:


编译器尝试从给定的重载方法定义解析方法调用的过程称为重载解析.如果编译器找不到完全匹配,则仅通过使用upcast来查找最接近的匹配(从不进行向下转换).


这是一堂课:

public class MyTest {

    public static void main(String[] args) {
        MyTest test = new MyTest();
        Integer i = 9;
        test.TestOverLoad(i);
    }

    void TestOverLoad(int a){
        System.out.println(8);
    }

    void TestOverLoad(Object a){
        System.out.println(10);
    }

}
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,输出为10.

但是,如果我稍微更改类定义并更改第二个重载方法.

public class MyTest {

    public static void main(String[] args) {
        MyTest test = new MyTest();
        Integer i = 9;
        test.TestOverLoad(i);
    }

    void TestOverLoad(int a){
        System.out.println(8);
    }

    void TestOverLoad(String a){
        System.out.println(10);
    }

}
Run Code Online (Sandbox Code Playgroud)

输出为8.

我在这里很困惑.如果永远不会使用向下转换,那为什么8会被打印出来呢?没有编译器为什么拿起TestOverLoad这需要方法int作为一个垂头丧气从论证Integerint

java unboxing overloading

14
推荐指数
2
解决办法
6658
查看次数

在PHP中打包().非法十六进制数字警告

我在php中使用pack()时遇到了一些问题

$currencypair = "EUR/USD";
$buy_sell = "buy";
$alert_device_token =array("a","a","b");
$message = "Your " . $currencypair . " " . $buy_sell . " alert price has been reached!";
$payload['aps'] = array (
  'alert' => $message,
  'badge' => 1,
  'sound' => 'default'
);
$payload = json_encode($payload);

foreach ($alert_device_token as $alert_device)
{
  $apnsMessage = chr(0) . chr(0) . chr(32) . 
                 pack('H*', str_replace(' ', '', $alert_device)) . 
                 chr(0) . chr(strlen($payload)) . $payload;
  echo $apnsMessage;
}
Run Code Online (Sandbox Code Playgroud)

现在有时我会得到以下警告,运行相同的代码 -

Warning: pack() [function.pack]: Type H: illegal hex …
Run Code Online (Sandbox Code Playgroud)

php hex pack

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

java分裂函数

有人可以帮助我理解splitjava中的工作原理.我有以下代码

String temp_array[];           
    String rates = "RF\\0.6530\\0.6535\\D";
    String temp = rates.substring(1, rates.length());
    System.out.println(temp);// prints F\0.6530\0.6535\D
    String regex = "\\";
    temp_array = temp.split(regex);
    String insertString = "INSERT into table values("+temp_array[0]+","+temp_array[1]+","+temp_array[2]+","+temp_array[3]+")";
Run Code Online (Sandbox Code Playgroud)

但是在split函数中我得到以下异常

Exception in thread "main" java.util.regex.PatternSyntaxException: Unexpected internal error near index 1
\
 ^
    at java.util.regex.Pattern.error(Unknown Source)
    at java.util.regex.Pattern.compile(Unknown Source)
    at java.util.regex.Pattern.<init>(Unknown Source)
    at java.util.regex.Pattern.compile(Unknown Source)
    at java.lang.String.split(Unknown Source)
    at java.lang.String.split(Unknown Source)
    at simple_hello.main(simple_hello.java:15)
Run Code Online (Sandbox Code Playgroud)

java regex arrays string split

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

使用CompletableFuture处理Java 8供应商异常

考虑以下代码 -

public class TestCompletableFuture {

    BiConsumer<Integer, Throwable> biConsumer = (x,y) -> {
        System.out.println(x);
        System.out.println(y);
    };

    public static void main(String args[]) {
        TestCompletableFuture testF = new TestCompletableFuture();
        testF.start();      
    }

    public void start() {
        Supplier<Integer> numberSupplier = new Supplier<Integer>() {
            @Override
            public Integer get() {
                return SupplyNumbers.sendNumbers();                     
            }
        };
        CompletableFuture<Integer> testFuture = CompletableFuture.supplyAsync(numberSupplier).whenComplete(biConsumer);         
    }       
}

class SupplyNumbers {
    public static Integer sendNumbers(){
        return 25; // just for working sake its not  correct.
    }
}
Run Code Online (Sandbox Code Playgroud)

以上的事情很好.但是sendNumbers也可以在我的情况下抛出一个检查过的异常,例如:

class SupplyNumbers {
    public …
Run Code Online (Sandbox Code Playgroud)

java exception java-8 completable-future

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

Javascript协议和事件

以下代码的含义是什么 -

<a href="javacsript:;" onClick="addItem(160)">some link</a>
Run Code Online (Sandbox Code Playgroud)

我的基本疑问是当我们点击链接时运行哪个脚本

javascript

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

在onClick上调用两个javascripts函数

目前我在我的一个网页上有以下代码 -

<a href="http://ex.com" onclick="return popitup2()">Grab Coupon</a>
Run Code Online (Sandbox Code Playgroud)

现在我想再运行一个以下列方式使用的脚本 -

onClick="recordOutboundLink(this, 'Outbound Links', 'ex.com');return false;"
Run Code Online (Sandbox Code Playgroud)

现在有人可以告诉我如何在点击链接时调用这两个javacsripts.提前致谢.

javascript

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

Java 8可完善的未来

我的问题是如何使用Completable Future.

我有一个实现Callable的类.

public class Executor implements Callable<Collection>
Run Code Online (Sandbox Code Playgroud)

早先习惯做 -

service.submit(collectorService);
Run Code Online (Sandbox Code Playgroud)

哪个会回来的Future<Collection>.但是我们不想再继续使用未来了CompletableFuture.一个想法是我们不需要使用CompletableFuture进行轮询,我们不必等待并阻止它直到它准备就绪.

那么我将如何使用可完成的未来并isDone()callable线程完成时调用函数.

java multithreading future java-8 completable-future

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

使用php获取unix时间戳

假设我知道今天是星期一.我如何使用mktime()PHP获取上周五和周五之前的unix时间戳?

假设今天的日期是17-01-2011,它是星期一.然后我想要14-01-2011 00:00:00和7-01-2011 00:00:00的时间戳.

php timestamp

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

java在线程之间共享数据

我有一个java进程从套接字服务器读取数据.因此,我有一个对应于该套接字BufferedReaderPrintWriter对象.

现在在同一个java进程中,我有一个接受客户端连接的多线程java服务器.我想实现一个功能,其中我接受的所有这些客户端都可以从BufferedReader我上面提到的对象中读取数据.(这样它们可以复用数据)

如何让这些单独的客户端线程从BuffereReader单个对象读取数据?对困惑感到抱歉.

java client multithreading thread-safety

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