Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

构建Android的交叉编译器、用NDK编译移植

构建Android的交叉编译器、用NDK编译移植

在之前的文章中提到了用arm-none-linux-gnueabi-gcc交叉编译移植程序到Android平台上。也提到了,Android中没有glibc,所以arm-none-linux-gnueabi-gcc编译出来的程序需要在编译时指明连接器,并且将所需要的动态库拷贝到Android机器中。详见:http://www.linuxidc.com/Linux/2014-03/97499.htm所以为了能够更方便的使用交叉编译器移植我们所需要的程序或者库到...
C/C++随机数生成方法

C/C++随机数生成方法

一、随机数测试C++中常用rand()函数生成随机数,但严格意义上来讲生成的只是伪随机数(pseudo-random integral number)。生成随机数时需要我们指定一个种子,如果在程序内循环,那么下一次生成随机数时调用上一次的结果作为种子。但如果分两次执行程序,那么由于种子相同,生成的“随机数”也是相同的。《C++ 设计新思维》 下载见 http://www.linuxidc.com/Linux/2014-07/1048...
C#中Interlocked不能保证的事情

C#中Interlocked不能保证的事情

Interlocked类MSDN中对他的定义为:为变量在多线程共享的情况下提供原子操作。很多人对于Interlocked的使用,仅限于Interlocked.Increment方法,这个方法在多线程环境下,总可以保证变量自增的正确性。那么原子方法的定义是什么呢?顾名思义,原子一般认为是不可再分的,所以原子方法就是不可再分的方法,即在一个原子操作中,处理器能够在一个指令传输中完成读值和写值, 也就是说,在原子操作完成之前,任何IO机制或处理器都不能对这个内存...
C#读写锁ReaderWriterLockSlim的使用

C#读写锁ReaderWriterLockSlim的使用

读写锁的概念很简单,允许多个线程同时获取读锁,但同一时间只允许一个线程获得写锁,因此也称作共享-独占锁。在C#中,推荐使用ReaderWriterLockSlim类来完成读写锁的功能。某些场合下,对一个对象的读取次数远远大于修改次数,如果只是简单的用lock方式加锁,则会影响读取的效率。而如果采用读写锁,则多个线程可以同时读取该对象,只有等到对象被写入锁占用的时候,才会阻塞。简单的说,当某个线程进入读取模式时,此时其他线程依然能进入读取模式,假设此时一个线...
Java中ListIterator和Iterator详解与辨析

Java中ListIterator和Iterator详解与辨析

在使用java集合的时候,都需要使用Iterator。但是java集合中还有一个迭代器ListIterator,在使用List、ArrayList、LinkedList和Vector的时候可以使用。这两种迭代器有什么区别呢?下面我们详细分析。这里有一点需要明确的时候,迭代器指向的位置是元素之前的位置,如下图所示:这里假设集合List由四个元素List1、List2、List3和List4组成,当使用语句Iterator it = List.Iterator...
C指针基础

C指针基础

任何的数据类型我们都可以把它当成个模子,然后可成各种类型的数据;任何模子都又其特定的大小。int *p;用sizeof测试下,sizeof(p) 或者sizeof(int)是4byte,于是可以这样定义:一个int类型的模子在内存上刻出大小为4字节的空间,然后把4个字节大小空间命名为p。同时限定这4字节连续空间只能存储某个内存地址,即使你存入别的任何数据,都将被当做地址处理,而且这个内存地址开始的连续4字节上只能存储某个int数据。我们把p称为指针变量,p...
JBPM流程设计系列—入门简介

JBPM流程设计系列—入门简介

JBPM是著名的开源流程引擎框架,具有非常高效的流程引擎及可视化流程设计器,使用主流的BPMN流程标准。它包含一系列非常有用的modeler,如DataModeler,FormModeler等,可以快速开发基于流程的程序,可以使非开发的业务人员也可以轻松实现业务流程构建及优化工作,大大提高了企业的流程建模效率。JBPM主要的API有两个包:org.kie.internal.io.*org.kie.api.*JBPM核心的两个类RuntimeManager和...
使用Javah 生成C/C++头文件的误区 找不到 ‘XX.XXXX.XX.CLASSNAME’ 的类文件

使用Javah 生成C/C++头文件的误区 找不到 ‘XX.XXXX.XX.CLASSNAME’ 的类文件

PS:最近在用jni,一会写java一会写c++的感觉真让人头疼。然后在使用javah的时候,遇到了一点点小问题,分享给大家。javah 是一个很棒的工具,可以通过获取.class 文件,而生成对应的C++文件,其中包含java 代码中的所有本地方法的JNI 存根,也就是定义成native 的那些方法。如果你正在使用一个类的JNI 存根,而且你已经把这个类定义为包的一部分,那么必须要完全限定类的命名。感觉javah好像一个反编译工具一样。恩,就是这样。举例...
解决Linux下编译.sh文件报错 “[: XXXX: unexpected operator”

解决Linux下编译.sh文件报错 “[: XXXX: unexpected operator”

本人经常在Linux通过编译 .sh文件来生成工程,之前一直都没问题,代码一直都没变,但是今天编译的时候,却提示错误:然后我就表示很费解,查看我的.sh文件,其中有很多的[] ,都是这些报错,可是之前一直没问题。后来发现,因为Ubuntu默认的sh是连接到dash的,又因为dash跟bash的不兼容所以出错了.执行时可以把sh换成bash文件名.sh来执行.成功.dash是什么东西,查了一下,应该也是一种shell,貌似用户对它的诟病颇多。修改sh默认连接...
Spring MVC与EJB整合

Spring MVC与EJB整合

一、企业开发模式目前javaEE应用的开发方式大致可以分为两种:一种以Spring、Hibernate等开源框架为基础即所谓的轻量级JavaEE应用;另一种则以EJB3+JPA为基础配合一些前端框架如JSF、struts2、SpringMvc等等的经典JavaEE开发模式。由于EJB2.0使用相对比较复杂,目前使用的情况来说很多企业基本上使用的是ssh架构,EJB3.0做了改善之后开始以spring+ejb+jpa的组合方式进行开发。二、Spring MV...
JBPM API初认识

JBPM API初认识

JBPM为我们提供了一系列管理流程的服务。从定义流程,到实例化流程定义,流程实例执行过程中,对流程的管理,流程结束后,纳入历史流程,进行管理。JBPM的流程管理,提供了完整的API,提高了流程执行的效率。JBPM提供的服务API为我们实现了:(1)流程部署(2)流程实例(3)流程任务(4)流程历史ProcessEngine提供了6个服务API。ProcessEngine是由Configuration类构建的,即工作流引擎根据配置产生。(1)Reposito...
JBPM表结构

JBPM表结构

一,概述JBPM全称——Java Business PrcessManagerment(业务流程管理),它是覆盖了业务流程管理、工作流、服务协作等领域的一个开放的、灵活的、易扩展的可执行流程语言框架。二,最大特色(1)它的业务逻辑定义没有采用目前的一些规范,而是采用了它自己定义的Jboss Jbpm Process Definition Language(jpdl)。jpdl任务一个业务流程可以被看作是一个UML状态图。jpdl认为...
JBPM与Spring整合

JBPM与Spring整合

Spring与Jbpm的整合1,整合的必要性:流程中对业务数据操作与流程操作需要在同一个事务中实现例如:请假流程——请假人提交请假申请,流程跳转到下一个节点任务(JBPM数据);记录请假人信息到用户表(业务数据)一个操作,可能会同时涉及到JBPM数据和业务数据,如果用两个事务,可能会导致业务与流程的数据不一致。2,整合图整合原理:(1)使用Spring容器IOC提供的BeanFactory功能初始化JBPM的configuratio...
Java集合中Comparable和Comparator辨析

Java集合中Comparable和Comparator辨析

一.Comparable和Comparator简介在对集合元素进行比较时一般使用TreeSet.对于简单的数据类型,TreeSet可以直接进行比较。但是对于复杂的数据类型,比如自己定义的数据类型或者类,就需要自己设置比较方法与比较规则了,这时就需要使用Comparable和Comparator。 Comparable和Comparator都是用来实现集合中的排序的,只是Comparable是在集合内图定义的方法实现排序,而Comparator是在集合外部实...
生产者消费者问题的Java实现

生产者消费者问题的Java实现

生产者和消费者是多线程经典的问题,生产者和消费者问题的核心是同步的问题,同步问题的核心是要保证同一个资源被多个线程并发访问时的完整性,常用的方法是采用信号或加锁机制,保证资源在任一时刻只能被一个线程访问。这一问题用java来实现的话主要有4种方式。1.wait()/notify();2.await()/signal(); 3.blockingQuene 4.PipedInputStream/pipedOutputStream下面分别来实现。1.利用wait...
C# 之 扩展方法

C# 之 扩展方法

扩展方法扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。对于用 C# 和 Visual Basic 编写的客户端代码,调用扩展方法与调用在类型中实际定义的方法之间没有明显的差异。如果我们有这么一个需求,将一个字符串的第一个字符转化为大写,第二个字符到第n个字符转化为小写,其他的不变,那么我们该如何实现呢?不使用扩...
<< 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 >>