小编One*_*ror的帖子

Web服务器,应用服务器和数据库服务器之间的区别

我在某处读到Web应用程序由Web服务器,应用程序服务器和数据库服务器组成.这三者有什么区别?


我问过这个问题,因为我记得当我主持一个网站时,我所有的都是https登录网站的控制面板,我将所有文件放在htdocs文件夹中.没有三个单独的东西,如Web服务器,应用程序服务器和数据库服务器.

apache webserver web-hosting web-applications htdocs

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

根据值从字典中删除条目

我有一个字符整数键值对的字典.我想删除值为0的所有键值对.

例如:

>>> hand
{'a': 0, 'i': 0, 'm': 1, 'l': 1, 'q': 0, 'u': 0}
Run Code Online (Sandbox Code Playgroud)

我想减少相同的字典:

>>> hand
{'m': 1, 'l': 1}
Run Code Online (Sandbox Code Playgroud)

有一个简单的方法吗?

python

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

找出数组中元素之间的最小差异

我有一个整数数组,其值有限.我的工作是找到数组中任何两个元素之间的最小差异.

考虑一下该数组包含

4, 9, 1, 32, 13
Run Code Online (Sandbox Code Playgroud)

这里差异最小在4到1之间,所以答案是3.

什么应该是解决这个问题的算法.另外,我不知道为什么但我觉得使用树木,这个问题可以解决相对容易.可以这样做吗?

algorithm

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

使用属性文件中的条目填充HashMap

我想填充一个HashMap使用Properties该类.
我想加载.propeties文件中的条目,然后将其复制到HashMap.

之前,我曾经只HashMap使用属性文件初始化,但现在我已经定义了HashMap并且只想在构造函数中初始化它.

早期方法:

Properties properties = new Properties();

try {
    properties.load(ClassName.class.getResourceAsStream("resume.properties"));
} catch (Exception e) { 

}

HashMap<String, String> mymap= new HashMap<String, String>((Map) properties);
Run Code Online (Sandbox Code Playgroud)

但现在,我有这个

public class ClassName {
HashMap<String,Integer> mymap = new HashMap<String, Integer>();

public ClassName(){

    Properties properties = new Properties();

    try {
      properties.load(ClassName.class.getResourceAsStream("resume.properties"));
    } catch (Exception e) {

    }
    mymap = properties;
    //The above line gives error
}
}
Run Code Online (Sandbox Code Playgroud)

如何将属性对象分配给HashMap此处?

java hashmap

18
推荐指数
3
解决办法
6万
查看次数

重复但重叠的字符串的算法

我需要编写一个方法,我给了一个字符串s,我需要返回最短的字符串,它包含s两次连续的子字符串.

然而,两次出现s可能重叠.例如,

  • aba 回报 ababa
  • xxxxx 回报 xxxxxx
  • abracadabra 回报 abracadabracadabra

到目前为止我的代码是这样的:

import java.util.Scanner;

public class TwiceString {

    public static String getShortest(String s) {
        int index = -1, i, j = s.length() - 1;
        char[] arr = s.toCharArray();
        String res = s;

        for (i = 0; i < j; i++, j--) {
            if (arr[i] == arr[j]) {
                index = i;
            } else {
                break;
            }
        }

        if (index != -1) {
            for (i = …
Run Code Online (Sandbox Code Playgroud)

java algorithm

17
推荐指数
2
解决办法
1099
查看次数

维护HashMap中的顺序

我有一个列表,我转换为地图做一些工作.之后,我将地图再次转换回列表,但这次订单是随机的.我需要在第二个列表中保留相同的初始订单.

显而易见的原因是HashMap没有维护顺序.但我需要做一些事情才能做到.我无法更改Map实现.我该怎么做?

考虑给定的代码:

import java.util.*;
public class Dummy {

public static void main(String[] args) {
    System.out.println("Hello world !");
    List<String> list = new ArrayList<String>();
    list.add("A");list.add("B");list.add("C");
    list.add("D");list.add("E");list.add("F");

    Map<String,String> map = new HashMap<String, String>();

    for(int i=0;i<list.size();i=i+2)
        map.put(list.get(i),list.get(i+1));

    // Use map here to do some work

    List<String> l= new ArrayList<String>();
    for (Map.Entry e : map.entrySet()) {
        l.add((String) e.getKey());
        l.add((String) e.getValue());
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

对于ex - 最初,当我打印列表元素时,它打印出来

A B C D E F 
Run Code Online (Sandbox Code Playgroud)

现在,当我打印元素时List l,它会打印出来

E F A B C D
Run Code Online (Sandbox Code Playgroud)

java

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

设置方法/线程的最大执行时间

我有一个写入数据库的方法.要求是确保在经过一段时间后该方法不会执行.如果它在此之前返回,则不应该做任何事情.

我能想到的一个基本方法是做这样的事情.

public class LimitedRuntime {

    public static void writeToDb(){
            // writes to the database
    }

    public static void main(String[] args) {
        long totalExecutionTime = 8000L;
        long startTime = System.currentTimeMillis();

        while(System.currentTimeMillis() - startTime < totalExecutionTime )
        {
            writeToDb();
        }   
    }
}
Run Code Online (Sandbox Code Playgroud)

这种方法的一个问题是,即使该方法在最大总执行时间之前返回,即使这样,程序也会停止以便等待时间过去.

我怎样才能做得更好(或者更正确)?如果我们使用Thread,我们如何找出哪个Thread方法执行?

java concurrency multithreading

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

使用parallelstream()在Java 8中填充Map是否安全

我有一个包含100万个对象的列表,我需要将其填充到Map中.现在,我想减少将其填充到Map中的时间,为此我计划使用Java 8 parallelstream(),如下所示:

List<Person> list = new LinkedList<>();
Map<String, String> map = new HashMap<>();
list.parallelStream().forEach(person ->{
    map.put(person.getName(), person.getAge());
});
Run Code Online (Sandbox Code Playgroud)

我想问一下,通过并行线程填充这样的Map是否安全.难道不可能出现并发问题,并且某些数据可能会在Map中丢失吗?

java java-8

11
推荐指数
2
解决办法
6143
查看次数

Java Library读取Microsoft Excel文件

我想编写一个Microsoft Excel使用Java 比较两张纸的程序.

是否有任何现有的库(及其文档)可以帮助我开始阅读excel的所有行和列等基本内容?

java excel comparison

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

在排序列表中查找大于给定数字的最小数字

给定一个排序的数字列表,我需要找到大于给定数字的最小数字.考虑这个清单:


arr=[1,2,3,5,7,11,101,131,151,181,191,313,353,373,383]
Run Code Online (Sandbox Code Playgroud)

假设指定的数字是320.然后,我的方法应该返回353,因为353是大于320的最小数字.

我试图使用略微修改的二进制搜索形式; 但是在执行时,程序进入无限循环.


def modBinarySearch(arr,x):
    l=len(arr)
    mid=l/2
    if arr[mid]>=x and arr[mid-1]<x:
        return arr[mid]
    elif arr[mid]>x and arr[mid-1]>x:
        modBinarySearch(arr[mid:l],x)
    else: 
        modBinarySearch(arr[0:mid],x)

N=int(raw_input())
arr=[1,2,3,5,7,11,101,131,151,181,191,313,353,373,383]
print modBinarySearch(arr,N)
Run Code Online (Sandbox Code Playgroud)

有人可以指出我做错了什么吗?

python algorithm binary-search

9
推荐指数
3
解决办法
4671
查看次数