Jacquelyn38 Jacquelyn38
4年前
解决进程死锁——银行家算法透析
死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。避免死锁算法中最有代表性的算法是DijkstraE.W于1968年提出的银行家算法:下面我们将从例题中一点一点的分析:解题:第一步:
Wesley13 Wesley13
3年前
java 常用命令
查看堆使用情况jmapheappid查看占用内存高的对象jmaphisto:livepid|headn100查看占用内存高的对象,dump成文件,线下分析jmapdump:live,formatb,filexxx.xxxpid查看进程的线程情况psppidLopcpu,pmem,p
Kubrnete Kubrnete
4年前
高并发之网络IO基础
本篇文章是我在学习高并发问题时接触到的网络I/O相关知识,比较底层且纯理论,整合以作参考。下面长文预警。高并发基本表现为单位时间内系统能够同时处理的请求数核心是对CPU资源的有效压榨。注意,有效很重要。C10K问题C10K问题本质上是操作系统的问题。对于Web1.0/2.0时代的操作系统而言,传统的同步阻塞I/O模型都是一样的,
徐小夕 徐小夕
4年前
web性能优化的15条实用技巧
javascript在浏览器中运行的性能,可以认为是开发者所面临的最严重的可用性问题。这个问题因为javascript的阻塞性而变得复杂,事实上,多数浏览器使用单一进程来处理用户界面和js脚本执行,所以同一时刻只能做一件事。js执行过程耗时越久,浏览器等待响应的时间越长。加载和执行1.提高加载性能1.IE8,FF,3.5,Safari4和
Stella981 Stella981
3年前
Android AsyncTask实现
AsyncTask是android中一个非常好用的异步执行工具类。AsyncTask的应用AsyncTaskenablesproperandeasyuseoftheUIthread.这个类允许执行后台操作并在UI线程中发布结果,而却不需要管理threads和/或handlers。Asy
Stella981 Stella981
3年前
List接口(动态数组)
List接口(动态数组)List集合类中元素_有序且可重复_ArrayList(重要)作为List接口的主要实现类线程不安全的,效率高底层使用Object\\elementData数组存储ArrayList的源码分析jdk7
Wesley13 Wesley13
3年前
ASP.NET多线程下使用HttpContext.Current为null解决方案
问题一:多线程下获取文件绝对路径当我们使用HttpContext.Current.Server.MapPath(strPath)获取绝对路径时HttpContext.Current为null,解决办法如下:       ///         /// 获得当前绝对路径        ///       
Easter79 Easter79
3年前
TcaplusDB常见问题
gameserver如何剔除某个无效的tcaproxy(接入层)节点?(52)gameserver是怎么选择tcaproxy(接入层)节点的?(53)TcaplusDB有压缩功能吗?(59)TcaplusDBAPI是线程安全的吗?(61)tcapsvr(存储层)的容灾是怎
Stella981 Stella981
3年前
ArrayList的非快速失败机制和Vector与ArrayList的(基础)分析
/\\ \1、copyOnWriteArrayList 如何实现(nonfastfail)非快速失败机制??? \2、Vector底层源码,主要看属性,构造函数、增删改查方法、明白ArrayList与Vector之间的区别与联系 \(底层数据结构、效率、扩容机制、是否线程安全) \ \/