`
文章列表
  1、Throwable类中的getStackTrace()方法,根据这个方法可以得到函数的逐层调用地址,其返回值为StackTraceElement[];2、StackTraceElement类,其中四个方法getClassName(),getFileName(),getLineNumber(),getMethodName()在调试程序打印Log时非常有 ...
本文出自:Philosophical Hacker,译文出自:开发技术前线,译者:dengshiwei 我的第一个应用非常糟糕。事实上,它糟糕得以致于我从应用市场上删除它,同时我甚至都不会在我的简历上罗列出它。如果我在开发之前能够知道一些Android开发的事情,也不会糟糕到这步田地。 本文中所罗列的事情是你在开发第一个Android应用的时候需要牢记在大脑中的。我接下来将展示的实际错误均来自于我的第一个应用程序代码中。把这些错误经验牢记心头能够帮助你开发一个让你引以为豪的应用。 
现在一起来看看Android开发人员不可错过的十款在线工具。这份清单当中包含与这些测试工具、框架以及其它重要资源相关的概述信息,希望能够帮助大家更好地完成日常工作。闲言少叙,咱们切入正题。 框架: 1) PhoneGap
在国内,很多人说程序员是吃青春饭的,一开始说过了30岁就得转行,后来又有人35岁是一道坎……看起来好像程序员真的和风尘女子一样,注定有朝一日会年老色衰不再受人青睐。 No!我要说,不是这样的! 所有的道路都通向天堂 只是要度过路上的痛苦时光 那一天我正走在路上
编程是个很伤脑伤神伤肾的工作!这点广大程序猿深有感触,笔者为大家带来facebook上的程序猿高效工作技巧,希望对大家有所帮助。 1,Days always fill up. Only plan for 4-5 hours of real work per day. 其实每天只有4-5个小时能专心编码,充分利用这些时间。 2,Work more when you’re in the zone. Relax when you’re not. 在状态的时候多干一些,不在状态时可以就去做个大保健。
抽象类与接口的区别 abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于abstract class和interface的选择显得比较随意。 其实,两者之间还是有很大的区别的,对于它们的选择甚至反映出对于问题领域本质的理解、对于设计意图的理解是否正确、合理。本文将对它们之间的区别进行一番剖析,试图给开发者提供一个在二者之间进行选择的依据。 ...
         在多线程大师Doug Lea的贡献下,在JDK1.5中加入了许多对并发特性的支持,例如:线程池。          一、简介        线程池类为 java.util.concurrent.ThreadPoolExecutor,常用构造方法为:         ThreadPoolExecutor(int c ...
       转自:http://kane-xie.iteye.com/blog/2223837          之前在项目中序列化是用thrift,性能一般,而且需要用编译器生成新的类,在序列化和反序列化的时候感觉很繁琐,因此想转到json阵营。对比了jackson,gson等框架之后,决定用fastjson,为什么呢,因为看名字感觉很快。。。   网上的说法:   fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。主要特点:快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson)强大(支持普 ...

ThreadLocal详解

    博客分类:
  • Java
        Java中的ThreadLocal类早在JDK1.2中就有了,ThreadLocal为解决多线程并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。           ThreadLocal很容易让人望文生义,想当然地认为是这是一个"本地线程"。其实ThreadLocal并不是一个Thread,而是Thread的局部变量,也许把它命名为ThreadLocalVariable更容易理解些。           ThreadLocal类的方法很简单,只有四个方法:         1.void set(Object val ...
        观察者模式又称为发布—订阅Subscriblem模式。           观察者模式(Obsrever)完美的将观察者和被观察的对象分离开。举个例子,用户界面可以作为一个观察者,业务数据是被观察者,用户界面观察业务数据的变化 ...
       参见:http://xhmj12.blogspot.com/2015/05/design-patterntemplate-method-pattern.html           模板方法(Template Method)设计模式           模板方法模式定义如下:           Template Method Pattern:  Define the skeleton of an algorithm in an  operation, deferring some steps to subclasses. Template Method lets  ...
       参见:http://xhmj12.blogspot.com/2015/05/android-appappappgoogle-playgoogle_15.html           在做Android app开发时,经常遇到需要修改app包名的情况。例如,你发布了一个app到google play市场,由于其他不符合google play政策很被下架,而你又想重新上架你的app,那么你就不得不更换你的app包名。或者测试时也经常遇到这样的需求。那么如何在现有app的代码继承上快速修改你的app包名呢?           我们可能标准的做法是:假设我们是eclipse等 ...

Git的使用——Push

    博客分类:
  • Git
        git push命令用于将本地分支的更新,推送到远程主机。它的格式与git pull命令相仿    $ git push <远程主机名> <本地分支名>:<远程分支名>         注意:分支推送顺序的写法是<来源地>:<目的地>,所以git pull是<远程分支>:<本地分支>,而git push是<本地分支>:<远程分支>          如果省略远程分支名,则表示将本地分支推送与之存在"追踪关系"的远程分支(通常两者同名),如果该远 ...
        很多人遇到过广播收不到的问题,比如Google Play推广安装广播没有收到等,诸如这些问题,又都是什么原因呢,这篇文章将进行回答。           从Android3.1(HoneyComb)也就是API12开始,Android引入了一套新的启动控制,这就是程序的停止状态。那我么看一下Google对于程序的停止状态的描述。           什么是停止状态         Starting from Addroid3.1,the system's package manager keeps track of applications that are in a ...
        Adapter设计模式           在设计模式里,适配器模式(Adapter pattern)是将一个类的接口转换成用户所期待的。一个适配使得因接口不兼容而不能在一起的工作的类工作在一起。做法是将有别与自己的接口包裹在一个已 ...
Global site tag (gtag.js) - Google Analytics