Mybatis 的一些设计模式附源码 ——第49篇
作者:互联网
虽然我们都知道有20多个设计模式,但是大多停留在概念层面,真实开发中很少遇到,Mybatis源码中使用了大量的设计模式,阅读源码并观察设计模式在其中的应用,能够更深入的理解设计模式。
Mybatis至少遇到了以下的设计模式的使用:
Builder模式,例如SqlSessionFactoryBuilder、XMLConfigBuilder、XMLMapperBuilder、XMLStatementBuilder、CacheBuilder;
工厂模式,例如SqlSessionFactory、ObjectFactory、MapperProxyFactory;
单例模式,例如ErrorContext和LogFactory;
代理模式,Mybatis实现的核心,比如MapperProxy、ConnectionLogger,用的jdk的动态代理;还有executor.loader包使用了cglib或者javassist达到延迟加载的效果;
组合模式,例如SqlNode和各个子类ChooseSqlNode等;
模板方法模式,例如BaseExecutor和SimpleExecutor,还有BaseTypeHandler和所有的子类例如IntegerTypeHandler;
适配器模式,例如Log的Mybatis接口和它对jdbc、log4j等各种日志框架的适配实现;
装饰者模式,例如Cache包中的cache.decorators子包中等各个装饰者的实现;
迭代器模式,例如迭代器模式PropertyTokenizer;
接下来挨个模式进行解读,先介绍模式自身的知识,然后解读在Mybatis中怎样应用了该模式。
1、Builder模式
Builder模式的定义是“将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。”,它属于创建类模式,一般来说,如果一个对象的构建比较复杂,超出了构造函数所能包含的范围,就可以使用工厂模式和Builder模式,相对于工厂模式会产出一个完整的产品,Builder应用于更加复杂的对象的构建,甚至只会构建产品的一个部分。
在Mybatis环境的初始化过程中,SqlSessionFactoryBuilder会调用XMLConfigBuilder读取所有的MybatisMapConfig.xml和所有的*Mapper.xml文件,构建Mybatis运行的核心对象Configuration对象,然后将该Configuration对象作为参数构建一个SqlSessionFactory对象。
其中XMLConfigBuilder在构建Configuration对象时,也会调用XMLMapperBuilder用于读取*Mapper文件,而XMLMapperBuilder会使用XMLStatementBuilder来读取和build所有的SQL语句。
在这个过程中,有一个相似的特点,就是这些Builder会读取文件或者配置,然后做大量的XpathParser解析、配置或语法的解析、反射生成对象、存入结果缓存等步骤,这么多的工作都不是一个构造函数所能包括的,因此大量采用了Builder模式来解决。
对于builder的具体类,方法都大都用build*开头,比如SqlSessionFactoryBuilder为例,它包含以下方法:
即根据不同的输入参数来构建SqlSessionFactory这个工厂对象。
2、工厂模式
在Mybatis中比如SqlSessionFactory使用的是工厂模式,该工厂没有那么复杂的逻辑,是一个简单工厂模式。
简单工厂模式(Simple Factory Pattern):又称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。
SqlSession可以认为是一个Mybatis工作的核心的接口,通过这个接口可以执行执行SQL语句、获取Mappers、管理事务。类似于连接MySQL的Connection对象。
可以看到,该Factory的openSession方法重载了很多个,分别支持autoCommit、Executor、Transaction等参数的输入,来构建核心的SqlSession对象。
在DefaultSqlSessionFactory的默认工厂实现里,有一个方法可以看出工厂怎么产出一个产品:
private SqlSession openSessionFromDataSource(ExecutorType execType, TransactionIsolationLevel level,
boolean autoCommit)
{
Transaction tx = null;
try {
final Environment environment = configuration.getEnvironment();
final TransactionFactory transactionFactory = getTransactionFactoryFromEnvironment(environment);
tx = transactionFactory.newTransaction(environment.getDataSource(), level, autoCommit);
final Executor executor = configuration.newExecutor(tx, execType);
return new DefaultSqlSession(configuration, executor, autoCommit);
} catch (Exception e) {
closeTransaction(tx); // may have fetched a connection so lets call
// close()
throw ExceptionFactory.wrapException("Error opening session. Cause: " + e, e);
} finally {
ErrorContext.instance().reset();
}
}
这是一个openSession调用的底层方法,该方法先从configuration读取对应的环境配置,然后初始化TransactionFactory获得一个Transaction对象,然后通过Transaction获取一个Executor对象,最后通过configuration、Executor、是否autoCommit三个参数构建了SqlSession。
在这里其实也可以看到端倪,SqlSession的执行,其实是委托给对应的Executor来进行的。
而对于LogFactory,它的实现代码:
public final class LogFactory {
private static Constructor<? extends Log> logConstructor;
private LogFactory() {
// disable construction
}
public static Log getLog(ClassaClass) {
return getLog(aClass.getName());
}
这里有个特别的地方,是Log变量的的类型是ConstructorextendsLog>,也就是说该工厂生产的不只是一个产品,而是具有Log公共接口的一系列产品,比如Log4jImpl、Slf4jImpl等很多具体的Log。
3、单例模式
单例模式(Singleton Pattern):单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。
单例模式的要点有三个:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。单例模式是一种对象创建型模式。单例模式又名单件模式或单态模式。
在Mybatis中有两个地方用到单例模式,ErrorContext和LogFactory,其中ErrorContext是用在每个线程范围内的单例,用于记录该线程的执行环境错误信息,而LogFactory则是提供给整个Mybatis使用的日志工厂,用于获得针对项目配置好的日志对象。
ErrorContext的单例实现代码:
public class ErrorContext {
private static final ThreadLocal LOCAL = new ThreadLocal();
private ErrorContext() {
}
public static ErrorContext instance() {
ErrorContext context = LOCAL.get();
if (context == null) {
context = new ErrorContext();
LOCAL.set(context);
}
return context;
}
构造函数是private修饰,具有一个static的局部instance变量和一个获取instance变量的方法,在获取实例的方法中,先判断是否为空如果是的话就先创建,然后返回构造好的对象。
只是这里有个有趣的地方是,LOCAL的静态实例变量使用了ThreadLocal修饰,也就是说它属于每个线程各自的数据,而在instance()方法中,先获取本线程的该实例,如果没有就创建该线程独有的ErrorContext。
4、代理模式
代理模式可以认为是Mybatis的核心使用的模式,正是由于这个模式,我们只需要编写Mapper.java接口,不需要实现,由Mybatis后台帮我们完成具体SQL的执行。
代理模式(Proxy Pattern) :给某一个对象提供一个代 理,并由代理对象控制对原对象的引用。代理模式的英 文叫做Proxy或Surrogate,它是一种对象结构型模式。
代理模式包含如下角色:
Subject: 抽象主题角色
Proxy: 代理主题角色
RealSubject: 真实主题角色
这里有两个步骤,第一个是提前创建一个Proxy,第二个是使用的时候会自动请求Proxy,然后由Proxy来执行具体事务;
当我们使用Configuration的getMapper方法时,会调用mapperRegistry.getMapper方法,而该方法又会调用mapperProxyFactory.newInstance(sqlSession)来生成一个具体的代理:
/
**
* @author Lasse Voss
*/
public class MapperProxyFactory {
private final Class mapperInterface;
private final Map<method, mappermethod=""> methodCache = new ConcurrentHashMap<method, mappermethod="">();
public MapperProxyFactory(Class<T> mapperInterface) {
this.mapperInterface = mapperInterface;
}
public Class getMapperInterface() {
return mapperInterface;
}
public Map<method, mappermethod=""> getMethodCache() {
return methodCache;
}
@SuppressWarnings("unchecked")
protected T newInstance(MapperProxy<T> mapperProxy) {
return (T) Proxy.newProxyInstance(mapperInterface.getClassLoader(), new Class[] { mapperInterface },
mapperProxy);
}
public T newInstance(SqlSession sqlSession) {
final MapperProxy mapperProxy = new MapperProxy(sqlSession, mapperInterface, methodCache);
return newInstance(mapperProxy);
}
}
在这里,先通过T newInstance(SqlSession sqlSession)方法会得到一个MapperProxy对象,然后调用T newInstance(MapperProxy<T> mapperProxy)生成代理对象然后返回。
而查看MapperProxy的代码,可以看到如下内容:
public class MapperProxy implements InvocationHandler, Serializable {
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
try {
if (Object.class.equals(method.getDeclaringClass())) {
return method.invoke(this, args);
} else if (isDefaultMethod(method)) {
return invokeDefaultMethod(proxy, method, args);
}
} catch (Throwable t) {
throw ExceptionUtil.unwrapThrowable(t);
}
final MapperMethod mapperMethod = cachedMapperMethod(method);
return mapperMethod.execute(sqlSession, args);
}
非常典型的,该MapperProxy类实现了InvocationHandler接口,并且实现了该接口的invoke方法。
通过这种方式,我们只需要编写Mapper.java接口类,当真正执行一个Mapper接口的时候,就会转发给MapperProxy.invoke方法,而该方法则会调用后续的sqlSession.cud>executor.execute>prepareStatement等一系列方法,完成SQL的执行和返回。
5、组合模式
组合模式组合多个对象形成树形结构以表示“整体-部分”的结构层次。
组合模式对单个对象(叶子对象)和组合对象(组合对象)具有一致性,它将对象组织到树结构中,可以用来描述整体与部分的关系。同时它也模糊了简单元素(叶子对象)和复杂元素(容器对象)的概念,使得客户能够像处理简单元素一样来处理复杂元素,从而使客户程序能够与复杂元素的内部结构解耦。
在使用组合模式中需要注意一点也是组合模式最关键的地方:叶子对象和组合对象实现相同的接口。这就是组合模式能够将叶子节点和对象节点进行一致处理的原因。
Mybatis支持动态SQL的强大功能,比如下面的这个SQL:
UPDATE users
name = #{name}
, age = #{age}
, birthday = #{birthday}
</trim>
where id = ${id}
</update>
在这里面使用到了trim、if等动态元素,可以根据条件来生成不同情况下的SQL;
在DynamicSqlSource.getBoundSql方法里,调用了rootSqlNode.apply(context)方法,apply方法是所有的动态节点都实现的接口:
public interface SqlNode {
boolean apply(DynamicContext context);
}
对于实现该SqlSource接口的所有节点,就是整个组合模式树的各个节点:
组合模式的简单之处在于,所有的子节点都是同一类节点,可以递归的向下执行,比如对于TextSqlNode,因为它是最底层的叶子节点,所以直接将对应的内容append到SQL语句中:
@Override
public boolean apply(DynamicContext context) {
GenericTokenParser parser = createParser(new BindingTokenParser(context, injectionFilter));
context.appendSql(parser.parse(text));
return true;
}
但是对于IfSqlNode,就需要先做判断,如果判断通过,仍然会调用子元素的SqlNode,即contents.apply方法,实现递归的解析。
@Override
public boolean apply(DynamicContext context) {
if (evaluator.evaluateBoolean(test, context.getBindings())) {
contents.apply(context);
return true;
}
return false;
}
6、模板方法模式
模板方法模式是所有模式中最为常见的几个模式之一,是基于继承的代码复用的基本技术。添加笔者微信,回复关键字:架构,可以获取更多笔者整理的架构和设计模式干货。
模板方法模式需要开发抽象类和具体子类的设计师之间的协作。一个设计师负责给出一个算法的轮廓和骨架,另一些设计师则负责给出这个算法的各个逻辑步骤。代表这些具体逻辑步骤的方法称做基本方法(primitive method);而将这些基本方法汇总起来的方法叫做模板方法(template method),这个设计模式的名字就是从此而来。
模板类定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
在Mybatis中,sqlSession的SQL执行,都是委托给Executor实现的,Executor包含以下结构:
其中的BaseExecutor就采用了模板方法模式,它实现了大部分的SQL执行逻辑,然后把以下几个方法交给子类定制化完成:
protected abstract int doUpdate(MappedStatement ms, Object parameter) throws SQLException;
protected abstract List doFlushStatements(boolean isRollback) throws SQLException;
protected abstract List doQuery(MappedStatement ms, Object parameter, RowBounds rowBounds,
ResultHandler resultHandler, BoundSql boundSql)
throws SQLException;
该模板方法类有几个子类的具体实现,使用了不同的策略:
简单SimpleExecutor:每执行一次update或select,就开启一个Statement对象,用完立刻关闭Statement对象。(可以是Statement或PrepareStatement对象)
重用ReuseExecutor:执行update或select,以sql作为key查找Statement对象,存在就使用,不存在就创建,用完后,不关闭Statement对象,而是放置于Map<String, Statement>内,供下一次使用。(可以是Statement或PrepareStatement对象)
批量BatchExecutor:执行update(没有select,JDBC批处理不支持select),将所有sql都添加到批处理中(addBatch()),等待统一执行(executeBatch()),它缓存了多个Statement对象,每个Statement对象都是addBatch()完毕后,等待逐一执行executeBatch()批处理的;BatchExecutor相当于维护了多个桶,每个桶里都装了很多属于自己的SQL,就像苹果蓝里装了很多苹果,番茄蓝里装了很多番茄,最后,再统一倒进仓库。(可以是Statement或PrepareStatement对象)
比如在SimpleExecutor中这样实现update方法:
@Override
public int doUpdate(MappedStatement ms, Object parameter) throws SQLException {
Statement stmt = null;
try {
Configuration configuration = ms.getConfiguration();
StatementHandler handler = configuration.newStatementHandler(this, ms, parameter, RowBounds.DEFAULT, null,
null);
stmt = prepareStatement(handler, ms.getStatementLog());
return handler.update(stmt);
} finally {
closeStatement(stmt);
}
}
7、适配器模式
适配器模式(Adapter Pattern) :将一个接口转换成客户希望的另一个接口,适配器模式使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。
在Mybatsi的logging包中,有一个Log接口:
/
**
* @author Clinton Begin
*/
public interface Log {
boolean isDebugEnabled();
boolean isTraceEnabled();
void error(String s, Throwable e);
void error(String s);
void debug(String s);
void trace(String s);
void warn(String s);
}
该接口定义了Mybatis直接使用的日志方法,而Log接口具体由谁来实现呢?Mybatis提供了多种日志框架的实现,这些实现都匹配这个Log接口所定义的接口方法,最终实现了所有外部日志框架到Mybatis日志包的适配:
比如对于Log4jImpl的实现来说,该实现持有了org.apache.log4j.Logger的实例,然后所有的日志方法,均委托该实例来实现。
public class Log4jImpl implements Log {
private static final String FQCN = Log4jImpl.class.getName();
private Logger log;
public Log4jImpl(String clazz) {
log = Logger.getLogger(clazz);
}
@Override
public boolean isDebugEnabled() {
return log.isDebugEnabled();
}
@Override
public boolean isTraceEnabled() {
return log.isTraceEnabled();
}
@Override
public void error(String s, Throwable e) {
log.log(FQCN, Level.ERROR, s, e);
}
@Override
public void error(String s) {
log.log(FQCN, Level.ERROR, s, null);
}
@Override
public void debug(String s) {
log.log(FQCN, Level.DEBUG, s, null);
}
@Override
public void trace(String s) {
log.log(FQCN, Level.TRACE, s, null);
}
@Override
public void warn(String s) {
log.log(FQCN, Level.WARN, s, null);
}
}
8、装饰者模式
装饰模式(Decorator Pattern) :动态地给一个对象增加一些额外的职责(Responsibility),就增加对象功能来说,装饰模式比生成子类实现更为灵活。其别名也可以称为包装器(Wrapper),与适配器模式的别名相同,但它们适用于不同的场合。根据翻译的不同,装饰模式也有人称之为“油漆工模式”,它是一种对象结构型模式。
在mybatis中,缓存的功能由根接口Cache(org.apache.ibatis.cache.Cache)定义。添加笔者微信,回复关键字:架构,可以获取更多笔者整理的架构和设计模式干货。
整个体系采用装饰器设计模式,数据存储和缓存的基本功能由PerpetualCache(org.apache.ibatis.cache.impl.PerpetualCache)永久缓存实现,然后通过一系列的装饰器来对PerpetualCache永久缓存进行缓存策略等方便的控制。如下图:
用于装饰PerpetualCache的标准装饰器共有8个(全部在org.apache.ibatis.cache.decorators包中):
FifoCache:先进先出算法,缓存回收策略
LoggingCache:输出缓存命中的日志信息
LruCache:最近最少使用算法,缓存回收策略
ScheduledCache:调度缓存,负责定时清空缓存
SerializedCache:缓存序列化和反序列化存储
SoftCache:基于软引用实现的缓存管理策略
SynchronizedCache:同步的缓存装饰器,用于防止多线程并发访问
WeakCache:基于弱引用实现的缓存管理策略
另外,还有一个特殊的装饰器TransactionalCache:事务性的缓存
正如大多数持久层框架一样,mybatis缓存同样分为一级缓存和二级缓存
一级缓存,又叫本地缓存,是PerpetualCache类型的永久缓存,保存在执行器中(BaseExecutor),而执行器又在SqlSession(DefaultSqlSession)中,所以一级缓存的生命周期与SqlSession是相同的。
二级缓存,又叫自定义缓存,实现了Cache接口的类都可以作为二级缓存,所以可配置如encache等的第三方缓存。二级缓存以namespace名称空间为其唯一标识,被保存在Configuration核心配置对象中。
二级缓存对象的默认类型为PerpetualCache,如果配置的缓存是默认类型,则mybatis会根据配置自动追加一系列装饰器。
Cache对象之间的引用顺序为:
SynchronizedCache–>LoggingCache–>SerializedCache–>ScheduledCache–>LruCache–>PerpetualCache
9、迭代器模式
迭代器(Iterator)模式,又叫做游标(Cursor)模式。GOF给出的定义为:提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节。
Java的Iterator就是迭代器模式的接口,只要实现了该接口,就相当于应用了迭代器模式:
比如Mybatis的PropertyTokenizer是property包中的重量级类,该类会被reflection包中其他的类频繁的引用到。这个类实现了Iterator接口,在使用时经常被用到的是Iterator接口中的hasNext这个函数。
public class PropertyTokenizer implements Iterator {
private String name;
private String indexedName;
private String index;
private String children;
public PropertyTokenizer(String fullname) {
int delim = fullname.indexOf('.');
if (delim > -1) {
name = fullname.substring(0, delim);
children = fullname.substring(delim + 1);
} else {
name = fullname;
children = null;
}
indexedName = name;
delim = name.indexOf('[');
if (delim > -1) {
index = name.substring(delim + 1, name.length() - 1);
name = name.substring(0, delim);
}
}
public String getName() {
return name;
}
public String getIndex() {
return index;
}
public String getIndexedName() {
return indexedName;
}
public String getChildren() {
return children;
}
@Override
public boolean hasNext() {
returnchildren !=null;
}
@Override
public PropertyTokenizer next() {
return new PropertyTokenizer(children);
}
@Override
public void remove() {
throw new UnsupportedOperationException(
"Remove is not supported, as it has no meaning in the context of properties.");
}
}
可以看到,这个类传入一个字符串到构造函数,然后提供了iterator方法对解析后的子串进行遍历,是一个很常用的方法类。
法网纳达尔仅丢四局横扫00后黑马 未失一盘进八强-23 热刺太疯狂!全方位羞辱曼联 这数据让索帅太尴尬-23449 成都高新区 以专业化精细化服务打造国际一流营商环境-16 阿金拉德产后复出沃续约久光 目标东京奥运摘金-14514 C罗遭到都灵卫生局谴责:你违反了防疫规定-55 法网纳达尔仅丢四局横扫00后黑马 未失一盘进八强-4336 利物浦天坑回来了!惨案开瓶器 欧冠梦魇也是他gif-8 9月金融数据前瞻:新增社融规模有望继续突破3万亿-2856 操作上就如何亏小赚大-985 烂尾楼之都南阳:整治清零一再延迟-46 内蒙古发现距今8400年至7600年遗址-8894 "双节"将至央行净回笼1000亿 10月流动性遭三重考验-19 三星、台积电布局先进封装 通富微电面临危机?-36478 英特尔 Fab 42 工厂全面投入运营,大大提高 10 nm 芯片产量-7 林园年化收益超23% 夺冠私募超10年期产品-2 layer 2020北京车展实拍:雷克萨斯LF-30-14316 诺奖得主都没做出的丙肝疫苗,难在哪儿?-94 阿姆斯特朗现身公益骑行-9853 国产又一重量级MPV,霸气不输埃尔法,比GL8更大,还买奥德赛?-38 视频: 美女好憨!张雨绮录姐姐团综亮相机场 手机屏保P图追星玄彬-229 嘉年华ST推出特别版小钢炮 6.5秒破百-49376 浙江龙港探路新型城镇化-1 法网卢布列夫3-1福索维茨进8强-1 一周好物推荐:据说小乾有车了?-55 NBA历史上最矮盖帽王,逮谁帽谁,真的霸气-65225 国行iPhone 12或为特供版 比海外便宜100美元-788 世界斯诺克巡回赛主席感染新冠 目前已自我隔离-4339 电影从业者终于熬到行业回春 | 口述亲历-14226 组图:沈月近照曝光穿搭清凉肤白貌美 对镜托腮神似妈妈邱淑贞-63693 进京人员需通过“健康宝”核验近14日行程获得“绿码”-69 国庆假期第四只蚂蚁战配基金售罄,超300万人购买创新基金历史纪录-1 JDG连胜!B组出线形势明朗,DWG与JDG谁是头名?-81128 9月末我国外汇储备规模为31426亿美元-586 操纵自如Fenix PD40R V2.0 机械旋转调光手电-75 持续开展景区防火行动-7 国际奥委会:东京奥运会缩减约2.8亿美元预算-7818 法网贾巴尔2-1萨巴伦卡进16强-34829 新浪体育诚聘客户端运营编辑-7 特朗普敦促救援航空业 道指录得7月来最大日涨幅-7 视频: 真文案鬼才!白敬亭连续6年实力教学如何发“十月文案”-37 组图:撕漫男实锤!白宇撞脸熊出没 网友惊呼“一模一样”-76316 李振:基金会想做出影响力就必须苦练内功 没有捷径-7 法国新冠日新增破万 “黄背心”又上街-9978 视频: 赵丽颖为冯绍峰庆生 甜喊二叔不忘为其新剧打call-814 奔驰E级 43.80-64.28万元-344 苹果又在暗示什么?官方邀请函居然还有另一个版本-1314 南非发生有史以来最大规模全国性大罢工-5623 4600万英镑!阿森纳要直接砸违约金挖马竞悍腰-87865 东京奥运会火炬在福岛开始巡回展示 明年进行传递-15666 得分篮板助攻全包围老詹! 总决赛他第一个做到-33512 为何苹果无需FDA批准其Apple Watch Series 6的血氧跟踪功能?-59 icon-video layer 视频:揭开汽车的隐秘角落 icon-video04:36-84776 义乌网店"缤纷港夜色"卖假冒美心月饼 20多天销售三千多盒赚30万-56867 组图:梅婷和老公曾剑久违合体 携一双儿女现身机场超幸福-75475 郭碧婷产女细节曝光 向太全程陪产小两口三天没-8 李霄鹏辞职因情感上受到了伤害 心力交瘁急火攻心-3 组图:赵本山演出被女粉丝上头拥抱强吻?结局意外反转幽默救场-42 净利率增20%应收占比130% 恒大物业上市前经历了什么-1 组图:母亲离世后黄芷晴首晒父女合照 黄日华罕露笑容消瘦不少-65961 再添强援!埃弗顿官方宣布罗马门将租借加盟-7 葡萄牙后卫冯特新冠检测为阳性 将退出本期国家队-74 城市竞争的终极三要素-72 特斯拉副总裁6次回应降价:初心是提供性价比更好产品-86 意甲-等待45分钟那不勒斯未现身 尤文料被判3-0胜-3683 视频: 张艾嘉曝被杨凡叫干妈缘由:以前常为他做饭-8 官方:西班牙人租借塞尔塔边锋巴迪略-5 [NBA总决赛]湖人104-115热火-1 法网纳达尔淘汰00后新星 不失一盘第13次进四强-6229 国庆假期第四只蚂蚁战配基金售罄,超300万人购买创新基金历史纪录-226 杨丞琳清晨发文道别小鬼:想念一定会永存-93683 微软因设定用工多样性指标问题遭美国劳工部调查-951 热火再受重创!阿德巴约和德拉季奇将缺席G3-62 10月苹果发布会有什么?看这里就够了-122 车若初见 icon-video00:15 有喜欢皮卡的小伙伴嘛~-47 提醒!返程高峰预警!这些地方易堵,注意→-4524 组图:李易峰《镜双城》苏摹造型照曝光 穿黑袍眼神坚毅气场足-816 前8个月上海新增减税降费441.9亿元 帮电影业挺过最难-4925 邱淑贞21岁女儿沈月近照曝光 被称“最美星二-9758 兰州铁路局启动降雪应急预案保高铁安全运行-56111 陆金所拟申请赴美上市 平安集团持股42.3%-54514 组图:李汶翰白衬衣搭牛仔裤青春阳光 红色大花点缀复古潮流-22137 雷克萨斯三季度在美销量超过奔驰宝马-3417 视频:肖战粉丝惹怒川美上新闻!重庆电视台调查事件始末-6 我国外汇储备总体稳定-2969 绿城管理上市首份财报:业绩下滑面积增长放缓-119 列维太精明!得知贝尔还得伤1月 立即砍100万薪水-14992 欠200元要还3万 信用卡透支11年如何“利滚利”?-27596 56胜0负!湖人延续必胜铁律 只差最后一场了-8328 深圳福田区推街道大部制3.0版-6915 志愿军书记员马汉贤:“做好把脑袋别在腰带上的准备!”-34 美股基因编辑概念股走强-2176 车若初见 icon-video00:15 有喜欢皮卡的小伙伴嘛~-2 icon-video layer 视频:揭开汽车的隐秘角落 icon-video04:36-7 辽宁西丰县:织密保障网 用足大数据-877 重庆今日迎返程车流小高峰,预计车流量将达140万辆-348 法网奥斯塔彭科无缘16强-223 退社1年后,他过得怎么样了?-577 思维造物IPO: 业务"刚需"属性弱成长...-31739 诗坛知己:王维与孟浩然-1 多部门持续严厉打击虚开骗税违法犯罪行为-6175 视频: 真文案鬼才!白敬亭连续6年实力教学如何发“十月文案”-65347 百车全说 icon-video01:29 林肯飞行家 想等降价 有点难-2 英媒评述:美企起诉潮凸显关税战不得人心-543 视频: 黄子韬挑大梁接手爸爸工作 凌晨一点还与员工交涉-5 前8个月上海新增减税降费441.9亿 帮电影业挺过最难-16111 换骨手术!从1.5亿顶薪,到祈求去勇士打替补-6 迪米特洛夫:西西帕斯有能力打一场伟大的网球-5 泰达训练王宝山吼40分钟 称接手时球队速度像女足-84344 国台办回应!提到“家”-99638 利物浦悍将:巴萨若真想要我 早就出手了-5527 海绵宝宝:营救大冒险-99979 身体上的膨胀纹和萎缩纹,你听说过吗?-7537 车314 icon-video08:30 试驾第二代捷途X90:极具家用性的高性价比车-63 视频: 周冬雨杀青粉丝送火锅花篮 连本尊都感叹第一次见-641 巨丰投顾:节后A股会有哪些“大红包”?-4 田径-男子万米和女子五千米世界纪录告破-9268 湖人夺冠概率升至94%! 大概率第五场终结-42 赵丽颖为冯绍峰庆生 甜喊二叔不忘为其新剧…-678 毛晓慧:演《方舱》更让我看到了90后的责任感-195 视频: 美女好憨!张雨绮录姐姐团综亮相机场 手机屏保P图追星玄彬-4383 他们哪怕无球可踢 也要逃离中超?-969 陕西留坝:西洋参种出好光景-55 张磊和朋友们聊《价值》-52 蚂蚁配售基金独家代销 是模式创新还是利益之争?-66356 陆金所递交赴美上市申请 2019年净利润为133亿元-83 索阿雷斯收获生涯500胜 携搭档闯进法网男双四强-7 9月抖音全球吸金1.3亿美金稳坐冠军宝座 内容电商有望持续发力-6 赵丽颖为冯绍峰庆生 甜喊二叔不忘为其新剧打c-423 汽车大世界 icon-video00:16 人生轨迹,自己做决定-328 新冠防疫指南一改再改:美疾控中心终于承认气溶胶传播-9376 吹着海风,乘船快乐出发——枸杞岛海钓Vlog-38771 哆啦A梦:大雄的新恐龙-9 中国外汇储备止步5连涨,9月下降220亿美元-55 实验室数据显示特朗普产生了新冠抗体-1 大众途昂登场!全新大切诺基登场,实力叫板大指挥官!-94 《姜子牙》《夺冠》转战国庆档 一大波新片在路-9668 视频: Anson Lo歌迷利诱DJ播歌 江熚生:公司有叫粉丝慎行-1438 李秀满祝福张艺兴:相信新公司可以成为中国第一-187 吴晓求:中概股在美国遭歧视 反衬出中国资本市场有哪些缺陷?-78 视频: 《我们恋爱吧》朱正廷遇姐姐夺命连环call 求生欲爆棚了!-45274 官方!切尔西弃将加盟那不勒斯 租借费450万英镑-58 林志玲手术后首露面 与朋友聚会气色红润脸胖了好几圈-28 9月抖音全球吸金1.3亿美金稳坐冠军宝座 内容电商有望持续发力-5582 视频: 万茜穿黑丝大秀性感长腿 眼神冷艳御姐范十足-638 张艺兴开娱乐公司招练习生 最低标准曝光-4 宝马5系 42.69-54.99万元-262 组图:《爸爸》经典再现!陈小春拿水盆泼jaspe场面激烈欢乐十足-16 网约车玩新套路 谁会傻傻陪跑?-4495 上个月大卖出19543辆,又一“黑武士”火了,这售价,CRV都不香了-69 周迅为演屠呦呦参观研究所-24638 马云:未来的机会在小城镇-544 美国职业橄榄球大联盟将严惩防疫不力球队-32 [新浪彩票]足彩20040期冷热指数:葡萄牙平局较热-7 组图:张怡宁39岁生日照状态佳 1岁儿子首曝光萌态十足-3355 OPPO 新机通过 FCC 认证:标配 5V2A 充电头-819 曝拜仁敲定尤文飞翼!昔日猛将回归 租借加盟一年-32831 穆里尼奥妙手!成功改造热刺头牌 打造新进攻核心-91434 这届95后,拒绝被彩礼“潜规则”绑架-8821 假期倒计时 进京人员需通过“健康宝”核验14日行程获得“绿码”-379 2020全国跳水冠军赛石家庄开幕 四奥运冠军参赛-23 南京又火了 “天空之境”媲美茶卡美到窒息-462 两市股指缩量整理 创业板指收涨0.44%-698 南非发生有史以来最大规模全国性大罢工-474 官方!切尔西弃将加盟那不勒斯 租借费450万英镑-9 东莞华为园区起火:起火建筑在为建工地-183 [图]移动端Chrome现可检查密码是否被泄漏-911 列维太精明!得知贝尔还得伤1月 立即砍100万薪水-94259 组图:李汶翰白衬衣搭牛仔裤青春阳光 红色大花点缀复古潮流-7158 郭碧婷产女细节曝光 向佐贴心陪伴小两口三天没换衣服-38 新闻秘书确诊 总统带病回归:焦虑沮丧情绪笼罩白宫记者团-3 吉他演奏家艾迪·范·海伦因咽喉癌去世 终年65岁-976 黑马营10周年:企业家们的创业箴言-75 我国外汇储备总体稳定-5882 中意产业合作基金正式启动-3224 戴尔发布全新超薄 Soundbar 条状音箱:全球最薄最轻-11421 日系高端SUV亮相,前脸像奇瑞车身像国产,但比宝马X5好看霸气-17174 张艺兴开娱乐公司招练习生 最低标准曝光引期待-43 皇马天神把对手都踢服了 齐达内:他又拯救了皇马-3 阿金拉德产后复出沃续约久光 目标东京奥运摘金-741 组图:43岁“梦萍”罕晒与儿子出游照 兄弟俩身材挺拔帅气十足-9317 生涯51场总决赛首次0失误! 詹姆斯越老越妖-497 拜登:如果特朗普仍患有新冠肺炎,我们不应该进行第二次辩论-95946 裁判逼出最强詹姆斯 直接顶翻3米-71 动力煤9月份交出完美答卷 好成绩还能继续保持吗?-97 ThinkPad X1 Carbon 2021 曝光:16:10 屏,散热升级-36 慢镜头下看蛇咬破气球-1 热身赛-曼城中卫送点 德佩中楣 荷兰新帅首战告负-22536 净利率增20%应收占比130% 恒大物业上市前经历了什么-4 浦发银行女客户经理为厅官父亲“洗黑钱”6400多万-64 俄罗斯一军火库爆炸火势尚未扑灭-63 美国职业橄榄球大联盟将严惩防疫不力球队-719 阿德巴约出战总决赛G4 德拉季奇继续缺阵-857 明汯投资徐世骏:感谢市场风格大切换 量化投资大洗牌后重生-9 张帅救3盘点击败本土外卡小将 生涯首进法网16强-4669 阿森纳官方宣布签下马竞悍腰 支付5000万欧违约金-5358 瑞德等众星备战BMW欧洲锦标赛-517 跳水冠军赛女子3米板 王涵力压施廷懋夺冠-7782 川籍主播潘涛登《新闻联播》:人生常有奇妙回馈-7151 联想 ThinkBook 15p 开卖:4K 100% AdobeRGB 屏,7298 元起-65686 欧股收盘涨跌不一,德指涨0.12%-85 佬牛足彩:葡萄牙坐和望赢 罗马尼亚客场不败-7465 第三届“中国造隐形冠军”长青峰会-7482 369如同天上降魔主 TES战胜UOL强势三连胜-815 总决赛历史仅一次1-3逆转-2157 港股苹果概念股走高,舜宇光学科技涨2.85%-2974 杨幂为女儿与刘恺威翻脸?男方首回应与前妻关-5236 金九震荡不休银十涨势几何-8312 跳水冠军赛女子3米板 王涵力压施廷懋夺冠-95242 货币要不要顾及这笔“欠账”...-65625 美国是国际社会的搅局者-6 layer 2020北京车展实拍:MC20-38664 2020蹦床全锦赛收官 董栋:对奥运争金很有信心-87764 胡葆森深情演绎英文歌月亮河-4381 品文化韵味 赏大美风光-654 索帅:对手造红牌动作就是个笑话 若我儿子这么做…-34 年轻男子刮中福彩“超给力”160万 火速领走奖金-37769 年轻男子刮中福彩“超给力”160万 火速领走奖金-74979 网红和演员真的有壁吗?-5 武磊周记:球迷迎接时拿出上港球衣 让我意外和感动-4 又一“神车”将国产!比GL8档次高,或23万,网友:又要大火!-9229 穆里尼奥:曼联最没资格抱怨VAR 热刺才该哭诉-716 官方!阿森纳中场弃将转战德甲 租借一年不带买断-9 安睿轲:宾利学习中国防御疫情的经验-8292 欧股收盘涨跌不一,德指涨0.12%-8735 产量偏紧 需求向好 9月天然橡胶行情震荡上涨-1298 国庆在售银行理财产品大盘点:你想pick哪一个?-72313 2020年10月金股组合报告:金股组合及观点综述-78462 建设10年的Fab 42工厂全面投产:Intel 10nm芯片产能提升50%-2351 黄政宇:德比战进球但没赢很可惜 未来想为国征战-82 两位60后女科学家获诺贝尔化学奖 她们研究的基因编辑是什么?-663 合景泰富建议分拆合景悠活在香港联交所主板上市-8715 竹内结子轻生原因成谜?曝其生前最后通话-9 马斯克和比尔·盖茨,为什么互相「看不上」?-9214 这届95后,拒绝被彩礼“潜规则”绑架-8 Xbox主管:有计划在PC/主机平台上推出串流服务-82713 新闻秘书确诊 总统带病回归:焦虑沮丧情绪笼罩白宫记者团-43678 巴特勒登美国热搜第一! 詹皇对位他失误创纪录-56982 东京奥组委将削减约300亿日元费用-41 五菱宏光MINI EV8月销量超Model3夺冠-67 中国足球裁判界泰斗王维屏仙逝 享年104岁-4212 不出国门 欣赏威尼斯双年展-3 进京人员需通过“健康宝”核验近14日行程获得“绿码”-9943 山东曝光第8批食药安全违法案例 涵养山矿泉水上榜-7 内蒙古发现距今8400年至7600年遗址-6755 专题报道 | 蜀地征途 大众汽车品牌SUV家族-6 美股大反击 节后A股能火上浇油吗-93 周冬雨杀青粉丝送火锅花篮 连本尊都感叹第一次见-9939 视频:王一博摔车后尹正发文抱不平 所在车队点名怼超刚!-3 周迅为演屠呦呦参观研究所 怼脸镜头曝光真实状-6 大乐透开7注837万2注追加 奖池余额9.36亿元-41 NBA历史上只有4队总决赛0-2后逆转 詹韦各一次-8 亚马逊公司启用新支付系统 摇摇手就能付款-89642 服务送上门 发展增底气-33638 十一旅游业真相:出境转国内,却遭遇"假高端"-538 入秋后,这肉要多吃几顿,调理身体作用大-18221 嘉年华ST推出特别版小钢炮 6.5秒破百-515 抢到1双赚1万,学生当鞋贩子 > 当白领?-55 杨绍鹏:海南有独特的地理优势 各项政策的关键在落实-33 icon-video layer 视频:可进化超跑SUV 这就是未来 高合HiPhi X icon-video03:27-2436 儿童医院公开赛夺冠热门:德尚博辛普森坎特利上榜-94 志愿军书记员马汉贤:“做好把脑袋别在腰带上的准备!”-29 吹着海风,乘船快乐出发——枸杞岛海钓Vlog-49 研究人员利用深度学习探究RNA 为COVID-19诊断仪开发传感器-71578 皇马天神把对手都踢服了 齐达内:他又拯救了皇马-4658 组图:王一博摩托车赛被后车带翻 倒地翻滚一圈后爬起错失第二-9825 特斯拉起诉特朗普政府 要求停止对华关税-6 “很安逸!”成都夜间经济再提振 消费市场活力增强-9 骂游客“没钱就不要出来玩“的店家,处理结果来了-2 舞起黄铜棒 炼就“金田法”-294 独家:贝贝网母公司被起诉不付大楼设计费 董事长张良伦知道吗?-8959 奇景!那不勒斯未到场出战尤文 比赛场内空无一人-26 “双节”主题理财产品来袭 警惕资金长时间空站岗-5 跳水冠军赛女子十米台半决赛-7989 DYG战胜WB.TS取6连胜!易峥小义完美契合使其质变-37 穆里尼奥报仇了!赢球后给索帅送还摸头杀|gif-4527 南京Hero或将成为本赛季黑马!成都AG展现灵活变阵-1 肖战粉丝惹怒川美上新闻!重庆电视台调查事件-55 S10小组赛首个冷门!MCX战胜TL 拿下开门红-51 组图:杨超越蕾丝花边短裙搭波浪卷发 文艺复古少女感十足-28417 组图:黄鸿升音乐追思会外景曝光 气球花卉布置轮播生前经典歌-8 继塑料中框易断裂后,微软 Surface Duo 铰链又被曝出问题-77 东京奥运简办预计可削减300亿日元经费-2433 通过“套路贷”等获利超7亿余元,南宁市张明等7人涉黑团伙今日受审-3838 官方!切尔西弃将加盟那不勒斯 租借费450万英镑-3 高盛青睐中国资产,建议做多3年期国债-4738 英国新增新冠确诊病例14162例,连续五天日增确诊数过万-247 [意甲]AC米兰3-0斯佩齐亚-3969 华纳兄弟档期大变动!《蝙蝠侠》推迟至明年3月4日-491 桂卫华:探索有色产业绿色发展之路-34 三星Galaxy Z Fold新专利曝光:在铰链上添加显示屏-8774 男子飞机上猥亵邻座女乘客被行拘-891 太平洋汽车网 icon-video05:17 硬汉新选择 诗瑶解说全新福特探险者-28 F1| 本田:愿为红牛自研引擎提供必要支持-5425 国庆长假像动物一样宅家“葛优躺” 追剧-549 美军最高将领马克·米利正在隔离,等待检测结果-63 组图:周迅为演屠呦呦参观研究所 怼脸镜头曝光真实状态-8138 纳达尔:费德勒是网坛最伟大的偶像之一 想念他-987 组图:李艺真穿格子衫牛仔裤宛若大学生 比耶挥手皮肤白嫩可爱-69458 TikTok超越Instagram:成为美国青少年第二喜欢的社交应用-938 持续开展景区防火行动-9 绍普莱特LPGA精英赛瑞德夺冠-7 源达收评:指数调整尾声 A股将迎接新的行情窗-5 郎平首谈网络暴力:尽量不受干扰-923 全球消费电子市场品牌Q2份额:华为三星领跑-181 保险云端对话:崔少婷、张利凯等激辩“惠民保”-2 猎装车型又被“发扬光大” ?是时候说一下TA与瓦罐车的具体区别了!-2313 微软Azure服务又宕机 北美断线问题尤其严重-22 特朗普盛赞抗体治疗 并表示希望所有患者都能享受-4774 海盗船发布入门级Katar Pro有线/无线游戏鼠标新品-8 总决赛第三场 阿德巴约德拉季奇继续因伤缺战-217 为科比而战!詹姆斯身穿科比经典形象T恤入场-74 新款本田思域渲染图曝光 或将于2021年亮相-96 全球央行黄金购买量或锐减逾四成 创10年新低-167 V选好车|探店网红新能源 小鹏P7-487 王一博摩托车赛被后车带翻 倒地翻滚一圈后爬起错失第二-6577 车314 icon-video08:30 试驾第二代捷途X90:极具家用性的高性价比车-5 广汇汽车销量下滑预付款反增 4S店首...-32491 德国单日新增病例创今年4月以来新高-74727 组图:甘薇晒子女自我激励别怕困难 回复质疑默认自己是受害者-31 中国空调产业迎来最后一场战役-3 组图:85号赛车手上线!王一博珠海zic摩托车赛酷帅十足-96 影响世界:了解富国儿童幸福的构成报告-93612 09月03日昂科威|发动机 发动机故障灯亮了 投诉进度:厂家已受理-5 于朦胧疑遭私生跟踪 微博喊话求“别跟了”引担忧-31 Chrome Canary 88 版本引入新功能:标签栏上滚动查找标签页-3791 组图:张怡宁39岁生日照状态佳 1岁儿子首曝光萌态十足-91 日本一职业棒球俱乐部11人感染新冠 相关比赛照常-5663 国庆假期过半 长三角铁路客流继续保持高位运行-34437 组图:花仙子!金晨穿碎花裙置身温室花丛中眼神自信-387 组图:林小宅戴帽穿印花T休闲时髦 对镜笑眼弯弯甜美可人-1 法网肯宁2-1柯林斯进四强-5316 湖人夺冠概率升至94%! 大概率第五场终结-94 情况不妙!阿德巴约和德拉季奇小概率G3复出-616 苹果 iPhone 5C 将于10月31日被列为过时产品-911 蒂姆戏称对手小球仿佛来自另一星球 快被逼疯-691 国家队上汽R ER6 对比特斯拉Model 3-489 视频: 陈小春把jasper扔进游泳池 重现《爸爸去哪》坑娃一幕-1 组图:赖美云戴印花渔夫帽穿西装造型时髦 一头红色长发妩媚靓丽-5 杨德龙:国庆中秋双节将至 节后市场有望迎来反弹-84451 韩国:计划明年试点央行数字货币-3188 理想汽车第三季度交付8660辆 创季度交付量新高-851 特斯拉副总裁6次回应降价:初心是提供性价比更好产品-27985 詹姆斯晒出布朗尼多张童年照 祝大儿子16岁生日快乐-5227 李铁疑拒招不愿来国足的球员 找借口之人再难入选-3211 当他们变小以后!这也太可爱了吧-7 浙江龙港探路新型城镇化-7718 Jennie护士造型引争议 YG回应:删除MV相关画面-797 2020蹦床全锦赛收官 董栋:对奥运争金很有信心-1 戴尔新款四窄边显示器上架:16:10 比例,USB-C 90W 供电-47 追梦训练超远三分7连中! 宇宙勇下赛季回归?-7533 昂克赛拉领衔 马自达9月份销售2.1万辆-268 法网奥斯塔彭科无缘16强-33195 男子守号半年揽福彩111万 春天选号秋天收获-票-4436 索帅大赞卡瓦尼:进球的人来了!十年最强射手之一-45 法网迪米特洛夫无缘八强-2 詹姆斯说不用担心! 浓眉承诺下一场会更好-38 法网迪米特洛夫晋级16强-842 向节日里坚守岗位的人们致敬(今日谈)-938 #大玩家#好看,能装!入手全格收纳垃圾桶-413 国行iPhone 12或为特供版 比海外便宜100美元-4495 CRISPR剪得诺奖!张锋失之交臂-19576 开拓者小将签约里奇保罗!复赛后惊艳的二轮秀-497 Chipolo推出由海洋回收塑料制成的环保智能追踪标签-716 切尔西锋将想罚点球未能如愿 进球后不太高兴|图-4986 波兰新星称保持积极心态助突破 盼单双打皆有所获-4196 研究人员警告Qiui男用智能情趣锁存在安全隐患-33954 美日澳印“四方对话”妄图遏制中国 外媒:恐难达成一致-77694 苹果谷歌等科技巨头被判定存在垄断行为 众议院报告要求实行结构性分离-818 SN750 继任者来了,西数明天发布新款高性能黑盘 SSD-847 电影《夺冠》累计票房突破5亿元-87259 真相还原,这才是真正的北京车展 | 反套路试车-58193 机器人再次战胜人类! 这次发生在“冰上围棋”-75 369如同天上降魔主 TES战胜UOL强势三连胜-121 法网哈勒普0-2斯维泰克无缘8强-687 万亿刺激方案被叫停美股闪崩港股爆发 什么信号?-27243 《博德之门 3》Steam 抢先体验开启,国区售价 298 元-44 圣地兄弟会儿童医院公开赛第一眼:德尚博归来-1763 风生焱起:趋势未走坏 可谨慎看多-324 369如同天上降魔主 TES战胜UOL强势三连胜-894 组图:极限男人帮为张艺兴庆生 罗志祥默默点赞生日卡片-72987 Sensor Tower公布2020年9月全球热门移动应用收入TOP10-1495 穆里尼奥报仇了!赢球后给索帅送还摸头杀|gif-4921 新科澳网冠军送蛋击败同胞 首进法网四强将战科娃-83841 2020北京车展:新BMW 5系售价42.69-60.39万元-44 宅在家一定要自己理发?整顶帽子它不香么?-17867 高盛青睐中国资产,建议做多3年期国债-5994 官方:塞维利亚签下阿尔克马尔中场伊德里西-28 郭广昌能否让金徽酒逆袭?省内市占...-284 股市乌托邦:等待回调低吸的机会-485 组图:黄鸿升妹妹晒刺青照纪念小鬼 爱心旁的数字意义令人泪目-2 全锦赛龙蟒进8强 陈梦/王曼昱vs何卓佳/孙铭阳-3759 意甲-莱昂梅开2度特奥破门 恰10助攻 AC米兰3-0胜-5 浦江光影秀“国庆特别版”昨晚谢幕-2752 F1| 本田:愿为红牛自研引擎提供必要支持-469 净利率暴增逾20%应收款占比高达130...-98345 福建省10月6日新增无症状感染者3例,均为境外输入-19 百度推出全新独立视频App百度看看-81435 蔡国强全球直播悲剧的诞生致敬不屈勇气和希望-42171 石化行业9月动态报告:低油价利于行业盈利提升 看好下-2 2020中国经济持续稳定恢复 动力活力显现 给世界注入信心和动力-7628 小奶猫喝奶的时候,都是在用耳朵使劲儿吗?-2 德国8月工业产出下降0.2% 结束连续三个月反弹-654 斯维托丽娜谈被爆冷:打得各种不顺 状态不在最佳-611 《胖哥游记》不问终点 只管前行!西藏游记完结篇-36429 施瓦茨曼称一度对自己表现不满 能逆转源于一优势-99643 马斯克和比尔·盖茨,为什么互相「看不上」?-14188 “艾”过“灸”知好,我的灸大夫i9无限灸专家-6974 邱淑贞21岁女儿沈月近照曝光 被称“最美星二-18 北向资金三季度“喝酒”不再,卡位科技板块 后市资金增量可期-462 《生化危机》电影版宣布重启 这次还原一二代剧情-55427 张帅:差点因签证无法参赛 心态改变令状态回升-85 国家队强势入列 上汽R ER6 对比特斯拉Model 3-566 雄鹿掘金领衔8队有意保罗 尼克斯已经开始报价-6396 组图:《355》首曝角色海报 特工杰西卡范冰冰等气场十足-26 前三季度20余家药企涉嫌贿赂被判罚 包括步长制药等-47923 组图:比心失败!李昌燮见镜头笑不见眼 手势搞笑秒变大柿子-6 德拉季奇仍小概率出战G5 热火能绝处逢生吗-2 两代"小燕子"关系好!赵薇私下为黄奕打气-3 国足集体观看电影《夺冠》 颜骏凌:一度有些激动-72 李秀满祝福张艺兴:相信新公司可以成为中国第一-42 绿城将进争冠组郑雄不敢大意 点出球队不稳定之处-7631 61岁杨丽萍身穿孔雀裙仙气十足 携作品亮相演绎-888 揭秘主力吸筹方式(10月7日)-1 CRISPR剪得诺奖!张锋失之交臂-2 小威登时尚杂志《VOGUE》封面 白色裙装气质出众-14 安睿轲:宾利学习中国防御疫情的经验-3 专家金原两中大乐透一等2712万 祥子同期揽二等-842 婆媳真的是天敌吗?如何处理婆媳关系-55 [英超]曼城1-1利兹联 斯特林进球-547 绿城管理首份财报:业绩下滑净利三连降-671 孩子们参加户外游戏活动-5 09月29日福克斯|发动机 行驶中失去动力 投诉进度:厂家已受理-33913 优酷又一部青春剧开机 开启关于围棋的浪漫旅程-9 9月末我国外汇储备规模为31426亿美元-37256 德甲夏季转会一览:拜仁压哨连签3新援 萨内标王-545 视频: 美女好憨!张雨绮录姐姐团综亮相机场 手机屏保P图追星玄彬-5 竞彩要点数据:波特兰抗压能力差 圣保罗主场龙-785 组图:比心失败!李昌燮见镜头笑不见眼 手势搞笑秒变大柿子-6 北京车展上这几款车简直是代步神器-12 受防疫影响 尤文本轮联赛对手或被判0-3负-84 赵丽颖卷发披肩歪头杀浅笑悠然 水边观鱼恬静优-69 消失多年的联防 如今让热火成黑马杀进总决赛!-245 16~24 岁:百度网盘超级会员青春年卡 198 元-14553 英特尔11代Rocket Lake-S桌面处理器或于明年3月到来-555 金九变黑九银十应赢十-25934 layer 2020北京车展实拍:Panamera-264 湖人夺冠概率升至94%! 大概率第五场终结-76248 黄仁勋宣布重大举措:x86能用的ARM平台上也能用了-5 穆里尼奥报仇了!赢球后给索帅送还摸头杀|gif-3 炒掉里弗斯只是开始? 快船如何才能兑现潜力-58 俄航天专家:国际空间站“开始散架” 或在2024年停用-64 石原里美“交往1年不结婚就分手” 为了患癌母亲-98777 林志玲手术后首露面 与朋友聚会气色红润-61318 流动性宽裕理财产品收益节节败退 双节专属理财“秋意冷”-76 组图:周冬雨青涩旧照曝光 长发飘逸笑容甜美动人-5 官方:西班牙人租借塞尔塔边锋巴迪略-84677 视频: 甄子丹岳父因患胰腺癌离世 葬礼将于10月7日举行-96496 时话|年度第三大表展 新表放了哪些大招?-57622 视频: 新角色还演“娘娘”吗? 佘诗曼称很有挑战性-4358 西安:新建住宅停车场设置30%充电车位-6794 2020北京车展:新BMW 5系售价42.69-60.39万元-266 中国国际金融年度论坛-2119 美股再闪崩,A股节后走独立行情吗?-848 意大利新增新冠肺炎确诊病例3678例,累计333940例-8 组图:汪涵黑超遮面装扮潮酷星范儿足 自买冷饮独自现身超接地气-78695 盘后机构策略:节后市场或将逐步走高 可关注三季报行情-988 国产又一重量级MPV,霸气不输埃尔法,比GL8更大,还买奥德赛?-3877 总决赛第三场 阿德巴约德拉季奇继续因伤缺战-9386 组图:徐冬冬穿紧身运动套装秀傲人身材 对镜比V歪头搞怪-9212 专家皮哥近3日盈利超7倍 小炮杨林擒足彩562万-49869 视频: 肖战生日现场曝光举蛋糕吹蜡烛 烟花怎么吹都不灭-1266 2021年冰壶世锦赛扩军至14队 中国男队增补入围-13 开奖直播:福彩双色球/福彩3D/七乐彩等一键达-5835 要和比伯合作?萌德:过去半年里我们的确走的更近-19963 [图]罗技推出有线机械背光键盘K845 售价59.99美元-16 它是靠什么测量间距的?-93 香港恒生指数开盘上涨19.14点-854 山东曝光第八批食药安全违法典型案例 涵养山矿泉水上榜-2672 阿里发布十一假期趋势报告:家庭出游成主题 县域消费同比大增-4563 杨超越蕾丝花边短裙搭波浪卷发 文艺复古少女感-6667 海绵宝宝:营救大冒险-97 就这?还想凭借它翻身?-6948 2020银行业发展论坛圆满落幕 行长天团共议发展-4817 晶盛机电(300316):携手蓝思成立合资公司 蓝宝-57 日本一职业棒球俱乐部11人感染新冠 相关比赛照常-65386 组图:林小宅戴帽穿印花T休闲时髦 对镜笑眼弯弯甜美可人-13 向节日里坚守岗位的人们致敬(今日谈)-7 雪铁龙推Type HG厢式货车:融合了Type H和Type G特色的复古车-598 组图:《爸爸》经典再现!陈小春拿水盆泼jaspe场面激烈欢乐十足-4 视频: 被杨凡叫干妈 张艾嘉:以前经常为他做饭-7815 国台办回应!提到“家”-53 layer 2021款宝马4系 Convertible-1 欧英领导人联合声明:未来关系谈判存在重大分歧-1657 全国冠军赛:男子三米跳板决赛谢思埸夺冠-227 一周好物推荐:据说小乾有车了?-72598 燃起来!在家也能甩掉脂肪,重塑苗条好身材-6 阿里发布十一假期趋势报告:家庭出游成主题 县域消费同比大增-469 实测1公里2毛钱,本田这台后排空间巨大的车型真省油!-742 00后第1人!法网辛纳挑落兹维列夫 首进大满贯8强-4 国家队强势入列 上汽R ER6 对比特斯拉Model 3-885 立足“小而精” 放眼大湾区-1587 节前平稳收官双节后值得期待-2 视频: 张艺兴开娱乐公司招练习生 最低标准曝光有点难啊!-5662 视频:肖战粉丝惹怒川美上新闻!重庆电视台调查事件始末-81281 俄航天专家:国际空间站“开始散架” 或在2024年停用-7 随着市场的不断上涨 问题随之而来...-73 印度欲吸引全球主要手机品牌在该国设厂 iPhone供应商在获准之列-1641 蒂姆谈五盘鏖战惊险晋级八强:经验帮助我获胜-6942 新闻秘书确诊 总统带病回归:焦虑沮丧情绪笼罩白宫记者团-1 郎平谈网络暴力:勇敢面对 摆好自己的位置-262 组图:秦岚最新写真大片曝光 卷发空气刘海泪痣妆女神范十足-7967 实验室数据显示特朗普产生了新冠抗体-57941 织密保障网 用足大数据-458 胡葆森深情演绎英文歌月亮河-6 流动性宽裕理财产品收益节节败退 双节专属理财“秋意冷”-6639 视频: 男神收割机!贾玲成拉郎界顶流 超200位艺人和她配一脸-827 美股三大股指集体高开-44 科技 “垄断”巨头遭指控,指控具体内容一览-25822 海南省委书记刘赐贵:严控房地产-9539 官方:沙尔克中场鲁迪租借回归霍芬海姆-59 消息人士:谷歌在印度反垄断案中面临滥用智能电视市场地位的指控-33 超高速碳电极有望推动电池性能突破 充电时间可降至数分钟-65866 竹内结子轻生原因成谜?曝其生前最后通话-7297 视频: 梅婷和老公曾剑久违合体 携一双儿女现身超幸福-6131 苹果又在暗示什么?官方邀请函居然还有另一个版本-7155 9月30日已上市 奥迪A7 标配矩阵大灯 新款奥迪A7售价57.38万元起-3 黄子韬挑大梁接手爸爸工作 凌晨一点还与员工-12 视频: 真文案鬼才!白敬亭连续6年实力教学如何发“十月文案”-5 张帅:以为这一年都吹了 六连败开局一度怀疑自己-721 泰达备战王宝山狠扣细节 不再让阿7前场自由发挥-2652 视频: 陈小春把jasper扔进游泳池 重现《爸爸去哪》坑娃一幕-2268 十月荧屏还有哪些惊喜?-8193 亚特兰蒂斯酒店被曝违建-2872 中国企业社会责任高峰论坛-2981 幸福里(电视剧《幸福…-12 小德成连续进法网8强次数最多球员 赛后感慨人生-3151 织密保障网 用足大数据-6974 组图:李汶翰白衬衣搭牛仔裤青春阳光 红色大花点缀复古潮流-27 杨宝山:以热血和生命捍卫军人使命-9324 黄金年底前再创历史新高-8255
标签:缓存,return,对象,模式,组图,源码,Mybatis,设计模式,public 来源: https://www.cnblogs.com/Kobasolo/p/13780594.html