- 博客(66)
- 资源 (7)
- 收藏
- 关注
转载 Java中的Copy-On-Write容器
聊聊并发-Java中的Copy-On-Write容器Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现的并发容器,它们是CopyO
2016-02-09 12:53:34
565
转载 Stomp协议学习与实战
最近工作中使用到Stomp协议,现在做个总结! Stomp是一个简单的消息文本协议,它的设计核心理念就是简单与可用性,官方文档:http://stomp.github.com/stomp-specification-1.1.html 现在我们就来实践一下Stomp协议,你需要的是: 1.一个支持stomp消息协议的messaging server(譬如activemq,ra
2016-02-04 17:13:27
653
翻译 android studio调试
alt+f8 debug时选中查看值f8相当于eclipse的f6跳到下一步shift+f8相当于eclipse的f8跳到下一个断点,也相当于eclipse的f7跳出函数f7相当于eclipse的f5就是进入到代码alt+shift+f7这个是强制进入代码ctrl+shift+f9 debug运行java类ctrl+shift+f10正常运行java类command+f
2015-08-02 16:00:19
459
翻译 apk防止重新签名
int getSignature(String packageName) {PackageManager pm = getPackageManager();PackageInfo pi = null;int sig = 0;try {pi = pm.getPackageInfo(packageName, PackageManager.GET_SIGNATURES);Sign
2015-07-27 23:48:07
813
原创 防止apk被捆绑加入的判断
今天了解了下apk被捆绑,查看查找了下有没有办法判断当前activity是从哪个activity跳转过来的,android api中只有getCallingActivity()函数,但是不通过startActivityForResult跳转啊的话返回null,因此只能找别的方法了。后来查到可以通过如下代码,来判断是从哪个activity跳过来的ActivityManager am = (Act
2015-07-27 17:43:20
766
转载 ThreadPoolExecutor运转机制详解
最近发现几起对ThreadPoolExecutor的误用,其中包括自己,发现都是因为没有仔细看注释和内部运转机制,想当然的揣测参数导致,先看一下新建一个ThreadPoolExecutor的构建参数:[java] view plaincopypublic ThreadPoolExecutor(int corePoolSize,
2015-07-16 21:53:27
418
转载 Java并发编程:Callable、Future和FutureTask
Java并发编程:Callable、Future和FutureTask 在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。 而自从Jav
2015-07-16 21:32:07
398
转载 linux md5sum用法
MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改。MD5全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意长度的信息逐位进行计算,产生一个二进制长度为128位(十六进制长度就是32位)的“指纹”(或称“报文摘要”),不同的文件产生相 同的报文摘要的可能性是非常非常之小的。 在linux或Unix上,md5sum是用来计算和校验文件报文摘要的工
2015-07-05 12:39:49
622
转载 Android工程文件下assets文件夹与res文件夹的区别
1.assets:不会在R.java文件下生成相应的标记,assets文件夹可以自己创建文件夹,必须使用AssetsManager类进行访问,存放到这里的资源在运行打包的时候都会打入程序安装包中,2.res:会在R.java文件下生成标记,这里的资源会在运行打包操作的时候判断哪些被使用到了,没有被使用到的文件资源是不会打包到安装包中的。res/raw和assets文件夹来存放不需要
2015-07-03 15:23:59
951
转载 Activity有四种加载模式:standard(默认), singleTop, singleTask和 singleInstance
Activity有四种加载模式:standard(默认), singleTop, singleTask和 singleInstance。以下逐一举例说明他们的区别: standard:Activity的默认加载方法,即使某个Activity在Task栈中已经存在,另一个activity通过Intent跳转到该activity,同样会新创建一个实例压入栈中。例如:现在栈的情况为:A
2015-07-02 22:31:26
430
转载 Android模拟 HTTP multipart/form-data 请求协议信息实现图片上传
问题:Android应用中,当遇到填写用户信息、发表评论等操作,不可避免会遇到“form表单操作”(类似web form操作)上传图片的功能。在这种情况下,使用Android的HTTPConnection/ ApacheHTTP 通过POST 和GET的方式就实现不了。解决方法:Android客户端通过模拟 HTTP multipart/form-data 请求协议信息
2015-06-21 20:49:28
442
转载 利用LD_PRELOAD进行hook
loader在进行动态链接的时候,会将有相同符号名的符号覆盖成LD_PRELOAD指定的so文件中的符号。换句话说,可以用我们自己的so库中的函数替换原来库里有的函数,从而达到hook的目的。这和Windows下通过修改import table来hook API很类似。相比较之下,LD_PRELOAD更方便了,都不用自己写代码了,系统的loader会帮我们搞定。但是LD_PRELOAD有个限制:只
2015-02-16 22:04:34
985
原创 android 运行时生成dex文件,并装载调用
android apk生成过程如下图所示从图可看出是把java文件通过java编译工具编译成class文件,再通过dex工具把class文件转成dex文件因为好奇,从网上看到运行时生成class文件,再转成dex文件,动态加载调用的写法,和大家分享。package org.jamruby.javassistsample;import java.io.File;import j
2014-12-31 13:30:54
1599
转载 Java:对象的强、软、弱和虚引用
Blog: [url]http://zhangjunhd.blog.51cto.com/[/url]1.对象的强、软、弱和虚引用在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。这4种
2014-12-18 18:29:32
407
翻译 android电池温度报警
#include #include #include #include #include #include #include #include #include #include #include #define LOGV(...) __android_log_print(ANDROID_LOG_VERBOSE, "battery_warning",__VA_ARGS__)
2014-10-28 16:41:24
4944
原创 Samba 服务器的最简配置
3.1 Ubuntu samba 配置的安装: sudo apt-get install samba smbfs smbclient 3.2 创建 Ubuntu Samba 配置文件: 3.2.1 保存现有的配置文件 sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak 3.2.2 修改现配置文件 sudo vi /
2014-10-22 22:00:09
452
原创 开启TELNET服务
2.1 安装 xinetd telnetd sudo apt-get install xinetd telnetd 2.2 增加 telnet 服务 sudo vi /etc/inetd.conf 并加入以下一行: telnet stream tcp nowait telnetd /usr/sbin/tcpd /usr/sbin/in.telnetd 2.
2014-10-22 21:47:08
505
原创 ubuntu下tft服务器和nfs服务器的搭建
ubuntu安装tftp服务器1.安装包 sudo apt-get install tftp-hpa tftpd-hpa (前者客户程序,后者服务程序) sudo apt-get install openbsd-inetd sudo apt-get install xinetd 2.建tftp共享目录 mkdir ~/tftpboot 3.sudo vim /e
2014-06-21 15:04:38
852
转载 Android.mk中call all-subdir-makefiles和call all-makefiles-under,$(LOCAL_PATH)的区别
转之http://blog.youkuaiyun.com/jackyu613/article/details/5949324 在写Android.mk文件时,call all-subdir-makefiles和call all-makefiles-under,$(LOCAL_PATH)是有区别的。 前者表示“当前目录下没有需要编译的文件,请向子目录深入”,是告诉编译器继续向目
2014-04-22 21:25:49
1440
转载 Android权限之sharedUserId和签名
转自:http://blog.youkuaiyun.com/hmg25/article/details/6447067 最近在做个东西,巧合碰到了sharedUserId的问题,所以收集了一些资料,存存档备份。 安装在设备中的每一个apk文件,Android给每个APK进程分配一个单独的用户空间,其manifest中的userid就是对应一个Linux用户都会被分配到一个属于自己的统一
2014-04-22 20:07:29
522
转载 Android系统权限和root权限
转之http://blog.youkuaiyun.com/superkris/article/details/7709504Android权限说明Android系统是运行在Linux内核上的,Android与Linux分别有自己的一套严格的安全及权限机制,Android系统权限相关的内容,(一)linux文件系统上的权限-rwxr-x--x system system
2014-04-22 19:38:27
854
转载 LOCAL_MODULE_TAGS 选项说明
LOCAL_MODULE_TAGS :=user eng tests optionaluser: 指该模块只在user版本下才编译 eng: 指该模块只在eng版本下才编译 tests: 指该模块只在tests版本下才编译optional:指该模块在所有版本下都编译 eng This is the default flavor. A plain "make" is t
2014-04-22 19:04:26
473
转载 C语言库——静态库、共享库
我们在编写一个C语言程序的时候,经常会遇到好多重复或常用的部分,如果每次都重新编写固然是可以的,不过那样会大大降低工作效率,并且影响代码的可读性,更不利于后期的代码维护。我们可以把他们制作成相应的功能函数,使用时直接调用就会很方便,还可以进行后期的功能升级。 例如我要在一段代码中多次交换两个变量的值,我可以在代码中多次写入i=x;x=y;y=i; 不过这样未
2014-04-22 18:53:48
1540
转载 Android的文件系统结构 .
/******************************************************************************************** * author:conowen@大钟
2014-04-21 19:27:16
476
转载 浅谈https\ssl\数字证书
http://www.cnblogs.com/P_Chou/archive/2010/12/27/https-ssl-certification.html全球可信的SSL数字证书申请:http://cn.globalsign.com/ 在互联网安全通信方式上,目前用的最多的就是https配合ssl和数字证书来保证传输和认证安全了。本文追本溯源围绕这个模式谈一谈。
2014-03-27 22:33:05
459
翻译 android截屏命令
adb shell screencap /mnt/sdcard/test.png代码Runtime.getRuntime().exec("screencap /mnt/sdcard/test.png");
2014-03-26 20:53:09
556
原创 String 和 CharSequence
android中好多View的setText()方法中的参数类型为CharSequence,一直没有去细看今天查看文档后,原来CharSequence是个接口,它的子类有:AlteredCharSequence, CharBuffer, Editable, GetChars, Spannable, SpannableString, SpannableStringBuilder, S
2014-03-16 20:38:26
638
转载 git基础
Git是一个分布式的版本控制工具,本篇文章从介绍Git开始,重点在于介绍Git的基本命令和使用技巧,让你尝试使用Git的同时,体验到原来一个版本控制工具可以对开发产生如此之多的影响,文章分为两部分,第一部分介绍Git的一些常用命令,其中穿插介绍Git的基本概念和原理,第二篇重点介绍 Git的使用技巧,最后会在Git Hub上创建一个开源项目开启你的Git实战之旅1、Git是什么
2014-03-15 00:53:55
449
翻译 android AsyncTask类
AsyncTask是android中异步任务类,可以直接更新UI线程。功能和Thread+Handler一样,但要注意,AsyncTask一般为几秒种地耗时操作,可以说为轻量级的。如遇到长时间的耗时操作,建议使用java.util.concurrent 包下的线程池的操作Executor, ThreadPoolExecutor 和 FutureTask.AsyncTask一般定义三种参数 Pa
2014-03-12 23:53:12
399
转载 详细解析Java中抽象类和接口的区别
在Java语言中, abstract class 和interface是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进 行抽象类定义时对于abstract class和interface的选择显得比较随意。其实,两者
2014-03-12 22:23:26
414
转载 ConcurrentHashMap原理分析
集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap)。这篇文章主要分析jdk1.5的3种并发集合类型(concurrent,copyonright,queue)中的ConcurrentHashMap,让我们从原理上细致的了解它们,能够让我们在深度项目开发中获益非浅
2014-03-03 17:44:46
461
原创 typedef const int * const * SIZE
今天在一个库头文件中看到类似于“typedef const int * const * SIZE”的这种写法,看了半天才明白。typedef const int * const * SIZE 是把SIZE定义为常量指针,即const * SIZE等价于const int *
2014-03-01 00:00:34
777
转载 c语言实现面向对象编程
介简: Redy的开发语言是C,但在源码中,有很多地方都使用到了面向对象编程的方法,例如:在基本数据类型这一个模块,所有的数据类型都继承robject;在抽象语法树模块,所有的节点都继承astobjct。在linux内核中,也有很多是使用的面向对象方法,在虚拟文件系统,驱动模型中都可以看到。c语言是一种结构化编程语言,以模块工能和处理过程设计为主,实现数据与代码分隔化。面向对象
2014-02-28 17:42:36
677
转载 Android音频架构概览
FROM:http://www.bobbog.com/archives/147============================一、架构图 二、MediaServer初始化所有的media服务都在进程mediaserver里。其代码在framework/base/media/mediaserver/main_mediaserver.c
2014-02-27 11:05:16
659
原创 blackberry10平台下Phonegap开发
Bb10下Phonegap开发环境搭建 一.Native 环境搭建1.Install the Blackberry Native Sdk安装完后环境变量配置My Computer → Properties → Advanced →Environment Variables.2.Install the Simulator 官网下载安装模拟器,下载安装VMwar
2014-02-25 13:12:33
666
转载 Android音频系统之音频基础
第1章 音频系统转载请注明:LXS, http://blog.youkuaiyun.com/uiop78uiop78/article/details/8787779对于一部嵌入式设备来说,除了若干基础功能外(比如手机通话、短信),最重要的可能就是多媒体了——那么一个最简单的问题,什么是多媒体呢?这个术语对应的英文单词是“Multi-Media”,直译过来就是多媒体。名称就
2014-02-20 19:26:30
957
1
转载 Linux写时拷贝技术(copy-on-write)
COW技术初窥: 在Linux程序中,fork()会产生一个和父进程完全相同的子进程,但子进程在此后多会exec系统调用,出于效率考虑,linux中引入了“写时复制“技术,也就是只有进程空间的各段的内容要发生变化时,才会将父进程的内容复制一份给子进程。 那么子进程的物理空间没有代码,怎么去取指令执行exec系统调用呢? 在fork之后exec之
2014-02-17 13:58:57
529
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人