Chinaunix首页 | 论坛 | 博客
  • 博客访问: 47240
  • 博文数量: 36
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 230
  • 用 户 组: 普通用户
  • 注册时间: 2020-06-08 14:16
文章分类
文章存档

2020年(36)

我的朋友
最近访客

发布时间:2020-08-26 19:30:28

1. AVL树与红黑树2. 红黑树的定义它一定是一棵二叉排序树;它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树,递归定义。它一定是一棵二叉排序树;每个节点或者为黑色或者为红色;.........【阅读全文】

阅读(1156) | 评论(0) | 转发(0)

发布时间:2020-08-18 18:51:22

共享锁的释放是通过调用releaseShared模版方法来实现的。大概步骤为:
调用tryReleaseShared尝试释放共享锁,这里必须实现为线程安全。
如果释放了锁,那么调用doReleaseShared方法环迅后继结点,实现唤醒的传播。
对于支持共享式的同步组件(即多个线程同时访问),它们和独占式的主要区别就是tryReleaseShared方法必须确保锁的释放是线程安全的(因为既然是多个线程能够访问,那么释放的时候也会是多个线程的,就需要保证释放时候的线程安全)。由于tryReleaseShared方法也是我们自己实现的,因此需要我们自己实现线程安全,所以常常采用CAS的方式来释放同步状态。
/**
* 共享模式下释放锁的模版方法。
* ,如果成功释放则会调用
*/
public final boolean releaseShared(int arg) {
//tryReleaseShared释放指锁
if (tryReleaseShared(arg)) {
//释放成功,......【阅读全文】

阅读(798) | 评论(0) | 转发(0)

发布时间:2020-08-18 18:22:54

  可以看到,此时Java对于多线程编程的支持还是比较原始的,功能也并不多。因此,在JDK1.5的JUC包中,对Java的多线程应用做了一次全面的扩展,比如新lock锁、并发容器等,还有一个重要的扩展就是出现了Executor执行框架。  线程任务  JDK1.5的时候,出现了Callable接口,可以看作Runnable的增.........【阅读全文】

阅读(793) | 评论(0) | 转发(0)

发布时间:2020-08-05 16:56:08

影响序列化性能的关键因素:序列化后的码流大小(网络带宽的占用)、序列化的性能(CPU资源占用);是否支持跨语言(异构系统的对接和开发语言切换)。XML,优点:人机可读性好,可指定元素或特性的名称。缺点:序列化数据只包含数据本身以及类的结构,不包括类型标识和程序集信息;只能序列化公共属性和字段.........【阅读全文】

阅读(962) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册