Sunday, February 28, 2021

一日一技:微信开发-发送模板消息

概述

模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等。不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息。

建立模板的方式具体见

https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Template_Message_Interface.html

下面来说说具体的代码实现。

文档定义

接口调用请求说明

http请求方式: POST https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN

POST数据说明

POST数据示例如下:

{   "touser":"OPENID",   "template_id":"ngqIpbwh8bUfcSsECmogfXcV14J0tQlEpBO27izEYtY",   "url":"",    "miniprogram":{    "appid":"xiaochengxuappid12345",    "pagepath":"index?foo=bar"   },      "data":{     "first": {      "value":"恭喜你购买成功!",      "color":"#173177"     },     "keyword1":{      "value":"巧克力",      "color":"#173177"     },     "keyword2": {      "value":"39.8元",      "color":"#173177"     },     "keyword3": {      "value":"2014年9月22日",      "color":"#173177"     },     "remark":{      "value":"欢迎再次购买!",      "color":"#173177"     }   }  }

实现方式

1、定义组织模板数据

 Template_Id = TemplateIditem.TemplateId.FirstOrDefault(o => o.type == "Disconnected").value;    var Data = new    {     first = new TemplateDataItem() { value = "您已解除连接!" },     keyword1 = new TemplateDataItem() { value = userMgmtExtra.EMail },     keyword2 = new TemplateDataItem() { value = DateTime.Now.ToString("yyyy年MM月dd日") },     remark = new TemplateDataItem() { value = "您已解除微信绑定,若要持续接收xxxxxx系统信息,请至xxxx账户重新绑定,感谢您的使用" }    };    TemplateData = JsonConvert.SerializeObject(Data);

 

if (item.OpenId != null && Template_Id != null && TemplateData != null)   {    return new TemplateSendParam()    {     OpenId = item.OpenId,     Template_Id = Template_Id,     TemplateData = TemplateData    };   }

2、post请求微信api

 private static Tuple<TemplateSendInfo, string, string> TemplateSend(string AppId, string Appsecret, string OPENID, string template_id, string TemplateData, bool isResh)  {   string jsonstr = "{\"touser\":\"" + OPENID + "\",\"template_id\":\"" + template_id + "\", \"data\":" + TemplateData + " }";   var accessToken = TryGetAccessToken(AppId, Appsecret, isResh);   string url = APIConfig.Templatesend(accessToken);   string str = APIConfig.CreatePostHttpResponse(url, jsonstr);   _logger.Debug("发送模板消息\r\n" + "输入:" + url + "\r\n" + jsonstr + "\r\n输出:" + str);   return new Tuple<TemplateSendInfo, string, string>(JsonConvert.DeserializeObject<TemplateSendInfo>(str), url, jsonstr);  }

效果

 

 









原文转载:http://www.shaoqun.com/a/596610.html

跨境电商:https://www.ikjzd.com/

家得宝:https://www.ikjzd.com/w/1570

达方物流:https://www.ikjzd.com/w/2562


概述模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等。不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息。建立模板的方式具体见https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Template_Message_Interface.html下
cima是什么:https://www.ikjzd.com/w/1372
www.made-in-china.com:https://www.ikjzd.com/w/2777
盘古集团:https://www.ikjzd.com/w/1448
谷歌的位置跟踪功能可能再次陷入水深火热之中:https://www.ikjzd.com/home/5218
辟谣:跨境人疯传的这9件事都是谣言:https://www.ikjzd.com/home/115816
口述:秘书工作是我永远的痛(3/3):http://lady.shaoqun.com/m/a/44686.html

ClickHouse源码笔记4:FilterBlockInputStream, 探寻where,having的实现

书接上文,本篇继续分享ClickHouse源码中一个重要的流,FilterBlockInputStream的实现,重点在于分析Clickhouse是如何在执行引擎实现向量化的Filter操作符,而利用这个Filter操作符的,就可以实现where, having的数据过滤。
话不多说,准备发车~~ 本文的源码分析基于ClickHouse v19.16.2.2的版本。

1.Selection的实现

Selection是关系代数之中重要的一个的一个运算,通常也会用σ符合来selection的实现。

而在SQL语句之中,实现Selection运算的便是:wherehaving。而本文就要从一个简单的SQL语句出发,带领大家一同梳理Clickhouse的源码,来探究它是如何实现选择运算的。

先看如下的查询
SELECT * FROM test where a > 3 and b < 1;

这里扫描了test表,并且需要筛选出了a列大于3且b列小于1的行。老规矩,咱们先尝试打开ClickHouse的Debug日志看一下具体的执行的pipeline。(ClickHouse 20.6之后的版本,终于支持了使用Explain语句来查看执行计划,真是千呼万唤始出来啊~~)

ClickHouse执行的Pipeline

这里分为了4个流,而咱们需要关注的流就是Filter流,它实现了从存储引擎的数据读取数据,并且执行函数运算,并最终实现数据过滤的逻辑。

所以Clickhouse的表达式计算并不单单只由ExpressionBlockInputStream来完成的,而FilterBlockInputStream同样也需要包含Expression进行表达式的向量化的计算与过滤。
吐槽时间私以为这样的实现并不优雅,如果在Filter上层再套一层ExpressionBlockinputStream结构上会更加清晰。不过这样的实现可能会导致额外的性能损耗,Clickhouse为了实现查询的高效执行可谓是『丧心病狂』, 后续分析聚合函数的实现时,我们会见到更为Dirty的代码。

2. FilterBlockInputStream的源码剖析

  • FilterBlockInputStream readImpl()的实现
    直接上代码看一下FilterBlockInputStream的数据读取方法吧,这部分代码比较多。我们拆解出来梳理
 /// Determine position of filter column. header = input->getHeader(); expression->execute(header); filter_column = header.getPositionByName(filter_column_name); auto & column_elem = header.safeGetByPosition(filter_column); /// Isn't the filter already constant? if (column_elem.column)  constant_filter_description = ConstantFilterDescription(*column_elem.column);

首先,构造FilterBlockInputStream时会首先读取下一级流的Block Header。通过Header来分析是否有常量列满足always truealways false的逻辑,来设置ConstantFilterDescription。比如存在全部是null列的过滤列,无论进行什么表达式计算,结果都是false。如果这样的话,就直接放回空的block给上层流就ok了。

if (expression->checkColumnIsAlwaysFalse(filter_column_name))  return {};// Function: checkColumnIsAlwaysFalsefor (auto & action : actions) {  if (action.type == action.APPLY_FUNCTION && action.function_base)  {   auto name = action.function_base->getName();   if ((name == "in" || name == "globalIn")    && action.result_name == column_name    && action.argument_names.size() > 1)   {    set_to_check = action.argument_names[1];   }  } }

接下来解析FilterBlockInputStream之中所有的表达式,查询是否有inglobalin的函数调用,并且其第二个参数set为空,那么同样表示表达式alwaysFalse也可以直接返回为空的Block。

比如说有如下查询:select * from test2 where a in (select a from test2 where a > 10)
而这个子查询select a from test2 where a > 10返回的是空集的话,那么就会被直接过滤了,返回空的block。

接下来进入一个while循环,不断从底层的流读取数据,并进行对应的表达式计算。这里我删去了一些冗余的代码:

while (1) {  res = children.back()->read();  expression->execute(res);  size_t columns = res.columns();  ColumnPtr column = res.safeGetByPosition(filter_column).column;

这里的实现很简单,就是不停从底层的流读取数据Block,通过表达式计算生成filter_column列。这个列是一组bool列,标识了对应的行是否还应该存在。

举个栗子,如果有如下查询select * from test where a > 10 and b < 2。ClickHouse的表达式会生成如下执行流程如下(注意:ClickHouse遵从函数式编程的逻辑,任意函数调用都会生成新的一列):

1. add const column : 102. function call : a > 10 (生成一组新生成的bool列,列名为`a > 10`)3. remove const column : 104. add const column : 25. function call : b < 2 (生成一组新生成的bool列,列名为`b < 2`)6. remove const column : 2 7. call function : a > 10 and b < 2 (生成一组新生成的bool列,列名为`a > 10 and b < 2`)8. remove column : a > 109. remove column : b < 2

而最终新生成的这列就是我们后续需要用到过滤最终结果的filter_column列了。

接下来就进入最核心的一部分代码了,遍历Block之中除了const columnfilter_column列的所有列,进行实际的数据过滤。IColumn接口中实现了一个接口为filter,也就是说,每一个列类型都需要实现一个过滤方法,用一组bool数组来过滤列数据。

  /** Removes elements that don't match the filter.  * Is used in WHERE and HAVING operations.  * If result_size_hint > 0, then makes advance reserve(result_size_hint) for the result column;  * if 0, then don't makes reserve(),  * otherwise (i.e. < 0), makes reserve() using size of source column.  */ using Filter = PaddedPODArray<UInt8>; virtual Ptr filter(const Filter & filt, ssize_t result_size_hint) const = 0;

我们直接跳到子类的实现中来看一下:

template <typename T>ColumnPtr ColumnVector<T>::filter(const IColumn::Filter & filt, ssize_t result_size_hint) const{ const UInt8 * filt_pos = filt.data(); const UInt8 * filt_end = filt_pos + size; const T * data_pos = data.data(); while (filt_pos < filt_end) {  if (*filt_pos)   res_data.push_back(*data_pos);  ++filt_pos;  ++data_pos; } return res;}

这之中最为核心的就是这个while循环,遍历bool数组,然后将合法数据塞进一个新的列之中,最终新的列替换旧的列,就完成了一列数据的过滤。之后对于剩余的列依次按照上述流程过一遍就完成了整个block的过滤。这里也可以看到,这个while循环也是一组很简单,没有control flow break的一段代码,能够给予编译器向量化优化的空间很大。当然,ClickHouse还提供了一个手工调用向量化API的过滤版本代码:

#ifdef __SSE2__ /** A slightly more optimized version.  * Based on the assumption that often pieces of consecutive values  * completely pass or do not pass the filter.  * Therefore, we will optimistically check the parts of `SIMD_BYTES` values.  */ static constexpr size_t SIMD_BYTES = 16; const __m128i zero16 = _mm_setzero_si128(); const UInt8 * filt_end_sse = filt_pos + size / SIMD_BYTES * SIMD_BYTES; while (filt_pos < filt_end_sse) {  int mask = _mm_movemask_epi8(_mm_cmpgt_epi8(_mm_loadu_si128(reinterpret_cast<const __m128i *>(filt_pos)), zero16));  if (0 == mask)  {   /// Nothing is inserted.  }  else if (0xFFFF == mask)  {   res_data.insert(data_pos, data_pos + SIMD_BYTES);  }  else  {   for (size_t i = 0; i < SIMD_BYTES; ++i)    if (filt_pos[i])     res_data.push_back(data_pos[i]);  }  filt_pos += SIMD_BYTES;  data_pos += SIMD_BYTES; }

搜索量飙升450%,Shopify上这些产品依然很抢手!

在简报中,Shopify给出的热门产品包括刮舌器、光疗灯、有色润肤霜、瑞士奶酪植物、镀金银产品、机械游戏键盘、空气煎锅、床头灯、低醇啤酒、地板枕头、圆领运动衫和筋膜枪


今天小编在新闻上看到"日本牙膏卖火了"的消息,主要得益于人们口腔保健意识的增强以及对口臭问题的日益关注。


这也解释了为什么在进入2021年以后,人们对刮舌器的搜索兴趣再一次呈上升趋势,其销量也有望在今年迎来下一次高峰。


图1.png



2020年,人们呆在家里摆弄花草,对室内植物的需求暴涨。到了2021年,人们对室内植物的热情依然不减,就以瑞士奶酪植物为例,它在去年的搜索热度一直居高不下,在今年的搜索势头依然十分强劲。


 

图2.png

 

室内植物的抢手固然是受到疫情期间消费者居家隔离的影响。除此以外,疫情也带火了家居装饰品、游戏设备、厨房用具、运动休闲服饰等诸多产品。


值得注意的是,进入到2021年,这些产品仍然有很大的增长空间。比如说,床头灯的发展势头就十分强劲。其中,"女孩床头灯"(girls bedside lamp)的搜索量更是增长了450%



 图3.png


最后,在Shopify的选品简报中还提到了光疗灯。据Shopify解释,光疗灯也被称为"太阳能模拟器",是用于缓解多种精神疾病症状的医疗设备主要可用于治疗季节性情感障碍(SAD),也包括抑郁症和昼夜节律性睡眠障碍


在谷歌趋势上,光疗灯的搜索量增幅明显,不禁让人猜想是不是因为新冠肺炎疫情给人们心理上带来了不可磨灭的影响呢......


图4.png


 

不过,卖家需要注意的是,光疗灯属于医疗用品,跨境销售可能要面临认证之类的问题。


从以上Shopify分享的2月热门产品来看,到了2021年,新冠肺炎疫情仍在持续影响着消费者的购物选择,各位卖家在选品的时候也要多加注意。




原文转载:http://www.shaoqun.com/a/596600.html

跨境电商:https://www.ikjzd.com/

名人堂是什么:https://www.ikjzd.com/w/1082

香港会计师事务所:https://www.ikjzd.com/w/2434


在简报中,Shopify给出的热门产品包括刮舌器、光疗灯、有色润肤霜、瑞士奶酪植物、镀金银产品、机械游戏键盘、空气煎锅、床头灯、低醇啤酒、地板枕头、圆领运动衫和筋膜枪。今天小编在新闻上看到"日本牙膏卖火了"的消息,主要得益于人们口腔保健意识的增强以及对口臭问题的日益关注。这也解释了为什么在进入2021年以后,人们对刮舌器的搜索兴趣再一次呈上升趋势,其销量也有望在今年迎来下一次高峰。2020年,人们
跨境通电子商务网站:https://www.ikjzd.com/w/1329
sgshop:https://www.ikjzd.com/w/1982
亚马逊应用商店:https://www.ikjzd.com/w/531
DHL宣布在东南亚推出跨境配送货到付款服务,且支持现金支付!:https://www.ikjzd.com/home/7086
中东物流新星Shipa发力,在迪拜新增两个电商交付中心:https://www.ikjzd.com/home/142408
美仓互联:https://www.ikjzd.com/w/2187

哺乳姿势不对小心得乳腺炎,预防要做好这几件事

核心提示:很多新妈妈因为喂奶姿势不对,或者乳房护理不当,很容易得乳腺炎,哺乳期该如何预防乳腺炎?

乳腺炎是哺乳期常见疾病,很多妈妈都会得,有的妈妈甚至整个哺乳期会得好几次乳腺炎,这到底是怎么回事呢?哺乳期应该怎样预防乳腺炎?

为什么哺乳期容易得乳腺炎?

形成乳腺炎的原因大致有三种:

1.妈妈喂奶次数不频繁,宝宝无效吸吮或者妈妈的内衣太紧,导致乳房受压乳房部分或全部乳腺管引流不畅。

2.妈妈手指或者卧位时压住部分乳房阻挡了乳汁的排出,这时应该及时纠正。

3.有些妈妈乳房大而且下垂,乳汁不易排出。

有些妈妈在给宝宝喂奶时,为了能让宝宝吃到奶,自己的食指和中指呈剪刀状,将乳房卡在中间挤压乳房。这样的喂奶方式更容易堵塞乳腺,形成乳腺炎。


哺乳期如何预防乳腺炎?

妈妈在给宝宝喂奶时,检查自己的喂奶方式是否正确,看看宝宝有没有含住乳头及大部分乳晕。妈妈可以采用不同体位给孩子喂奶,在喂奶时托起哺乳侧乳房,改善乳房下部的乳汁引流,使乳房各个乳腺通畅。建议妈妈穿宽松的哺乳胸罩,夜间侧卧要避免乳房受压。

在乳汁淤积的情况下,可以给宝宝喂奶时,从阻塞部位的乳管上方朝乳头方向轻轻按摩,有助于缓解阻塞。在喂奶时,先喂健侧乳房,排空乳房。可以中医理疗,必要时用抗生素。


原文转载:http://health.shaoqun.com/a/188082.html

跨境电商:https://www.ikjzd.com/

mile:https://www.ikjzd.com/w/1746

法瑞儿:https://www.ikjzd.com/w/412


核心提示:很多新妈妈因为喂奶姿势不对,或者乳房护理不当,很容易得乳腺炎,哺乳期该如何预防乳腺炎? 乳腺炎是哺乳期常见疾病,很多妈妈都会得,有的妈妈甚至整个哺乳期会得好几次乳腺炎,这到底是怎么回事呢?哺乳期应该怎样预防乳腺炎?为什么哺乳期容易得乳腺炎?形成乳腺炎的原因大致有三种:1.妈妈喂奶次数不频繁,宝宝无效吸吮或者妈妈的内衣太紧,导致乳房受压乳房部分或全部乳腺管引流不畅。2.妈妈手指或者卧位时压
西集网:https://www.ikjzd.com/w/1353
telegram:https://www.ikjzd.com/w/1734
costco:https://www.ikjzd.com/w/1680
亚马逊赶跟卖的有效办法分享!:https://www.ikjzd.com/home/94333
eBay调整SpeedPAK中国大陆至西班牙收寄服务:https://www.ikjzd.com/home/132124
深度| 跨境电商亚马逊欧洲站分析:https://www.ikjzd.com/home/124650

40岁之后我的月经量变少了,正常吗?

核心提示:女人40岁之后身体会发生很多变化,其中月经量变少也是变化之一,女人40岁之后月经量变少正常吗?

栀子今年42岁了,40岁之后,她发现自己的身体明显不如以前了,后来还发现一件可怕的事情:月经量变少了。栀子很担心这到底是正常的生理变化,还是自己的身体出了问题,女人40岁之后月经量变少正常吗?


我们都知道,月经对女性是非常重要的,它的异常可能预示着女性身体健康状况的变化。当女性过了40岁后,月经量会开始变少。这种状况相信有很多女性都会遇到,这是一种绝经的前兆。

女性正常绝经的年龄在50岁左右,这与个体身体状况有关系,抵抗力差,身体素质本来就差的人绝经期要比身体状况好的人来的更早,从而月经量减少的时间也会提前,这也反应出一个女人的身体状态。

女人40岁之前,随着年龄增长,女性容貌也会开始慢慢变化,如果妇科卵巢功能比较好皮肤老化的也比较慢,月经周期也不会受到影响。


当女人40岁后,如果月经量变少,但没有其它异常并发症,这是正常的现象。如果有腹痛或是其它不适感,可能就并不是生理方面的问题了,可到正规医院进行针对性的检查,这个时候并不能完全排除是由于疾病引起的月经量少,最好做全面检查确认卵巢、子宫内膜等附件激素分泌完全正常。病理性月经量减少需要通过对症治疗才能缓解。

如果是生理性月经量减少,可在平时多吃些补血的食物,调理妇科功能,可以延缓女性绝经时间。或是通过中药调理自己的月经量,同样可以辅助推迟绝经时间。

绝经是女性无法逃避的现实,每个女性都会到这个阶段,只是不同的身体状况绝经期到来的时间也有所不同。月经量逐渐变少就是女性绝经前征兆之一,这个时候放松自己的心态欣然去接受它。


原文转载:http://health.shaoqun.com/a/188077.html

跨境电商:https://www.ikjzd.com/

菜鸟网络:https://www.ikjzd.com/w/1547

modcloth:https://www.ikjzd.com/w/1271


核心提示:女人40岁之后身体会发生很多变化,其中月经量变少也是变化之一,女人40岁之后月经量变少正常吗? 栀子今年42岁了,40岁之后,她发现自己的身体明显不如以前了,后来还发现一件可怕的事情:月经量变少了。栀子很担心这到底是正常的生理变化,还是自己的身体出了问题,女人40岁之后月经量变少正常吗?我们都知道,月经对女性是非常重要的,它的异常可能预示着女性身体健康状况的变化。当女性过了40岁后,月经
一淘比价网:https://www.ikjzd.com/w/1698
trax:https://www.ikjzd.com/w/1489
李群:https://www.ikjzd.com/w/1767
口述:千金散尽后她挥手说再见(3/3):http://lady.shaoqun.com/m/a/42727.html
关键词运营数据汇总:https://www.ikjzd.com/tl/15046
全球重磅!英国脱欧协议正式达成!:https://www.ikjzd.com/home/138420

微信支付 V3 的 Java 实现 Payment Spring Boot-1.0.7.RELEASE 发布

Payment Spring Boot 是微信支付V3的Java实现,仅仅依赖Spring内置的一些类库。配置简单方便,可以让开发者快速为Spring Boot应用接入微信支付。

功能特性

  • 实现微信支付多商户
  • 集成支付宝SDK、快速接入Spring Boot
  • 实现微信支付V3 基础支付
  • 实现微信支付V3 合单支付
  • 实现微信支付V3 代金券
  • 实现微信支付V3 微信支付分
  • 实现微信支付V3 先享卡
  • 实现微信支付V3 商家券
  • 实现微信支付V3 批量转账到零钱

依赖坐标

最新版本Maven坐标为:

<dependency> <groupId>cn.felord</groupId> <artifactId>payment-spring-boot-starter</artifactId> <version>1.0.7.RELEASE</version></dependency>

本次更新

  • 微信支付
    • refactor: X509证书加载优化。
    • refactor: 移除过期的WechatPayRefundApi
    • refactor: 优化RestTemplate在低版本引起的一个I/O异常,详见 spring-framework#21321。
    • refactor: 在请求头Content-Type中声明字符集UTF-8,避免中文乱码。
    • fix: 修复退款回调中退款状态枚举无法正确被解析的异常(#11)。

演示项目: payment-spring-boot-samples

文档:Payment Spring Boot文档

关注公众号:Felordcn 获取更多资讯

个人博客:https://felord.cn









原文转载:http://www.shaoqun.com/a/596571.html

跨境电商:https://www.ikjzd.com/

张洁:https://www.ikjzd.com/w/1663

邮乐网购物商城:https://www.ikjzd.com/w/1776


PaymentSpringBoot是微信支付V3的Java实现,仅仅依赖Spring内置的一些类库。配置简单方便,可以让开发者快速为SpringBoot应用接入微信支付。功能特性实现微信支付多商户集成支付宝SDK、快速接入SpringBoot实现微信支付V3基础支付实现微信支付V3合单支付实现微信支付V3代金券实现微信支付V3微信支付分实现微信支付V3先享卡实现微信支付V3商家券实现微信支付V3批
亚马逊礼品卡:https://www.ikjzd.com/w/1090.html
三维度:https://www.ikjzd.com/w/1312
dmm.adult:https://www.ikjzd.com/w/2026
如何看待"亚马逊卖家专属客户经理服务"?:https://www.ikjzd.com/home/8751
【竞品分析】案列分享如何学习竞争对手的运营策略:https://www.ikjzd.com/home/130808
虾皮SIP:https://www.ikjzd.com/w/2613

探索发现-在这世界上莫名其妙离奇失踪的案件

 在这一个世界上,总是会有许多离奇古怪的失踪案,为什么说离奇古怪,是因为有一些人就这样消失的无影中,突然的凭空消失,比如之前也有一位神秘男孩去而复返的事件出现在探索发现中,更是引发了大家的好奇,一起来看一下这到底是什么样的故事呢?

图片13.png 

    如果有人突然在你的眼前消失,你肯定会觉得非常的害怕,其实这并非是编故事,在我们不知道的地方一直都会有这些超自然的现象,在探索发现中有过记载,1696年的7月份,美国有一位13岁的男孩突然在家人面前消失,而过了三天之后,他又出现在原来的地方,这件事情马上轰动全国,最奇怪的就是这一位神秘的男孩在消失之后,他根本就不知道这三天到底怎么回事,其实这些超自然的事件在全国各地都有发生过,他们并没有被绑架,也同样没有被杀害,在消失之后没有任何的痕迹,在出现的时候也没有任何的线索。

 

    探索发现中,也曾经发生过特别神秘的百慕大失踪事件,在这个世界上大部分的失踪案在经过查证之后,可能都是遇到灾难又或者是被人杀害,比如当年的兰克事件也同样是如此,更是成为了神秘失踪案的鼻祖,但是和之前一位男孩失踪有一些不同,男孩在失踪之后真的是彻彻底底的失踪,在所有人的面前消失,而在消失之后至今也没有出现过,到现在为止,大家也没有办法找到合理的解释,这莫非是一个超自然的现象吗?很多人都说可能就是时空隧道的存在。

 




原文转载:http://tech.shaoqun.com/a/358783.html

跨境电商:https://www.ikjzd.com/

tiki:https://www.ikjzd.com/w/2053

一淘比价网:https://www.ikjzd.com/w/1698


在这一个世界上,总是会有许多离奇古怪的失踪案,为什么说离奇古怪,是因为有一些人就这样消失的无影中,突然的凭空消失,比如之前也有一位神秘男孩去而复返的事件出现在探索发现中,更是引发了大家的好奇,一起来看一下这到底是什么样的故事呢?如果有人突然在你的眼前消失,你肯定会觉得非常的害怕,其实这并非是编故事,在我们不知道的地方一直都会有这些超自然的现象,在探索发现中有过记载,1696年的7月份,美国有一位1
wish:https://www.ikjzd.com/w/105
执御:https://www.ikjzd.com/w/717.html
barclays:https://www.ikjzd.com/w/2775
5岁就爱美甲?爱美的老外让亚马逊美容美妆品类持续火爆​(一) :https://www.ikjzd.com/home/122234
卯足劲的亚马逊也要杀入美国银行业了:https://www.ikjzd.com/home/15212
口述:贱闺蜜整容归来勾引我男友:http://lady.shaoqun.com/m/a/18143.html

研究黑洞附近的物质吸积与相对论性喷流成为可能

(图源:shao.ac.cn)

来历:赛先生

撰文 | 路如森(我国科学院上海地理台;德国马普射电地理研讨所)

左文文 (我国科学院上海地理台)

修改 | 金庄维

北京时刻2019年4月10日晚9点,黑洞事情视界望远镜(Event Horizon Telescope, EHT)协作组织协调举行全球六地联合新闻发布会,宣告人类初次使用一个口径如地球巨细的虚拟射电望远镜,在近邻巨椭圆星系M87的中心成功捕获世界上首张黑洞图画(图1)。

这张图画的含义非同一般,它供给了黑洞存在的直接“视觉”依据,使得在强引力场下验证爱因斯坦广义相对论,详尽研讨黑洞邻近的物质吸积与相对论性喷流成为或许。

那么,黑洞为什么可以成像?怎么成像?本文企图以亲历者的视点,对黑洞成像的前前后后做一解读。

图1。 M87星系中心超大质量黑洞(M87*)的图画,上方为2017年4月11日的图画,下方三个图为M87*在2017年4月5日、6日和10日的图画。图中心的暗弱区域即为“黑洞暗影”(见下文),周围的环状不对称结构是因为强引力透镜效应和相对论性射束(beaming)效应所构成的。由这种上(北)下(南)的不对称性可以定出黑洞的自旋方向。(图源:参考资料[1])

黑洞与广义相对论

一百多年前,爱因斯坦提出广义相对论,将时刻和空间结合为一个四维的时空,并提出引力可视为时空的歪曲。这一理论做出了不少重要预言,其间之一便是:当一个物体的质量不断塌缩,就能荫蔽在事情视界(event horizon) 之内——在这一黑洞的“势力范围”内,引力强壮到连光都无法逃脱。

关于广义相对论的验证,可以追溯到一个世纪曾经。1919年5月29日,Arthur Eddington等人在日全食期间对太阳邻近光线偏折的试验丈量(图2) ,拉开了上世纪验证广义相对论的前奏,并把爱因斯坦推上了科学的“神坛”。

图2。 1919年5月29日的日食期间,在西属几内亚的普林西比岛和巴西北部的索布拉尔两地初次使用星光偏折验证广义相对论示意图。(图源:The Illustrated London News)

一个世纪以来,广义相对论饱尝住了接连不断的试验验证,黑洞的存在也已得到越来越多地理观测的佐证。

现在,地理学家遍及信任黑洞的确存在于世界之中,从质量为数倍到数十倍于太阳的恒星级黑洞,到高达数百万倍乃至数十亿倍太阳质量的超大质量黑洞,包罗万象。并且,超大质量黑洞存在于简直一切星系的中心。

可是,即便在LIGO/Virgo勘探到引力波、然后威望性地证明黑洞存在的今日,人类仍是没有直接看到可以揭秘极点条件下时空隐秘的那个“洞”——“黑洞事情视界”。

这或许正是黑洞自身的诱人之场所构成的——黑洞的细密程度让人不可思议!如果把地球压缩成一个黑洞,它的巨细和一个汤圆差不多;而一个坐落间隔地球1kpc(约3262光年)处,10倍于太阳质量的恒星级黑洞,其事情视界的角直径巨细只需0.4纳角秒。这比哈勃望远镜的分辨率还要小约1亿倍,任何现有的地理观测手法都没有这样的分辨本领!

为什么黑洞能成像?

已然黑洞是“黑”的,连光线都无法逃脱,那咱们又该怎么看到黑洞呢?

事实上,黑洞并不是孤立存在的,它的周围存在许多气体。因为黑洞的强壮引力,气领会朝黑洞下落。而当这些气体被加热到数十亿度高温时,便会宣布激烈的辐射。一起,黑洞也会以喷流和风的方法向外喷发物质和能量[2]。

广义相对论预言,咱们将会看到中心区域存在一个因为黑洞视界构成的暗影(black hole shadow),周围盘绕一个由吸积或喷流的辐射构成的光环——它状如新月,巨细依据黑洞的自旋及与观测者视野方向的不同,介于4.8-5.2倍史瓦西半径之间(注:史瓦西半径是没有自旋的黑洞的事情视界半径;一个太阳质量的黑洞的视界半径约为3千米)。

在没能一睹黑洞真容的年月里,科学家经过核算了解黑洞的“样貌”。

早在上世纪10年代后期,大数学家希尔伯特(David Hilbert)就核算了黑洞周围的光线曲折和引力透镜效应。

70年代,James Bardeen[3]及Jean-Pierre Luminet[4]等人核算出了黑洞的图画(图3,左)。

90年代后期,Heino Falcke等人针对银河系中心黑洞的状况做了具体核算,并引入了黑洞暗影的说法[5]。他们一起指出,该黑洞暗影若是“镶嵌”在周围亮堂的,光学薄(即对某一观测波长通明)的热气体中,就可以被(亚)毫米波甚长基线干与丈量技能“看到”。

尔后,人们使用广义相对论磁流体动力学数值模仿,针对黑洞成像展开了许多研讨,均预言黑洞暗影的存在(如图3,右)。因而,对黑洞的暗影的成像供给了黑洞存在的直接“视觉”依据。

图3。 黑洞暗影图画(左图取自参考资料[4],右图由作者供给)

什么样的黑洞最适宜成像?

虽然黑洞的暗影能被“看到”,但也不是一切黑洞都契合成像条件。由前所述,黑洞是十分十分小的。可以成像的黑洞,毫无疑问角直径有必要满足大。因为黑洞事情视界的巨细与其质量成正比,这也就意味着黑洞的质量越大,事情视界就越大,也越适宜成像。因而,间隔咱们近的超大质量黑洞是完美的黑洞成像候选体。

坐落人马座方向的银河系中心黑洞Sgr A* 和近邻射电星系M87的中心黑洞M87* 是两个现在已知最优的候选体。

银河系中心射电源Sgr A* ,是Bruce Balick和Robert Brown使用美国国立射电地理台干与仪,于1974年发现的[6](关于其发现和命名的故事,拜见[7])。现在已有越来越多的依据标明,它是一个质量约为400万倍太阳质量的黑洞[8]。因为间隔地球约为2.6万光年[9],银河系中心黑洞的史瓦西半径约为10微角秒,其黑洞暗影的角直径巨细相应为47-50微角秒,相当于一个苹果在月球上的角直径巨细(月球的角直径约为0.5度)。

M87则是坐落室女座方向的一个巨椭圆星系,间隔地球约5500万光年。早在1918年,Heber Curtis就注意到一条独特的准直光束“curious straight ray”与星系的中心相连[10]。其实,这条准直的光束正是M87的喷流,从中心宣布并延伸数千光年,成为M87最有目共睹的特征。这也使得它成为首个被认证出喷流的星系(图4)。

和银河系中心相同,M87中心也有一个超大质量黑洞(现在按银心黑洞的命名习气被称为M87*),其质量约为65亿倍太阳质量。这个黑洞虽比Sgr A* 质量大1500倍,可是间隔也远了2000多倍,因而它看起来要比银心黑洞略小——其史瓦西半径约为7.6微角秒,黑洞暗影的巨细相应为37-40微角秒。

图4。 M87在不同尺度上的射电喷流(图源:参考资料[11])

什么样的望远镜可以对黑洞成像?

方针现已选定,下面就该“磨刀上阵”了。古人云:“工欲善其事,必先利其器”,要对黑洞成像,最好的东西莫过于甚长基线干与丈量(Very Long Baseline Interferometry, VLBI)技能。

VLBI使用广为散布(间隔可达上万或几十万公里)的射电望远镜,经过各台站独立记载信号和后期对信号的归纳相关处理,取得一个巨细相当于各台站之间最大距离的巨型(虚拟)望远镜。该技能可取得地理研讨中最高的分辨本领,其分辨率θ∼λ/D,其间λ为观测波长,D为最长基线长度。假定在1毫米波长观测,一个长度为1万公里(约为地球直径)的基线可取得约21微角秒的分辨本领。VLBI使用精准到每数亿年才差错一秒的原子钟来保证望远镜搜集并记载的信号在时刻上同步,并保证信号的稳定性。

自上世纪60年代后期VLBI技能完成以来,其功能跟着技能的前进得到不断提高,波长掩盖也从厘米波段扩展到现在处于世界展开最前沿的(亚)毫米波段。

好像观看电视节目有必要选对频道相同,对黑洞成像而言,可以在适宜的波段进行VLBI观测至关重要。观测黑洞视界的最佳波段在1毫米邻近,并非单纯因为其高分辨本领,更有以下几个重要的考虑/优势[12]:

黑洞周围气体的辐射在短毫米波段变得通明(“光学薄”)。这一点对黑洞成像至关重要,不然分辨率再高也杯水车薪。

吸积气体在这个波段的辐射最亮堂。为了“看到”黑洞视界,其周围的辐射相对咱们的观测设备的灵敏度而言有必要满足“亮”。

无线电波在这一波段遭到的星际散射搅扰很小。这点对银河系中心尤为重要,因为它在厘米波段及以上遭到激烈星际散射的影响,使得咱们无法看到黑洞周围辐射的内禀结构。

别的,还有台站的布局、灵敏度的提高等许多重要因素也需求考虑。

由此,咱们不难发现,并不是只需VLBI阵列的分辨率满足高就可对黑洞进行成功摄影!

EHT及其在2017年4月的观测

近年来,1.3毫米VLBI观测在Sgr A* 和M87* 中现已别离勘探到黑洞事情视界尺度上的结构,这对黑洞成像而言是十分鼓舞人心的。但遭到台站数目及灵敏度的约束,具体的成像观测一向无法展开。

跟着新的、高灵敏度亚毫米波台站(尤其是Atacama Large Millimeter/submillimeter Array等)参加到全球1.3毫米-VLBI阵列,黑洞的成像观测成为或许。

为了捕获第一张黑洞图画,现在由来自包含我国在内的十几个国家(区域)的200多名科学家构成了EHT这一严重世界协作方案。EHT观测所使用的技能便是(亚)毫米波VLBI,现在其作业波段在1.3毫米,并将有望扩展到0.8毫米。

经过对黑洞成像,EHT可在强引力场的极点环境下验证爱因斯坦的广义相对论,并详尽研讨黑洞周围的物质吸积和喷流的构成及传达。

作为对100年前爱丁顿等人验证广义相对论的回声,EHT协作者们在2017年4月份到多个世界上最高、最偏远的射电地理台,以一种爱因斯坦永久也不会想到的方法去查验他的广义相对论。

参加此次观测的包含坐落世界6个地址的8个台站 (表1,图5)。 

表1。 参加EHT观测的望远镜信息,其间,ALMA,LMT,SMA和SPT的有用口径只针对2017年的观测。

图5。 2017年4月份参加EHT观测的8个VLBI台站,实线衔接的为观测M87的5个地址(7个台站;因为方位约束,坐落南极的SPT望远镜无法观测到M87),虚线衔接的为观测一个校准源(3C279)的台站。(图片由作者供给)

为了添加勘探灵敏度,EHT所记载的数据量十分巨大。2017年4月份的观测中,每个台站的数据率到达惊人的32Gbit/s,8个台站在5天观测期间共记载约3500TB数据(相当于350万部电影,至少要几百年才干看完!)。

EHT选用专用硬盘来记载数据,再把它们送回数据中心进行处理。在那里,研讨人员用超级核算机纠正电磁波抵达不同望远镜的时刻差,并把一切数据做互相关归纳处理,然后到达信号相干的意图。

在此根底之上,经过对这些数据经过近两年时刻的后期处理和剖析,人类总算捕获了首张黑洞图画。

我国科学家长时刻重视高分辨率黑洞成像研讨,在EHT世界协作构成之前就已展开了多方面具有世界显现度的相关作业。在此次EHT协作中,我国科学家在前期一起推动了EHT的协作并参加了EHT望远镜观测时刻的请求,一起帮忙JCMT望远镜展开观测并参加数据处理和成果理论剖析等,为EHT黑洞成像做出了活跃的奉献。

后续更精彩,敬请期待

因为对M87中心黑洞质量的不同丈量方法(气体动力学vs。恒星动力学)所得成果差了近2倍,因而能对M87*成像仍是让人稍有意外的。可是,对M87黑洞的顺畅成像绝非EHT的终点站。相反,这一令人兴奋的成果必将激起人们关于黑洞研讨的更多爱好和热心。

现在,对2017年M87的观测数据仍在持续剖析中。研讨人员期望经过对辐射的偏振研讨来获取黑洞周围的磁场性质,这对了解黑洞周围的物质吸积及喷流构成至关重要。

另一个最佳成像候选体——银河系中心黑洞的质量愈加确认,而之前的EHT观测成果现已标明,黑洞周围呈现“中心暗,周围(一边)亮”的结构,其整体特征巨细为5倍史瓦西半径,与广义相对论预言共同(参考资料[13]及图6)。

跟着后续更多的观测台站(如Northern Extended Millimeter Array, Kitt Peak Telescope)参加EHT,以及数据质量(灵敏度)的提高,咱们彻底有理由信任,在不久的将来EHT可以取得银心黑洞愈加明晰的图画。

让咱们拭目而待!

 

图6。 2013年使用坐落4个地址的6个VLBI台站展开针对银心黑洞的1.3毫米VLBI观测示意图,其间内嵌图给出了与观测相契合的两个最或许辐射结构的模型。注:在VLBI展开的前期或许一般在基线掩盖不太抱负的状况下,一般考虑用简略的几许模型(如高斯)来拟合观测到的(可见度)数据。许多前期的发现,比方视超光速运动[14],都是在十分有限的几条(乃至一条)基线的状况下、根据简略的几许模型做出的。(图源:Max Planck Society)

作者简介

路如森,我国科学院上海地理台研讨员。2010和2011年别离取得德国科隆大学和我国科学院上海地理台理学博士学位,2018年当选第十四批“千人方案”青年项目,研讨方向为高分辨率射电天体物理。

左文文,我国科学院上海地理台副研讨员,2014年取得北京大学天体物理博士学位,现在从事高红移类星体研讨和科学传达作业。

称谢:笔者在此感谢上海地理台沈志强研讨员及清华大学毛淑德教授对本文的主张。

参考资料

[1] “First M87 Event Horizon Telescope Results I: The Shadow of the Supermassive Black Hole”,The Event Horizon Telescope Collaboration, ApJL, 2019, in press

[2] “黑洞周围发生了什么?”,袁峰,2017,赛先生地理

[3] “Timelike and null geodesics in the Kerr metric”, Bardeen, J。 M。 1973, Black Holes (Les Astres Occlus), 215 

[4] “Image of a spherical black hole with thin accretion disk”, Luminet, J。-P。 1979, A&A, 75, 228

[5] “Viewing the Shadow of the Black Hole at the Galactic Center”, Falcke, H。, Melia, F。, & Agol, E。 2000, ApJL, 528, L13

[6] “Intense sub-arcsecond structure in the galactic center”, Balick, B。, & Brown, R.L。 1974, ApJ, 194, 265 

[7] “The Discovery of Sgr A*”, Goss, W。 M。, Brown, R。 L。, & Lo, K.Y。 2003, Astronomische Nachrichten Supplement, 324, 497 

[8] “银河系中心超大质量黑洞”,沈志强,2007, 物理, 36卷, 12期: 919

[9] “Trigonometric Parallaxes of High Mass Star Forming Regions: The Structure and Kinematics of the Milky Way”,Reid, M。 J。, Menten, K。 M。, Brunthaler, A。, et al。 2014, ApJ, 783, 130 

[10] “Descriptions of 762 Nebulae and Clusters Photographed with the Crossley Reflector”, Curtis, H。 D。 1918, Publications of Lick Observatory, 13, 9 

[11] “Relativistic Jets in Active Galactic Nuclei”,Blandford, R。, Meier, D。, & Readhead, A。 2018, arXiv e-prints , arXiv:1812.06025

[12] “毫米波甚长基线干与丈量的展开与展望”,路如森, 沈志强, Krichbaum, T。 P。,科技导报,2011(07):76-81

[13] “Detection of Intrinsic Source Structure at ~3 Schwarzschild Radii with Millimeter-VLBI Observations of SAGITTARIUS A*”, Lu, R。-S。, Krichbaum, T。 P。, Roy, A。 L。, et al。 2018, ApJ, 859, 60

[14] Whitney, A。 R。, Shapiro, I。 I。, Rogers, A。 E。 E。, et al。 1971, Science, 173, 225 



原文转载:http://tech.shaoqun.com/a/358782.html

跨境电商:https://www.ikjzd.com/

福茂:https://www.ikjzd.com/w/1633

黄劲:https://www.ikjzd.com/w/2426


(图源:shao.ac.cn)来历:赛先生撰文|路如森(我国科学院上海地理台;德国马普射电地理研讨所)左文文(我国科学院上海地理台)修改|金庄维北京时刻2019年4月10日晚9点,黑洞事情视界望远镜(EventHorizonTelescope,EHT)协作组织协调举行全球六地联合新闻发布会,宣告人类初次使用一个口径如地球巨细的虚拟射电望远镜,在近邻巨椭圆星系M87的中心成功捕获世界上首张黑洞图画(
retriever:https://www.ikjzd.com/w/773
手机trademanager:https://www.ikjzd.com/w/730
贸发局:https://www.ikjzd.com/w/1621
亚马逊直播到底现在适不适合做,适合什么样的卖家做?:https://www.ikjzd.com/home/138685
亚马逊月销售额百万美金,大卖家的新listing推广步骤,你值得学习!:https://www.ikjzd.com/home/123298
力荐9个跨境电商卖家必看的免费文案listing网站!:https://www.ikjzd.com/home/17917

不动产应该去极地投资?

三十年前,你错过了深圳。三个月前你错过了雄安。关于买房买地到底买哪才对?小编告诉你个大秘密——买极地。因为科学家说大约到十亿年后,极地是地球最后的桥头堡。

未来10亿年地球将发生怎样的变化未来10亿年地球将发生怎样的变化

  据英国每日邮报报道,从泛大陆分裂,地球经历5次物种大灭绝事件,以及人类在非洲大陆上进化,地球经历了一系列变化,最终形成现今的模样。目前,一段最新视频图像揭晓了未来10亿年地球将发生怎样的变化。

  依据最新预测,大约未来2.5亿年,地球将形成一个超大陆,未来10亿年,地球大气层将成为一个潮湿的温室,地球海洋将完全蒸发消失。这段视频发布在YouTube网站上,揭晓了未来10亿年地球将变成什么模样,以及未来人类将面对怎样的问题。

未来1万年,人类基因突变使全球区域化特征变得模糊,不同皮肤和头发颜色的人群会均匀分布在全球各地。  未来1万年,人类基因突变使全球区域化特征变得模糊,不同皮肤和头发颜色的人群会均匀分布在全球各地。

  视频内容显示,未来1万年,人类开始出现基因变异,例如:皮肤和头发颜色。人类不再有区域差异性,全球均匀分布不同皮肤和头发的人群。

  大约未来2万年,语言仅包含当前百分之一的核心词汇。从根本上讲,现今的所有语言将进化成另一种语言。虽然许多研究人员希望地球很快感受到气候变化效应,无论经历怎样的气候变迁,未来地球终将进入一个冰河时期,那时尼亚加拉大瀑布将消失,由于冰河再次反弹出现,尼亚加拉大瀑布将完全被破坏。同时,加拿大地盾的许多湖泊也将不复存在。

  未来每天的时间也将延长,每天24个小时会增加1秒,使人们每天增加1个闰秒(leap second)。未来10万年,从地球角度观测到的恒星和星群将完全不同,人类很可能将火星做为一颗可居住行星。

  未来25万年,夏威夷岛链很可能形成一座新岛屿,罗希海底火山可能从海底深处逐渐上升至海面。但是未来50万年,地球潜在遭受一颗小行星碰撞,它的直径大约1千米,但很可能人们可以阻止这颗小行星碰撞地球。随着时间的推移,地球上的地标将逐渐消失,美国南达科塔州的恶地国家公园将在未来50万年完全被侵蚀。

未来10亿年,太阳亮度将比现在增强10%,地球表面温度平均升高至47摄氏度。未来10亿年,太阳亮度将比现在增强10%,地球表面温度平均升高至47摄氏度。

  大约未来95万年,位于美国亚利桑那州的陨石坑将消失不见。一次类似多巴火山爆发的超级火山喷发,很可能对地球人类带来灭顶之灾,火山喷发释放3200立方千米的灰尘。此外,猎户星座的参宿四恒星将演变成为一颗超新星,从地球角度很容易观测到它的爆炸状况。未来200万年,美国科罗拉多大峡谷将严重被侵蚀,看上去更像是一个较宽的峡谷。

  虽然地球看上去缓慢退化,但科学家认为人类将在其它行星上拓展“殖民地”。如果是这样的话,在遥远星球上殖民的人类将处于隔离状态,很可能逐渐进化形成其他人类物种。未来1000万年,东非大面积板块将分裂,在该大陆其余部分将形成一个新的海洋盆地。

未来50万年,美国南达科塔州的恶地国家公园将被完全侵蚀;未来95万年,亚利桑那州陨石坑(图中所示)也将完全消失。  未来50万年,美国南达科塔州的恶地国家公园将被完全侵蚀;未来95万年,亚利桑那州陨石坑(图中所示)也将完全消失。

  未来5000万年,火星将与火卫一发生碰撞,导致火星表面严重破坏。然而地球的情况也不容乐观,非洲板块将向北移动,与欧亚大陆发生碰撞,导致地中海永久性消失。在非洲和欧亚大陆之间将形成新的山脉,其高度可达到喜马拉雅山脉。未来6000万年,加拿大落基山脉在侵蚀作用下将演变成一个平坦的平原,未来8000万年夏威夷群岛将沉入海底。

  科学家认为另一颗小行星将再次朝向地球运行,很可能碰撞地球造成类似6600万年前的恐龙灭绝灾难。未来2.5亿年,一个新的泛大陆将形成,地球大陆板块将重新汇集在一起。但是未来4-5亿年,这个超大陆将再次分裂瓦解。

  未来5-6亿年,来自6500光年之遥的致命伽马射线将毁坏地球臭氧层,造成一次物种大灭绝事件。另外,太阳亮度增强对地球带来严重的破坏效应,此时板块构造移动将停止,大气层二氧化碳指数将显著下降。C3光合作用将不再进行,99%地球植物会死亡。

  未来8亿年,当C4光合作用不再发生,地球二氧化碳指数将降低。这将耗尽大气层中的氧气和臭氧,杀死地球上所有复杂生命形式。最终未来10亿年,太阳亮度将比当前增强10%,地球表面温度将平均升高到47摄氏度。大气层将演变成为一个潮湿的温室,地球海洋将蒸发,地球极地仍可能存在液态水,然而这将可能成为地球最后的生命堡垒。



原文转载:http://tech.shaoqun.com/a/358778.html

跨境电商:https://www.ikjzd.com/

002315焦点科技:https://www.ikjzd.com/w/1831

beien:https://www.ikjzd.com/w/1336


三十年前,你错过了深圳。三个月前你错过了雄安。关于买房买地到底买哪才对?小编告诉你个大秘密&mdash;&mdash;买极地。因为科学家说大约到十亿年后,极地是地球最后的桥头堡。未来10亿年地球将发生怎样的变化  据英国每日邮报报道,从泛大陆分裂,地球经历5次物种大灭绝事件,以及人类在非洲大陆上进化,地球经历了一系列变化,最终形成现今的模样。目前,一段最新视频图像揭晓了未来10亿年
贝贝母婴网:https://www.ikjzd.com/w/1321
etsy:https://www.ikjzd.com/w/169.html
马莎:https://www.ikjzd.com/w/2385
Subito.it:https://www.ikjzd.com/w/2236
继意大利,德法疫情濒临失控!欧洲陷入新一轮恐慌…:https://www.ikjzd.com/home/117060
2019如何抓住跨境独立站的小趋势:https://www.ikjzd.com/home/17259

外星观察:多年之前鬼屋事件是怎么回事呢?

外星观察中总是有许多用科学都没有办法解释的事件,被称之为灵异事件,这毕竟不是一件科学的事情,所以并没有得到国家的认可,现在还是应该以科学为主,可是有一件事情就被国家承认,这就是非常有名的康乃狄克鬼屋事件。

图片10.png 

    这虽然是一件灵异事件,可是却被放入到外星观察中,人们会认为这一件事情的背后很可能和外星人有关。一位农场主人一边看着报纸一边做着农活,此时,他突然发现眼前有一只狗,所以随手就拿起猎枪,虽然打中了狗,却没有找到狗的事情,后来又发生了类似的奇怪事件。当他回到家中,就会听到有很多刺耳的声音,自己的孩子好像被一种无形的力量攻击,而他却手足无措,所以人们就说这里绝对是鬼窝。

 

    有很多的驱魔道长,在来到这里时也没有发现到底是什么作怪,甚至也没有发现有奇怪的现象,最终农场主只能够为了避免骚扰选择离开。农场主在经过回忆之后发现这件事情很有可能和邻居有关,因为他的邻居本来就是一个巫婆,所以才会导致家中出现这些灵异的事件,可是这并没有充分的证据。也有一部分的人认为,这就应该注重于外星观察,为何会出现这些匪夷所思的事件,难道就不能够说到和外界人有关吗?如果不是外星人,从中作乱怎么可能会有这一些奇怪的事件呢?不知道你在看完这个故事之后会有什么样的想法,你觉得到底是怎么回事呢?

 




原文转载:http://tech.shaoqun.com/a/358765.html

跨境电商:https://www.ikjzd.com/

eprice:https://www.ikjzd.com/w/1325

easel:https://www.ikjzd.com/w/1721


在外星观察中总是有许多用科学都没有办法解释的事件,被称之为灵异事件,这毕竟不是一件科学的事情,所以并没有得到国家的认可,现在还是应该以科学为主,可是有一件事情就被国家承认,这就是非常有名的康乃狄克鬼屋事件。这虽然是一件灵异事件,可是却被放入到外星观察中,人们会认为这一件事情的背后很可能和外星人有关。一位农场主人一边看着报纸一边做着农活,此时,他突然发现眼前有一只狗,所以随手就拿起猎枪,虽然打中了狗
asiabill:https://www.ikjzd.com/w/1014
芒果店长:https://www.ikjzd.com/w/1533
转运四方:https://www.ikjzd.com/w/1342
从Forever 21退出中国看快销品牌们的生死劫:https://www.ikjzd.com/home/96139
深度探讨:人生规划的全新选择:跨境自由职业者:https://www.ikjzd.com/home/1516
不要低估疫情对中国经济的影响,密切关注中小企业生存困境:https://www.ikjzd.com/home/115359

Saturday, February 27, 2021

Java 对象不使用时为什么要赋值为 null?

前言

许多Java开发者都曾听说过"不使用的对象应手动赋值为null"这句话,而且好多开发者一直信奉着这句话;问其原因,大都是回答"有利于GC更早回收内存,减少内存占用",但再往深入问就回答不出来了。

鉴于网上有太多关于此问题的误导,本文将通过实例,深入JVM剖析"对象不再使用时赋值为null"这一操作存在的意义,供君参考。

本文尽量不使用专业术语,但仍需要你对JVM有一些概念。

示例代码

我们来看看一段非常简单的代码:

public static void main(String[] args) { if (true) {  byte[] placeHolder = new byte[64 * 1024 * 1024];  System.out.println(placeHolder.length / 1024); } System.gc();}

我们在if中实例化了一个数组placeHolder,然后在if的作用域外通过System.gc();手动触发了GC,其用意是回收placeHolder,因为placeHolder已经无法访问到了。

来看看输出:

65536[GC 68239K->65952K(125952K), 0.0014820 secs][Full GC 65952K->65881K(125952K), 0.0093860 secs]

Full GC 65952K->65881K(125952K)代表的意思是:本次GC后,内存占用从65952K降到了65881K。意思其实是说GC没有将placeHolder回收掉,是不是不可思议?

下面来看看遵循"不使用的对象应手动赋值为null"的情况:

public static void main(String[] args) { if (true) {  byte[] placeHolder = new byte[64 * 1024 * 1024];  System.out.println(placeHolder.length / 1024);  placeHolder = null; } System.gc();}

其输出为:

65536[GC 68239K->65952K(125952K), 0.0014910 secs][Full GC 65952K->345K(125952K), 0.0099610 secs]

这次GC后内存占用下降到了345K,即placeHolder被成功回收了!对比两段代码,仅仅将placeHolder赋值为null就解决了GC的问题,真应该感谢"不使用的对象应手动赋值为null"。

等等,为什么例子里placeHolder不赋值为null,GC就"发现不了"placeHolder该回收呢?这才是问题的关键所在。

另外,关注公众号Java技术栈,在后台回复:JVM46,可以获取一份 46 页的高清 JVM 调优教程,非常齐全。

运行时栈

典型的运行时栈

如果你了解过编译原理,或者程序执行的底层机制,你会知道方法在执行的时候,方法里的变量(局部变量)都是分配在栈上的;当然,对于Java来说,new出来的对象是在堆中,但栈中也会有这个对象的指针,和int一样。

比如对于下面这段代码:

public static void main(String[] args) { int a = 1; int b = 2; int c = a + b;}

其运行时栈的状态可以理解成:

索引变量
1a
2b
3c

"索引"表示变量在栈中的序号,根据方法内代码执行的先后顺序,变量被按顺序放在栈中。

再比如:

public static void main(String[] args) { if (true) {  int a = 1;  int b = 2;  int c = a + b; } int d = 4;}

这时运行时栈就是:

索引变量
1a
2b
3c
4d

容易理解吧?其实仔细想想上面这个例子的运行时栈是有优化空间的。

Java的栈优化

上面的例子,main()方法运行时占用了4个栈索引空间,但实际上不需要占用这么多。当if执行完后,变量a、b和c都不可能再访问到了,所以它们占用的1~3的栈索引是可以"回收"掉的,比如像这样:

索引变量
1a
2b
3c
1d

变量d重用了变量a的栈索引,这样就节约了内存空间。

另外,关注公众号Java技术栈,在后台回复:面试,可以获取我整理的 JVM 系列面试题和答案,非常齐全。

提醒

上面的"运行时栈"和"索引"是为方便引入而故意发明的词,实际上在JVM中,它们的名字分别叫做"局部变量表"和"Slot"。而且局部变量表在编译时即已确定,不需要等到"运行时"。

GC一瞥

这里来简单讲讲主流GC里非常简单的一小块:如何确定对象可以被回收。另一种表达是,如何确定对象是存活的。

仔细想想,Java的世界中,对象与对象之间是存在关联的,我们可以从一个对象访问到另一个对象。如图所示。

再仔细想想,这些对象与对象之间构成的引用关系,就像是一张大大的图;更清楚一点,是众多的树。

如果我们找到了所有的树根,那么从树根走下去就能找到所有存活的对象,那么那些没有找到的对象,就是已经死亡的了!这样GC就可以把那些对象回收掉了。

现在的问题是,怎么找到树根呢?JVM早有规定,其中一个就是:栈中引用的对象。也就是说,只要堆中的这个对象,在栈中还存在引用,就会被认定是存活的

提醒

上面介绍的确定对象可以被回收的算法,其名字是"可达性分析算法"。

JVM的"bug"

我们再来回头看看最开始的例子:

public static void main(String[] args) { if (true) {  byte[] placeHolder = new byte[64 * 1024 * 1024];  System.out.println(placeHolder.length / 1024); } System.gc();}

看看其运行时栈:

LocalVariableTable:Start Length Slot Name Signature 0  21  0 args [Ljava/lang/String; 5  12  1 placeHolder [B

栈中第一个索引是方法传入参数args,其类型为String[];第二个索引是placeHolder,其类型为byte[]。

联系前面的内容,我们推断placeHolder没有被回收的原因:System.gc();触发GC时,main()方法的运行时栈中,还存在有对args和placeHolder的引用,GC判断这两个对象都是存活的,不进行回收

也就是说,代码在离开if后,虽然已经离开了placeHolder的作用域,但在此之后,没有任何对运行时栈的读写,placeHolder所在的索引还没有被其他变量重用,所以GC判断其为存活。

为了验证这一推断,我们在System.gc();之前再声明一个变量,按照之前提到的"Java的栈优化",这个变量会重用placeHolder的索引。

public static void main(String[] args) { if (true) {  byte[] placeHolder = new byte[64 * 1024 * 1024];  System.out.println(placeHolder.length / 1024); } int replacer = 1; System.gc();}

看看其运行时栈:

LocalVariableTable:Start Length Slot Name Signature 0  23  0 args [Ljava/lang/String; 5  12  1 placeHolder [B 19  4  1 replacer I

不出所料,replacer重用了placeHolder的索引。来看看GC情况:

65536[GC 68239K->65984K(125952K), 0.0011620 secs][Full GC 65984K->345K(125952K), 0.0095220 secs]

placeHolder被成功回收了!我们的推断也被验证了。

再从运行时栈来看,加上int replacer = 1;和将placeHolder赋值为null起到了同样的作用:断开堆中placeHolder和栈的联系,让GC判断placeHolder已经死亡。

现在算是理清了"不使用的对象应手动赋值为null"的原理了,一切根源都是来自于JVM的一个"bug":代码离开变量作用域时,并不会自动切断其与堆的联系。为什么这个"bug"一直存在?你不觉得出现这种情况的概率太小了么?算是一个tradeoff了。

总结

希望看到这里你已经明白了"不使用的对象应手动赋值为null"这句话背后的奥义。

我比较赞同《深入理解Java虚拟机》作者的观点:在需要"不使用的对象应手动赋值为null"时大胆去用,但不应当对其有过多依赖,更不能当作是一个普遍规则来推广。

最后,关注公众号Java技术栈,在后台回复:JVM46,可以获取一份 46 页的高清 JVM 调优教程,非常齐全。

参考:周志明. 深入理解Java虚拟机:JVM高级特性与最佳实践[M]. 机械工业出版社, 2013.

来源博客:www.polarxiong.com/

近期热文推荐:

1.600+ 道 Java面试题及答案整理(2021最新版)

2.终于靠开源项目弄到 IntelliJ IDEA 激活码了,真香!

3.阿里 Mock 工具正式开源,干掉市面上所有 Mock 工具!

4.Spring Cloud 2020.0.0 正式发布,全新颠覆性版本!

5.《Java开发手册(嵩山版)》最新发布,速速下载!

觉得不错,别忘了随手点赞+转发哦!









原文转载:http://www.shaoqun.com/a/593573.html

跨境电商:https://www.ikjzd.com/

vincent:https://www.ikjzd.com/w/1642

ola:https://www.ikjzd.com/w/2103


前言许多Java开发者都曾听说过"不使用的对象应手动赋值为null"这句话,而且好多开发者一直信奉着这句话;问其原因,大都是回答"有利于GC更早回收内存,减少内存占用",但再往深入问就回答不出来了。鉴于网上有太多关于此问题的误导,本文将通过实例,深入JVM剖析"对象不再使用时赋值为null"这一操作存在的意义,供君参考。本文尽量不使用专业术语,但仍需要你对JVM有一些概念。示例代码我们来看看一段非
crowd:https://www.ikjzd.com/w/880
首信易支付:https://www.ikjzd.com/w/1841
美菜:https://www.ikjzd.com/w/1874
口述:为了16万彩礼我爸妈年过60还要去打工:http://lady.shaoqun.com/m/a/70386.html
150名youtube红人邮箱:https://www.ikjzd.com/tl/18223
年度最佳爆品培育阵地,有了它不愁没爆品:https://www.ikjzd.com/home/137644

this 和super 关键字的区别

this关键字

          (1) 每个类的每个非静态方法(没有被static修饰)都会隐含一个this关键字,它指向调用这个方法的对象;当在方法中使用本类属性时,都会隐含地使用this关键字,当然也可以明确使用。

          this可以看成是一个变量,它的值就是当前对象的引用

          this关键字只能在方法内部使用,表示对"调用方法的那个对象"的引用如果是在同一类中调用另外一个方法,则可以不用写this,直接调用

         (2) 为了区分属性和局部变量,可以通过this关键字来调用

         (3) this关键字的用法

             *当类中非静态方法的参数名与类的某个成员变量名相同时,为了避免参数作用范围覆盖了成员变量的作用范围,必须明确使用this关键字来指定

             *如果某个构造方法的第一条语句具有形式this(...),那么这个构造方法将调用本类中的其他构造方法

             *如果某个方法需要传入当前对象,则可以将当前的对象作为参数传递给它

    public class pra {
                      private String  name;
                      private String  sex;
                      private Integer age;


                public pra(String name, String sex, Integer age) {
                          super();
                          this.name = name;
                          this.sex = sex;
                          this.age = age;
               }


               public pra() {
                        this("by", "女", 15);  //调到了有参的构造方法
             }
}


super关键字


          super代表了父类空间的引用

        (1) super的作用:

            *子父类存在着同名的成员时,在子类中默认时访问子类的成员,可以通过super关键字指定访问父类的成员

            *创建子类对象时,默认会先调用父类无参的构造方法,可以通过super关键字指定调用父类的构造方法

     (2)super的用法

              super可以用来引用直接父类的实例变量。

              super可以用来调用直接父类方法。

              super()可以用于调用直接父类构造函数

class C {
     String name = "A";
       public void work() {
         System.out.println("A工作!");
     }
}
 
class B extends C {
     String name = "B";
       public B() {
         super(); // 调用父类构造方法
     }
 
     public void work() {
         System.out.println("B工作!");
     }
 
     public void pint() {
         System.out.println(name);
         System.out.println(super.name); // 调用父类的实例变量
         super.work(); // 调用父类的方法
     }
}
 
public class A {
     public static void main(String[] args) {
         B b = new B();
         b.pint();
     }
}

        (3) 注意事项:

             *如果在子类的构造方法上没有指定调用父类的构造方法,java编译器会在子类的构造器里面加上super()语句

            * super关键字调用父类的构造函数时,该语句必须要是子类构造函数的第一个语句

            *super和this不能同时出现在同一个构造函数中调用其他的构造函数,因为两个语句都要是第一个语句


区别:

  • 属性的区别:this访问本类中的属性,如果本类没有此属性则从父类中继续查找。super访问父类中的属性。
  • 方法的区别:this访问本类中的方法,如果本类没有此方法则从父类中继续查找。super访问父类中的方法。
  • 构造的区别:this调用本类构造,必须放在构造方法的首行。super调用父类构造,必须放在子类构造方法首行。
  • 其他区别:this表示当前对象。super不能表示当前对象








原文转载:http://www.shaoqun.com/a/592576.html

跨境电商:https://www.ikjzd.com/

谷歌趋势:https://www.ikjzd.com/w/397

环球易购:https://www.ikjzd.com/w/1034


this关键字(1)每个类的每个非静态方法(没有被static修饰)都会隐含一个this关键字,它指向调用这个方法的对象;当在方法中使用本类属性时,都会隐含地使用this关键字,当然也可以明确使用。this可以看成是一个变量,它的值就是当前对象的引用this关键字只能在方法内部使用,表示对"调用方法的那个对象"的引用如果是在同一类中调用另外一个方法,则可以不用写this,直接调用(2)为了区分属性
custommade:https://www.ikjzd.com/w/2514
菜鸟网:https://www.ikjzd.com/w/1547
环球易购:https://www.ikjzd.com/w/1034
移除订单:https://www.ikjzd.com/w/75
越南加入"全球开店计划",shopee推出双11大促助力计划!:https://www.ikjzd.com/home/108829
继VAT之后,德国销售税或将在2019年1月1日开征!:https://www.ikjzd.com/home/4011

地外相关信息发生在澳大利亚的管状云朵

如果大家对于地外相关信息有一定兴趣,可能就会发现天上的云朵千奇百怪,上一秒可能是一个样子,下一秒或许就会变成另外一个样子,你或许会看到各种不同动物的运动,但是可能从始至终都没有看到过冠状云朵,这是世间极为罕见的,也同样属于大自然的一大奇观。

图片9.png 

    地外相关信息中会有着很多不一样的知识,当大家在经过调查之后,会发现天上的云朵一般都是千奇百怪,人们可能会看到过像猫,像牛或者像人物的云朵,可是却并没有发现过管状云朵,这些云朵非常的罕见,甚至被称之为含有的绝色美景。而这个云朵是发生在澳大利亚,当时每年的秋天都会发现这种云朵长度大约是966公里,移动的时候速度更是超快,这就给飞机造成了一定的麻烦。

 

    当然人们在看到这种地外相关信息之后,也会觉得有一些好奇,所以很想要知道答案,在经过调查之后才知道这是一种管状云朵,基本每年的秋天都会出现。每年的秋天可能是因为海风的吹袭,所以就会形成碰撞,然后产生波状扰乱形成晨暮之光。其实它并不会滚动,但是因为视觉效果的影响,所以不少人都会觉得在眼前的这个云朵好像一直都在不停的滚动着,所以这样的一种现象确实让人觉得有一些壮观,而且更是一种让人觉得匪夷所思的事件。




原文转载:http://tech.shaoqun.com/a/357770.html

跨境电商:https://www.ikjzd.com/

rakuten:https://www.ikjzd.com/w/2718

epa认证:https://www.ikjzd.com/w/1769


如果大家对于地外相关信息有一定兴趣,可能就会发现天上的云朵千奇百怪,上一秒可能是一个样子,下一秒或许就会变成另外一个样子,你或许会看到各种不同动物的运动,但是可能从始至终都没有看到过冠状云朵,这是世间极为罕见的,也同样属于大自然的一大奇观。地外相关信息中会有着很多不一样的知识,当大家在经过调查之后,会发现天上的云朵一般都是千奇百怪,人们可能会看到过像猫,像牛或者像人物的云朵,可是却并没有发现过管状
二类电商:https://www.ikjzd.com/w/1457
淘粉吧返利:https://www.ikjzd.com/w/1725
r标:https://www.ikjzd.com/w/1070
亚马逊判店铺售假,还有救吗?:https://www.ikjzd.com/home/134114
干货!东南亚Shopee平台基础知识汇总:https://www.ikjzd.com/home/103283
销量飙升6000%!口罩之后,又一产品火遍全球:https://www.ikjzd.com/home/123199

库里29分追梦11+12+19 勇士擒黄蜂迎赛季首个3连胜_进攻

原标题:库里29分追梦11+12+19 勇士擒黄蜂迎赛季首个3连胜

北京时间2月27日消息,追梦格林全场贡献11分12个篮板和19次助攻,带领勇士队7人得分上双,以130-121击败黄蜂队,勇士迎来3连胜,这也是勇士队本赛季首个3连胜。

四节具体比分为(黄蜂在前):28-36,23-30,33-37,37-27。

黄蜂:戈登-海沃德12分,拉梅洛-鲍尔22分7篮板6助攻,特里-罗齐尔24分,PJ-华盛顿15分10篮板,蒙克25分

勇士:斯蒂芬-库里29分9助攻4篮板,凯利-乌布雷27分6篮板,安德鲁-维金斯17分,凯文-卢尼10分,怀斯曼16分,达米恩-李10分

比赛开始后,客场作战的黄蜂在三球鲍尔带领下取得10-5开局。维金斯连进2球阻断了黄蜂进攻节奏,库里、卢尼也纷纷建功,一波16-5小高潮过后,勇士以21-15反超。蒙克的三分球帮助黄蜂稳住军心,但乌布雷立刻回敬一个空接扣篮。2分47秒,怀斯曼也上演一记振奋士气的扣篮。三球鲍尔的三分无法阻挡勇士将士们暴力肆虐篮筐,乌布雷频频杀到篮下完成进攻,单节一人就轰下15分。首节比赛结束时勇士以36-28领先。值得一提的是,勇士第一节投篮命中率高达81%(22投17中)。

次节,黄蜂上来就是一波15-3小高潮,将比分以43-39反超。4分54秒,追梦格林持球杀到篮下完成进攻,帮助勇士止血。紧接着达米恩-李连续飙中两记三分,勇士瞬间夺回优势。该节最后三分钟,库里开始接管比赛,一人打进4球,其中包括2个三分球,半场战罢,勇士以66-51领先黄蜂。

异地再战,场上形势突变,一波16-8攻势过后,黄蜂将比分追至67-74。暂停回来后,追梦格林和乌布雷的进攻帮助勇士稳住军心,6分12秒,维金斯射中三分,库里、怀斯曼也相继建功,勇士将比分改写成87-74。黄蜂将士也不示弱,蒙克和海沃德分别在外线发炮。不过该节最后3分半钟,勇士凭借一波14-4进攻高潮,三节战罢,勇士以103-84领先。

末节,当黄蜂将分差缩小到14分时,重新登场的乌布雷立刻回敬一个三分球,黄蜂众将仍未放弃,罗切尔导演一波11-4进攻高潮,将比分追至109-119。危急时刻,罗齐尔再度在外线建功,1分50秒,库里又助攻贝兹莫尔完成进攻,勇士将优势扩大到15分。勇士没有给黄蜂任何逆转比赛的机会,最终勇士以130-121击败黄蜂。

双方首发阵容

黄蜂:戈登-海沃德,拉梅洛-鲍尔,特里-罗齐尔,PJ-华盛顿,科迪-马丁

勇士:斯蒂芬-库里,凯利-乌布雷,安德鲁-维金斯,德雷蒙德-格林,凯文-卢尼

(晨晨)返回搜狐,查看更多

责任编辑:

原文转载:http://sport.shaoqun.com/a/454738.html

跨境电商:https://www.ikjzd.com/

ideal:https://www.ikjzd.com/w/2286

粉丝通:https://www.ikjzd.com/w/743


原标题:库里29分追梦11+12+19勇士擒黄蜂迎赛季首个3连胜北京时间2月27日消息,追梦格林全场贡献11分12个篮板和19次助攻,带领勇士队7人得分上双,以130-121击败黄蜂队,勇士迎来3连胜,这也是勇士队本赛季首个3连胜。四节具体比分为(黄蜂在前):28-36,23-30,33-37,37-27。黄蜂:戈登-海沃德12分,拉梅洛-鲍尔22分7篮板6助攻,特里-罗齐尔24分,PJ-华盛顿1
笨鸟:https://www.ikjzd.com/w/2713
手机trademanager:https://www.ikjzd.com/w/730
亚马逊全球开店:https://www.ikjzd.com/w/1299
口述实录:我和小姨子背后之间的哪些肮脏事情:http://lady.shaoqun.com/m/a/74934.html
2048弹窗版,给你的工作减减压:https://www.ikjzd.com/tl/107462
德联邦议院报告:亚马逊语音系统对用户有风险:https://www.ikjzd.com/home/100637

Friday, February 26, 2021

洛瑞高效三双鲍威尔狂砍30分 猛龙送火箭十连败_沃尔

原标题:洛瑞高效三双鲍威尔狂砍30分 猛龙送火箭十连败

北京时间2月27日,NBA新赛季常规赛继续进行,结果猛龙以122-111击败火箭,终结两连败的同时,送给对手10连败。

全场数据

31-30、28-37、21-28、31-27(猛龙在后)

火箭方面 塔克11分7篮板、豪斯11分6篮板、沃尔21分、奥拉迪波27分、戈登17分

猛龙方面 洛瑞20分10助攻11篮板、鲍威尔30分、范弗利特25分、本布里13分

比赛回顾

塔克一上场就上篮得分,之后阿奴诺比篮下打成,随后豪斯3分得手,阿奴诺比突破上篮得分,奥拉迪波随后连得5分,鲍威尔命中3分,而后塔克3分命中,随后鲍威尔和沃尔相互得分,之后洛瑞跳投得分,鲍威尔两罚全中,而后沃尔突破上篮得分,鲍威尔补篮命中后,戈登上篮得分,随后戈登制造3分罚球,火箭一度领先6分,但最后1分钟,猛龙打出8-2攻击波,首节仅落后1分。

第二节比赛,努瓦巴补篮得分,之后洛瑞3分得手,戴维斯也命中3分,而后布朗3分得手,本布里上篮得分,之后洛瑞连得4分,而后塔特补篮命中,随后贝恩斯上篮得分,洛瑞3分得手,鲍威尔突破上篮得分,豪斯命中3分。之后猛龙仍旧稳定上分,范弗利特两罚全中后领先优势达到8分,之后本布里也打成2+1,沃尔和范弗利特相互得分,两节结束,猛龙领先8分。

第三节比赛,洛瑞3分得手,沃尔跳投得分,范弗利特上篮命中,布切尔突破得分,随后范弗利特2分得手,之后阿奴诺比投中半截篮,猛龙领先优势达到18分,布切尔两罚全中,随后鲍威尔3分命中,随后塔特上篮得分,塔克也命中一球,奥拉迪波随后3分得手。之后本布里和沃尔持续得分,比分差距来到15分。

第四节比赛,戈登上篮得分,之后努瓦巴上篮得分,奥拉迪波突破得分,火箭将比分差距缩小到了只差7分,暂停回来,布切尔篮下得分将局面稳,之后鲍威尔连续得分,比分差距再次来到了12分,随后沃尔和戈登连续命中3分,而洛瑞急停跳投得分,沃尔跟上上篮再中,关键时刻范弗利特命中3分,比分差距来到9分,火箭再叫暂停,暂停回来,奥拉迪波投中3分,但是鲍威尔马上回敬3分,比分差距仍在10分,最终猛龙稳扎稳打击败对手。(拉马库斯)

火箭首发

塔克、豪斯、塔特、沃尔、奥拉迪波

猛龙首发

布切尔、阿奴诺比、洛瑞、鲍威尔、范弗利特返回搜狐,查看更多

责任编辑:

原文转载:http://sport.shaoqun.com/a/453746.html

跨境电商:https://www.ikjzd.com/

net-a-porter:https://www.ikjzd.com/w/2132

stylenanda官网:https://www.ikjzd.com/w/1675.html


原标题:洛瑞高效三双鲍威尔狂砍30分猛龙送火箭十连败北京时间2月27日,NBA新赛季常规赛继续进行,结果猛龙以122-111击败火箭,终结两连败的同时,送给对手10连败。全场数据31-30、28-37、21-28、31-27(猛龙在后)火箭方面塔克11分7篮板、豪斯11分6篮板、沃尔21分、奥拉迪波27分、戈登17分猛龙方面洛瑞20分10助攻11篮板、鲍威尔30分、范弗利特25分、本布里13分比赛
pat:https://www.ikjzd.com/w/1079
芒果店长:https://www.ikjzd.com/w/1533
www.made-in-china.com:https://www.ikjzd.com/w/2777
口述:相处一天就上床 男友能是真心吗上床男友真心:http://lady.shaoqun.com/m/a/29607.html
经验之谈:2019亚马逊卖家如何选品:https://www.ikjzd.com/tl/13512
拉美电商MercadoLibre:第三季度净收入达11.2亿美元:https://www.ikjzd.com/home/133355

欧洲多机构将联合构建"数字孪生地球",以促进2050年实现"碳中和"|地球|欧洲

图片来源:欧洲航天局(ESA)图片来源:欧洲航天局(ESA)

  为了确保由欧盟发起了两项计划——绿色协议(Green Deal,在2050年实现欧洲地区"碳中和")和数字化战略(DigitalStrategy)顺利实现,气候学家和计算机科学家发起了"目的地地球倡议"(Destination Earth initiative)项目。这一项目旨在建立一个全面和高精度的数学孪生地球,在空间和时间上精确监测和模拟气候发展、人类活动和极端事件等,预计从今年中期开始执行,并运行长达10年时间。这一项目由欧洲中期天气预报中心(ECMWF)、欧洲航天局(ESA)和欧洲气象卫星开发组织(EUMETSAT)联合推动。近期发表于《自然·计算科学》的研究揭示了实施这一项目的具体措施、可能的挑战和解决方法。由这一数字孪生地球构成的庞大信息系统,将能开发和测试更可持续发展的情景,帮助更好地制定环境政策。

原文转载:http://tech.shaoqun.com/a/356766.html

跨境电商:https://www.ikjzd.com/

环球市场:https://www.ikjzd.com/w/1762

米兰网:https://www.ikjzd.com/w/1304.html


图片来源:欧洲航天局(ESA)  为了确保由欧盟发起了两项计划——绿色协议(GreenDeal,在2050年实现欧洲地区"碳中和")和数字化战略(DigitalStrategy)顺利实现,气候学家和计算机科学家发起了"目的地地球倡议"(DestinationEarthinitiative)项目。这一项目旨在建立一个全面和高精度的数学孪生地球,在空间和时间上精确监测和模拟气候发展、人类活动和极端事件
壹米滴答:https://www.ikjzd.com/w/2314
瀚霖:https://www.ikjzd.com/w/2345
reddit:https://www.ikjzd.com/w/180
Wish新政出手重罚刷单,是不是机器算法改变了?:https://www.ikjzd.com/home/13306
口述:该不该爱上大我10岁的离异大叔:http://lady.shaoqun.com/m/a/64530.html
产品为王-如何对产品进行全方位规划:https://www.kjyunke.com/courses/323

JUnit5学习之六:参数化测试(Parameterized Tests)基础

欢迎访问我的GitHub

https://github.com/zq2599/blog_demos

内容:所有原创文章分类汇总及配套源码,涉及Java、Docker、Kubernetes、DevOPS等;

关于《JUnit5学习》系列

《JUnit5学习》系列旨在通过实战提升SpringBoot环境下的单元测试技能,一共八篇文章,链接如下:

  1. 基本操作
  2. Assumptions类
  3. Assertions类
  4. 按条件执行
  5. 标签(Tag)和自定义注解
  6. 参数化测试(Parameterized Tests)基础
  7. 参数化测试(Parameterized Tests)进阶
  8. 综合进阶(终篇)

本篇概览

  • 本文是《JUnit5学习》系列的第六篇,一起来实战强大参数化测试(Parameterized Tests),即多次执行同一个测试方法,每次使用不同的参数;
  • 由于参数化测试功能强大,内容也比前几篇的知识点多,为了方便大家阅读和实践,这里分为《基础》和《进阶》两篇来介绍,本篇以学习参数化测试(Parameterized Tests)的基础知识为主,包含以下内容:
  1. 极速体验;
  2. 版本依赖;
  3. ValueSource数据源
  4. null、空字符串数据源
  5. 枚举数据源
  6. 方法数据源
  7. Csv格式数据源
  8. Csv文件数据源

源码下载

  1. 如果您不想编码,可以在GitHub下载所有源码,地址和链接信息如下表所示:
名称链接备注
项目主页https://github.com/zq2599/blog_demos该项目在GitHub上的主页
git仓库地址(https)https://github.com/zq2599/blog_demos.git该项目源码的仓库地址,https协议
git仓库地址(ssh)git@github.com:zq2599/blog_demos.git该项目源码的仓库地址,ssh协议
  1. 这个git项目中有多个文件夹,本章的应用在junitpractice文件夹下,如下图红框所示:

在这里插入图片描述

  1. junitpractice是父子结构的工程,本篇的代码在parameterized子工程中,如下图:

在这里插入图片描述

极速体验

  1. 现在,咱们以最少的步骤体验最简单的参数化测试;
  2. 在父工程junitpractice里新建名为parameterized的子工程,pom.
<?
  1. 新建测试类HelloTest.java,在这个位置:junitpractice\parameterized\src\test\java\com\bolingcavalry\parameterized\service\impl,内容如下:
package com.bolingcavalry.parameterized.service.impl;import lombok.extern.slf4j.Slf4j;import org.junit.jupiter.api.DisplayName;import org.junit.jupiter.api.MethodOrderer;import org.junit.jupiter.api.Order;import org.junit.jupiter.api.TestMethodOrder;import org.junit.jupiter.params.ParameterizedTest;import org.junit.jupiter.params.provider.ValueSource;import org.springframework.boot.test.context.SpringBootTest;import static org.junit.jupiter.api.Assertions.assertTrue;@SpringBootTest@Slf4j@TestMethodOrder(MethodOrderer.OrderAnnotation.class)public class HelloTest { @Order(1) @DisplayName("多个字符串型入参") @ParameterizedTest @ValueSource(strings = { "a", "b", "c" }) void stringsTest(String candidate) {  log.info("stringsTest [{}]", candidate);  assertTrue(null!=candidate); }} 
  1. 执行该测试类,结果如下图:

在这里插入图片描述
5. 从上图可见执行参数化测试需要两步:首先用@ParameterizedTest取代@Test,表名此方法要执行参数化测试,然后用@ValueSource指定每次测试时的参数来自字符串类型的数组:{ "a", "b", "c" },每个元素执行一次;
6. 至此,咱们已体验过最简单的参数化测试,可见就是想办法使一个测试方法多次执行,每次都用不同的参数,接下来有关参数化测试的更多配置和规则将配合实战编码逐个展开,一起来体验吧;

版本要求

  • 先看看SpringBoot-2.3.4.RELEASE间接依赖的junit-jupiter-5.6.2版本中,ParameterizedTest的源码,如下图红框所示,此时的ParameterizedTest还只是体验版:

在这里插入图片描述

  • 再看看junit-jupiter-5.7.0版本的ParameterizedTest源码,此时已经是稳定版了:

在这里插入图片描述

  • 综上所述,如果要使用参数化测试,最好是将junit-jupiter升级到5.7.0或更高版本,如果您的应用使用了SpringBoot框架,junit-jupiter是被spring-boot-starter-test间接依赖进来的,需要排除这个间接依赖,再手动依赖进来才能确保使用指定版本,在pom.
  1. dependencyManagement节点添加junit-bom,并指定版本号:
<dependencyManagement> <dependencies> <dependency>  <groupId>org.junit</groupId>  <artifactId>junit-bom</artifactId>  <version>5.7.0</version>  <type>pom</type>  <scope>import</scope> </dependency> </dependencies></dependencyManagement>
  1. 排除spring-boot-starter-test和junit-jupiter的间接依赖关系:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <exclusion>  <groupId>org.junit.jupiter</groupId>  <artifactId>junit-jupiter</artifactId> </exclusion> </exclusions></dependency>
  1. 添加junit-jupiter依赖,此时会使用dependencyManagement中指定的版本号:
<dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> <scope>test</scope></dependency>
  1. 如下图,刷新可见已经用上了5.7.0版本:

在这里插入图片描述

  • 版本问题解决了,接下来正式开始学习Parameterized Tests,先要了解的是有哪些数据源;

ValueSource数据源

  1. ValueSource是最简单常用的数据源,支持以下类型的数组:
 short byte int long float double char boolean java.lang.String  java.lang.Class
  1. 下面是整形数组的演示:
 @Order(2) @DisplayName("多个int型入参") @ParameterizedTest @ValueSource(ints = { 1,2,3 }) void intsTest(int candidate) {  log.info("ints [{}]", candidate);  assertTrue(candidate<3); }
  1. 从上述代码可见,入参等于3的时候assertTrue无法通过,测试方法会失败,来看看实际执行效果,如下图:

在这里插入图片描述

null、空字符串数据源

  1. 在用字符串作为入参时,通常要考虑入参为null的情况,此时ValueSource一般会这样写:
@ValueSource(strings = { null, "a", "b", "c" })
  1. 此时可以使用@NullSource注解来取代上面的null元素,下面这种写法和上面的效果一模一样:
 @NullSource @ValueSource(strings = { "a", "b", "c" })
  1. 执行结果如下图红框,可见null作为入参被执行了一次:

在这里插入图片描述
4. 与@NullSource代表null入参类似,@EmptySource代表空字符串入参,用法和执行结果如下图所示:

在这里插入图片描述
5. 如果想同时用null和空字符串做测试方法的入参,可以使用@NullAndEmptySource,用法和执行结果如下图所示:

在这里插入图片描述

枚举数据源(EnumSource)

  1. EnumSource可以让一个枚举类中的全部或者部分值作为测试方法的入参;
  2. 创建枚举类Types.java,用于接下来的实战,如下,很简单只有三个值:
public enum Types { SMALL, BIG, UNKNOWN}
  1. 先尝试用Types的每个值作为入参执行测试,可见只要添加@EnumSource即可,JUnit根据测试方法的入参类型知道要使用哪个枚举:
 @Order(6) @DisplayName("多个枚举型入参") @ParameterizedTest @EnumSource void enumSourceTest(Types type) {  log.info("enumSourceTest [{}]", type); }
  1. 执行结果如下图所示:

在这里插入图片描述
5. 如果不想执行枚举的所有值,而只要其中一部分,可以在name属性中指定:

@EnumSource(names={"SMALL", "UNKNOWN"})
  1. 执行结果如下图所示:

在这里插入图片描述
7. 也可以指定哪些值不被执行,此时要添加mode属性并设置为EXCLUDE(mode属性如果不写,默认值是INCLUDE,前面的例子中就是默认值):

@EnumSource(mode= EnumSource.Mode.EXCLUDE, names={"SMALL", "UNKNOWN"})
  1. 执行结果如下,可见SMALL和UNKNOWN都没有执行:

在这里插入图片描述

方法数据源(MethodSource)

  1. @MethodSource可以指定一个方法名称,该方法返回的元素集合作为测试方法的入参;
  2. 先来定义一个方法,该方法一般是static类型(否则要用@TestInstance修饰),并且返回值是Stream类型:
 static Stream<String> stringProvider() {  return Stream.of("apple1", "banana1"); }
  1. 然后,测试方法用@MethodSource,并指定方法名stringProvider:
 @Order(9) @DisplayName("静态方法返回集合,用此集合中每个元素作为入参") @ParameterizedTest @MethodSource("stringProvider") void methodSourceTest(String candidate) {  log.info("methodSourceTest [{}]", candidate); }
  1. 上面的stringProvider方法和测试方法methodSourceTest在同一个类中,如果它们不在同一个类中,就要指定静态方法的整个package路径、类名、方法名,如下所示,类名和方法名之间用#连接:
@Order(10) @DisplayName("静态方法返回集合,该静态方法在另一个类中") @ParameterizedTest @MethodSource("com.bolingcavalry.parameterized.service.impl.Utils#getStringStream") void methodSourceFromOtherClassTest(String candidate) {  log.info("methodSourceFromOtherClassTest [{}]", candidate); }
  1. 如果不在@MethodSource中指定方法名,JUnit会寻找和测试方法同名的静态方法,举例如下,静态方法methodSourceWithoutMethodNameTest会被作为测试方法的数据来源:
 static Stream<String> methodSourceWithoutMethodNameTest() {  return Stream.of("apple3", "banana3"); } @Order(11) @DisplayName("静态方法返回集合,不指定静态方法名,自动匹配") @ParameterizedTest @MethodSource void methodSourceWithoutMethodNameTest(String candidate) {  log.info("methodSourceWithoutMethodNameTest [{}]", candidate); }
  1. 执行结果如下:

在这里插入图片描述

Csv格式数据源(CsvSource)

  1. 前面的测试方法入参都只有一个,在面对多个入参的测试方法时,@CsvSource就派上用场了,演示代码如下所示,可见数据是普通的CSV格式,每条记录有两个字段,对应测试方法的两个入参:
 @Order(12) @DisplayName("CSV格式多条记录入参") @ParameterizedTest @CsvSource({   "apple1, 11",   "banana1, 12",   "'lemon1, lime1', 0x0A" }) void csvSourceTest(String fruit, int rank) {  log.info("csvSourceTest, fruit [{}], rank [{}]", fruit, rank); }
  1. 执行结果如下,通过日志可以确定,每条记录的两个字段能匹配到测试方法的两个入参中:

在这里插入图片描述

  1. 另外@CsvSource还提供了一个属性nullValues,作用是将指定的字符串识别为null,下面这个设置就是把CSV数据中所有的NIL识别为null,再传给测试方法:
 @Order(13) @DisplayName("CSV格式多条记录入参(识别null)") @ParameterizedTest @CsvSource(value = {   "apple2, 21",   "banana2, 22",   "'lemon2, lime2', 0x0A",   "NIL, 3" },   nullValues = "NIL" ) void csvSourceWillNullTokenTest(String fruit, int rank) {  log.info("csvSourceWillNullTokenTest, fruit [{}], rank [{}]", fruit, rank); }
  1. 执行结果如下,可见字符串NIL到测试方法后已变成null:

在这里插入图片描述

Csv文件数据源

  1. @CsvSource解决了测试方法入参有多个字段的问题,但是把作为入参的测试数据写在源文件中似乎不合适,尤其是数据量很大的情况下,这种场景适合用@CsvFileSource,该注解用于指定csv文件作为数据源,注意numLinesToSkip属性指定跳过的行数,可以用来跳过表头:
 @Order(14) @DisplayName("CSV文件多条记录入参") @ParameterizedTest @CsvFileSource(files = "src/test/resources/two-column.csv", numLinesToSkip = 1) void csvFileTest(String country, int reference) {  log.info("csvSourceTest, country [{}], reference [{}]", country, reference); }
  1. 在src/test/resources/创建文件two-column.csv,内容如下:
Country, referenceSweden, 1Poland, 2"United States of America", 3
  1. 上述代码执行结果如下,代码中没有测试数据,显得更加简洁一些:

在这里插入图片描述

期待《进阶》篇

  • 至此,咱们队JUnit5的参数化测试(Parameterized)有了初步的了解,可以通过各种数据源注解给测试方法制造更多的参数,但仅掌握这些还是不够的,依然有一些问题待解决,例如更自由的数据源定制、跟完善的多字段处理方案等等,下一篇《进阶》咱们一起来体验更多参数化测试的高级功能;

你不孤单,欣宸原创一路相伴

  1. Java系列
  2. Spring系列
  3. Docker系列
  4. kubernetes系列
  5. 数据库+中间件系列
  6. DevOps系列

欢迎关注公众号:程序员欣宸

微信搜索「程序员欣宸」,我是欣宸,期待与您一同畅游Java世界...
https://github.com/zq2599/blog_demos









原文转载:http://www.shaoqun.com/a/591571.html

跨境电商:https://www.ikjzd.com/

blibli:https://www.ikjzd.com/w/1676

topia:https://www.ikjzd.com/w/2741


欢迎访问我的GitHubhttps://github.com/zq2599/blog_demos内容:所有原创文章分类汇总及配套源码,涉及Java、Docker、Kubernetes、DevOPS等;关于《JUnit5学习》系列《JUnit5学习》系列旨在通过实战提升SpringBoot环境下的单元测试技能,一共八篇文章,链接如下:基本操作Assumptions类Assertions类按条件执行标
ryder:https://www.ikjzd.com/w/1264.html
亚马逊礼品卡:https://www.ikjzd.com/w/1090.html
stylenanda官网:https://www.ikjzd.com/w/1675.html
谷歌推出Shopping Actions,呼朋唤友挑战亚马逊?:https://www.ikjzd.com/home/487
321跨境电商早报0412丨亚马逊日本站Prime会员会费首次上调:https://www.ikjzd.com/home/21953
Prime Day钓鱼工具包出没,千万不要点!:https://www.ikjzd.com/home/101275

蛋蛋摸起来凉凉的正常吗

核心提示:睾丸,民间俗称"蛋蛋",它还是男人的"命根子"。蛋蛋在人体中的作用主要是产生精子和雄性激素。两个睾丸每天可产生7000万—1.5亿个精子,这些精子担负着传宗接代的重任,其重要性不言而喻。

睾丸,民间俗称"蛋蛋",它还是男人的"命根子"。蛋蛋在人体中的作用主要是产生精子和雄性激素。两个睾丸每天可产生7000万—1.5亿个精子,这些精子担负着传宗接代的重任,其重要性不言而喻。

蛋蛋摸起来凉凉的正常吗

蛋蛋的最佳温度是35℃,而人体最佳体温是37℃,蛋蛋摸起来比手凉一点是正常现象,因为蛋蛋要在低温的化境下保护精子的活力。

不过如果睾丸温度过低,那有可能是血液循环差的表现,血液是有热度的,若血液循环不好,在睾丸与阴茎之间淤积,就容易造成睾丸的温度降低;前列腺炎也会导致男性阴囊潮湿,使患者产生睾丸冰凉的感觉;需要男同胞自己感受甄别,或者挂号向医生求助。

温度过高伤害睾丸

蛋蛋只有保持在35℃才很好的保护精子,因此阴囊就承担了调节蛋蛋温度的重任。当遇冷蛋蛋的温度过低时,阴囊皮肤收缩、阻止热量的流失;而当蛋蛋过热时,阴囊皮肤就会松弛、散热。


但必需清楚,阴囊的温度调节功能是有一定限度的。当温度的变化超出了它调节的范围时,蛋蛋的生理功能就不可避免地受到损害,因此男士最好稍作软沙发,穿宽松透气的裤子,少蒸桑拿,给蛋蛋减负。

笔记本电脑可损伤蛋蛋

美国一项最新研究结果表明,男性最好不要将笔记本电脑放在大腿上,而应该放在桌上使用。因为手提电脑如果放置的位置不正确,笔记本发热及两腿对笔记本的支撑作用会使男性生殖器区域温度增高,可导致少精症、死精症等一系列精子异常疾病的发生。


原文转载:http://health.shaoqun.com/a/186068.html

跨境电商:https://www.ikjzd.com/

菜鸟网络:https://www.ikjzd.com/w/1547

小马哥:https://www.ikjzd.com/w/1655


核心提示:睾丸,民间俗称"蛋蛋",它还是男人的"命根子"。蛋蛋在人体中的作用主要是产生精子和雄性激素。两个睾丸每天可产生7000万—1.5亿个精子,这些精子担负着传宗接代的重任,其重要性不言而喻。 睾丸,民间俗称"蛋蛋",它还是男人的"命根子"。蛋蛋在人体中的作用主要是产生精子和雄性激素。两个睾丸每天可产生7000万—1.5亿个精子,这些精子担负着传宗接代的重任,其重要性不言而喻。蛋蛋摸起来凉凉的
pat:https://www.ikjzd.com/w/1079
关键词分析工具:https://www.ikjzd.com/w/1968
急速:https://www.ikjzd.com/w/1861
紧急通知!一定要注意这个国家!外交部发布警告!:https://www.ikjzd.com/home/110960
做跨境电商,海外仓服务有多重要?:https://www.ikjzd.com/home/22494
怎么用亚马逊广告建议竞价出价?:https://www.ikjzd.com/home/107543

26日纪录:哈登书写换队神迹 威少平队史三双榜_比赛

原标题:26日纪录:哈登书写换队神迹 威少平队史三双榜

北京时间2月26日,2020-21赛季NBA常规赛继续进行。比赛结束后,又诞生了不少纪录:

1.灰熊内线得分创历史

灰熊主场122-94大胜快船才,此役,灰熊在内线得到72分,算上这场球,他们已经连续76场内线得分超过40,是联盟1996-97赛季开始统计该项数据以来的最长纪录。

2.雄鹿小将生涯最高分

雄鹿主场以129-125战胜鹈鹕,此役,雄鹿后卫迪文森佐发挥出色,他出战35分钟,16投9中,三分7投4中,得到24分7篮板9助攻2抢断1盖帽。数据显示,24分也创造了迪文森佐的生涯新高,此前的纪录为19分。

3.字母一数据比肩天勾

也是在这场比赛中,雄鹿球星字母哥发挥出色,他登场38分钟,27投14中,其中三分球5投2中,10罚8中,入账38分10板4助攻1帽。算上这场球,字母哥连续3场比赛得分35+,成为队史上继1973年的"天勾"贾巴尔之后首位有此成就的球员。

4.雷迪克三分球里程碑

鹈鹕这边,老射手JJ-雷迪克三分球4投1中,得到9分7篮板。本场过后,雷迪克生涯三分总数来到1931个,成功超越JR-史密斯,独占NBA历史三分榜的第14位。

5.威少平队史三双榜

奇才客场112-110战胜掘金,本场球,奇才后卫拉塞尔-威斯布鲁克发挥出色,他全场出战37分钟,17投6中,得到16分10篮板10助攻3抢断。数据显示,这是威少赛季第9次三双,追平了达雷尔-沃克在1989-90赛季创造的纪录,并列队史第一位。

6.哈登书写换队神迹

篮网主场129-92击败魔术,此役,篮网球星詹姆斯-哈登出战33分钟,16投7中,三分球10中5、罚球2中1,拿下20分9篮板7助攻1抢断。

本场过后,大胡子成为NBA历史上第二位在换队之后的前20场比赛中,场均拿下20分+10助攻的球员。1966年,名宿盖伊-罗杰斯在加入公牛后曾完成过此项壮举。

也是在这场比赛过后,篮网拿到8连胜,数据显示,上一次,他们取得至少8连胜还是在2006年。

7.尼克斯队史最高效大胜

尼克斯主场140-121战胜国王,此役,尼克斯单场在得到140分的同时,全队命中率达到了60%,三分命中率为50%,这是他们队史第一次打出如此高效的数据。(波洛)返回搜狐,查看更多

责任编辑:

原文转载:http://sport.shaoqun.com/a/452745.html

跨境电商:https://www.ikjzd.com/

萌店:https://www.ikjzd.com/w/1538

友家快递:https://www.ikjzd.com/w/1341


原标题:26日纪录:哈登书写换队神迹威少平队史三双榜北京时间2月26日,2020-21赛季NBA常规赛继续进行。比赛结束后,又诞生了不少纪录:1.灰熊内线得分创历史灰熊主场122-94大胜快船才,此役,灰熊在内线得到72分,算上这场球,他们已经连续76场内线得分超过40,是联盟1996-97赛季开始统计该项数据以来的最长纪录。2.雄鹿小将生涯最高分雄鹿主场以129-125战胜鹈鹕,此役,雄鹿后卫迪
深诺互动:https://www.ikjzd.com/w/2746
moss:https://www.ikjzd.com/w/1653
topia:https://www.ikjzd.com/w/2741
暴利!6年狂揽2380万美金,深圳卖家被判50年!:https://www.ikjzd.com/home/113441
Shopee SLS藏价工具:https://www.ikjzd.com/tl/108043
亚马逊推出新功能 Similar item to consider:https://www.ikjzd.com/home/106151

宇宙中最先进的文明是什么样子的?

今天我们来谈一下,宇宙中最先进的文明有可能是什么样子的。这个问题其实是一个很难回答的问题。因为我们人类今天花了数千年时间就从以前的蛮荒社会到达了现在的信息社会。而与之相比,宇宙的年龄却长达138亿年。如果在此期间,一个宇宙的文明发展了数万年,数10万年,数百亿年,甚至上亿年的话。那么他们的文明层次确实很难以估计的。但是我们可以从宇宙文明的划分标准中得到一些启示。而在对于各种宇宙文明的划分方式中。

 图片4.png

 最著名的方式,我想也就是卡尔达肖夫指数。卡尔达肖夫指数由前苏联天文学家卡尔达肖夫提出。他将宇宙文明可以用多少的量划分为三个等级?其中第1个层次为一型文明,这样的文明可以利用恒星照射在行星的表面的能量。换算成地球来说,就是我们可以利用太阳照射到地球的所有能量。关于我们自身的文明指数。我们人类目前还没有达到最标准的一型文明,那就更不要提二型或者是三型宇宙文明了。2型的宇宙文明,就是可以利用戴森球的宇宙文明,这是科幻电影中常见的装置,是一种能够在恒星周围吸收恒星能量的球体。

 如果这样的文明能够检测出戴森球的话,那么他就有足够的能量去探索外太空,并且移民宇宙。那么什么是三型文明呢?三型文明就不是仅限于一颗小小恒星的文明了。它可以利用恒星中的所有能量,是一种非常成熟的文明。虽然卡尔达肖夫指数只到三级了,但是近年来,随着科幻电影中的发展,更高级的文明已经出现。

 

 

 




原文转载:http://tech.shaoqun.com/a/355774.html

跨境电商:https://www.ikjzd.com/

shirley:https://www.ikjzd.com/w/1684

深兰科技:https://www.ikjzd.com/w/1517


今天我们来谈一下,宇宙中最先进的文明有可能是什么样子的。这个问题其实是一个很难回答的问题。因为我们人类今天花了数千年时间就从以前的蛮荒社会到达了现在的信息社会。而与之相比,宇宙的年龄却长达138亿年。如果在此期间,一个宇宙的文明发展了数万年,数10万年,数百亿年,甚至上亿年的话。那么他们的文明层次确实很难以估计的。但是我们可以从宇宙文明的划分标准中得到一些启示。而在对于各种宇宙文明的划分方式中。最
prezi:https://www.ikjzd.com/w/1751
crowd:https://www.ikjzd.com/w/880
inkfrog:https://www.ikjzd.com/w/668
亚马逊黑五网一旺季流量时间表出炉!:https://www.ikjzd.com/home/110632
为什么亚马逊投资直播行业?:https://www.ikjzd.com/home/132103
应对新型冠状病毒疫情指引- 企业移动应用篇:https://www.ikjzd.com/home/118289

中国科学家研究新发现4.1亿年前最原始鸭吻鱼类|橄榄纹曲师鱼|鸭吻鱼科

橄榄纹曲师鱼生态复原图。郭肖聪 绘橄榄纹曲师鱼生态复原图。郭肖聪 绘

  中新网北京2月25日电 (记者 孙自法)远古时期鱼类化石研究,是古生物学界持续关注的热点领域,长期以来颇受关注。中国科学家团队最新又取得一项研究成果:在云南曲靖发现4.1亿年前盔甲鱼类鸭吻鱼科一新属种,命名"橄榄纹曲师鱼",成为目前所知鸭吻鱼科最原始的成员。

  关键材料:探讨盔甲鱼类适应辐射

  记者25日从中国科学院古脊椎动物与古人类研究所(中科院古脊椎所)获悉,该所盖志琨、朱敏,山东科技大学姜文瑜,曲靖师范学院施晓东、李强等科研人员合作,在曲靖早泥盆世布拉格期(约4.1亿年前)徐家冲组盔甲鱼类化石中研究发现"橄榄纹曲师鱼",成果论文近日已由国际学术期刊《历史生物学》在线发表。

盔甲鱼亚纲系统发育关系及系统分类。盖志琨 供图盔甲鱼亚纲系统发育关系及系统分类。盖志琨 供图

  论文通讯作者盖志琨副研究员表示,新发现并命名的"橄榄纹曲师鱼",种名指示其头甲表面布满独特的橄榄状瘤点,属名则赠给曲靖师范学院(曲师),以感谢该校在保护"曲靖古鱼王国"方面所做出的贡献。

  他说,"橄榄纹曲师鱼"的发现丰富了盔甲鱼类的形态特征,为探讨盔甲鱼类在早泥盆世布拉格期的适应辐射提供了关键的材料,同时,"橄榄纹曲师鱼"对于研究鸭吻鱼科的起源、多样性和古地理分布也具有重要意义。

  重要作用:了解从无颌向有颌过渡

  盖志琨介绍说,盔甲鱼类是一类已灭绝的"戴盔披甲"的甲胄鱼类,迄今仅发现于中国和越南北部的志留—泥盆纪地层,具有很浓厚的土著色彩。在脊椎动物的系统分类中,盔甲鱼类目前被认为是骨甲鱼类+有颌类的姐妹群,对了解脊椎动物从无颌向有颌过渡有非常重要的作用。

  传统形态学分析认为盔甲鱼类是一类游泳能力不强的底栖鱼类,因为它们具有背腹扁平的头甲,位于头甲背面的眼睛和头甲腹面的口。然而,最近基于盔甲鱼类头甲的水动力学分析表明,盔甲鱼类有可能像骨甲鱼类那样具有更广泛的生活方式和生态多样性,具有更高的机动性和灵活性。

  比如研究团队2015年在云南昭通发现的剑裂甲鱼,就是第一个具有流线型体形的盔甲鱼,表明一些盔甲鱼类的游泳能力可能大大增强,已开始一种自游泳的生活方式,从而具有更加主动的取食行为。

 橄榄纹曲师鱼头甲化石照片及其复原图。郭肖聪 绘 橄榄纹曲师鱼头甲化石照片及其复原图。郭肖聪 绘

  新的线索:厘清鸭吻鱼科不确定性

  盖志琨指出,鸭吻鱼科属于盔甲鱼亚纲华南鱼目下的一个非常有意思的类群,因其模式属鸭吻鱼属具有一鸭嘴状的吻突而得名。在盔甲鱼类中,鸭吻鱼科对于了解早泥盆世布拉格期盔甲鱼类的生态多样性具有非常重要的意义,然而,目前学界对鸭吻鱼科的了解仍然存在许多不确定性,因为化石材料的稀少,特别是模式属鸭吻鱼属仅有一块头甲后部缺失的不完整标本。

  之前,有学者推测鸭吻鱼科的鸭吻鱼和乌蒙山鱼的头甲可能属于"三歧鱼型",具有向后延伸的角和内角。另有学者认为鸭吻鱼和乌蒙山鱼的角和内角可能次生丢失,属于"裂甲鱼型"。此外,鸭吻鱼的一些感觉管与其他已知的盔甲鱼的感觉管的同源性也存在着争议。

  "橄榄纹曲师鱼"的发现,则对厘清上述不确定性和相关争议提供了新的线索:该新属种的主要特征是头甲近叉形;具有发育的角和内角;中背孔呈椭圆形;感觉管系统发育;头甲侧缘光滑,不平行;具有橄榄状中央小瘤所组成的纹饰。

  曲师鱼头甲的形态与三歧鱼科头甲的形态很相似,但是与三歧鱼科新月形的中背孔有所不同,而新月形的中背孔被认为是三歧鱼科的一个重要的鉴别特征。因此在中背孔的形状上,曲师鱼更接近鸭吻鱼。

  发育分析:确认鸭吻鱼科最原始成员

  论文第一作者是参加中科院古脊椎所2019年大学生"科创计划"的山东科技大学本科生姜文瑜,她说,为探究"橄榄纹曲师鱼"的系统位置,科研团队对以往的矩阵数据进行扩增,除了曲师鱼,还增加同时期来自云南昭通坡松冲组的裂甲鱼,并运用支序系统学方法对盔甲鱼类的系统发育关系进行分析。

  系统发育分析结果表明,曲师鱼、鸭吻鱼、乌蒙山鱼和裂甲鱼共同组成一个单系——鸭吻鱼科,研究团队因此把曲师鱼归到鸭吻鱼科。而新的分支系统图显示,曲师鱼与鸭吻鱼科的其他所有种属形成姐妹群,曲师鱼代表了目前已知的鸭吻鱼科最原始的成员。

  姜文瑜认为,"橄榄纹曲师鱼"的发现和研究表明,原始的鸭吻鱼科成员有完整的腹环、不弯曲的鳃腔,以及向后延伸角和内角。与具有较强游泳能力的裂甲鱼不同,像大多数盔甲鱼类一样,曲师鱼可能仍然是一种底栖鱼类,在海岸、海洋环境中的沙地或泥泞的基底上移动,这些也将为鸭吻鱼类演化研究提供新的线索。

原文转载:http://tech.shaoqun.com/a/354765.html

跨境电商:https://www.ikjzd.com/

网上1号店:https://www.ikjzd.com/w/2263

东西网:https://www.ikjzd.com/w/1238


橄榄纹曲师鱼生态复原图。郭肖聪绘  中新网北京2月25日电(记者孙自法)远古时期鱼类化石研究,是古生物学界持续关注的热点领域,长期以来颇受关注。中国科学家团队最新又取得一项研究成果:在云南曲靖发现4.1亿年前盔甲鱼类鸭吻鱼科一新属种,命名"橄榄纹曲师鱼",成为目前所知鸭吻鱼科最原始的成员。  关键材料:探讨盔甲鱼类适应辐射  记者25日从中国科学院古脊椎动物与古人类研究所(中科院古脊椎所)获悉,该
立刻网:https://www.ikjzd.com/w/2323
yeepay:https://www.ikjzd.com/w/2574
jpgoodbuy:https://www.ikjzd.com/w/1553
口述:老婆同时和3个男人暧昧 我崩溃(3/3):http://lady.shaoqun.com/m/a/117234.html
选品诀窍:如何深挖目前合作的供应商进行选品?:https://www.ikjzd.com/home/107168
亚马逊无货源模式:无需货源,如何操作?:https://www.ikjzd.com/home/96024