Java
synchronized详解第一篇:使用synchronized在编写一个类时,如果该类中的代码可能运行于多线程环境下,那么就要考虑同步的问题。在Java中内置了语言级的同步原语--synchronized,这也大大简化了Java中多线程同步的使用。我们首先编写一个非常简单的多线程的程序,...
分类:
编程语言 时间:
2014-05-01 22:27:03
阅读次数:
735
序列化是将对象状态转换为可保持或传输的形式的过程。序列化的补集是反序列化,后者将流转换为对象。这里就对非WCF的一些序列化技巧抛个砖
分类:
Web程序 时间:
2014-05-01 21:42:55
阅读次数:
542
当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个Java对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为Java对象。
把Java对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为Ja.....
分类:
编程语言 时间:
2014-05-01 19:34:42
阅读次数:
283
#include #include
//using namespace std;
DWORD WINAPI Fun1Proc(
LPVOID lpParameter // thread data
);
DWORD WINAPI Fun2Proc(
LPVOID lpParameter // thread data
);
int index=0;
int tickets=100;...
分类:
编程语言 时间:
2014-05-01 18:25:42
阅读次数:
323
1 Yield生成器
Yield是我在其他语言中没有见过的一个属性,算是python的一大特色,用好之后可以使代码更简洁。考虑一个简单的例子,文件的遍历。要遍历一个目录下的所有文件需要递归的操作。如果我们只是单纯的打印文件名,我们可以在递归的过程中完成,每当发现一个非目录就可以打印文件名。代码如下:
class TraverseDirectory(object):
@s...
分类:
编程语言 时间:
2014-04-30 22:48:40
阅读次数:
312
String 的大小是固定的,在进行+运算时会生成新的对象。
StringBulider和StringBuffer都是动态的,但是StringBulider不是线程安全的,而StringBuffer是线程安全的。
建议:
字符串不经常修改可以使用String
字符串经常修改且单线程使用,可以用StringBulider
字符串经常修改且多线程使用,推荐StringBuffer...
分类:
其他好文 时间:
2014-04-30 22:31:39
阅读次数:
215
import com.google.gson.ExclusionStrategy;
import com.google.gson.FieldAttributes;
/**
*Gson序列化对象排除属性
*调用方法:
*String[] keys = { "id" };
*Gson gson = new GsonBuilder().setExclusionStrategies(new Jso...
分类:
其他好文 时间:
2014-04-30 22:22:38
阅读次数:
610
一,多线程概述
1. 进程和线程
计算机的核心是CPU,它承担了所有的计算任务.它就像一座工厂,时刻在运行.假定工厂的电力有限,一次只能给一个车间使用,也就是说,一个车间开工的时候,其他车间都必须停工,背后的含义就是,单个CPU一次只能运行一个任务.进程就好比工厂的车间,它代表CPU所能处理的单个任务,任一时刻,CPU总是运行一个进程,其他进程处于非运行状态.一个车间里,可以有很多工人,他们协...
分类:
编程语言 时间:
2014-04-29 13:43:20
阅读次数:
276
多线程编程--异步转同步之CountDownLatch...
分类:
编程语言 时间:
2014-04-29 13:23:21
阅读次数:
412
在Java多线程程序中,由于线程调度,指令间的次序在每次运行时都可能不相同,有时候,我们需要得到指令次序,用来分析程序的行为。这样细粒度的底层行为用一般方法很难完成,我们需要借助 JVM Tool Interface,即JVMTI,来帮助我们获取Java虚拟机执行时的信息。本文先介绍编写JVMTI程序的基本框架,然后介绍如何使用JVMTI来获取多线程程序中指令之间的次序。...
分类:
编程语言 时间:
2014-04-29 13:11:22
阅读次数:
892