当前位置: 首页 > wzjs >正文

软件公司网站建设东莞网站建设推广平台

软件公司网站建设,东莞网站建设推广平台,app制作图片,做网站借用网络图片不违法吧一,概述 java.utils中Stack,本身继承Vector,而Vector部分方法使用synchronized方法加锁,导致Stack本身操作也是加锁操作,相对来说还是有性能开销的。那么怎么实现轻量级无锁且安全的Stack?可以借助VarHand…

一,概述

java.utils中Stack,本身继承Vector,而Vector部分方法使用synchronized方法加锁,导致Stack本身操作也是加锁操作,相对来说还是有性能开销的。那么怎么实现轻量级无锁且安全的Stack?可以借助VarHandler原子操作实现。仅供参考,其它高性能数据结构优化可参考。

二,实现

import java.lang.invoke.MethodHandles;
import java.lang.invoke.VarHandle;
import java.util.NoSuchElementException;public class StackWithoutLock<T> {private static final VarHandle TAIL;static {MethodHandles.Lookup l = MethodHandles.lookup();try {TAIL = l.findVarHandle(StackWithoutLock.class, "tail", Node.class);} catch (NoSuchFieldException e) {throw new RuntimeException(e);} catch (IllegalAccessException e) {throw new RuntimeException(e);}}private final Node<T> HEAD = new Node<>();private int size;private Node<T> tail = HEAD;public void push(T t) {Node<T> oldTail = tail;Node<T> newNode = new Node<>();newNode.value = t;while (!TAIL.compareAndSet(this, oldTail, newNode)) {oldTail = tail;}oldTail.next = newNode;newNode.pre = oldTail;size++;}public T pop() {if (tail == HEAD) {throw new NoSuchElementException("stack empty!");}Node<T> oldTail = tail;Node<T> newTail = tail.pre;while (!TAIL.compareAndSet(this, tail, newTail)) {oldTail = tail;newTail = tail.pre;}size--;return oldTail.value;}public T peek() {if (tail == HEAD) {throw new NoSuchElementException("stack empty!");}return tail.value;}public boolean isEmpty() {return size == 0;}}private static class Node<T> {T value;Node<T> next;Node<T> pre;}
}

三,效果

public static void main(String[] args) {StackWithoutLock<Integer> stack1 = new StackWithoutLock<>();for (int i = 0; i < 5; i++) {stack1.push(i);System.out.println(stack1.peek() + "   size=" + stack1.size);}while (!stack1.isEmpty()) {Integer pop = stack1.pop();System.out.println("pop " + pop + " size=" + stack1.size);}}

http://www.dtcms.com/wzjs/179335.html

相关文章:

  • 电影院卖品套餐计划成都seo技术经理
  • 珠海移动网站建设公司排名互联网营销方案策划
  • 网站建设制作 南京公司怎么优化
  • 深圳网站制作公司人才招聘中国十大seo
  • 免费10g网站空间广告联盟怎么加入
  • 营销型网站有哪些类型seo工作职位
  • 上海电商网站开发启动互联全网营销推广
  • 网站开发设计企业网站建设方案范文
  • 搭建专业网站服务器中央人民政府网
  • 用wordpress做网站使用软件提高百度推广排名
  • 《php网站开发》课程资料安卓aso优化排名
  • 最专业的佛山网站建设价格厦门百度关键词seo收费
  • 宁波网站怎么建设怎么做公司网页
  • 用dw怎么做用户登录页面的网站网站广告投放收费标准
  • 电子商务网站建设table重庆网站网络推广
  • 网页游戏网站大全突袭整合营销传播案例分析
  • 企业做营销型网站百度首页排名优化多少钱
  • 360购物网站怎么做的seo成都培训
  • 做网站武汉下载百度到桌面
  • 网站自己做推广百度关键词点击价格查询
  • 手机网站在线制作网络营销发展现状与趋势
  • 如何自己做的网站seo网站有优化培训吗
  • 用boots做网站营销培训机构哪家最专业
  • go 做视频网站医院网站建设方案
  • 二次开发wordpress关键词优化教程
  • 信阳网站建设找汉狮品牌运营方案
  • 做汽车租赁主要的网站中国重大新闻
  • 河北邢台宁晋县疫情最新情况湖南关键词优化首选
  • 牛网站seo实战培训课程
  • 网站建设 软件有哪些方面seo优化网站推广专员招聘