程序亦非猿

菩提本无树,程序亦非猿。


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 友链

  • 搜索

Java泛型

发表于 2016-04-23 | 更新于: 2019-02-12 | 分类于 Java | 阅读次数:
字数统计: 670 | 阅读时长 ≈ 2 分钟

前言

泛型程序设计意味着编写的代码可以被很多不同的类型的对象所重用

泛型在集合框架里拥有着非常广泛的运用,如果没有泛型估计是一大堆Object以及强转代码吧!

想想都可怕啊!

泛型类(generic class)

泛型类就是具有一个或多个类型变量的类,如

1
2
3
4
5
public class Pair<T,V>{
T first;
T second;
V value;
}

什么是类型变量?

阅读全文 »

HotFix的抉择

发表于 2016-04-22 | 更新于: 2019-02-12 | 分类于 Android | 阅读次数:
字数统计: 640 | 阅读时长 ≈ 2 分钟

HotFix 的抉择

现有框架 :

  • AndFix
  • dexposed
  • Xposed
  • Nuwa
  • HotFix

qq空间的暂时还没开源

AndFix

alibaba出品

功能:method body's replacing 即支持方法级别修复

Support

Android Version :2.3-6.0
dalvik & art runtime

优缺点

无需重启

andfix只能替换方法而不能增减新的字段,也不能下发类

阅读全文 »

第2章 创建和销毁对象

发表于 2016-04-11 | 更新于: 2019-02-12 | 分类于 读书笔记 | 阅读次数:
字数统计: 2.6k | 阅读时长 ≈ 9 分钟

第2章 创建和销毁对象

何时以及如何创建对象,何时以及如何避免创建对象
如何确保适时销毁,如何管理对象销毁前必要的清理

第1条 考虑用静态工厂方法代替构造器

静态工厂方法是一个返回类的实例的静态方法,对它其实只是一个普通的静态方法而已,需要注意的是它与设计模式中的工厂方法不同,不要弄混淆了

Java源码中的例子:

1
2
3
public static Boolean valueOf(boolean b){
return b?Boolean.TRUE:Boolean.FALSE;
}

优势

列举静态工厂方法与构造器相比,有哪些优势

阅读全文 »

我又开始更新博客了,棒

发表于 2016-04-09 | 更新于: 2019-02-12 | 阅读次数:
字数统计: 139 | 阅读时长 ≈ 1 分钟

公司给配置了电脑,所以每天用的都是公司的电脑,很多笔记文章也都放github了

而博客在自己的电脑上,导致博客长时间没更新了,也有很多以前的TODO都没有完成

去NexT官网看了,又更新了好多东西

比如给博客新增了阅读次数,好棒,添加了一下该功能~

为了什么呢?明明没什么人看—-为了打自己脸

呵呵,开心就好

恩

我又更博客了,这是个好消息

Git规范

发表于 2016-03-25 | 更新于: 2021-02-08 | 分类于 Tools | 阅读次数:
字数统计: 667 | 阅读时长 ≈ 2 分钟

分支模型

每个项目必须要有master、develop分支。
每个开发人员拥有一个自己的分支,如czn、mrfu。

master 分支

master 分支只能存在release版本的代码,并需要对每个release打对应的tag。

develop 分支

develop 由master分支检出,它作用主要是日常开发合并代码,并与master分支做交互。
当参与开发的人员较多时,可指定一个人管理develop分支,专门负责合并代码,便于管理,避免多人同时使用develop分支而出现问题。

另外当功能开发完毕后,代码合并入develop分支,测试完成通过后,merge到master分支,并在master上打tag。

阅读全文 »

Git分享

发表于 2016-03-06 | 更新于: 2021-02-08 | 分类于 Tools | 阅读次数:
字数统计: 779 | 阅读时长 ≈ 2 分钟

控制版本系统(VCS)

版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统

集中化控制系统(CVCS)

集中化控制系统都有一个单一的集中管理的服务器,保存所有文件的修订版本,客户端通过这台服务器获取文件或提交更新.

缺点

很明显,中央服务器是个中心,一旦它出了问题就会影响整个系统.

中央服务器单点故障,如果服务器一挂,那么整个系统就挂了,无法工作

甚至,中央服务器磁盘故障,很可能导致数据丢失,丢失所有历史更改记录等重要信息.

分布式版本控制系统(DVCS)

客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。因为每一次的提取操作,实际上都是一次对代码仓库的完整备份

Git–控制版本之神

简史

作者,大神 Linus Torvalds

优点:

  • 速度
  • 简单的设计
  • 对非线性开发模式的强力支持(允许上千个并行开发的分支)
  • 完全分布式
  • 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)
阅读全文 »

Git分支常用命令

发表于 2016-01-15 | 更新于: 2021-02-08 | 分类于 Tools | 阅读次数:
字数统计: 158 | 阅读时长 ≈ 1 分钟

创建分支

git branch <branchname>

git checkout -b <branchname> 创建并检出到新分支

删除分支

删除本地分支

git branch -d branchname

删除远程分支

git 1.7之前 :git push origin :branchname 注意origin后面有个空格,而:后面不能跟空格,什么鬼语法!
还好git 1.7之后可用 :git push origin --delete branchname,这个好容易理解

阅读全文 »

Android屏幕适配

发表于 2016-01-12 | 更新于: 2019-02-12 | 分类于 Android | 阅读次数:
字数统计: 607 | 阅读时长 ≈ 2 分钟

屏幕适配

Android设备众多,虽然Android会自动缩放,重新定尺寸来适应,但是you should make the effort to optimize your application for different screen sizes and densities

阅读全文 »

Android MutilDex解决方案

发表于 2016-01-06 | 更新于: 2019-02-12 | 分类于 Android | 阅读次数:
字数统计: 376 | 阅读时长 ≈ 1 分钟

前言

最近也遇到了mutildex的问题,原因是一个dex.class不能超过65536,根据官网的指示Building Apps with Over 65K Methods
解决了,记录一下步骤

step1

添加依赖 compile 'com.android.support:multidex:1.0.0'

step2

配置app的build.gradle,新增multiDexEnabled true如下:

1
2
3
defaultConfig {
multiDexEnabled true
}

step3

让App继承MultiDexApplication

step4

重写App的attachBaseContext方法
如下:

1
2
3
4
5
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}

获取当前项目的方法数

阅读全文 »

Atom学习笔记

发表于 2016-01-04 | 更新于: 2019-02-12 | 分类于 Tools | 阅读次数:
字数统计: 110 | 阅读时长 ≈ 1 分钟

#Atom官网

常用快捷键

  1. cmd+shift+p 打开命令窗口,可以运行各种菜单功能
  2. cmd+t 快速多文件切换
  3. ctrl+g 文件内跳转到指定行
  4. cmd+f 文件内查找和替换
  5. cmd+shift+f 多文件查找和替换
  6. cmd+[ 对选中内容向左缩进
  7. cmd+] 对选中中内容向右缩进
  8. ctrl+shift+m 开关cmddown实时预览
  9. cmd+w 关闭tab
阅读全文 »
1…789…15
程序亦非猿

程序亦非猿

144 日志
11 分类
101 标签
GitHub
0%
© 2015 — 2021 程序亦非猿 | Site words total count: 122.7k
由 Hexo 强力驱动
|
主题 — NexT.Gemini v5.1.4
人次 次