02-初识渐深 从01文档中我们了解了基本的概念,了解了什么是多线程,即多线程中会出现的数据不一致的问题。因此出现了线程同步的概念:线程同步是为了确保线程安全,保证数据的一致性。 case: 两个线程对一个整型数据自增,若不是同步操作,则最后的输出结果每次不同(可自行编码尝试)。但是一般在实际编写多线程代码时,我们一般不会直接创建Thread对象,而是使用线程池管理任务的执行。线程池了解了多线程的作用后,学习如何使用多线程进行逻辑操作。使用简单的Thread对象时,其存在的弊端线程池出现的原因:1
01-概念初识 什么是并发呢首先需要知道什么是并发?case:淘宝电商刚起步时,大多都是一个人卖东西,打包、发货。随着电商产业的蓬勃发展,订货单量大幅提升,一个人工作能力有限,会导致发货不及时的情况出现,从而降低消费者的好感度,退单情况严重。为解决这种情况呢,招聘2人进行打包、发货,提高发货量,保证发货时间。这就是最基本的并发了,每个人都可以看成是一个线程,同样的工作量,干得人多了自然就快了。从本质上来说,为什么会出现并发的概念,无疑就是为了缩短执行时间、提高执行效率,使用多个执行器同时处理同一个大任务
Map的前世今生 Map已经被社会教育了千万遍,将HashMap的整体进行回顾与学习,有问题的请私信指教,共同学习与成长。以下将会进行简称HashMap(HM)可以简单的将其看成是一个容器,存储的数据不是简单的String或者Integer,是有一点结构的数据。Java7中是Entry<K,V>,Java8中是Node<K,V>结构。容器的作用就是对数据进行存储,存储目录Map扩容机制HashMap默认使用扩容因子0.75.HashMap的初始数组的长度为16.链表
设计模式-代理模式 代理模式核心是:在调用者与被调用者中间增加一个中介的角色,也就是代理。代理的内容是: 对象.本质:代理类其实是在之前类的基础上做了一层封装。为什么需要代理模式简单理解可以在不修改代理对象代码的基础上,通过扩展代理类,进行一些功能的附加与增强。AOP切面、事物 都是通过代理实现,对原对象进行增强处理。对扩展开放、对修改封闭。代理模式的基本原理?java中有静态代理、JDK动态代理、CGLib动态代理的方式。静态代理指的是代理类是在编译期就存在的,相反动态代理则是在程序运行期动态生成
TCP状态,close_time与wait_time 之前看了多次TCP建立连接与断开连接的整体流程,对于状态也是看了很多遍,但是记住几天就又忘记了,感觉做个类比进行记忆是比较好的方法,便有了下面的图示类比,个人理解记忆,有问题请评论。对于完整的记忆一般是这样的,能记住的话也是可以的,毕竟也是图形化的东西。个人理解及抽象出来的是这样的一段感情的开始是美好的,分开总是不舍的,(哈哈哈哈。。。不接受反驳)1、为什么TIME_WAI...
系列文章001 : Nacos初识 1、Nacos是什么?首先来一个官网的链接Nacos官网,简单话描述就是 平台,是发现、配置、管理微服务的平台。2、Nacos主要能干什么?配置中心、注册中心、服务发现、服务管理 等。3、Nacos怎么用?官网的快速开始使用,启动服务之后(sh startup.sh -m standalone 单机运行),可以看到Nacos的Nacos搭建到此就算成功了...
总结 : SpringBoot 项目中使用Swagger2 在springboot项目中想使用swagger2作为接口查看文档:1. 使用的jar包 :在pom.xml文件中 引入下面的依赖<!--引入Swagger2的依赖--><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swag...
SpringBoot 中@Controller与 @RestController 这两个注解都是在学习SpringBoot时 进行的细致了解:1.@Controller 是我们学习mvc 模式时的 c - controller 与前端的jsp与html 数据互通较为有用。结合@ResponseBody注解使用。视图解析器可以解析return 的jsp,html页面,并且跳转到相应页面。若返回json等内容到页面,则需要加@ResponseBody注解。 ...
python 爬虫 豆瓣top250电影 转载 import osfrom bs4 import BeautifulSoupfrom pip._vendor import requestsdef get_html(web_url): # 爬虫获取网页没啥好说的 header = { "User-Agent": "Mozilla/5.0 (Windows; U; Windows NT ...
SpringBoot菜鸟学习之路 - Mybatis使用pageHelper分页插件原理 首先在pom.xml中配置分页依赖:<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.1.2</versi...
Spring boot + thymeleaf 整合 in IntelliJ: cannot resolve vars 红色波浪线提示有问题 msg下 有红色问题提示解决办法:<!--/* Workaround for bug https://youtrack.jetbrains.com/issue/IDEA-132738 --><!--@thymesVar id="msg" type="String"--><!--*/-->添加在红色出现部分的上面即可。...
Exception --------- o.s.b.d.LoggingFailureAnalysisReporter 1.SpringBoot开发项目中 启动Springboot项目时报这个错误:解决方法: 在启动类的注解上加 exclude = {DataSourceAutoConfiguration.class} 如下所示:@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})public class Dem...
总结二:Spring / SpringMVC /SpringBoot 三者之间的关系:spring boot extends spring mvc extends spring 可以通过此简单的了解一下。Spring 框架是最重要的外层框架,其余两个是它的衍生产品,他们的基础都是IOC与AOP。SpringMVC是基于serverlet的一个MVC框架,主要解决 WEB 开发的问题。但是由于Spring的配置文件比较复杂,为了简化开发者的使用,出现了SpringB...
总结一:Spring Spring是什么?Spring作用?1.Spring 粗解:Spring是针对于复杂的项目而产生的,用于项目的管理。使用JavaBean代替EJB 降低项目各层次之间的耦合性。(Spring的配置大于约定)2. Spring的主要两方面:IOC(控制反转) + AOP(依赖注入)1. IOC(可以看做是一个容器):https://www.cnblogs.com/best/p/5727935.h...
SpringBoot启动时报错 ***************************APPLICATION FAILED TO START***************************Description:Failed to auto-configure a DataSource: 'spring.datasource.url' is not specified and no embedded datasou...
Redis大坑 转自如果有大量的key需要设置同一时间过期,一般需要注意什么?如果大量的key过期时间设置的过于集中,到过期的那个时间点,redis可能会出现短暂的卡顿现象。一般需要在时间上加一个随机值,使得过期时间分散一些。Redis如何做持久化的?bgsave做镜像全量持久化,aof做增量持久化。因为bgsave会耗费较长时间,不够实时,在停机的时候会导致大量丢失数据,所以需要aof来配合使用。在redis实...
Redis做异步队列 首先,redis设计用来做缓存的,但是由于它自身的某种特性使得它可以用来做消息队列,它有几个阻塞式的API可以使用,正是这些阻塞式的API让其有能力做消息队列;另外,做消息队列的其他特性例如FIFO(先入先出)也很容易实现,只需要一个list对象从头取数据,从尾部塞数据即可;redis能做消息队列还得益于其list对象blpop brpop接口以及Pub/Sub(发布/订阅)的某些接口,它们都是阻...