
more 注释之前的内容被视为文章摘要。
2024/11/1大约 2 分钟
Talk is cheap. Show me the code. Linus Torvalds

more 注释之前的内容被视为文章摘要。
--或#;多行注释:/* 注释内容 */缺点:1. 违反开闭原则(每增加一个品种,都要修改工厂类,工厂类的职责过重,代码臃肿);2.违反了单一职责原则(工厂类不仅创建对象,还承担了产品选择的逻辑,职责过多)
//抽象产品
public interface Coffee {
public String getName();
public void addSugar();
}
//具体产品1
public class AmericanCoffe implements Coffee {
@Override
public String getName() {
return "美式咖啡";
}
@Override
public void addSugar() {
System.out.println("美式加糖");
}
}
//具体产品2
public class LatteCoffee implements Coffee {
@Override
public String getName() {
return "拿铁咖啡";
}
@Override
public void addSugar() {
System.out.println("拿铁加糖");
}
}
//具体工厂
public class CoffeeFactory {
public static Coffee createCoffee(String type) {
Coffee coffee = null;
if ("american".equals(type)) {
coffee = new AmericanCoffe();
} else if ("latte".equals(type)) {
coffee = new LatteCoffee();
}
return coffee;
}
}
Coffee latte = CoffeeFactory.createCoffee("latte");
System.out.println(latte.getName());
latte.addSugar();
#include <stdio.h>
#include <stdlib.h>
#define SIZE 50 //定义顺序表的大小为50
typedef int ElemType; //定义顺序表的类型为int,取别名为ElemType
//定义顺序表
typedef struct {
ElemType data[SIZE]; //顺序表的数据
int length; //顺序表的元素大小
}SqList;
//初始化顺序表:设置顺序表的元素为0个
void initList(SqList &list){
list.length=0; //必须设置
}
//格式化打印结果
void printData(SqList &list) {
for (int i = 0; i < list.length; i++)
{
printf("%4d", list.data[i]);
}
printf("\n");
}
用户查询商品详情页时,可能需要远程调用多个服务的数据,如果同步执行每个远程调用方法,等待的时间很长;如果有多个线程同时完成远程调用的操作,可以极大缩短响应时间。
继承Thread类
实现Runnable接口
使用Callable接口
使用线程池
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>2.0.8</version>
<!--<version>3.0.3</version>-->
</dependency>
1.导入依赖
<!-- MySQL -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!-- Spring Data JPA -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!--Spring 官方提供的热部署插件 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
<!--druid-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.5</version>
</dependency>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<!-- 锁定版本信息 -->
<!-- spring相关版本 -->
<spring.version>5.2.8.RELEASE</spring.version>
<!-- mybatis版本 -->
<mybatis.version>3.5.5</mybatis.version>
<!-- mybatis-spring版本 -->
<mybatis-spring.version>2.0.5</mybatis-spring.version>
<!-- mysql版本 -->
<mysql.version>5.1.37</mysql.version>
<!-- fast json版本 -->
<fast-json.version>1.2.75</fast-json.version>
<!-- jackson版本 -->
<jackson.version>2.11.2</jackson.version>
</properties>
<!-- 依赖坐标 -->
<dependencies>
<!-- spring相关 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.7</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- mybatis相关 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>${mybatis.version}</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>${mybatis-spring.version}</version>
</dependency>
<!-- mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
<!--日志-->
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<!-- DBCP数据源 -->
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<!-- log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<!-- 单元测试 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test</scope>
</dependency>
<!-- spring web -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- spring mvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- jsp -->
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>
<!-- servlet -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<!-- JSR 303依赖 -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.4.3.Final</version>
</dependency>
<!-- fast json -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fast-json.version}</version>
</dependency>
<!--jackson-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
<!-- commons-io -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.7</version>
</dependency>
<!-- commons-fileupload -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.4</version>
</dependency>
<!--jstl标签-->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!-- pagehelper -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.2.0</version>
</dependency>
</dependencies>