import java.util.Comparator;
import java.util.List;
import java.util.stream.Collector;
import org.junit.Test;
import com.google.common.collect.Comparators;
import com.google.common.collect.Lists;
public class TestComparator {
@Test[......]
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collector;
import org.junit.Test;
import com.google.common.collect.Comparators;
import com.google.common.collect.Lists;
public class TestComparator {
@Test[......]
实际上和Android也没太多关系,主要是数据库没有升级,导致没法存储emoji。另外即使存储了,在其他设备上也不一定能展示出来,所以干脆就过滤掉。
这个与Android无太大关系,主要是获取Emoji表情的unicode范围,不查不知道,一查吓一跳,尼玛这么多。。。网上给出的其他方案,大体上都是选了一个大概的区间,可能会多过滤,也可能漏掉不少。
见这个网址。
http://apps.timwhitlock.info/emoji/tables/unicode
下面是代码,[......]
在有的时候,我们希望对Java对象执行“深拷贝”。
在Java中,没有提供类似的C++的拷贝构造函数,但是提供了默认的"克隆"接口 Clonable。
如果我们要对一个只包含基础类型(int / long /String)的对象进行克隆,只需要实现Clonable并实现clone()函数即可。
如下:
public class Row implements Cloneable {
long id;
String data;
@Override[......]
大家都知道,应用层的网络模型有同步、异步之分。
同步,意为着线程阻塞,只有等本次请求全部都完成了,才能进行下一次请求。
异步,好处是不阻塞当前线程,可以“万箭齐发”的将所有请求塞入缓冲区,然后谁的请求先完成就处理谁。
大家也注意到了,同步模式阻塞的只是“线程”。实际上,在异步模式流行之前,人们也经常用多线程的方式处理并发请求。然而,随着数据规模的不断加大,线程开销所带来的CPU、内存剧增,因此这种方法的应用比较有限。
近几年来,随着异步处理方案在node.js、Nginx等系[......]
读到师兄的一篇博客,关于Java中的单件类模式,这么写的:
class Singleton {
private static Singleton instance;
// thread-safe singleton.
public static synchronized Singleton getInstance() {
if (instance == null)
instance == new Singleton();
return instance;[......]