为了账号安全,请及时绑定邮箱和手机立即绑定
3.2 实例

我们使用for循环连续打印5行”慕课网真棒“的字样,代码如下:488运行结果:慕课网真棒慕课网真棒慕课网真棒慕课网真棒慕课网真棒我们现在使用for来实现1到100的累加求和,代码如下:489运行结果:1到100的累加和为:5050程序解析:在执行循环体前,会先执行括号中的变量声明语句int i = 1,它定义了一个计数器变量i并且赋值为1(注意这个语句只执行一次)。然后会执行条件判断语句i <= 100,显然条件成立,执行循环体,循环体执行完成后会才会执行括号中的第三个语句i ++,再次判断条件是否成立,直到当i的值为100时,最后一次执行循环体,这个时候i再次自增1为101,条件不成立,结束循环。实际使用中,通常使用for循环来遍历一个数组,我们将在 Java 数组小节举例介绍。for循环中第一个语句,变量声明语句可以一次声明多个整型变量,实例代码如下:490运行结果:1 10 2 9 3 8 4 7 5 6 6 5 7 4 8 3 9 2 10 1另外,for循环还可以缺省变量声明语句、循环条件和迭代语句,实例:// 缺省变量声明语句for (int i = 0; ; i ++) { // 语句}// 缺省循环条件语句和迭代语句for (int i = 0; ; ) { // 语句}// 缺省所有语句for (;;) { // 语句}但请注意,通常情况下不建议这样写。

2.2 创建多行字符串

自Java 13 以后,我们可以使用三引号来表示一个多行字符串,被官方称为“文本块”。文本块常用来表示多行的或大段的文字。例如:public class StringTest3 { public static void main(String[] args) { String str = """ Java 很棒! 慕课网很棒!! 能够在慕课网学 Java 更棒!!!"""; System.out.println(str); }}Tips:这里需要注意的是,文本块中起始的三引号后面要另起一行,也就是说下面这种写法是错误的:String str = """Java 很棒! 慕课网很棒!! 能够在慕课网学 Java 更棒!!!""";如果我们直接使用javac命令编译代码,将会报错:javac StringTest3.javaStringTest3.java:4: 错误: 文本块 是预览功能,默认情况下禁用。 String str = """ ^ (请使用 --enable-preview 以启用 文本块)1 个错误报错告诉我们:文本块是预览功能,默认是禁用的。我们可以给编译器加上一些参数来编译执行代码:$ javac -source 14 --enable-preview StringTest3.java$ java --enable-preview StringTest3Java 很棒!慕课网很棒!!能够在慕课网学 Java 更棒!!!

Android 真机的使用

在前几小节中我们学习了使用模拟器,本节课程我们学习如何使用真机测试应用。任何一款应用务必始终先在真机设备上测试后再正式向用户发布。

5.2 模拟器和真机

本部分会学习如何安装和使用模拟器。如何设置和使用真机。在日常开发中,模拟器和真机都是我们的运行设备和调试设备,是我们必须要掌握的工具。

4. 小结

本节课程讲解 PO 对象的 3 种状态,以及 3 种状态之间的转化方式。了解处于持久化状态的 PO 具有持久化能力,这是 Hibernate 提供的一个很棒的 程序中对象与数据库数据自动同步的方案。也是一种快速开发方案。本节课区分了几个常用方法的差异性。但真相似乎就是:大家都和持久化状态有关系。

3.2 文本向量化

在 FTS 中,原始文本在构建索引之前需要被向量化。原始文本(如:字符串)必须先被向量化后才能通过 FTS 对其检索,向量化后的内容需要存储到一个单独的向量字段中,该向量的数据类型是tsvector。PostgreSQL 提供了to_tsvector函数来将原始文本向量化,如下:SELECT * FROM to_tsvector('jiebacfg','SQL,你敢吃我俺老孙一棒吗?'); to_tsvector------------------------------------------- 'sql':1 '一棒吗':9 '吃':5 '敢':4 '老孙':8tsvector是由(词,序列)元组组成的列表,如sql是原始文本中的第一个词,所以它的序列是1。

4. print

但是有时候我想打印一个网页,比如你觉得这节教程写的非常棒,但是内容太多了一下子记不住,打算把它打印在纸上没事的时候就看看,打印出来以后你就会发现有这几个问题:样式有可能会乱打印出来很多没用的内容打印用了很多张纸因为纸张的大小一般就是A4,和电脑屏幕的比例可不一样,在电脑上看着正常的样式,换个比例可能就会乱。在电脑上有意义的东西可能在纸上就没意义了,比如那些按钮,点击返回上一页什么的,在电脑上可以点,在纸上就变成了一个占地儿的摆设。用户真正在意的,也就是那些想打印在纸上的这些文字内容,所以需要用 print 来检测是否为打印设备,是的话就不显示那些按钮啊、广告啊、视频啊等等那类的样式了,重点突出的是想打印在纸上的内容。

5. 小结

一般公司在开发时,可以使用 Swagger2 快速实现测试,并生成在线文档。由于开发阶段经常会修改接口,所以编写纸质文档实在是劳民伤财。如果使用 Swagger2 ,重启 Spring Boot 后刷新页面,就能看到最新 API 文档。还有一个小技巧,我们可以开启热部署。当我们的代码发生变化时, Spring Boot 会自动重启,这样就省得每次都要手工重启 Spring Boot 。实例: <!-- 引入该依赖即可开启热部署 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency>通过引入依赖,简单配置,就能实现一个非常棒的功能,这就是 Spring Boot 开箱即用的优点体现。

2. 与或非逻辑运算

Python 提供了与、或、非三种基本逻辑运算,如下所示:逻辑运算表达式功能描述与x and yx 和 y 都为真,则结果为真;x 为假或者 y 为假,则结果为假或x or yx 为真或者 y 为真,则结果为真; x 和 y 都为假,则结果为假非not xx 为真,则结果为假;x 为假,则结果为真

5. 真实案例分享

腾讯新闻<h1>习近平地方考察中,强调的重点内容有哪些</h1>网易云音乐<h1><a>网易云音乐</a></h1>

3.1 功能与语法

在分支选择程序中,分支也可以是分支选择语句,形成分支嵌套结构,如下所示:图:分支嵌套结构程序首先判断条件 1 是否为真如果条件 1 为真,则判断条件 2 是否为真条件 1 为真并且条件 2 为真,执行代码块 1条件 1 为真并且条件 2 为假,执行代码块 2如果条件 1 为假,则判断条件 3 是否为真条件 1 为假并且条件 3 为真,执行代码块 3条件 1 为假并且条件 3 为假,执行代码块 4

4. 安装和运行程序

至此,真机通过 USB 线连上 PC时,Andrid Studio 界面上应该可以看到真机连接成功,显示出真机的型号。我们只需要点击工具栏上的 Run 图标,即可将应用安装在真机上并运行。

2.1 概述

关系运算符又称为比较运算符,比较的结果是一个布尔类型的值(true或false)。Java 语言有几个可用于比较变量的运算符,如下表所示:(在例子中,初始化两个整型变量a、b:int a = 2; int b = 4;)运算符描述例子==检查如果两个操作数的值是否相等,如果相等则条件为真。(a == b) 为假!=检查如果两个操作数的值是否相等,如果值不相等则条件为真。(a != b) 为真>检查左操作数的值是否大于右操作数的值,如果是那么条件为真。(a > b) 为假<检查左操作数的值是否小于右操作数的值,如果是那么条件为真。(a < b)为真>=检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。(a >= b)为假<=检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。(a <= b)为真Tips:在比较两个操作数是否相等时,必须使用“==”而不是“=”。

Yarn 和 npm 评测对比

前言:同学们大家好,在之前的课程中,给大家简单介绍了yarn的基本概念和命令使用方法。我们说,yarn是一个非常具有竞争力的依赖管理工具。甚至最近几年,它的热度一度超过传统工具npm。它简洁的日志输出方式,依赖管理方案,以及下载速度,都给开发者带来了非常棒的体验。下面我给大家用实际开发场景测试一下,具体说明yarn的优势。

2. 服务容错与降级真实业务场景描述

业务场景描述有这样一个真实的业务场景:在某大厂的用户业务模块下,存在一个用户注册服务接口,在正常流量下,请求该用户注册服务接口,不会出现任何问题,业务可以正常开展。但是,在遇到某活动举办时,当再次请求该用户注册服务接口时,该服务接口就会报服务处理异常,我们需要做的就是用服务容错与降级的概念来解决这种异常现象。问题原因分析在解决问题之前,我们首先来分析一下这种问题产生的原因。在遇到某活动举办时,当再次请求该用户注册服务接口时,由于此时的请求流量较正常情况下的多,即此时的请求流量可能是正常情况下请求流量的几倍,甚至更多,我们的服务在处理请求时,一方面出现了服务处理堆积的现象;另一方面,当我们的服务器或数据库不能继续处理更多的请求时,没有给用户一个合理地提示,直接让程序报出了异常。以上两方面就是产生该异常的原因,第一方面我们使用服务容错与降级无法解决,只能使用高并发相关的知识,通过限流来解决,但是第二方面我们可以使用服务容错与降级的概念来解决,接下来就让我们看一下如何解决吧。

1. 前言

mpvue 框架是一个很棒的小程序开发框架,由美团技术团队打造,18年上线的。当时一上线就获得了小程序界的广泛关注,因为 mpvue 无限接近 vue 开发,基本做到了从 Vue.js 到小程序的零成本切换。如果之前掌握了 Vue.js 语法,用 mpvue 框架开发小程序几乎不会增加新的学习成本,降低了开发小程序的门槛,所以受到很多开发者的欢迎。那我们为什么不继续使用 mpvue 框架,要将 mpvue 项目转成 uni-app 项目呢?这一小节主要讲解为什么要将 mpvue 项目转成 uni-app 项目以及如何将 mpvue 项目转换成 uni-app 项目。

4.1 概述

逻辑运算符可以在表达式中生成组合条件,例如在执行特定语句块之前必须满足的两个或多个条件。使用逻辑运算符,可以描述这些组合条件。逻辑运算的返回结果只能为真或假。Java 语言中的逻辑运算符,如下表所示:(在例子中,初始化两个整型变量a、b:int a = 0; int b = 1;)运算符描述例子&&(逻辑与)当且仅当两个操作数都为真,条件才为真。(a && b)为假|| (逻辑或)如果任何两个操作数任何一个为真,条件为真。(a || b)为真!(逻辑非)用来反转操作数的逻辑状态。如果条件为真,则逻辑非运算符将得到假。!(a && b)为假

3. 真实案例分享

慕课网<select> <option value="">请选择</option> <option value="2000">2000</option> <option value="2001">2001</option> <option value="2002">2002</option> <option value="2003">2003</option> <option value="2004">2004</option> <option value="2005">2005</option> <option value="2006">2006</option> <option value="2007">2007</option> <option value="2008">2008</option> <option value="2009">2009</option> <option value="2010">2010</option> <option value="2011">2011</option> <option value="2012">2012</option> <option value="2013">2013</option> <option value="2014">2014</option> <option value="2015">2015</option> <option value="2016">2016</option> <option value="2017">2017</option> <option value="2018">2018</option> <option value="2019">2019</option> <option value="2020">2020</option></select>京东官网<select> <option selected="selected">请选择出生月份:</option> <option>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> <option>6</option> <option>7</option> <option>8</option> <option>9</option> <option>10</option> <option>11</option> <option>12</option></select>

2. 应用场景

在你需要进行一个条件判断,有真假存在,且输出语句真假各为一行的时候就可以使用这个三目运算了。

5. 小结

本节课程我们主要学习了如何使用真机测试应用。本节课程的重点如下:真机上如何启用开发者选项和 USB 调试;ADB 环境配置和 USB 驱动安装;如何让程序运行在真机上。

4.2 短路运算

&&和||运算符存在短路行为。短路的意思是:只有在需要的时候才会判断第二个操作数的真假。例如:441运行结果:a等于1或b等于1程序解析:有两个整型变量a和b,值分别为1和2。第一个if语句的条件为逻辑与运算,其第一个操作数a == 2为假,所以无论第二个操作数是真是假,都不去判断,条件直接被判定为假;第二个if语句的条件为逻辑或运算, 其第一个操作数a == 1为真,所以无论第二个操作数是真是假,都不会去判断,条件直接被判定为真。这就是所谓的短路。

1.1 功能与语法

程序可以根据条件执行不同的分支,程序结构如下图所示:图:条件选择结构在图中,对条件进行判断:如果条件为真,执行“条件为真的分支”如果条件为假,执行“条件为假的分支”Python 提供了 if 条件控制语句用于选择执行流程,Python 的 if 语句的语法如下:if 条件: 条件为真的分支else: 条件为假的分支if 语句中可以省略 else 分支,语法如下;if 条件: 条件为真的分支

4. 小结

本节内容概览本小节以一个真实业务场景下的服务,为大家介绍了如何在真实业务场景下配置 Hystrix 的服务快速失败,并且做了代码实操,针对容易出现问题的地方,也做了注意事项的补充,希望同学们可以对真实业务场景下,服务快速失败的应用方法有所了解。

5. 真实案例分享

慕课手记技术文章。前端开发规范(节选):<p> <span>关注</span></p> <div> <span> JAVA开发工程师 </span></div><div> <a> <span></span> 篇手记 </a> <a> 贡献 <span></span> 字 </a></div>新浪新闻:<div> <span >2020年06月14日 13:00</span></div><div> <span> 缩小字体 </span> <span> 放大字体 </span> <span> 收藏 </span> <span> 微博 </span> <span> 微信 </span> <span> 分享 </span> <span >0 </span><div> <span> 腾讯QQ </span> <span> QQ空间 </span></div>

4. 真实案例分享

北京大学官网<table> <thead> <tr> <th>课号</th> <th>课程名称</th> <th>开课单位</th> <th>学分</th> <th>总周数<br>(起止周)</th> <th>课程类型</th> <th>上课时间</th> <th>班号</th> <th>上课教师</th> <th>备注</th> </tr> </thead> <tbody> <tr> <td>01132632</td> <td><p style="text-align:center;padding:5px;"><a href="http://elective.pku.edu.cn/elective2008/edu/pku/stu/elective/controller/courseDetail/getCourseDetail.do?kclx=BK&course_seq_no=BZ1920301132632_15745" target="_blank">生物化学讨论课<br>Current topics on Biochemistry</a></p></td> <td>生命科学学院</td> <td>2</td> <td>2(1-2)</td> <td>A</td> <td><p>星期一(第10节-第12节)</br>星期二(第10节-第12节)</br>星期三(第10节-第12节)</br>星期四(第10节-第12节)</br>星期五(第10节-第12节)</br>星期六(第10节-第12节)</br></p></td> <td>1</td> <td>钟上威</td> <td><p>6月29-7月7日,10-12节,选修同学需先修生物化学理论课</p></td> </tr> <tr> <td>01132022</td> <td><p><a href="http://elective.pku.edu.cn/elective2008/edu/pku/stu/elective/controller/courseDetail/getCourseDetail.do?kclx=BK&course_seq_no=BZ1920301132022_18636" target="_blank">遗传学讨论<br>Current topics on Genetics</a></p></td> <td>生命科学学院</td> <td>2</td> <td>2(3-4)</td> <td>A</td> <td><p>星期一(第10节-第12节)</br>星期二(第10节-第12节)</br>星期三(第10节-第12节)</br>星期四(第10节-第12节)</br>星期五(第10节-第12节)</br></p></td> <td>1</td> <td>范六民</td> <td><p>上课时间:7月13日-7月24日,10-12节。选修同学需先修遗传学理论课</p></td> </tr> </tbody></table>

5. 真实案例分享

内部通知<h1>普通话考试通知</h1> <p>我院今年3月份的普通话水平测试开始接受报名,具体事项通知如下:</p> <ol> <li>报名</li> <ol type="A"> <li>报名时间:3月16-21日,逾期不予受理。</li> <li>报名地点:所在院系办公室。</li> <li>报名费用:按物价局规定85元/人/次(含培训费用),报名时交齐。</li> <li>提交资料及注意事项:</li> <ol type="a"> <li>参加测试的学生须填写《河南省普通话水平测试报名表》一份(准考证号码 不用填写);</li> <li>填写准考证一份(编号不用填写),所填姓名和出生年月须与身份证一致;</li> <li>提交小一寸彩色证件照3张(照片不能是打印版、不能是生活照,3张照片必须统一底片),其中两张照片贴在报名表和准考证上,另一张用钢笔在背面写上校名、系名和姓名,与表格一起上交。</li> </ol> </ol> <li>测试</li> <li>培训</li> <p>(注:具体时间和地点按河南财经学院测试站发回的准考证上所列)</p> </ol>

2. realip 模块

realip 模块是在 postread 阶段生效的,它的作用是:当本机的 nginx 处于一个反向代理的后端时获取到真实的用户 ip。 如果没有 realip 模块,Nginx 中的 $remote_addr 可能就不是客户端的真实 ip 了,而是代理主机的 ip。realip模块的配置实例如下: set_real_ip_from 10.10.10.10; # real_ip_recursive off; real_ip_recursive on; real_ip_header X-Forwarded-For;set_real_ip_from 是指定我们信任的后端代理服务器,real_ip_header 是告诉 nginx 真正的用户 ip 是存在 X-Forwarded-For 请求头中的。当 real_ip_recursive 设置为 off 时,nginx 会把 real_ip_header 指定的 Http头中的最后一个 ip 当成真实 ip;而当 real_ip_recursive 为 on 时,nginx 会把 real_ip_header 指定的 Http头中的最后一个不是信任服务器的 ip (前面设置的set_real_ip_from)当成真实 ip。通过这样的手段,最后拿到用户的真实 ip。

4. 小结

本节内容概览本小节以一个真实业务场景下的服务,为大家介绍了如何在真实业务场景下配置 Hystrix 的服务容错与降级,并且做了代码实操,针对容易出现问题的地方,也做了注意事项的补充,希望同学们可以对真实业务场景,服务容错与降级的应用方法有所了解。

首页上一页1234567下一页尾页
直播
查看课程详情
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号