//第二种情况,先增加Cookie后转发,A2.jsp获取不了name的值,需要刷新A2.jsp或者其他网址都能正常获取name
//第三种情况,先重定向后增加Cookie,无论怎么刷新就获取不了值,就是根本没写入cookie
//第四种情况,先转发后增加Cookie,无论怎么刷新就获取不了值,就是根本没写入cookie
//第五种情况,先重定向后设置session对象值,A2.jsp能正常获取name的值"你好"
//第六种情况,先转发后设置session对象值,需要刷新A2.jsp或者其他网址都能正常获取name
//第七种情况,先设置session对象值后重定向,A2.jsp能正常获取name的值"你好"
//第八种情况,先设置session对象值后重定向,A2.jsp能正常获取name的值"你好"
我对重定向,转发,Cookie,session比较乱,希望大家能逐个解释以上8个现象
注:不要只给我解释重定向和转发的概念,是要详细解释上面8个现象
看到了吧,代码变得更段且更具有可读性,但是实际上还可以写得更短:
对于函数体只有一行代码的,你可以去掉大括号{}以及return关键字,但是你还可以写得更短点:
ava编译器可以自动推导出参数类型,所以你可以不用再写一次类型。接下来我们看看lambda表达式还能作出什么更方便的东西来
Lambda 表达式是如何在java的类型系统中表示的呢?每一个lambda表达式都对应一个类型,通常是接口类型。而“函数式接口”是指仅仅只包含一个抽象方法的 接口,每一个该类型的lambda表达式都会被匹配到这个抽象方法。因为 默认方法 不算抽象方法,所以你也可以给你的函数式接口添加默认方法。
我们可以将lambda表达式当作任意只包含一个抽象方法的接口类型,确保你的接口一定达到这个要求,你只需要给你的接口添加 @FunctionalInterface 注解,编译器如果发现你标注了这个注解的接口有多于一个抽象方法的时候会报错的。
Optional 不是函数是接口,这是个用来防止NullPointerException异常的辅助类型,这是下一届中将要用到的重要概念,现在先简单的看看这个接口能干什么:
Optional 被定义为一个简单的容器,其值可能是null或者不是null。在Java 8之前一般某个函数应该返回非空对象但是偶尔却可能返回了null,而在Java 8中,不推荐你返回null而是返回Optional。
接下来展示如何在Map里删除一个键值全都匹配的项:
对Map的元素做合并也变得很容易了:
在Java 8中支持多重注解了,先看个例子来理解一下是什么意思。
首先定义一个包装类Hints注解用来放置一组具体的Hint注解:
Java 8允许我们把同一个类型的注解使用多次,只需要给该注解标注一下@Repeatable即可。
例 1: 使用包装类当容器来存多个注解(老方法)
例 2:使用多重注解(新方法)
第二个例子里java编译器会隐性的帮你定义好@Hints注解,了解这一点有助于你用反射来获取这些信息:
'' 所见即所得,吃啥吐啥 "" 特殊符号会被解析运行 > 重定向符号 先清空文件的内容 而后追加文件的最后 >> 追加剧定向 追加文件的最后 2> 错误重定向 只有错误的信息 才会经过这个漏洞进入文件中 ! 查找并运行历史命令 !awk 包含awk的命令 最近的一条运行 root用户的命令提示符 awk $取某一列的内容 && 前一个命令执行成功而后在执行后一个命令 || 前一个命令支持失败了再执行后面的命令
一、Linux运行命令过程
把环境变量的配置命令追加到/etc/profile中
1.什么是PATH环境变量
2.如何修改PATH环境变量
十二、请描述下列路径的内容是作什么的?
1三、如何快速查到ifconfig的全路径,请给出命令。
1四、请给出查看当前哪些用户在线的linux命令。
用户在线是什么意思呢 =====> 远程链接到服务器的用户
系统的负载---系统繁忙程度
若是负载接近-服务cpu的核心总数
显示系统中全部用户的最近一次的登陆信息
shutdown -c 把正在关机或者重启的命令取消掉,一台远程登陆重启,另外一台能够在时间内中止这条命令
Ctrl + a 把光标移动到《行首》 Ctrl + e 把光标移动到《行尾》 Ctrl + d logout命令(当前行没有任何内容,退出当前用户) Ctrl + u 剪切光标所在位置到行首的内容 Ctrl + k 剪切光标所在位置到行尾的内容 ctrl + → 把光标向右移动一个单词 ctrl + ← 把光标向左移动一个单词 Ctrl + r search 搜索历史命令,没有找到,继续按快捷键,继续搜索,找到了按enter