![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
问题整理
踮起脚尖朝下看
没有落后,没有领先,在命运的安排中一切都准时,余生漫长,莫要慌张
展开
-
为什么使用线程池而不使用new Thread(runnable).start();
1、每次new Thread,新建对象性能差2、缺乏统一管理,可能导致线程创建过多,死机等。3、缺乏更多功能,如:定时执行,定期执行,线程中断等。4种线程池:Java通过Executors提供四种线程池,分别为:1、newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需求,可以灵活回收空闲线程,若无可回收则新建线程。2、newFixedThreadPool创建一个定长线程池,可以控制线程最大并发数,超过的线程会在队列中等待。3、newScheduled.原创 2020-07-15 10:21:46 · 1945 阅读 · 0 评论 -
什么是乐观锁,什么是悲观锁
https://www.jianshu.com/p/d2ac26ca6525转载 2020-07-15 10:20:54 · 137 阅读 · 0 评论 -
将redis发布订阅模式用做消息队列和rabbitmq的区别?Redis禁用持久化功能的设置?想想为什么要使用MQ?使用了消息队列会有什么缺点?
将redis发布订阅模式用做消息队列和rabbitmq的区别:1·、可靠性redis :没有相应的机制保证消息的可靠消费,如果发布者发布一条消息,而没有对应的订阅者的话,这条消息将丢失,不会存在内存中;rabbitmq:具有消息消费确认机制,如果发布一条消息,还没有消费者消费该队列,那么这条消息将一直存放在队列中,直到有消费者消费了该条消息,以此可以保证消息的可靠消费,那么rabbitmq的消息是如何存储的呢?(后续更新);2、实时性redis:实时性高,redis作为高效的缓存服务器,原创 2020-07-15 10:17:22 · 1062 阅读 · 0 评论 -
如何利用Feign封装Rest请求?自定义feign配置与服务调用的安全验证?CUBA在不允许匿名访问的情况下,如何利用自定义Feign来发送REST请求CUBA系统的方法?
自定义feign配置与服务调用的安全验证https://www.jianshu.com/p/755b15ff0249CUBA在不允许匿名访问的情况下,如何利用自定义Feign来发送REST请求CUBA系统的方法首先利用REST请求获取token2.将获取的token放入header中进行request验证...原创 2020-07-15 10:10:50 · 214 阅读 · 0 评论 -
如何理解zuul、nginx、Ribbon的负载均衡
zuul也有负载均衡的功能,它是针对外部请求做负载,那客户端ribbon的负载均衡又是怎么一回事?客户端ribbon的负载均衡,解决的是服务发起方(在Eureka注册的服务,及客户端)对被调用的服务的负载,比如我们查询商品服务要调用显示库存和商品明细服务,通过商品服务的接口将两个服务组合,可以减少外部应用的请求,比如手机App发起一次请求即可,可以节省网络带宽,也更省电。ribbon是对服务之间调用做负载,是服务之间的负载均衡,也是软负载均衡,zuul是可以对外部请求做负载均衡,对服务器的负载均衡也原创 2020-07-15 10:08:08 · 2343 阅读 · 3 评论 -
直观讲解--RPC调用和HTTP调用的区别?WebSocket与HTTP的关系
很长时间以来都没有怎么好好搞清楚RPC(即Remote Procedure Call,远程过程调用)和HTTP调用的区别,不都是写一个服务然后在客户端调用么?这里请允许我迷之一笑~Naive!本文简单地介绍一下两种形式的C/S架构,先说一下他们最本质的区别,就是RPC主要是基于TCP/IP协议的,而HTTP服务主要是基于HTTP协议的,我们都知道HTTP协议是在传输层协议TCP之上的,所以效率来看的话,RPC当然是要更胜一筹啦!WebSocket与HTTP的关系相同点1. 都是一样基于TC.原创 2020-07-15 10:02:00 · 541 阅读 · 0 评论 -
多线程:保证三个线程依次按顺序执行?newSingleThreadExecutor!!!
newSingleThreadExecutor会创建一个只有一个线程的线程池来操作不限数量的队列,也就是把线程放进了一个队列中,队列我们都知道是FIFO的(LinkedBlockingQueue)。SingleThreadExecutor的工作线程只有一个,其他队列中的线程都处于休眠,也就是sleep状态,当这个worker线程做完事了,也就是run方法运行结束,就又从队列中拿出一个休眠线程(sleep)出来唤醒(notify),这样依次把队列中的所有线程处理完毕,这样并没有结束,如果线程池中没有待处理的线转载 2020-07-15 09:58:05 · 365 阅读 · 0 评论 -
精简java代码
https://mp.weixin.qq.com/s?__biz=MjM5MjAwODM4MA==&mid=2650744508&idx=1&sn=d2139b5f07987064ce171d77216fb9da&chksm=bea7576f89d0de7954f8323a47a6c0a61bec7c3afcabd7261eca6cd7924ead6f1609d368892d&mpshare=1&scene=1&srcid=0511nco90qcVTK转载 2020-07-15 09:55:35 · 384 阅读 · 0 评论 -
CountDownLatch与thread.join()的区别
今天学习CountDownLatch这个类,作用感觉和join很像,然后就百度了一下,看了他们之间的区别。所以在此记录一下。首先来看一下join,在当前线程中,如果调用某个thread的join方法,那么当前线程就会被阻塞,直到thread线程执行完毕,当前线程才能继续执行。join的原理是,不断的检查thread是否存活,如果存活,那么让当前线程一直wait,直到thread线程终止,线程的this.notifyAll 就会被调用。我们来看一下这个应用场景:假设现在公司有三个员工A,B,C,他们要转载 2020-07-15 09:46:46 · 126 阅读 · 0 评论 -
用IDEA第一次配置Hibernate出现的com.mysql.jdbc.Driver红字问题及无法利用映射自动生成表的问题
一、关键在hibernate.cfg.xml的配置中出现如下问题解决方法:将驱动JAR包手动添加到module的dependences依赖中或者添加到Libraries中File—>project structure—>ModulesFile—>project structure—>Libraries二、当在hibernate.cfg.xml的配置中设置<!-- 生成...原创 2018-05-08 22:57:22 · 2109 阅读 · 0 评论