饭后吃水果

  不少人喜欢饭后吃点水果,认为这样有利于清口。其实这是一种错误的生活习惯,饭后马上吃水果会影响消化功能。因为,当食物进入胃部后,需要消化1-2个小时才能缓缓排除,饭后马上吃水果,水果会被之前吃进的食物阻挡,而不能正常地消化。

  饭后喝浓茶

  茶叶中含有大量单宁酸,饭后喝浓茶,会使刚刚吃进的还没消化的蛋白质同单宁酸结合在一起形成沉淀物,影响蛋白质的吸收;茶叶中的物质还会妨碍铁元素的吸收,长期养成饭后喝浓茶的坏习惯,容易引发缺铁性贫血;此外,饭后马上喝茶,大量的水进入胃中,还会冲淡胃所分泌的消化液,从而影响胃对食物的消化工作。

  饭后吸烟

  有人认为,“饭后一颗烟,赛过活神仙。”事实上,这种做法对人体危害是极大的。因为饭后人体的肠胃蠕动十分频繁,血液循环也随之加快,消化系统开始了全面的运动。如果在这个时候吸烟,肺部和全身组织吸收烟雾的力度大大加强,致使烟中有害成分大量被吸收,对呼吸、消化道都有很强的刺激作用,无疑会给人体机能和组织带来比平时吸烟大得多的伤害。

饭后饮水

  饭后马上饮水会稀释胃液,使胃中的食物没有来得及消化就进入了小肠,削弱了胃液的消化能力,容易引发胃肠道疾病。如果饭后喝的是汽水那对身体就更为不宜了,汽水产生的二氧化碳容易增加胃内压,导致急性胃扩张。

  饭后唱卡拉OK

  刚吃饱后胃容量加大,血流量增加,此时唱歌会使隔膜下移,腹腔压力增加,轻则引起消化不良,重则引发肠胃不适等其他症状。因此,最好在饭后1小时左右,食物正常消化后再去唱卡拉OK,或者干脆先唱歌然后再去吃饭。

  饭后开车

  饭后由于消化的需要,血液大多集中到了胃部,大脑处于暂时缺血的状态,这时开车容易导致操作失误,发生车祸。因此,饭后1小时再开车更安全。

  饭后洗澡

  民间有句俗话叫“饱洗澡饿剃头”,这也是一种不正确的生活习惯。饭后洗澡,体表血流量就会增加,胃肠道的血流量便会相应减少,从而使肠胃的消化功能减弱,引起消化不良。

  饭后放松裤带

  多人吃饭过量后感觉撑得慌,常常放松皮带扣,这样虽然肚子舒服了,但是会造成腹腔内压的下降,逼迫胃部下垂。长此以往,就会患上真的胃下垂。

  饭后“百步走”

  饭后“百步走”,非但不能活“九十九”,还会因为运动量的增加,影响消化道对营养物质的吸收。尤其是老年人,心脏功能减退、血管硬化,餐后散步多会出现血压下降等现象.

For Java 8, you can convert the Map into a stream, process it and returns it back as a List

示例代码

package com.test;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

public class ConvertMapToList {

    public static void main(String[] args) {

        Map<Integer, String> map = new HashMap<>();
        map.put(10, "apple");
        map.put(20, "orange");
        map.put(30, "banana");
        map.put(40, "watermelon");
        map.put(50, "dragonfruit");

        System.out.println("\n1. Export Map Key to List...");

        List<Integer> result = map.keySet().stream()
                .collect(Collectors.toList());

        result.forEach(System.out::println);

        System.out.println("\n2. Export Map Value to List...");

        List<String> result2 = map.values().stream()
                .collect(Collectors.toList());

        result2.forEach(System.out::println);

        System.out.println("\n3. Export Map Value to List..., say no to banana");
        List<String> result3 = map.keySet().stream()
                .filter(x -> !"banana".equalsIgnoreCase(x))
                .collect(Collectors.toList());

        result3.forEach(System.out::println);

    }

}

输出

1. Export Map Key to List...
50
20
40
10
30

2. Export Map Value to List...
dragonfruit
orange
watermelon
apple
banana

3. Export Map Value to List..., say no to banana
dragonfruit
orange
watermelon
apple

假设一个nodes列表,想在点击节点的时候控制子节点的显示和隐藏,此时需要添加一个“显示内容”属性来控制。

核心代码如下:

this.$set(this.nodes[index],'showContent',result)

参考代码:

     controlDis(index){//通过index拿到当前值
        let result = false;
        if(!this.nodes[index].showContent){
          result = true;
        }
        this.$set(this.nodes[index],'showContent',result)
      }

经测试,新属性的值能立即控制页面的显示和隐藏。

自 2 月 7 日开始,Java/JDK 12 就进入了 RC 阶段。按照发布周期,美国当地时间 3 月 19 日,也就是今天 Java 12 正式发布了!

△ JDK 12 GA 发布

Java 12 带来了一系列新特性:

189 Shenandoah: A Low-Pause-Time Garbage Collector (Experimental) 低暂停时间的 GC
230 Microbenchmark Suite 微基准测试套件
325 Switch Expressions (Preview) Switch 表达式
334 JVM Constants API JVM 常量 API
340 One AArch64 Port, Not Two 只保留一个 AArch64 实现
341 Default CDS Archives 默认类数据共享归档文件
344 Abortable Mixed Collections for G1 可中止的 G1 Mixed GC
346 Promptly Return Unused Committed Memory from G1 G1 及时返回未使用的已分配内存
下边分别来看看:

Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)

Shenandoah:低暂停时间的 GC(实验性功能)

新增了一个名为 Shenandoah 的 GC 算法,通过与正在运行的 Java 线程同时进行 evacuation 工作来减少 GC 暂停时间。使用 Shenandoah 的暂停时间与堆大小无关,这意味着无论堆是 200 MB 还是 200 GB,都将具有相同的暂停时间。

Microbenchmark Suite

微基准测试套件

JDK 源码中新增了一套微基准测试套件,使开发人员可以轻松运行现有的微基准测试并创建新的基准测试。

Switch Expressions (Preview)

Switch 表达式(预览功能)

扩展了 switch 语句,使其不仅可以作为语句(statement),还可以作为表达式(expression),并且两种写法都可以使用传统的 switch 语法,或者使用简化的“case L ->”模式匹配语法作用于不同范围并控制执行流。这些更改将简化日常编码工作,并为 switch 中的模式匹配(JEP 305)做好准备。

JVM Constants API

JVM 常量 API

引入 API 对关键类文件和运行时工件建模,特别是可从常量池加载的常量。在新的 java.lang.invoke.constant 包中定义了一系列基于值的符号引用(JVMS 5.1)类型,它们能够描述每种可加载常量。符号引用以纯 nominal 形式描述可加载常量,与类加载或可访问性上下文区分开。有些类可以作为自己的符号引用(例如 String),而对于可链接常量,定义了一系列符号引用类型(ClassDesc、MethodTypeDesc、MethodHandleDesc 和 DynamicConstantDesc),它们包含描述这些常量的 nominal 信息。

One AArch64 Port, Not Two

只保留一个 AArch64 实现

删除了与 arm64 相关的所有源,同时保留 32 位 ARM 实现和 64 位 aarch64。

JDK 中存在两套 64 位 ARM 实现,主要存在于 src/hotspot/cpu/arm 和 open/src/hotspot/cpu/aarch64 目录。两者都实现了 aarch64,现在将只保留后者,删除由 Oracle 提供的 arm64。这将使贡献者将他们的精力集中在单个 64 位 ARM 实现上,并消除维护两套实现所需的重复工作。

Default CDS Archives

默认类数据共享归档文件

针对 64 位平台,使用默认类列表增强 JDK 构建过程以生成类数据共享(class data-sharing,CDS)档。

Abortable Mixed Collections for G1

可中止的 G1 Mixed GC

如果 G1 Mixed GC 存在超出暂停目标的可能性,则使其可中止。

Promptly Return Unused Committed Memory from G1

G1 及时返回未使用的已分配内存

增强 G1 GC,在空闲时自动将 Java 堆内存返回给操作系统。为了实现向操作系统返回最大内存量的目标,G1 将在应用程序不活动期间定期执行或触发并发周期以确定整体 Java 堆使用情况。这将导致它自动将 Java 堆的未使用部分返回给操作系统。而在用户控制下,可以可选地执行完整的 GC,以使返回的内存量最大化。

上述每一个新特性都有详细的说明文档,可以点击相应链接查看。

观望 JDK 13

根据 JDK 13 的迭代计划,预计将于 2019 年 9 月发布 —— Java 现在采取“半年发布一次版本”的模式。

可访问 http://openjdk.java.net/projects/jdk/13/ 查看 JDK 13 的相关信息。

讨论

留意到不少开发者对 Raw String Literals 特性情有独钟,该特性类似于 JavaScript ES6 语法中的模板字符串,使用它基本可以告别丑陋的字符串拼接。特性详见 http://openjdk.java.net/jeps/326

该特性原计划于 JDK 12 发布,可惜最后还是被取消了,详见:
http://mail.openjdk.java.net/pipermail/jdk-dev/2018-December/002402.html

可能是因为业界呼声太高,最近委员会又把这个特性拿出来重新讨论了:
https://mail.openjdk.java.net/pipermail/amber-spec-experts/2019-January/000931.html

你最想要的 JDK 特性是什么?在留言区和大家分享吧!~

免责声明
本博客部分内容来自于互联网,不代表作者的观点和立场,如若侵犯到您的权益,请联系[email protected]。我们会在24小时内进行删除。