- 浏览: 461009 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (369)
- javascript html (20)
- java (31)
- jquery (15)
- jcrop (0)
- JEECG (1)
- ajax (3)
- 反射 (3)
- VI (1)
- mysql (48)
- easyui (1)
- svn (2)
- MD5 加密 (1)
- spring (14)
- ORACLE (8)
- 经验总结 (1)
- TCP/IP协议 (1)
- ICMP协议 (1)
- eclipse (1)
- Reflect (1)
- linux (21)
- android (5)
- excel 操作 (1)
- java tree (1)
- html (1)
- plupload (1)
- mongodb (9)
- aes (1)
- python (1)
- java relax (1)
- highcharts (2)
- json (2)
- java 多线程 (30)
- maven (2)
- 设计模式 (1)
- jsp+js (2)
- 面向对象 (1)
- jvm (16)
- 缓存 (1)
- proxy (1)
- 聊侃 (1)
- 面经 (1)
- java 字节 (1)
- java 类加载器 (2)
- java 基础 (2)
- java 语法糖 (1)
- java 位运算 (1)
- 排序 (3)
- java 服务器性能优化 (19)
- 网络编程 (2)
- jvm 参数设置 (0)
- jersey (1)
- webservice (2)
- nginx+多tomcat 集成 (5)
- nginx (16)
- squid (3)
- memcached (5)
- 正则表达式 (1)
- 常用免费接口 (1)
- jpa (1)
- win7 (1)
- java处理大文件 (1)
- js正则表达式 (1)
- tomcat (1)
- java 敏感字 (1)
- 系统架构优化 (4)
- 学习 (1)
- 本地测试QQ微博第三方登陆 (1)
- java 错误 (1)
- 微信支付 (1)
- https (1)
- httpclient (1)
- awk (2)
- loadrunner (1)
- sql server 2008 (3)
- git (4)
- sql server2008 (1)
- solr (2)
- centos (1)
- 数据存储架构 (3)
- log4j (1)
- weboffice (1)
- 并发编程 (1)
- postgreSQL (0)
- ssl (1)
- openssl (1)
- activeMQ (2)
- IDEA (1)
- shell (1)
- ansible (4)
- docker (2)
- grafana (1)
- jmeter (1)
- TLS (1)
- 将博客搬至CSDN (1)
最新评论
-
dida1990:
啊喔,过去了这么久,不过还是评一个。谁说uuid的hashCo ...
高并发生成订单号(二) -
annan211:
yclovesun 写道使用了uuid,为什么还要machin ...
高并发生成订单号(二) -
yclovesun:
使用了uuid,为什么还要machineId?uuid已经可以 ...
高并发生成订单号(二) -
u013280917:
太深奥,看不懂
mysql优化特定类型的查询
对数据加锁是实现多线程的一种策略,但是加锁无疑会增加系统性能开销,如果处理不当会带来巨大损失。
及时使用一些无所算法,但仍然需要在应用层处理线程间的冲突问题,这无疑增加了应用程序的开发难度和算法的复杂度。为了解决这个问题,选择一些现成的无所并行框架就成了解决这个问题的好办法。
Amino 框架就是其中之一,他是apache下的一个分支项目,提供了可用于线程安全的,基于无锁算法的一些数据结构,同时还内置了一些多线程调度模式,使用Amino框架进行软件开发拥有以下优势,1 对死锁问题免疫,2 确保整体进度,3 高并发 无锁竞争带来的性能开销,4 可以轻易使用一些成熟的无所结构,无需自行研发。
Amino 提供了一组LIst 的实现,其中最重要的就是 LockFreeList 和 LockFreeVector 他们都实现了 Java.util.List接口。 LockFreeList 和 LockFreeVector 就好像 List 和 Vector 一样,只不过前者是 无锁 但 线程安全的,其性能 也比后者 高出了 几个数量级。完全可以自行测试,这里省去代码。
List list = new LockFreeList();// list List vector = new LockFreeVector();//vector
Amino 框架还提供了无所的Set实现 LockFreeSet ,LockFreeSet 实现了java.util.Set接口,是一个使用原子操作实现的无所线程安全的Set 。
其性能也比加锁的set 高出很多。
Amino 还提供了 Amino 树 和 Amino图,可自行查找资料。
发表评论
-
java 多线程操作数据库 及 静态bean注入
2018-01-09 10:47 916package com.robustel.rlink.de ... -
Java高效读取大文件
2015-01-22 19:45 6231、概述 本教程将演示如何用Java高效地读取大文件。 ... -
winSCP 服务器 在线联网
2015-01-09 18:05 7071 新建 bb.bat 文件 里面是你的服务器 列表 ... -
JDK 命令行工具
2014-10-22 14:47 801JDK 命令行工具 实现在tools.jar文件 ... -
windows 监控工具
2014-10-22 11:23 5341 windows 监控工具 运行-perfmon ... -
Java 重入锁(ReentrantLock)和内部锁(synchronized)
2014-10-16 15:44 1594ReentrantLock 和 synchronize的 ... -
Java 锁分离
2014-10-16 15:35 1332读写锁思想的延伸就是锁分离。读写锁根据读写操作功能上 ... -
java 高性能运算-- 双端队列
2014-10-15 16:04 1046JDK 1.6中 提供了一种双端队列,简称 Dequ ... -
java 高性能运算--并发队列
2014-10-15 15:33 2490JDK 提供了两套并发队列的实现,一个是以 Conc ... -
java 高性能运算--量化线程池的大小
2014-10-15 11:42 1324线程池合理的长度取决于将要提交的任务类型和所部署系统的 ... -
java 高性能运算--展开循环
2014-10-14 15:43 1221可以优化的地方实在是太多了,只要你愿意去想,去尝试。代码 ... -
java 高性能运算--switch 替代方案
2014-10-14 15:24 1639Java 原生的语法糖中存在很多种 易于阅读,效率略低的 ... -
java 高性能运算--位运算代替乘除法
2014-10-14 15:03 3951位运算 是公认的 高效运算,在高频计算中,可以使用位运算 ... -
Java 中的弱引用
2014-10-14 14:31 557简单一点说,我们建议使用 WeakHashMap 在系 ... -
Stirng 字符串 原生方法 charAt 与 startWith
2014-10-11 11:23 760charAt(int index) 与 startWit ... -
比 StringTokenizer 更加优化的字符串分割
2014-10-11 11:05 1091上篇文中说到,StringTokenizer 是相对比较 ... -
Java 分割字符串 StringTokenizer
2014-10-10 19:15 699字符分割 jdk建议使用 split或者 正则表达式,但是追求 ... -
String 类的一点认识
2014-10-10 18:52 789String 是Java中相当强大的类,虽不属于基本类型 ... -
java 负载均衡
2014-10-09 19:10 952负载均衡的概念比较广。 具体可参见 http ... -
并发模式下的单例创建
2014-09-29 16:20 788单例模式的创建 分为 ...
相关推荐
Amino框架是Java并发编程领域的一个工具,它旨在简化并发编程,提高程序的性能和可维护性。这篇博客文章可能详细探讨了Amino框架的设计理念、核心功能以及如何在实际项目中应用。 Amino框架可能提供了以下一些关键...
该组件将提供一套免锁的集合类(LockFreeVector、LockFreeList、LockFreeSet等)、树结构、图结构。因为这些数据结构采用免锁的运算法则来生成,所以,它们将拥有基本的免锁组件的特性,如可以避免不同类型的死锁,...
无锁并行框架Amino,也被称为Concurrent Building Blocks,是一种高效、低延迟的并行编程工具,旨在帮助开发者在多核处理器环境下构建高度并发的应用程序。无锁算法是其核心,这种算法避免了传统的互斥锁带来的性能...
该组件将提供一套免锁的集合类(LockFreeVector、LockFreeList、LockFreeSet等)、树结构、图结构。因为这些数据结构采用免锁的运算法则来生成,所以,它们将拥有基本的免锁组件的特性,如可以避免不同类型的死锁,...
标题中的“inputevents”是一个库或框架,专为Node.js、浏览器环境以及Amino平台设计,用于处理键盘和鼠标输入事件。在JavaScript编程中,事件处理是用户与应用程序交互的关键部分,尤其是对于创建动态和响应式的...
4. **动画框架**:aminogfx-canvas 可能提供了一套完整的动画系统,允许开发者轻松创建平滑的帧动画,或者基于时间的动画效果。 5. **性能优化**:通过缓存、批处理渲染等技术提高画布的渲染效率,减少不必要的重绘...
在这个案例中,我们关注的是"amino-acid-backend",这是一个专门为氨基酸查看器应用程序提供服务的Java后端组件。后端开发是应用程序架构中的核心部分,负责处理数据存储、业务逻辑以及与前端的通信。 首先,让我们...
不是应用程序框架。 它只是一个图形和输入 api,可在其上快速构建您的应用程序。 Amino 可用于数据可视化、游戏、照片处理、粒子效果和(在有限程度上)形式驱动的应用程序。 Amino 带有一个简单的小部件集(按钮、...
随机语法则是描述序列变化的一种数学框架,它可以更精确地捕捉序列的复杂变异模式。在DART中,随机语法可能被用来描述序列中的插入、删除和替换等事件,从而提供更准确的序列注释和比较。 使用DART,用户可以免费...
介绍dspp-keras是dspp-keras集成,它提供7200+个不相关蛋白质的氨基酸序列,具有形成二级结构或保持无序的倾向。 我们强烈建议您阅读本文档的其余部分,在FAQ部分中滚动,并从example/目录中训练测试模型。...