java
文章平均质量分 90
黑子球
这个作者很懒,什么都没留下…
展开
-
这份Java多线程笔记你真得好好看,我还没见过总结的这么全面的
第二个线程访问,发现同步监视器没有锁,然后锁定并访问。synchronized方法控制对“对象”的访问,每个对象对应一把锁,每个synchronized方法都必须获得调用该方法的对象的锁才能执行,否则线程会阻塞,方法一旦执行,就独占该锁,直到该方法返回才释放锁,后面被阻塞的线程才能获得这个锁,继续执行缺陷:若将一个大的方法申明为synchronized将会影响效率。现实生活中,我们会遇到“同一个资源,多个人都想使用”的问题,比如,食堂排队打饭,每个人都想吃饭,最天然的解决办法就是,排队,一个个来。原创 2023-02-10 11:23:10 · 105 阅读 · 0 评论 -
Java集合、多线程、反射和Spring框架总结,源码解析
但是实际开发过程中,不推荐使用这些集合,因为锁的细粒度太大,导致集合的并发性能很差,JDK1.4之后,提供了JUC(java.util.concurrent)的工具包,JUC包中包含了很多线程安全的集合类,这些类采用了特别的机制来保证线程安全,相对来说比Vector、Hashtable并发性更好。**注意:**在ArrayList中,记性数组扩容或者元素移位时,底层都是调用的native方法实现,native本身没有方法体,方法实现是由C/C++实现的,以此来提高扩容的效率。原创 2023-02-09 16:35:55 · 136 阅读 · 1 评论 -
微服务之间最佳调用方式到底是什么?有没有上限?
这是一种具有颠覆性质的的设计,它把系统中所有的数据都以事件(Event)的方式记录下来,它的持久存储叫Event Store, 一般是建立在数据库或消息队列(例如Kafka)基础之上,并提供了对事件进行操作的接口,例如事件的读写和查询。直到十年之后,微服务出来之后,人们发现它其实内部就是微服务,而且微服务的设计需要用它的思想来指导,于是就又重新焕发了青春,而且这次更猛,已经到了每个谈论微服务的人都不得不谈论DDD的地步。有一点需要明确的是微服务的流行不是因为技术上的创新,而是为了满足管理上的需要。原创 2023-02-09 15:07:00 · 162 阅读 · 1 评论 -
JAVA 线上故障排查完整套路
三次握手,在server收到client的syn后,把消息放到syns queue,回复syn+ack给client,server收到client的ack,如果这时accept queue没满,那就从syns queue拿出暂存的信息放入accept queue中,否则按tcp_abort_on_overflow指示的执行。不过其实上面那些操作也很难定位到具体的问题点,关键还是要看错误日志栈,找到可疑的对象,搞清楚它的回收机制,然后去分析对应的对象。soa的超时指的也是读超时。原创 2023-02-09 10:39:46 · 348 阅读 · 1 评论