你作为一个Java领域的专家,请完成以下任务:用java代码实现长连接变成短链接,短链接跳转成长连接,起服务在浏览器运营起来,请给出详细的测试步骤
时间: 2023-12-05 12:03:49 浏览: 99
好的,我可以帮您完成这个任务。以下是使用Java代码实现长连接变成短链接,短链接跳转成长连接的示例代码:
```java
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import org.apache.commons.codec.digest.DigestUtils;
import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
public class UrlShortener {
private final String domain; // 域名
private final LoadingCache<String, String> cache; // 缓存
public UrlShortener(String domain) {
this.domain = domain;
this.cache = CacheBuilder.newBuilder().maximumSize(10000).build(new CacheLoader<String, String>() {
@Override
public String load(String longUrl) throws Exception {
return shortenUrl(longUrl);
}
});
}
public String shorten(String longUrl) {
return cache.getUnchecked(longUrl);
}
public String expand(String shortUrl) {
return cache.asMap().entrySet().stream().filter(entry -> entry.getValue().equals(shortUrl)).findFirst()
.map(Map.Entry::getKey).orElse(null);
}
private String shortenUrl(String
阅读全文