高并发场景下System.currentTimeMillis()的性能优化

JerryXia 发表于 , 阅读 (4,620)
System.currentTimeMillis()的调用比new一个普通对象要耗时的多(具体耗时高出多少我还没测试过,有人说是100倍左右)System.currentTimeMillis()之所以慢是因为去跟系统打了一次交道后台定时更新时钟,JVM退出时,线程自动回收,得到的数据10亿:43410,206,210.72815533980582%1亿:4699,29,162.0344827586207%1000万:480,12,40.0%100万:50,10,5.0%参考代码如下:imp... 阅读全文

实现IDisposable接口最佳方式

JerryXia 发表于 , 阅读 (1,919)
Finalize可以通过垃圾回收进行自动的调用,而Dispose需要被代码显示的调用,所以,为了保险起见,对于一些非托管资源,还是有必要实现终结器的。也就是说,如果我们忘记了显示的调用Dispose,那么垃圾回收也会调用Finalize,从而保证非托管资源的回收。MSDN上给我们提供了一种很好的模式来实现IDisposable接口来结合Dispose和Finalize,看下面的代码:class MyResourceWrapper:IDisposable { private bool... 阅读全文

C#使用Process类执行命令

JerryXia 发表于 , 阅读 (1,999)
private string RunCmd(string command) { //实例一个Process类,启动一个独立进程 Process p = new Process(); //Process类有一个StartInfo属性 //设定程序名 p.StartInfo.FileName = "cmd.exe"; //设定程式执行参数 p.StartInfo.Arguments = "/c " ... 阅读全文