自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一花一世界

站在巨人的肩膀上眺望。

  • 博客(97)
  • 资源 (9)
  • 收藏
  • 关注

转载 算法的时间与空间复杂度

算法(Algorithm)是指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但在过程中消耗的资源和时间却会有很大的区别。那么我们应该如何去衡量不同算法之间的优劣呢?主要还是从算法所占用的「时间」和「空间」两个维度去考量。时间维度:是指执行当前算法所消耗的时间,我们通常用「时间复杂度」来描述。空间维度:是指执行当前算法需要占用多少内...

2020-01-16 10:58:55 224

原创 Java:单例模式的七种写法

第一种(懒汉,线程不安全): 1 public class Singleton {   2     private static Singleton instance;   3     private Singleton (){}    4     public static Singleton getInstance() {   5     if (instance ==

2015-12-02 10:35:49 554

原创 java里字节和字符分别

这不光是 Java 的概念,我们知道机器只知道字节,而字符却是语义上的单位,它是有编码的,一个字符可能编码成1个2个甚至3个4个字节。这跟字符集编码有关系,英文字母和数字是单字节,但汉字这些自然语言中的字符是多字节的。一个字节只能表示255个字符,不可能用于全球那么多种自然语言的处理,因此肯定需要多字节的存储方式。        当我们在处理 Java 时,比如 InputStream,

2015-11-17 10:39:10 776

原创 JNI避免内存泄漏(一)

JAVA 中的内存泄漏JAVA编程中的内存泄漏,从泄漏的内存位置角度可以分为两种:JVM 中 Java Heap 的内存泄漏;JVM 内存中 nativememory 的内存泄漏。Java Heap 的内存泄漏Java 对象存储在 JVM 进程空间中的 Java Heap中,Java Heap 可以在 JVM 运行过程中动态变化。如果 Java 对象越来越多,占据 Java Heap

2013-08-29 14:34:14 860

原创 在JNI编程中避免内存泄漏

总结本文阐述了 JNI 编程可能引发的内存泄漏,JNI 编程既可能引发 Java Heap 的内存泄漏,也可能引发 nativememory 的内存泄漏,严重的情况可能使 JVM 运行异常终止。JNI软件开发人员在编程中,应当考虑以下几点,避免内存泄漏:native code 本身的内存管理机制依然要遵循。使用 Global reference 时,当 native code 不再需要

2013-08-29 14:34:11 883

原创 在JNI编程中避免内存泄漏(二)

JAVA 中的内存泄漏JAVA 编程中的内存泄漏,从泄漏的内存位置角度可以分为两种:JVM 中 Java Heap 的内存泄漏;JVM 内存中native memory 的内存泄漏。Java Heap 的内存泄漏Java 对象存储在 JVM 进程空间中的 Java Heap 中,Java Heap 可以在 JVM 运行过程中动态变化。如果Java 对象越来越多,占据 Java Heap

2013-08-29 14:34:09 704

原创 NTDLL.dll详解

ntdll.dll是NT操作系统重要的模块,常见错误为File Not Found, Missing File, ExceptionErrors。除非用户电脑被木马病毒、或是流氓软件篡改导致出现mfc71u.dll丢失、缺失损坏等弹窗现象,否则不建议用户对该类文件进行随意的修改。    NTDLL.DLL这个是系统的重要模块,是调用API函数时候用到的一个动态链接库文件,解决方法两种,去别

2013-08-29 14:34:07 7753

原创 NTDLL.dll Access Violation

在封装一体机项目时遇到这类问题:    Access Violation(非法访问)" TITLE="NTDLL.dll Access Violation(非法访问)" />   此问题也没有使我的JVM崩溃,但使我的Java应用程序Crash了。   我是通过JNI封装的win32平台上的相关库。   这是网上给出的好点的解答:    Access Violation(非法

2013-08-29 14:34:05 2029

原创 c++与java释放内存的比较

1,  c++中允许创建局部对象,局部对象在代码块执行完后自动释放2,  Java中部允许创建局部对象,只能通过new来创建对象所以如果MyClass是一个类名的话MyClass  a;这句话如果在c++中,那么它就创建了一个MyClass对象而在Java中仅仅是声明了一个引用,它并没有创建对象3, C++中如果用new来创建对象,那么程序员必须通过delete来释放对象,否则会造成

2013-08-29 14:34:03 961

原创 JVM崩溃问题分析

jni调用.dll的时候,经常碰见这类问题,于是在网上查了相关的资料,但最终也没有找到最合理的解释,就整理一些思路:    1、修改jvm的内存大小,非常频繁的输出大量的Log到控制台上JVM的处理有问题(也怀疑本身频繁的输出大量的Log到文件中JVM的处理有问题)。(每1秒钟就输出170k的Log)。   2、造成严重错误的原因有多种可能性。Java虚拟机自身的Bug是原因之一,但

2013-08-29 14:34:01 1062

原创 Java回调函数的理解

所谓回调,就是客户程序C调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C中的某个函数B,对于C来说,这个B便叫做回调函数。例如Win32下的窗口过程函数就是一个典型的回调函数。一般说来,C不会自己调用B,C提供B的目的就是让S来调用它,而且是C不得不提供。由于S并不知道C提供的B姓甚名谁,所以S会约定B的接口规范(函数原型),然后由C提前通过S的一个函数R告诉S自己将要使用B函数

2013-08-29 14:33:59 526

原创 JNI引用Java对象

引用 Java 对象 基本类型(如整型、字符型等)在Java和平台相关代码之间直接进行复制。而Java 对象由引用来传递。虚拟机必须跟踪传到平台相关代码中的对象,以使这些对象不会被垃圾收集器释放。反之,平台相关代码必须能用某种方式通知虚拟机它不再需要那些对象,同时,垃圾收集器必须能够移走被平台相关代码引用过的对象。 全局和局部引用 JNI 将平台相关代码使用的对象引用分成

2013-08-29 14:33:57 881

原创 JNI对象操作

AllocObjectjobject AllocObject(JNIEnv *env, jclass clazz);分配新Java 对象而不调用该对象的任何构造函数。返回该对象的引用。clazz参数务必不要引用数组类。参数:             env:JNI 接口指针。             clazz:Java类对象。返回值:          

2013-08-29 14:33:55 774

原创 JNI异常处理

在 Java 程序中使用本机方法,就以某种基本的方式破坏了 Java 安全性模型。因为 Java程序在一个受控的运行时系统(JVM)中运行,所以 Java平台设计师决定通过检查常见运行时系统错误(如数组下标、越界错误、空指针错误)来帮助程序员。从另一方面讲,由于 C 和 C++不使用此类错误检查,所以本机方法程序员必须自己处理所有错误情况,而在运行时,这些错误可以在 JVM 中被捕获。例

2013-08-29 14:33:52 750

原创 Eclipse反编译工具Jad及插件JadCli…

Jad是一个Java的一个反编译工具,是用命令行执行,和通常JDK自带的java,javac命令是一样的。不过因为是控制台运行,所以用起来不太方便。不过幸好有一个eclipse的插件JadClipse,二者结合可以方便的在eclipse中查看class文件的源代码。下面介绍一下配置:    A.下载JadClipse,http://jadclipse.sourceforge.net/wiki

2013-08-29 14:33:48 955

原创 JNA编程之一:入门

自从接触Java编程以来,有个问题一直缠绕着我:怎样才能在Java中调用以前用C/C++开发的劳动成果(函数库)?于是开始百度、Google了若干下,初步发现有个叫JNI的“小伙子”,一下子把它的简介读完后,让人觉得仿佛要“围着Java打转转”的味道。对于我这个一直钟情于C语言开发的人来说,有点难以接受:“别太嚣张了,厚道点嘛,C/C++才是真正的老大啊”。于是继续搜索,幸好Java还是有点“

2013-08-29 14:33:43 1121

原创 JNA实现Java调用C++动态链接库

今天偶然看到了JNA的介绍,下载下来试了一下,很好用,相比较JNI要简单很多。做了一个可以callback的c++动态链接库,实现了java和c++的互相调用。 1、开发环境: 开发工具:Netbeans6.8,包含了Java和C++开发插件,用一个工具比较方便,可以同时开发C++的dll和Java代码。C++环境:MingW 5.1.6+MSYS、g++ 3.4.5Java环境:JDK

2013-08-29 14:33:41 936 1

原创 用c语言产生随机数

在C语言中,rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数,我们可以称它为种子,为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数,当计算机正常开机后,这个种子的值是定了的,除非你破坏了系统,为了改变这个种子的值,C提供了srand()函数,它的原形是void srand( i

2013-08-29 14:33:36 592

原创 NDK 编译和使用静态库、动态库

NDK 编译和使用静态库、动态库情况一:编译静态库情况二:编译动态库情况三:编译动态库+静态库情况四:已有第三方静态库(动态库),编译静态库(动态库)默认所有代码和文件在$project/jni下,否则特殊说明。情况一:编译静态库文件Android.mk:LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODU

2013-08-29 14:33:34 587

原创 如何解决:Android中 Error generating final archive: Debug Certificate expired on

问题概述:在导入一个app后提示如下错误:“Error generating final archive: Debug Certificate expired on10/09/18 16:30” 原因分析:android要求所有的程序必须有签名,否则就不会安装该程序。在我们开发过程中,adt使用debug keystore,在preference->android->buid中设置。

2013-08-29 14:33:31 665

原创 android adb shell:unknown hostservice

android adb shell:unknown hostservice我们在Windows DOS窗口中输入adb shell后,会出现如下错误: adb server is out of date.  killing... ADB server didn't ACK * failed to start daemon * error: unknown host service   ,

2013-08-29 14:33:29 685

原创 浅谈Oracle VM VirtualBox连网的方式

VirtualBox是一款开源x86虚拟论文联盟http://Www.LWlm.cOm机软件,它可以在Linux和Windows主机中运行,并支持在其中安装Windows、Linux、OpenBSD等多种操作系统。VirtualBox虚拟了四种网络设备,如图所示。下面就这几种网络连接方式,做一个祥细的说明。  1、NAT(网络地址转换)方式   NAT方式是最简单的实现Guest OS上网的

2013-08-29 14:33:22 2712

原创 Android中的EABI

Android SDK里面所带的二进制库生成全部是EABI兼容的, 那么什么是EABI? 对我们有什么意义呢?1.这里现介绍一下什么是EABI(Embedded Application Binary Interface)EABI最早是从powerPC 在 UNIX V5 的ABI(Application BinaryInterface)的补充的基础上构建的, 他的木表示减少内存使用和优

2013-08-29 14:33:20 857

原创 Android反编译工具使用

以下工具一一试验可行,能看到你希望能看到的!工具下载:需用到dex2jar和JD-GUI这2个工具dex2jar下载地址:http://laichao.googlecode.com/files/dex2jar-0.0.7-SNAPSHOT.zipJD-GUI下载地址:  windows版JD-GUI:http://laichao.googlecode.com/files/jdgui.zi

2013-08-29 14:33:17 815

原创 armeabi和armeabi-v7a

ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。技术具有性能高、成本低和能耗省的特点。适用于多种领域,比如嵌入控制、消费/教育类多媒体、DSP和移动式应用等。什么是EABI?   Embedded application binary interface, 即嵌入式应用二进制接口,是描述可连接目标

2013-08-29 14:33:15 891

原创 ant编译需要的build.xm文件解疑

今天学习写build.xml,用ant编译Android应用程序。如果不知道ant是什么东东,可以百度下!可以这么说吧,大家都知道makefile文件对吧,它是make编译C/C++时要寻找的文件,在这里的build.xml在功能上类似于makefile文件,build.xml是ant编译java时要寻找的文件!在编译的过程中报如下错:arg doesn't support the n

2013-08-29 14:33:13 906

原创 Android应用程序签名详解

1、什么是签名?     如果这个问题不是放在Android开发中来问,如果是放在一个普通的版块,我想大家都知道签名的含义。可往往就是将一些生活中常用的术语放在计算机这种专业领域,大家就开始迷惑了。计算机所做的事情,或者说编程语言所做的事情,不正是在尽可能地模拟现实吗?所以,计算机中所说的签名和生活中所说的签名在本质上是一样的,它所起到的作用也是一致的!     让我们来看看,在现实生活

2013-08-29 14:33:11 695

原创 ant编译需要的build.xm文件

以下代友Copy一下,改改就可用,工具给咱不自动生成build.xml,咱可以改嘛!<?xml version="1.0"encoding="UTF-8"?><!--================================================--><!-- Build an Androidproject.                       --><

2013-08-29 14:33:09 826

原创 通过Android命令自动编译出build.x…

用途: 做自动集成编译环境.环境搭配我就不说了(SDK/环境变量等).进入cmd界面.进入项目目录.输入: android.bat list target 来查询我们现有的版本list有哪些.记住这个ID号码,下的代码面会用到.输入: android.bat update project -n ButtonDemo -t 1 -pE:\workspace\android

2013-08-29 14:33:07 568

原创 GDB调试精粹及使用实例

一:列文件清单1. List(gdb) list line1,line2二:执行程序要想运行准备调试的程序,可使用run命令,在它后面可以跟随发给该程序的任何参数,包括标准输入和标准输出说明符()和外壳通配符(*、?、[、])在内。如果你使用不带参数的run命令,gdb就再次使用你给予前一条run命令的参数,这是很有用的。利用set args 命令就可以修改发送给程序的参数,而使用

2013-08-29 14:33:05 473

原创 Android谁动了我的内存

一、 Android的内存机制    Android的程序由Java语言编写,所以Android的内存管理与Java的内存管理相似。程序员通过new为对象分配内存,所有对象在java堆内分配空间;然而对象的释放是由垃圾回收器来完成的。C/C++中的内存机制是“谁污染,谁治理”,java的就比较人性化了,给我们请了一个专门的清洁工(GC)。    那么GC怎么能够确认某一个对象是不是已经被废

2013-08-29 14:33:00 577

原创 android fail to connect to cameraservice错误

敲了一个android camera 的代码。运行后报:fail to connect to cameraservice的错误,无法解决,在网上搜索了一下,貌似大家都有这个问题,但是还是无法解决,首先,要在AndroidManifest.xml文件中添加权限允许语句:,这个是我忽略了的,本以为添加上去了就可以解决了,但是依旧是这个错误。后来在网上看到一个论坛的回复,他指出,在2.2上运行ca

2013-08-29 14:32:58 4730

原创 Android开发中调用摄像头功能详解

我们要调用摄像头的拍照功能,显然第一步必须加入调用摄像头硬件的权限,拍完照后我们要将图片保存在SD卡中,必须加入SD卡读写权限,所以第一步,我们应该在Android清单文件中加入以下代码      <uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/>      <uses-permissio

2013-08-29 14:32:56 2582

原创 System.load和System.loadLibrary

System.load 和 System.loadLibrary详解1.它们都可以用来装载库文件,不论是JNI库文件还是非JNI库文件。在任何本地方法被调用之前必须先用这个两个方法之一把相应的JNI库文件装载。2.System.load 参数为库文件的绝对路径,可以是任意路径。例如你可以这样载入一个windows平台下JNI库文件:Java代码  和 System.loadLib

2013-08-29 14:32:54 726

原创 使用Eclipse编译Android源码

前提不需要SDK,不需要ADT,通过整个工程的编译都可以生成。为了在Eclipse中调试源码如Phone、MMS、Contact……由于以前都没接触过Java、Eclipse、ADT... 这些,在网上看了N多的文章,就这篇详细,所以贴出来共享,同时加入了、自己在配置中 的TroubShooting。如果你是刚接触Android,那配置这些可能一时半会搞不定,要做好心理准备。官方配置网址:

2013-08-29 14:32:52 2695

原创 动态库与静态库的原理介绍

在UNIX的应用开发中,静态库和动态库都是我们经常用到的技术,有必要对这两个概念及其原理做一些介绍。静态库静态库是一些目标文件的集合,通常为后缀为.o 的文件,通过ar 工具打包而成,命名格式为libxxx.a ,其中xxx 为给定的静态库文件名,如libm.a,为数学函数库,用户也可以命名自己的库。在创建可执行程序的过程中,静态库同时被链接到程序代码,被主程序调用的函数目标文件连同主

2013-08-29 14:32:50 632

原创 让ubuntu下的eclipse支持GBK编码

今天,把windows下的工程导入到了Linux下eclipse中,由于以前的工程代码,都是GBK编码的,而Ubuntu默认是不支持GBK编码的。所以,首先我们要先让Ubuntu支持GBK,方法如下:修改/var/lib/locales/supported.d/local文件,在文件中添加zh_CN.GBK GBKzh_CN.GB2312 GB2312sudo dpkg-recon

2013-08-29 14:32:47 671

原创 Ubuntu bash: ./java: cannot execute binary file

问题现象描述:到orcal官网上下载了两个jdk:(1)jdk-7u9-linux-i586.tar.gz ------------>32位(2)jdk-7u9-linux-x64.tar.gz  ------------>64位没管那么多就先安装了jdk-7u9-linux-x64.tar.gz,具体安装步骤百度下吧,这里就不说了。安装后环境变量也配好后,但问题出现了:bash:

2013-08-29 14:32:45 2026

原创 linux&nbsp;.so文件详解

linux下文件的类型是不依赖于其后缀名的,但一般来讲:.o,是目标文件,相当于windows中的.obj文件.so 为共享库,是shared object,用于动态连接的,和dll差不多.a为静态库,是好多个.o合在一起,用于静态连接.la为libtool自动生成的一些共享库,vi编辑查看,主要记录了一些配置信息。可以用如下命令查看*.la文件的格式  $file *.la     

2013-08-29 14:32:43 1229

原创 Android学习笔记之AndroidManifest…

一、关于AndroidManifest.xmlAndroidManifest.xml是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities,services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。 除了能声明程序中的Activities,ContentProviders, Services, 和Intent

2013-08-29 14:32:41 616

JavaScript高级程序设计 & JavaScript权威指南

《JavaScript高级程序设计》是2006年人民邮电出版社出版的图书,作者是(美)(Nicholas C.Zakas)扎卡斯。 《Javascript权威指南》是2007年机械工业出版社出版的图书,作者是(美)弗拉纳根。

2017-06-16

XStream XML与Json转换

XStream在运行时使用Java反射机制对要进行序列化的对象树的结构进行探索,并不需要对对象作出修改。XStream可以序列化内部字段,包括私private和final字段,并且支持非公开类以及内部类。 在缺省情况下,XStream不需要配置映射关系,对象和字段将映射为同名XML元素。但是当对象和字段名与XML中的元素名不同时,XStream支持指定别名。XStream支持以方法调用的方式,或是Java 标注的方式指定别名。 XStream在进行数据类型转换时,使用系统缺省的类型转换器。同时,也支持用户自定义的类型转换器。

2016-09-01

《Maven实战》完整高清版

Maven这个词可以翻译为“知识的积累”,也可以翻译为“专家”或“内行”。本书将介绍Maven这一跨平台的项目管理工具。作为Apache组织中的一个颇为成功的开源项目,Maven主要服务于基于Java平台的项目构建、依赖管理和项目信息管理。无论是小型的开源类库项目,还是大型的企业级应用;无论是传统的瀑布式开发,还是流行的敏捷模式,Maven都能大显身手。

2015-11-13

手持通信+导航模块集成说明

BDS/GPS 有源通信/定位行业模组是针对北斗设备集成推出的一体化模块。该模块基于 公司具有完全自主知识产权的多系统多频率高性能 SoC 芯片,支持 BDS/GPS 组合导航,支 持北斗短报文通信,能够自动回传位置信息,具有体积小、功耗低、易装置等优点,特别适 合应用于手持、车载、船载等北斗产品集成。

2014-09-11

NFC终端技术规范

本标准是对NFC终端的要求,是开展NFC相关业务的依据之一。 本标准主要包括以下几方面内容:终端架构、功能要求、接口要求、终端软件要求以及性能要求。 本标准由中国移动通信有限公司技术部提出并归口。 本标准由标准归口部门负责解释。 本标准起草单位:中国移动通信有限公司研究院

2014-09-11

Android apk反编译工具

Android程序员必备开发利器,反编译Android市场下载的应用,可以很好的参考,开启属于自己的灵感!

2012-12-07

java jar文件查看器

Android程序员必备反编译工具,java .jar文件查看器,反编译利器

2012-12-07

github教程

软件工程分布式管理必看的文章,是程序开发人员必须了解的内容!

2012-10-15

eclipse shutkey

eclipse shutkey

2012-03-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除