- 博客(11)
- 收藏
- 关注
原创 为什么Java多线程需要同步?
Java线程共享数据需要同步的根本原因在于Java内存的设计。根据JVM的规范,java的内存既有主存又有线程工作内存,其关系如下图: ( 网上找的图,图中的save应为store) 可以看到,主存是多个线程共享的,线程之间是不能有数据通讯的,它们之间的数据交换只能通过读写主存中的变量来解决,那么线程工作内存是如何与主存
2012-02-10 16:18:36
4145
原创 dwarf调试信息格之式入门
一个程序的完成过程一般是编码、编译、运行的过程,当然这是一个理想的过程,所有的开发几乎都不可能是一帆风顺的,总会有些意想不到的错误,这时便需要调试,良好的调试器应该每一个程序员的必备。那么调试器使用的调试信息是从哪里来的呢?答案简单的很,是从编译后的文件中来的(注意这里编译的时候要使用特定的编译选项,如VC使用debug模式,GCC使用”-g”)。在编译的时候,编译器会从源文件中收集大量的信息
2007-03-31 15:59:00
13184
原创 jdk5.0并发包线程池的实现机制
Jdk在5.0以后提供了一个全新的线程运行控制机制,其实现被封装在java.util.concurrent、java.util.concurrent.atomic、java.util.concurrent.locks三个包中,实现了执行器、异步I/O、线程池、阻塞队列、时间调度、并发控制集合等功能。线程池是我们常用到的功能之一,顾名思义,线程池就是存放线程的缓冲池,在一般的程序设计中,为了提高
2007-03-11 20:43:00
4164
原创 如何通过JNI传递对象执行回调
JNI的全称是java native interface,用来调用某些特定于系统平台或者硬件的操作,但是它只能调用c/c++的代码,若是其它语言代码,只能通过c/c++进行二次调用。关于JNI的完整技术文档,大家可以查看下面这个网址:http://java.sun.com/j2se/1.5.0/docs/guide/jni/ 下面我们看下JNI如何执行回调函数:我们知道在c/c
2006-10-25 10:19:00
14552
1
原创 由生产者/消费者问题看JAVA多线程
生产者消费者问题是研究多线程程序时绕不开的问题,它的描述是有一块生产者和消费者共享的有界缓冲区,生产者往缓冲区放入产品,消费者从缓冲区取走产品,这个过程可以无休止的执行,不能因缓冲区满生产者放不进产品而终止,也不能因缓冲区空消费者无产品可取而终止。 解决生产者消费者问题的方法有两种,一种是采用某种机制保持生产者和消费者之间的同步,一种是在生产者和消费者之间建立一
2006-09-12 17:00:00
13451
6
原创 如何替换eclipse的logo?
是不是对Eclipse的Logo已经审美疲劳了呢?如果换成了自己喜爱的照片,相信心情一定会高兴很多。下面就教给你如何替换它,我所知道就有两种方法。 介绍两种方法之前,有一个基础的问题,那就是做为Logo你的图片需要那些条件呢?其实条件很简单,打开你的图片把它存为bmp格式,命名为splash就可以了,但是如果这样,Eclipse启动时的进度条宽度就会和你的图片款图
2006-08-30 09:46:00
5785
原创 java nio剖析
java nio的全称是java new I/O,即一个全新的I/O控制系统,它的API的包名为java.nio,是在jdk1.4后引入的。nio之所以为为新,在于它并没在原来I/O的基础上进行开发,而是提供了全新的类和接口,除了原来的基本功能之外,它还提供了以下新的特征: ► 多路选择的非封锁式I/O设施 ►支持文件锁和内存映射 ►支持基
2006-08-28 17:57:00
5959
原创 GDB/MI 层命令介绍
//作者:coutcin,http://blog.youkuaiyun.com/coutcin对于gdb的命令很多人可能都已经很熟悉了,本文介绍的mi层命令可能很少有人用到,它也是gdb的一部分,主要目的是为一些目标系统如IDE等提供调试功能,如eclipse下c/c++的cdt插件的底层就是调用的mi层命令,cdt的包里面有两个类RxThread,TxThread就是一个发送mi命令,一个接收返回数据的
2006-08-16 15:43:00
12132
1
原创 FAQ
1. java中如何设置http代理服务器? System.getProperties().put("proxySet", "true"); System.getProperties().setProperty("http.proxyHost", host); System.getProperties().setProperty("http.proxyPort", port());
2006-08-15 11:10:00
1139
转载 elf文件格式
=================== String Table 字符串表=========================String table sections 保存着以NULL终止的一系列字符,一般我们称为字符串。object文件使用这些字符串来描绘符号和section名。一个字符串的参考是一个string table section的索引。第一个字节,即索引0,被定义保存着一个NULL字
2006-08-15 09:44:00
8910
转载 elf文件格式
write by breadbox Email:breadbox@muppetlabs.com 译:alert7 from m4in security team http://www.patching.net isearthling 19:45 2001-5-16译者注: 由于翻译者水平有限(包括技术水平和翻译水平:(),所以 有些地方或许比较难懂,可能还有
2006-08-15 09:37:00
2890
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人