mac中ping-docker容器

1
brew cask install tunnelblick

找一个目录

1
2
3
git clone https://github.com/wojas/docker-mac-network.git
cd docker-mac-network
vim helpers/run.sh

修改网段和掩码

1
s|redirect-gateway.*|route 172.17.0.1 255.255.0.0|;

执行

1
docker-compose up -d

得到一个docker-for-mac.ovpn

在route 172.17.0.0 255.255.0.0

上面加

1
comp-lzo yes

双击docker-for-mac.ovpn,会被tunnelblick打开,一直点确定就好了

参考

mac连接docker容器 docker-mac-network

docker-mac-network

美团笔试

2020/4/16美团笔试 不多说,美团的题真的出的好,尽管我没有做完,但是体验挺好的。 # 第一题 n个人,每个人m个科目,只要一个人某科是最高分或者最高分之一,我们就要为他颁奖,每个人最多颁奖一次,问最需要多少次颁奖 统计最值就ok了 # 第二题 输入a,b,x,m, 你讲进行不断的迭代x = (a*x+b)%m, 问x的循环节是多少, m<1e5 暴力枚举2*m轮,枚举的时候

Read More

SpringBoot4-Web2-模版引擎

模版引擎

常见的模版引擎有JSP,Velocity,Freemarker,Thymeleaf

SpringBoot推荐的Thymeleaf

1
2
3
4
5
<!--        模版引擎-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

视频中说这个版本有点低,是2.16的
然鹅我用的SpringBoot2,已经是3.x了
修改版本号,这招估计学了有用,这个能覆盖版本

Read More

SpringBoot4-Web1-静态资源

SpringBoot与Web

先在idea中选择场景
SpringBoot已经默认将这些常见配置好了,我们只需要在配置文件中指定少量配置就可以运行起来
然后我们可以开始编写业务代码了

SpringBoot与静态资源

WebMvcAutoConfiguration

打开WebMvcAutoConfiguration.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
if (!this.resourceProperties.isAddMappings()) {
logger.debug("Default resource handling disabled");
return;
}
Duration cachePeriod = this.resourceProperties.getCache().getPeriod();
CacheControl cacheControl = this.resourceProperties.getCache().getCachecontrol().toHttpCacheControl();
if (!registry.hasMappingForPattern("/webjars/**")) {
customizeResourceHandlerRegistration(registry.addResourceHandler("/webjars/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/")
.setCachePeriod(getSeconds(cachePeriod)).setCacheControl(cacheControl));
}
String staticPathPattern = this.mvcProperties.getStaticPathPattern();
if (!registry.hasMappingForPattern(staticPathPattern)) {
customizeResourceHandlerRegistration(registry.addResourceHandler(staticPathPattern)
.addResourceLocations(getResourceLocations(this.resourceProperties.getStaticLocations()))
.setCachePeriod(getSeconds(cachePeriod)).setCacheControl(cacheControl));
}
}

Read More

SpringBoot2-配置

springboot配置

配置文件

配置文件的名字是固定的

application.properties

applicstion.yml

YAML 是一个标记语言,不是一个标记语言

标记语言

以前的配置文件大多是xml文件,yaml以数据为中心,比json、xml等更适合做配置文件
这是yml

1
2
server:
port: 8081

这个是xml

1
2
3
<server>
<port>8081</port>
</server>

Read More

SpringBoot1-介绍

微服务

讲大应用拆分成多个小应用

springboot介绍

创建maven工程

导入依赖

1
2
3
4
5
6
7
8
9
10
11
12
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
</parent>

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>

Read More

mysql-入门

DB

Database 数据库

DBMS

DatabaseManagementSystem 数据库管理系统

SQL

Sturcture Query Language 结构化查询语言

SQL语言

不是某个特定数据库供应商专有的语言,DBMS都支持SQL

MySQL 安装

MySQL 卸载

MySQL 配置

my.ini

  • port 是端口
  • datadir 是文件系统路径
  • default-storage-engin 是数据库默认引擎
    注意要重启服务才能生效

Java并发编程13-并发总结

Java并发

  • Tread 创建线程
  • Runnable 创建线程
  • Callable+Future创建线程
  • synchronized 加锁
  • wait/notify 释放锁并进入阻塞队列
  • park/unpark 类似上
  • ReentrantLock 重入锁
  • await/signal 信号量
  • volatile
  • happens-before
  • CAS
  • ThreadPollExecutor
  • Fork/join
  • AQS
  • ReentrantReadWriteLock
  • StampedLock
  • CountdownLatch
  • cyclicbarrier
  • CopyOnWrite
  • ConcurrentHashMap