摘要:
实现远程调用的方法,以前用httpclient,现在用restTemplate 1. 第一种方式RestTemplate RestTemplate t = new RestTemplate(); String resp = t.getForObject("http://localhost:8081/ 阅读全文
摘要:
Eureka提供服务的发现注册,心跳,健康检查功能。分布式的基础功能。采用的是客户端发现模式,Eureka Client需要每30秒给Eureka Server发一次心跳,同时更新Server上最新的注册信息到本地,如果Server多次没有收到来自客户端的心跳,那么在90秒内会被Server上剔除。 阅读全文
摘要:
1. 线程ID 线程ID是从1开始自增,Main线程是1.不能修改 2.线程名称 可以在新建时候自己命名 3.守护线程 线程会自动继5承父线程的属性,如果是守护线程创建就是守护线程,main线程创建需要将daemon设成true。 守护线程和用户线程差不多,当JVM发现没有用户线程只有几个守护线程时 阅读全文
摘要:
1.Object.wait() , wait(long timeout) 功能:让执行的当前线程休息一下,后面需要再唤醒。释放了该Object的monitor锁 使用条件: 线程拥有monitor锁才能用wait方法,执行后会放弃锁 必须在synchronize修饰的方法或代码块中 唤醒方法: 另一 阅读全文
摘要:
一。数据库相关的 1.索引相关 1.1 哪些字段需要建索引,索引的好处,及弊端 建索引注意点: 经常作为查询字段的,经常需要group by分组和order by排序的字段 经常更新的表,数据量小的,不同值少比如性别这些情况不建议用索引。 好处:查询快,分则和排序快,唯一索引可以保证字段唯一性 坏处 阅读全文
摘要:
多线程有六个状态 1.New(新创建): 已创建但是还没有启动的新线程, new Thread()还没执行start() 2.Runnable( 可运行) :,包括start()后等待运行和拿到资源运行中 3.Blocked(被阻塞): synchronized修饰的代码没有拿到锁(monitor) 阅读全文
摘要:
一。使用interrupt通知而不是强制 线程停止的场景: 一般我们都会让线程运行到结束,但有时比如用户取消了操作,服务需要被快速关闭,服务超时或者出错等。就需要停止线程。 协作机制: 线程的启动很容易但是停止很困难,因为JAVA并没有提供任何机制来安全的终止线程。但它提供了中断(interrupt 阅读全文
摘要:
一。安装 下载Redis,下载地址:https://github.com/MicrosoftArchive/redis/releases zip包解压后,在当前地址栏输入cmd后,执行redis的启动命令:redis-server.exe redis.windows.conf 客户端连接,D:\to 阅读全文
摘要:
1.redis安装 redis的正式版本不支持windows, windows地址https://github.com/MicrosoftArchive/redis/releases 安装命令:redis-server.exe --service-install redis.windows.conf 阅读全文
摘要:
情景:秒杀减库存操作,先从数据库查库存,然后再扣减 方案一: 用数据库的行锁,select * from xxx for update,将这行锁住, 缺点: 慢,很多数据会放在内存或redis中 方案二: synchronized关键字 增加方法锁, 缺点:1慢,2而且无法做到细颗粒控制,比如有多个 阅读全文