我在某处读到Web应用程序由Web服务器,应用程序服务器和数据库服务器组成.这三者有什么区别?
我问过这个问题,因为我记得当我主持一个网站时,我所有的都是https登录网站的控制面板,我将所有文件放在htdocs文件夹中.没有三个单独的东西,如Web服务器,应用程序服务器和数据库服务器.
我有一个字符整数键值对的字典.我想删除值为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)
有一个简单的方法吗?
我有一个整数数组,其值有限.我的工作是找到数组中任何两个元素之间的最小差异.
考虑一下该数组包含
4, 9, 1, 32, 13
Run Code Online (Sandbox Code Playgroud)
这里差异最小在4到1之间,所以答案是3.
什么应该是解决这个问题的算法.另外,我不知道为什么但我觉得使用树木,这个问题可以解决相对容易.可以这样做吗?
我想填充一个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此处?
我需要编写一个方法,我给了一个字符串s,我需要返回最短的字符串,它包含s两次连续的子字符串.
然而,两次出现s可能重叠.例如,
aba 回报 ababaxxxxx 回报 xxxxxxabracadabra 回报 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) 我有一个列表,我转换为地图做一些工作.之后,我将地图再次转换回列表,但这次订单是随机的.我需要在第二个列表中保留相同的初始订单.
显而易见的原因是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) 我有一个写入数据库的方法.要求是确保在经过一段时间后该方法不会执行.如果它在此之前返回,则不应该做任何事情.
我能想到的一个基本方法是做这样的事情.
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方法执行?
我有一个包含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中丢失吗?
我想编写一个Microsoft Excel使用Java 比较两张纸的程序.
是否有任何现有的库(及其文档)可以帮助我开始阅读excel的所有行和列等基本内容?
给定一个排序的数字列表,我需要找到大于给定数字的最小数字.考虑这个清单:
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)
有人可以指出我做错了什么吗?
java ×6
algorithm ×3
python ×2
apache ×1
comparison ×1
concurrency ×1
excel ×1
hashmap ×1
htdocs ×1
java-8 ×1
web-hosting ×1
webserver ×1