Java
文章平均质量分 54
犀利-sharp
这个作者很懒,什么都没留下…
展开
-
java 读写者问题 实现
所谓的”读者—写者问题”是指保证一个Writer进程必须与其他进程互斥地访问共享对象地同步问题.其读写操作限制(包括读者优先和写者优先): 1)写--写互斥,即不能有两个写者同时进行写操作; 2)读--写互斥,即不能同时有一个进程在读而另一个进程在写; 3)读--读允许,即允许同时有多个进程在读同一个对象或文件. package myprojects.r原创 2016-07-05 11:18:41 · 1140 阅读 · 0 评论 -
java 线程安全的实现方式
线程安全的定义: >的作者Brian Goetz 对"线程安全"有一段定义: 当多个线程访问一个对象的时候, 如果不用考虑这些线程在运行时环境下的调度和交替执行, 也不需要惊醒额外的同步,或者在调用方惊醒任何其他的协调操作,调用这个对象的行为都可以获取正确的结果,那这个对象就是线程安全的. 我们把java中各种操作共享的数据分成一下5类: 不可变, 绝对线程安全, 相对线程安全, 线原创 2016-07-05 11:21:53 · 2196 阅读 · 0 评论 -
java在命令行中加入从classpath加载resource
有很多时间需要将 resource 加入到 classpath中 如一些配置文件,如果写死配置文件的路径,不方便迁移,不够优雅,所以我们必须在代码中写相对路径,我一般通过 getClass().getResourceAsStream("/xxx.txt") 来获取这些配置文件, 通过 classloader 也是可以的。 在一般生产环境中,java程序都是通过命令行写成的,原创 2016-07-05 11:24:53 · 2660 阅读 · 0 评论 -
java class reload 动态加载
在运行时动态加载jar包容易,但是如果想动态替换运行时的类,需要定义自己的classloader , 用自己的classloader 来load这个类。具体代码如下。 public class UClassloader extends URLClassLoader{ public UClassloader(URL[] urls) { super(urls); }原创 2016-07-05 11:29:56 · 2753 阅读 · 0 评论