JAVALOCK总体来说关键要素主要包括3点:1.unsafe.compareAndSwapXXX(Objecto,longoffset,intexpected,intx)2.unsafe.park()和unsafe.unpark()3.单向链表结构或者说存储线程的数据结构第1点主要为了保证锁的原子性,相当于一个锁是否正在被使用的标记,并且比较和设置这个标记的操作是原子的(硬件提供的swap和te
JAVA LOCK总体来说关键要素主要包括3点:1.unsafe.compareAndSwapXXX(Object o,long offset,int expected,int x)2.unsafe.park() 和 unsafe.unpark()3.单向链表结构或者说存储线程的数据结构   第1点主要为了保证锁的原子性,相当于一个锁是否正在被使用的标记,并且比较和设置这个标记的操作是原子的(硬件
转载 2021-06-21 22:04:33
85阅读
近些年来,随着我国社会发展和科技进步,在军事、航天、航空、能源、金融、公共
Thanks @读程序的手艺人
转载 2016-03-06 17:07:00
83阅读
2评论
Java从1.5开始正式提供了并发包,而这个并发包里面除了原子变量,synchronizer,并发容器,另外一个非常重要的特性就是线程池.对于线程池的意义,我们这边不再多说.上图是线程池的主体类图,ThreadPoolExecutor是应用最为广泛的一个线程池实现(我也将在接下来的文字中详细描述我对这个类的理解和执行机制),ScheduledThreadPoolExecutor则在ThreadPo
原创 2010-12-16 13:57:00
774阅读
Nutch 介绍 由两个部分组成: Crawling和 Searching, Crawling部分负责抓取网页和建立索引,而 Searching则是将Crawling 过程中建立的 index和segments 根据用户的搜索请求返回结果。 本文分析的是 apache-nutch-1.2。 Nutch的主流程
原创 2011-06-16 15:27:02
943阅读
转载本文需注明出处:EAWorld,违者必究。       DevOps(开发:Development和运维:Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。 ——by 百度百科       //     今天的主题就是有关DevOps的很重要的一部分,Development中代码模块的设计。
转载 2021-07-27 14:59:08
195阅读
最近一段时间,在一个前端大佬那里了解到一个构建知识图谱的开源项目,激起了我的兴趣。我
原创 2022-11-03 10:28:05
112阅读
Map是键值对。也是经常使用的数据结构。Map接口定义了map的基本行为。包含最核心的get和put操作,此接口的定义的方法见下图: JDK中有不同的的map实现,分别适用于不同的应用场景。如线程安全的hashTable和非线程安全的hashMap. 例如以下图是JDK中map接口的子类UML类图,
转载 2017-05-27 14:33:00
94阅读
Set的接口和实现类是最简单的,说它简单原因是由于它的实现都是基于实际的map实现的。如 hashSet 基于hashMap,TreeSet 基于TreeMap,CopyOnWriteArraySet 基于 CopyOnWriteArrayList 。 故对事实上现简要分析。首先看以下的类图: Se
转载 2016-02-06 18:15:00
138阅读
2评论
Linux之蓝牙相关代码浅析 | DD'NotesLinux之蓝牙相关代码浅析[TOC] 主要记录一些整体的概念、框架和简单介绍,不
原创 9月前
86阅读
ASP.NET代码优化一、页面和服务器控件处理1、ASP.NET代码优化
转载 2010-12-27 19:04:00
93阅读
2评论
主要谈谈vc里面函数调用汇编成汇编代码的情形,首先针对之前的一个小程序,说说vc编译器的优化。 例子程序: #include <iostream>using namespace std;int main(int argc, char* argv[]) { int i=10; int a = i Read More
转载 2016-12-08 18:02:00
83阅读
2评论
mnn, 离线量化1. 前言mnn的离线量化,需要首先将其他模型转换成mnn的模型表达,再进行量化。这里我们采用MAX_ABS进行weight权重量化,KL散度进行激活值的量化,int8对称量化。2. Code2.1 mnn模型读入与解析std::unique_ptr<MNN::NetT> netT; { std::ifstream input(modelFile); std::ostringstream outputOs; .
原创 2022-03-23 14:27:29
919阅读
String displayText = getTextFieldString(ta);// QWERTY devices don’t quite have an input mode hide it also when we have a VKif(ta.isQwertyInput() || Display.getInstance().isVirtualKeyboardShowing()) {i
转载 精选 2010-11-30 10:29:37
445阅读
目前,基于源代码静态检测分析技术,运用越来越广,那么源代码安全检测的技术
MFC CObject浅析 1.CObject简要声明 2.CRuntimeClass结构 3.RUNTIME_CLASS 4.DYNAMIC支持 5.DYNCREATE支持 6.SERIAL支持 CObject是大部分的MFC类的基类 为了完成MFC类的判断、动态生成、序列化等特殊功能,CObje Read More
转载 2015-09-13 20:30:00
77阅读
2评论
MFC CObject浅析 1.CObject简要声明 2.CRuntimeClass结构 3.RUNTIME_CLASS 4.DYNAMIC支持 5.DYNCREATE支持 6.SERIAL支持 CObject是大部分的MFC类的基类 为了完成MFC类的判断、动态生成、序列化等特殊功能,CObject中添加了特定的处理。 为了进一步增强对MFC类对象的理解,在
转载 2021-08-20 14:55:35
337阅读
Ogre引擎由多个模块组成,从不同角度来划分可以得到不同的结果。从功能上看Ogre可大致分为资源管理、场景管理和渲染管理三大模块;而从可执行部分的组织方式看,Ogre引擎则是由多个dll动态链接库组合而成的。 组成Ogre的各动态库基本上可以分为...
转载 2014-01-03 13:57:00
103阅读
2评论
本文将总结一种数据结构:跳跃表。前半部分跳跃表性质和操作的介绍直接摘自《让算法的效率跳起来--浅谈“跳跃表”的相关操作及其应用》上海市华东师范大学第二附属中学 魏冉。之后将附上跳跃表的源代码,以及本人对其的了解。难免有错误之处,希望指正,共同进步。谢谢。 跳跃表(Skip List)是1987年才诞...
转载 2014-07-26 17:32:00
116阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5