6 fengsehng

尚未进行身份认证

CSDN博客专家,CSDN年度博客之星,研究生期间国家安全重点实验室成员,专注于android开发以及android漏洞挖掘研究。

等级
博文 761
排名 581

安卓Context详解

外观模式定义外观模式就是复杂系统对外的简单统一接口。便于把内部的复杂和外部的简单调用隔离。Activity举例-代理模式Activity的startActivity()其实是context的子类完成的。Activity本身是context的子类,继承于ContextThemeWraper==》contextWraper==》context。contextWraper有个对象是mBase就是...

2019-06-30 23:07:56

Android的Handler机制深入浅出

1.Message设计模式和成员命令设计模式callback存储post(runnable)里面的runnabletarget就是存储处理他的handle(这里是命令设计模式,命令和执行者分离,messagequene取出来执行不会混乱)享元设计模式静态变量sPoolSync是用来对象同步的。sPoolSize计数。sPool是链表的头指针。message是享元设计模式。整个安...

2019-06-29 23:26:58

安卓Binder入门

图说架构四部分结构四部分Client,server,servicemanager,binder驱动binder内核:是一个文件,处于内核空间,能够传递跨进程的数据,Binder引用计数,建立Binder的内存空间和引用,分别对应Binder_node和Binder_ref,类似一个路由器的角色。Client:新建Client一般是通过集成AIDL.stub来完成,服务名类似域名...

2019-06-16 22:06:50

华为的文化

最近了解了一些关于华为的文化,发现华为牛逼是有原因的。1.以客户为中心这是从客户的角度,最近腾讯也在转型“产业互联网”,这个客户是谁?比如你卖给一个公司软件管理系统,虽然是员工用,但决定买不买的是老板,那么老板就是客户,那么好用就不一定能卖,而是老板满意。2.以奋斗者为本奋斗者协议还有不让雷锋吃亏扥,轮值董事长等,轮岗等。后续继续补充...

2019-02-20 23:09:59

Java和Python语言比较

背景作为一个Java老程序员,最实现一个功能,发现了python的实现代码,就直接拿过来用了,在改动的过程中,去官网看了Pyhton的语法,发现了和Java的几点不同,算是抛砖引玉,如有错误,欢迎指正~类型Java是周所周知的强类型语言,这个优势在大型项目中体现的很明显,比如:阿里和美团的后都是Java语言,但是也引入了不够灵活的毛病。Python是弱类型语言更灵活一些。结...

2018-09-09 19:18:59

产品方法论(三)

《结网》系列读书笔记这本书已经被陆续的读完了,总结总是落后半拍,坏处是容易遗漏细节,不过这样也有好处:那就是总结思考,把对我印象最深的写出来。产品经理的工作流程检查和体验产品腾讯的ponyma不只是作为ceo,更是腾讯产品的首席体验官,他在半夜三经把产品改进体验的邮件一度被传为美谈。作为产品经理,我们一定要使用我们的产品,你自己都不使用,怎么指望别人使用,只有在不断的...

2018-08-19 21:40:15

产品方法论(二)

《结网》读书笔记系列概念文件化这是非常重要的一个步骤,我们需要一个文件贯穿产品开发的始终,作为指导的明灯。我们常规意义的理解就是产品文档,其实形似不重要,主要是内容。1.结构图一定要描述清楚产品的结构,可以采用MECE原则,也就是互相排序,完全穷尽额思路。通俗点就是面向对象的思路思考产品,然后分类阐述产品的功能,越详细越好。2.说明文档这个每个公司都有规范吧,最接近常规...

2018-08-18 19:27:35

产品方法论(一)

这是我的《结网》系列读书笔记和思考。《结网》读书笔记产品初级要考虑的问题我们初次操刀一个产品时候,除了考虑这个产品本真,哈还有一个比较重要的事情是:1.我们的竞品是什么?2.如何跟踪行业动态和行业数据?很好的回答这两个问题,可以保证你及时跟踪行业的动态,这可以很大限度的避免闭门造车,物极必反,但也不要一样的模仿,也要消化吸收。确认好产品概念1.不要拒绝cop...

2018-08-05 20:58:33

ReentrantReadWriteLock(互斥)和CountDownLatch(同步)解析

今天讲一下Java常用的两个类,一个是常用的互斥类,一个是同步。ReentrantReadWriteLockReentrantReadWriteLock和同一个包下面的ReentrantLock都是用于互斥。区别是ReentrantReadWriteLock效率更高,分为读写锁。读锁:ReentrantReadWriteLock.readLock.lock()写锁:Reentran...

2018-07-09 22:45:10

Android源码设计模式-代理模式

简要概括代理模式顾名思义就是,对实际的对象新加一个代理类,来代理被代理类的一些操作。分类使用场景1.虚拟代理:代理一个比较初始化比较耗费资源的类,实际使用的时候再初始化2.远程代理:不在同一个进程,也就是不在同一个内存区域,所以需要在当前进程内存空间代理一个远程的对象。官方定义为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用...

2018-07-08 21:15:53

Android源码设计模式-中介者模式

啰嗦两句在编程领域中,经常会听到有人问什么是编程的哲学?我觉得如果有的话,那就是设计模式了,设计模式是一种凌驾于具体编程细节的学问。为了这样类比呢?哲学的一个特征是科学的科学,也是凌驾于基础学科的一种学问。所以设计模式符合变成哲学的概念。编程的本质就是用程序映射整个显示世界,而这里面最受欢迎的就是面向对象设计了,这也是大型开发的一个基础。在面向对象语言中,避开具体的语法规则不说,其实就是对...

2018-07-07 23:08:50

Android源码设计模式-模板模式

模板模式模板模式在Android源码中出现的很多,比如Activity和Srervice的生命周期,启动过程,还有AsyncTask类等。模板模式可以理解为一种算法流程的集合,可以通过构造函数来灵活控制流程,实现抽象方法,来具体化细节。使用1.具有相似流程的算法,可以考虑抽象出模板。2.在重构过程中,可以把相似的子类抽象出一个模板父类,比如我们Android的BaseActiv...

2018-07-01 17:05:20

Android启动过程剖析-深入浅出

背景Android应用的启动过程是一个绕不开的问题,不但对于我们开发有帮助,而且从操作系统的角度看问题,提高我们的技术视野。第一个阶段:系统启动1.首先是Android系统启动.这时候第一进程是zygote。zygote英文是受精软的意思(一查吓一跳)。为啥是受精软呢?因为系统的所有进程都是由zygote进程fork而来。zygote最先启动的第一个进程是鼎鼎大名的SystemSe...

2018-06-30 22:45:07

Android中的源码设计模式-备忘录模式

定义备忘录设计模式的定义就是把对象的状态记录和管理委托给外界处理,用以维持自己的封闭性。角色1.笔记本:很多的内部状态需要被建立一个备忘录来管理,创建和取出备忘录来恢复状态。2.备忘录类:实体类用来记录笔记本的状态3.备忘录管理类:用于管理备忘录,存储和取出。在Android中的典型使用状态保存是Android中备忘录模式的典型使用,主要对应Activity的两...

2018-06-24 19:36:25

一文学会Gradle安装配置:透过现象看本质

背景相信很多人第一次安装androidstudio跑工程时候,会遇到一个问题:androidsutdio第一次打开一个工程巨慢怎么办?或者是gradleprojectsyncfilded错误有没有想过androidstudio是如何找到我们的gardle的?原理关于gradle的配置分为几个部分1.gardle的下载和配置以及原理2.gradle插件的下载和配置以...

2018-05-27 19:05:34

Java volitile关键字详解

郑重说明根据https://www.cnblogs.com/dolphin0520/p/3920373.html改编,做了适当删减。1.背景在Java5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java5之后,volatile关键字才得以重获生机。  volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于v...

2018-04-25 14:30:02

区块链将重新定义世界

区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人们的生产力,电力解决了人们基本的生活需求,互联网彻底改变了信息传递的方式,那么区块链作为构造信任的机器,将可能彻底改变整个人类社会价值传递的方式。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法....

2018-01-15 01:20:56

解读年终绩效的奥秘

感谢陈皓,原文链接:https://coolshell.cn/articles/17972.html前些天,有几个网友找我谈绩效考核的事,都是在绩效上被差评的朋友。在大致了解情况后,我发现他们感到沮丧和郁闷的原因,不全是自己没有做好事情,他们对于自己没有做好公司交给的事,一方面,持一些疑义,因为我很明显地感到他们和公司对一件是否做好的标准定义有误差,另一方面,他们对于自己的工作上的问题也承...

2018-01-07 17:32:23

2018年人工智能13大预测

2017年被《华尔街日报》、《福布斯》和《财富》等刊物称为“人工智能之年”。各种深度学习在线课程不断推出,接受相关教育的途径也更多了;语音识别准确性的记录被多次打破。此外,牛津大学、麻省总医院和通用电气旗下的AvitasSystems等研究院校和机构也纷纷在深度学习超级计算机领域进行投资。2017年人工智能领域取得了许多里程碑式的成果,而以上只是其中一部分。那么,以后人工智能又会如何发展...

2018-01-06 17:29:18

0基础如何入门人工智能?

一、人工智能的发展现状1.1概念根据维基百科的解释,人工智能是被机器展示的智力,与人类和其他动物的自然智能相反,在计算机科学中AI研究被定义为“代理人软件程序”:任何能够感受周围环境并且能最大化它成功机会的设备。1.2重大事件2016年3月,AlphaGo与当时世界排名第四、职业九段棋手李世石,进行围棋人机大战,以4:1总比分获胜。2016年10月...

2018-01-03 01:00:39
CSDN身份
  • 博客专家
奖章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 博客之星
    博客之星
    授予通过"CSDN博客之星评选"中脱颖而出的十大博客之星称号的用户。
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周上午根据用户上周的博文发布情况由系统自动颁发。