- 博客(14)
- 收藏
- 关注
转载 Hashmap和ConcurrentHashmap的区别
HashTable (1)底层数组+链表实现,无论key还是value都不能为null,线程安全,实现线程安全的方式是在修改数据时锁住整个HashTable,效率低,ConcurrentHashMap做了相关优化 (2)初始size为11,扩容:newsize = olesize*2+1 (3)计算index的方法:index = (hash & 0x7FFFFFFF) % tab.length HashMap (1)底层数组+链表实现,可以存储null键和null值,线程不安全 (2)初始size
2021-09-23 17:11:27
11203
1
转载 Maven解决jar包冲突
Maven解决jar包冲突 一、Maven中jar包冲突产生原因 MAVEN项目运行中如果报如下错误: 1、Caused by:java.lang.NoSuchMethodError 2、Caused by: java.lang.ClassNotFoundException 十有八九是Maven jar包冲突造成的。那么jar包冲突是如何产生的? 首先我们需要了解jar包依赖的传递性。 1、依赖传递 当我们需要A的依赖的时候,就会在pom.xml中引入A的jar包;而引入的A的jar包中可能又依赖B的jar
2021-09-22 11:00:54
2686
转载 关于elasticsearch的倒排索引
引子 很多搜索引擎都是基于倒排索引,比如luncene,solr以及elasticsearch。 正排索引 聊倒排搜索之前先来看看正排索引,正排其实就是数据库表,他通过id和数据进行关联,如下: 我们可以通过搜索id,来获得相应的数据,也能删除数据。你买了一本书,书的目录其实也是正排搜索。 假设现在我要搜苹果俩字,那么他会对这张表格中每一行的数据做匹配,去查找一下,是否包含苹果这两个字,从第一条匹配到最后一条,如果一张表中数据量不多,几万,十几万,那么问题不大,但是一旦数据量有上百万,上千万,那么全表扫描
2021-09-17 15:33:16
169
原创 JVM常见知识点总结
JVM常见知识点总结 1、JVM的位置 可以把JVM理解为一个应用程序,它是运行在操作系统之上的,我们在安装java运行环境JRE的时候,里面就已经包含了JVM。 2、JVM的体系结构 栈内存中不存在GC(因为栈就是方法不断的压栈、出栈,如果有垃圾会发生堵塞,不可能有垃圾的),所以常说的JVM调优指的是操作堆内存 3、类加载器 应用程序加载器、扩展类加载器、根加载器(启动类加载器) 4、双亲委派机制 当我们创建类,并且执行方法时。会先去根加载器下面找有没有这个类,如果有,就执行根加载器下的类和方法,而不会
2021-06-10 18:33:41
498
原创 SpringCloud核心内容之 Spring Cloud Bus(消息总线)
1、为什么要用消息总线? 通过上面的config配置中心,我们知道它方便了我们修改配置文件,不用动线上的东西,只需要在gitee上编辑修改即可。但是有一个问题,就是我们在gitee上面修改了配置文件以后,我们线上的项目根本就不知道你修改了,它必须得重启服务才会重新去读取你修改的配置文件,否则还是一直用的原来的,这样就需要我们每次修改配置文件都重启服务,这样显然不行! 因此引入了消息总线Spring Cloud Bus,他通过一个rabbitMq消息中间件,当我们的gitee上面的配置文件信息修改时,手动向M
2021-05-08 14:14:33
414
1
原创 SpringCloud核心内容之 Spring Cloud Config(分布式配置 )
一、为什么要用config集中配置: 如果我们的项目打包上线以后,属性配置文件还按照原来的每个微服务模块带着他们自己的配置文件,这种模式在上线以后如果需要修改配置,就需要去动线上的东西,而且是频繁改动,而且一旦改动服务就得重启,这样显然不行!因此引入config集中配置,将所有的配置文件全部上传到云端,然后配置config微服务模块,每个模块的配置文件都改为指向config,这样的话,我们在实现某个微服务功能时候的步骤就是:请求发来---->到达网关---->网关通过config向gitee索取
2021-05-08 14:11:40
173
原创 SpringCloud核心内容之 Netflix Zuul(微服务网关)
1、什么是网关,有什么用 按照老的方法,客户或者是后台人员想要去访问我们的某个微服务,就必须要知道该微服务的端口号和ip等信息,当微服务模块很多时,显然这么做会效率很低。所以引入网关的概念,也就是客户或者是后台客服人员不直接访问微服务了,而是通过网关作为中间媒介,然后网关再去访问具体的微服务模块。 2、加入网关的步骤 a)在pom.xml中加入eureka依赖和zuul依赖 b) 在application.yml配置文件中指明网关的端口号、拦截路径信息等 c)写启动类,加上相关的注解,即可实现网关的功能
2021-05-08 14:04:05
225
原创 SpringCloud核心内容之熔断器 Netflix Hystrix
1、 雪崩效应 不同服务之间相互调用,如果前面的服务出现了问题,会导致后面的服务也接二连三的出问题,这就是雪崩效应。可以加入Hystrix熔断器来解决,就类似于异常的处理机制,出现异常,不继续往上抛了,而是将异常拦截去走另外一个分支。 Feign里面已经自动将hystrix熔断器集成了,我们无需做太多工作,只需要简单的几步就可以用了 2、实现步骤 a) 先在属性配置文件中声明将熔断器打开(调用方) b)写一个客户端接口的实现类,用来实现熔断器的具体业务功能(假如被调方的服务断掉了,会跳转到该类,你想该类实
2021-05-08 13:58:32
151
原创 SpringCloud之核心内容之 Netflix Feign
不同客户端之间想相互调用,就要用到Feign,一定要确保双方都已经加入到erueka服务 1、 加入依赖(谁去调用谁加,也就是调用方加依赖,被调方不用) 2、 写一个客户端接口,用来声明想调用的服务,以及想调用的方法 3、 在调用方微服务的的控制层写方法来实现上面的调用功能 4、在启动类上,确保加上下面几个注解 完成上面步骤之后,启动目标微服务模块的启动类,即可完成调用 ...
2021-05-08 13:55:16
235
原创 SpringCloud核心内容之 Netflix Eureka
SpringCloud核心内容之Netflix Eureka 1、搭建Eureka服务器 Eureka服务发现:搭建Eureka服务器,然后将我们的所有的微服务模块都加到服务器中,称为一个又一个的客户端。 a)将springCloud的版本锁定,因为不同版本的springboot对应不同的springcloud,如果版本对应的话是无法使用的,所以这里必须在父工程的pom.xml中锁定版本。加依赖 b)新建一个tensquare_eureka模块,写application.yml配置文件 c)创建启动类,然
2021-05-06 17:34:08
193
原创 连接docket容器里面的MongoDB的详细步骤(阿里云服务器)
** 连接docket容器里面的MongoDB的详细步骤(阿里云服务器) 1、先安装Windows下的mongoDB,因为它的服务器和客户端是在一起的,我们虽然只用客户端,不用它的服务器,但是还是要下 2、配置环境变量,path下面添加mongoDB的bin路径 3、在docker容器中,通过mongo镜像建一个mongo容器 4、通过mongoDB的Windows下的客户端去访问阿里云服务器下面的docker容器里的mongdb (1)win+R,输入cmd进入windows终端 (2)输入 mong
2021-04-21 09:52:56
631
转载 无人驾驶环境感知、路径规划、轨迹跟踪之间的关系(转载)
无人驾驶环境感知、路径规划、轨迹跟踪之间的关系(转载) 无人车的技术路线实际早已确定,那就是轮式机器人的技术路线。这已经从 2007年的DARPA大赛到谷歌福特百度的无人车,超过十年的验证,轮式机器人技术完全适用于无人车。目前所有无人车基础算法的研究都源自机器人技术。 自动驾驶核心技术之二:路径规划 首先来说明三个概念, 路径规划、避障规划、轨迹规划 。 路径规划通常指全局的路径规划,也可以叫全局导航规划,从出发点到目标点之间的纯几何路径规划,无关时间序列,无关车辆动力学。 避障规划又叫局部路径规划,又可叫
2020-11-24 17:30:46
3322
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅