基本前提知识: 一:Object/wait(), notify(), notifyAll() 1:wait() 方法暂停当前线程,并立即释放对象锁; 2:notify()/notifyAll() 方法唤醒其他等待该对象锁的线程,并在执行完同步代码块中的后续步骤后,释放对象锁 3:notify()和n ...
分类:
编程语言 时间:
2019-12-26 19:42:40
阅读次数:
94
1、TCP的诞生 为了保证网络的通信畅通,在破坏了几个结点之后还能继续通信,产生了ARPANET: ARPANET的一个下属研究所发明了TCP/IP协议: TCP/IP协议是一个相关的协议群: 2、TCP四次挥手 1)客户端进程发出连接释放报文,并且停止发送数据。释放数据报文首部,FIN=1,其序列 ...
分类:
其他好文 时间:
2019-12-26 19:07:38
阅读次数:
115
新兴的MRAM技术结合了磁性材料和硅集成电路,从而形成了快速,可靠的非易失性RAM(NVRAM)。TAMU将非易失性存储器与扩展的温度操作,无限的耐用性以及长期的数据保留相结合,即使断电也是如此。
分类:
其他好文 时间:
2019-12-26 17:58:12
阅读次数:
107
问题说明: IDC里的一台服务器的/分区使用率爆满了!已达到100%!经查看发现有个文件过大(80G),于是在跟有关同事确认后rm -f果断删除该文件。但是发现删除该文件后,/分区的磁盘空间压根没有释放出来,使用率还是100%!这是为什么呢?? 原因分析: 在Linux或者Unix系统中,通过rm或 ...
分类:
其他好文 时间:
2019-12-26 13:33:21
阅读次数:
94
echo 1 > /proc/sys/vm/drop_caches #表示清除pagecache。 echo 2 > /proc/sys/vm/drop_caches #表示清除回收slab分配器中的对象(包括目录项缓存和inode缓存)。 slab分配器是内核中管理内存的一种机制,其中很多缓存数据... ...
分类:
系统相关 时间:
2019-12-26 09:53:03
阅读次数:
180
概念 乐观锁 总是假设最好的情况,认为竞争总是不存在,每次拿数据的时候都认为不会被修改,因此不会先上锁,在最后更新的时候比较数据有无更新,可通过版本号或CAS实现。 悲观锁 总是假设最坏的情况,认为竞争总是存在,每次拿数据的时候都认为会被修改,因此每次都会先上锁。其他线程阻塞等待释放锁。我们之前使用 ...
分类:
其他好文 时间:
2019-12-26 09:46:06
阅读次数:
110
前端开发性能优化方案 在JS中尽量减少闭包的使用(原因:闭包会产生不释放的栈内存) A:循环给元素做事件绑定的时候,尽可能的把后期需要的信息(例如索引)存储到元素的自定义属性上,而不是创建闭包存储 B:可以在最外层形成一个闭包,把一些后续需要的公共信息进行存储,而不是每一个方法都创建闭包(例如单例模 ...
分类:
其他好文 时间:
2019-12-25 20:22:07
阅读次数:
79
python中的with语句用于访问资源。它确保执行指定的__exit__(“清理”)操作,而不管释放被访问资源的处理过程中的错误或异常,例如读取和写入文件后自动关闭、线程中锁的自动获取和释放等。 python中与语句相关的概念包括:上下文管理协议、上下文管理器、运行时上下文、上下文表达式和处理资源 ...
分类:
编程语言 时间:
2019-12-25 10:17:55
阅读次数:
114
死锁是这样一种情形:多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞,因此程序不可能正常终止。 java 死锁产生的四个必要条件: 1>互斥使用,即当资源被一个线程使用(占有)时,别的线程不能使用 2>不可抢占,资源请求者不能强制从资源占有者手中夺取资源,资源只 ...
分类:
编程语言 时间:
2019-12-24 20:49:12
阅读次数:
104
1、initiallyOwned表示创建mutex的线程是否拥有该互斥体。true表示创建线程拥有互斥锁,只有在创建线程中调用ReleaseMutex释放后,其他等待线程才能参与抢夺互斥体的活动。false表示互斥锁体于与空闲状态,其他等待互斥锁的线程立即参与到抢夺互斥锁的活动中去。 2、在上面程序 ...
分类:
其他好文 时间:
2019-12-24 15:19:33
阅读次数:
109