- 博客(11)
- 资源 (7)
- 收藏
- 关注
原创 golang --diffrent version of package
记一次低级错误,因为这个错误查找了好久的问题,开始以为是go.mod版本错误,对比了很久,没发现问题,后面发现是项目需要依赖so链接库,但是调试的时候,我只把build出来的可执行文件docker cp到容器中,但是so链接库没有更新,还是使用的旧的,导致一直报这个错误,如果报错的package不是runtime,是别的具体包,则可能是这个包的版本错误导致的。
2023-10-10 16:14:35 59 1
原创 ActiveMq
安装1、下载地址:http://activemq.apache.org/activemq-5158-release.html2、启动停止:./bin/activemq start ./bin/activemq stop3、创建systemd服务,方便统一化管理vi /usr/lib/systemd/system/activemq.service[Unit]De...
2022-08-09 09:59:27 224
原创 线程池应用及实现
线程池原理随着工作任务的增加,如果工作线程数量小于核心线程数,则加开线程;当工作线程达到核心线程数时,新的任务会添加到等待队列;当等待队列满了,会继续加开工作线程到最大线程数;当最大线程数也满了,则拒绝任务线程池关闭:shutdown:不能添加新的任务,正在执行的任务执行完成后关闭shutdownnow:正在进行的线程也会立刻关闭确定线程数:计算型任...
2019-08-21 23:21:15 90
原创 线程通讯
线程间通讯,分为以下四类:1)文件共享2)网络共享3)共享变量4)JDK提供的线程协调APIsuspend/resume、wait/notify、park/unparksuspend/resume已弃用,容易死锁导致死锁的两种方式第一种为suspend不会释放锁,同步代码块中容易导致死锁第二种为先执行resume后执行suspend,导致死锁w...
2019-08-20 23:23:24 107
原创 线程状态
六种线程状态:线程切换状态:线程终止1、不正确的线程停止方式,Stop,终止线程,并且清楚监控器锁的信息,但是可能导致线程安全问题,JDK不建议使用2、正确线程终止方式Interrupt,会抛出InterruptedException异常3、正确停止线程方式,通过标志位判断...
2019-08-19 23:02:26 86
原创 并发工具类JUC
CountDownLatch倒计数器,底层通过共享锁实现,有两种使用场景:第一种:保证几个线程同时执行,如下案例,初始值为6,6个线程await阻塞,在6次countdown后统一唤醒6个线程,保证线程同时执行第二种:在多个线程执行完成后,唤醒另一线程做事,保证执行顺序Semaphore信号量,典型的共享锁,限流CyclicBarrier批量执行...
2019-08-06 15:41:20 314
原创 并发容器类list_set_queue
ArrayListJDK1.8中,ArrayList底层采用数组存储,默认初始长度为0,如果插入后需要的容量大于数组长度,则进行扩容1.5倍。每次add,remove时,都会modCount++(版本号),保证遍历的时候不能修改增加修改元素,在遍历时会记录expectdModCount,如果modCount修改,则与expectdModCount不匹配,则查询失败。ArrayList线程不...
2019-08-05 15:27:39 147 1
原创 并发容器类Map
HashMapJDK1.7中,HashMap采用数组+链表存储数据,通过插入key的hashcode对数组取模,找到对应位置,插入该位置后面链表。当链表越来越长的时候,查询效率会越来越低。当插入数据时,判断如果 Map中元素个数>数组长度*0.75(threshold)并且当前插入数组位置不为null,则数组扩容2倍,并执行transfer方法重新计算hash值JDK1.8中,...
2019-08-02 17:31:21 130
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人