摘要:
Java GC机制和对象finalize函数的一些要点总结。 阅读全文
摘要:
Spring框架使用中注入为空是一个比较头疼的问题,遇到Webservice和Spring框架配合时,这个问题更容易出现并很难发现问题的原因。在项目中遇到这个问题,采用xfire通常的services.xml配置方法发布Webservice,出现Bean注入为空的问题,直接手动注入,加@Component注解并添加包扫描等各种方法都无效,后来发现采用org.codehaus.xfire.spring.XFireSpringServlet名称的servlet class并调整配置方法后注入成功 阅读全文
摘要:
http请求数据包的格式:头部(request line + header)+ 数据(data),响应也由两个个部分组成,分别是:响应头(状态行+消息报头)+响应正文。GET和POST两种方法都是将数据送到服务器,HTTP标准包含这两种方法是为了达到不同的目的。 阅读全文
摘要:
Tomcat是一个小型服务器,或者说是Servlet和Java Bean的容器,为他们提供运行的环境,实现对HTTP请求的处理,建立HTTP协议和Java web程序直接的桥梁,本文介绍了Tomcat的组成和框架图,以及从接收到一个来自浏览器的HTTP请求,定位到调用的Servlet到最后返回请求响应的过程。 阅读全文
摘要:
指针本身也是一个值,它的值是所指向对象的地址。指针传递参数本质上是值传递的方式。改变指针指向即改变指针的值,所以在函数内改变指针指向返回后无效。双重星号传递的不再是b指针的值,而是通过&b传递的b指针的地址,此时是参数是引用传递的,可以改变指针指向。 阅读全文
摘要:
排序算法可以说是一项基本功,解决实际问题中经常遇到,针对实际数据的特点选择合适的排序算法可以使程序获得更高的效率,有时候排序的稳定性还是实际问题中必须考虑的,这篇博客对常见的排序算法进行整理,包括:插入排序、选择排序、冒泡排序、快速排序、堆排序、归并排序、希尔排序、二叉树排序、计数排序、桶排序、基数排序。分析比较排序的复杂度下界推导过程,对每种排序给出了实现代码,并分析时间复杂度、空间复杂度和稳定性。代码中的bug欢迎指出,一起探讨。 阅读全文
摘要:
androguard是一款不错的静态分析工具,几乎覆盖了所有静态分析的基础工作,可以方便的获取静态分析需要的信息,这受益于将APK文件转换为python对象的设计思想。另外将反向工程的部分信息可视化也对应用分析带来很大的帮助,恶意程序检测和风险分析也是锦上添花的一笔。保存恶意方法的签名信息是一个很好的思路,比使用程序签名的方法更有效。如果能熟练运用此工具,可以在APK分析中更得心应手。 阅读全文
摘要:
C++中最容易出错的地方莫过于指针了,指针问题主要有两类,一是内存泄露,二是无效引用。Android底层是由C++实现的,工程师在指针和对象的管理上也下了不少的功夫,实现的智能指针也不仅仅是多一个引用则引用数加一,移除一个引用引用数减一,为0后删除那么简单。可以说Android的智能指针是一套体系,实现的相当精妙。轻量级指针LightRefBase实现了基本的智能指针功能,强指针和弱指针解决了循环引用中类死锁问题引起的内存泄露。 阅读全文
摘要:
手机上安装了安全软件,是否能有效的检测出恶意软件呢?本篇博客针对LBE安全大师、腾讯安全管家和360手机卫士做出一系列实验。结论是:LBE和腾讯手机管家识别恶意软件时通过类的URI,只要包名和类名符合恶意程序特征,就会报恶意程序,即使这个程序什么都不做,这就会造成很多误报情况发生,而且恶意程序可以通过更换包名和类名的方法绕过检测;360手机卫士是通过签名来识别恶意程序的,对程序重签名可以绕过这种检测方法。 阅读全文
摘要:
福布斯盘点鲍尔默功过:微软市值损半但利润增近三倍。为什么利润增长这么多而市值就减少,并且减少如此多。科技公司从诞生,发展到上市,要不断和资本打交道,从开始时创始人的积累,到天使投资,到风险投资,私募股票基金,最后上市和投资银行打交道,受华尔街的影响,资本是科技公司的血液,科技公司需要依靠资本获得发展,同时又要避免迎合华尔街短期期望而影响长期发展。 阅读全文