自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

https://github.com/androidfans

一般都发安卓相关的东西

  • 博客(34)
  • 收藏
  • 关注

原创 递归转非递归

这里写自定义目录标题平面列表快排的非递归写法平面列表题目描述给定一个列表,该列表中的每个要素要么是个列表,要么是整数。将其变成一个只包含整数的简单列表。如果给定的列表中的要素本身也是一个列表,那么它也可以包含列表。您在真实的面试中是否遇到过这个题?样例给定 [1,2,[1,2]],返回 [1,2,1,2]。给定 [4,[3,[2,[1]]]],返回 [4,3,2,1]。挑战请...

2018-12-02 19:20:16 276

原创 MAC使用注意事项

MAC使用注意事项16年的学生生涯这个月彻底结束了, 在家休养了几天之后. 我就很快赶到深圳入职了, 以后就从一个学生变成Tencenter啦. 公司竟然突然很壕的允许我们Android工程师也配置iMac. 虽然一直没有用过,但是早就对mac用来写代码的便利性有所耳闻了, 所以我就毫不犹豫的在入职时选择了imac作为开发电脑. 第一次使用mac,有一些需要注意的点这里做一下记录.iTerm2 +

2017-07-09 21:15:07 1016

原创 腾讯TST现场面试,技术面+HR面(失败)

27号去深圳腾讯参加了TST现场的面试,马上还要出发去杭州面网易.出发前赶紧送上面经一篇.技术面技术面从9点多聊到11点多,大约两个小时,虽然聊了两个小时,但是面经其实不好写.,技术面和之前的所有面试都很不一样.面试官非常有水平,问的问题大多是开放性的问题.一般的面试技巧很难发挥作用.如果碰到这种,大家就根据自身实力发挥吧.先罗列一下问题吧:编程语言编译的过程同样的逻辑,golang的二进制代码

2016-03-28 12:31:53 3179

原创 阿里二面(通过)

阿里二面一共面了半个小时,问的问题如下:项目Handler机制泛型擦除的补偿机制(Signature)Android动态加载机制(代理模式 + 黑科技动态创建模式)Android的热部署最近看什么书(答了重看计算机网络,面试官问了我下一个问题)访问淘宝的全过程Android系统C代码加载图片的相关算法(这个没答

2016-03-22 15:38:55 2487

原创 2016春招实习生腾讯一面(通过)

昨天过了腾讯的内推实习一面,写篇面经攒攒人品.楼主三本,内推是一周前内推的,感谢一群的小宁姐帮忙内推,sng事业群,qq音乐项目.由于别人内推都是第二天就有电话,而楼主的迟迟不来,所以楼主就以为肯定因为学校又挂了. 楼主昨晚正在刷算法题.突然在舍友们”上单傻逼”的呼声中,楼主的手机突然响起.一看来自广东,楼主并没有什么广东朋友,所以以为可能是骗子电话啥的.本来准备挂掉的,后来一想深圳不也是广东省的

2016-03-08 19:38:50 1381

原创 Aexi(8)-Caret位置标记的再思考

新的位置标记方法Aexi项目的开发已经闲置了很长时间了.从上次闲置下来之后到今天的这么长时间里面,我去进行了实习,并且在实习结束之后,花了几个月时间学习了计算机科学与技术专业的几门基础课程.现在,这些基础课程已经学的差不多了,于是Aexi的开发又重新开始了. 在之前的Aexi实现中,一直有一个比较大的问题就是对Caret位置的表示方法,在之前的Aexi实现中,Caret的位置表示有三种方法,第一种

2015-12-20 15:57:16 616

原创 无法反射到想要的构造函数时该如何根据Class对象构造Class实例?

这还是一个在开发JPJson的过程中发现的问题.在确定JPJson能够接受的javaBean的Class定义时,我原本想严格按照JavaBean的定义来. 即类中只有private的Field和为想暴露的Field提供get和set方法.但是在实现之前我还是测试了一下Gson是如何做的.在测试Gson时,我发现Gson的适应能力是非常强的.类中只要有这个Field,那么Gson就会把数据attac

2015-12-15 01:12:43 783 1

原创 如何在运行时获取泛型的类型

如何在运行时获取泛型的类型标签(空格分隔): 技术分享JPJson基本介绍项目的Github地址:https://github.com/androidfans/JPJson 最近基于JParsec开发了JPJson这样一个Json解析库.对外的接口模仿了Google的Gson,用户只需要定义一个JavaBean,然后调用JPJson的fromJson()方法,传入一段json字符串以及一个Clas

2015-12-15 00:53:47 1341

原创 TDD开发实践

JParsec 与 JPJson最近两天写了两个项目,一个是JParsec,另一个是JPJson.JParsecJParsec是Parsec的Java版本实现.由于暑假实习的时候已经写过了JSParsec,所以JParsec写起来还算是轻车熟路.但是说实话,动态语言写Parsec这种东西还是比Java这种静态的,朴素的纯面向对象语言写起来要舒服很多.由于JParsec涉及的类型转换比较多,所以写完J

2015-12-14 21:35:07 1032

原创 View的绘制流程入门.对郭霖大大文章知识小补充

看郭霖大大的博客看晕了,经过多番找资料硬啃,终于把这一块给啃熟了.下面根据自己的理解对郭大的博客做一个简单解释吧.不知道会不会有和我一样笨的小白,如果有的话就来一起交流吧. 主要明确几个问题:一个View的大小到底是在哪?由谁决定的?郭霖大大的文章写了一大串,很多流程,.但是大家看到最后的话还是应该可以知道,一个View的大小是由它自己的setMeasuredDimension(width, he

2015-12-09 15:08:37 1662 3

原创 Java语法知识 --整理自《thingking in Java》

Java语法知识 –整理自《thingking in Java》 本文没有整理集合框架以及多线程的相关知识.集合框架以及多线程将会专门开出多篇源码阅读笔记类博文.String s; 创建了一个引用,而不是一个对象.如果此时给对象发消息就会返回一个运行时错误.String s = “asdf”;这里用到了一个特性 : 字符串可以用带引号的文本初始化.基本类型 基本类型 大小 char

2015-11-21 00:08:09 644

原创 当刘小立访问Google时,刘小立如何能访问? ---《计算机网络-自顶向下方法》

当刘小立访问Google时,刘小立如何能访问? —《计算机网络-自顶向下方法》标签: 网络 校招 面试 读书笔记因为现在的网络设备多是集成的设备.为了简化,我们认为宿舍内的光猫是一个透明的调制解调器.虽然现在的猫设备都集成了路由器和NAT的功能. 学校不会给每个宿舍分配一个公网IP地址,所以在宿舍子网中可能还有一层NAT.为了简单起见,我们假定学校给每个宿舍都分配了一个IP地址.准备:DHCP、U

2015-11-08 16:02:23 1099

原创 《现代操作系统》读书笔记---死锁篇

《现代操作系统》读书笔记—死锁篇标签: 读书笔记 校招 操作系统 面试资源可剥夺资源:是指虽然资源占有者进程需要使用该资源,但另一个进程可以强行把该资源从占有者进程处剥夺来归自己使用。 不可剥夺资源:是指除占有者进程不再需要使用该资源而主动释放资源,其他进程不得在占有者进程使用资源过程中强行剥夺。死锁概述死锁定义如果一个进程集合中的每个进程都在等待只能由该进程集合中的其他进程才能引发的事件,那么,

2015-11-07 15:41:38 982

原创 《现代操作系统》读书笔记---进程与线程篇

《现代操作系统》读书笔记—进程与线程篇#进程 ##进程模型 计算机上的所有可运行的软件,通常包括操作系统,被组织成若干顺序进程(squential process),简称进程(process).一个进程就是一个正在运行的实例,包括程序计数器、寄存器和变量的当前值。从概念上说,每个程序拥有它自己的CPU.然而实际上是CPU在多个进程间切换. 在UNIX系统中,可以使用fork()系统调用创建系

2015-11-06 19:27:37 1167

原创 《现代操作系统》读书笔记---文件系统篇

《现代操作系统》读书笔记—文件系统篇文件是进程创建的信息逻辑单元.一个磁盘一般含有几千甚至几百万个文件,每个文件是独立于其他文件的.文件不仅仅被用来对磁盘建模,以替代对随机存储器(RAM)建模.事实上,每个文件都是一种地址空间.文件是受操作系统管理的,有关文件的构造、命名、存取、使用、保护、实现和管理方法都是操作系统设计的主要内容。从总体上看,操作系统处理文件的部分称为文件系统。文件文件命名文件具体

2015-11-04 22:23:26 1610

原创 《现代操作系统》读书笔记-内存管理篇

《现代操作系统》读书笔记-内存管理篇标签: 读书笔记 校招 操作系统 面试内存管理基础内存管理的功能内存的分配和回收;地址变换;扩充内存;存储保护。应用程序的编译、链接与装入从源程序到执行的进程,经历了编译、链接、装入3个步骤;地址转换将逻辑地址转换为物理地址,这个过程叫做重定位。程序的链接有3种方式:静态链接、装入时动态链接;程序的装入也有3种方式:绝对装入、可重定位装入、动态运

2015-11-02 22:47:21 1673

原创 《计算机网络-自顶向下方法》读书笔记-网络层篇

《计算机网络-自顶向下方法》读书笔记-网络层篇网络层服务从发送主机向接收主机传送数据段(segment ) 发送主机:将数据段封装到数据报(datagram )中接收主机:向传输层交付数据段(segment )每个主机和路由器都运行网络层协议路由器检验所有穿越它的IP数据报的头部域决策如何处理IP数据报 网络层核心功能-转发与路由转发:将分组从路由器的输入端口转移到合适的输出端口 路由:确

2015-10-30 12:56:14 3832

原创 《计算机网络-自顶向下方法》读书笔记-传输层篇

《计算机网络-自顶向下方法》读书笔记-传输层篇标签: 网络 读书笔记 校招 面试概述和传输层服务传输层协议为运行在不同Host上的进程提供了一种逻辑通信机制端系统运行传输层协议发送方 : 将应用递交的消息分成一个或多个Segment,并向下穿给网络层接收方 : 将接收到的segment组装成消息,并向上交给应用层 .传输层可以为应用提供的协议主要有TCP和UDP传输层VS网络层 网络层:

2015-10-29 20:30:51 3715 1

原创 《计算机网络-自顶向下方法》读书笔记-链路层篇

《计算机网络-自顶向下方法》读书笔记-链路层篇链路层概述链路层主要使用的信道包括:点对点信道 : 这种信道使用一对一的点对点通信方式广播信道 : 这种信道采用一对多的广播通信方式,因此过程比较复杂.广播信道上主机众多,我们必须使用专用的共享信道协议来协调这些主机的数据发送链路层可能提供的服务链路层可能提供的服务包括: 服务 描述 成帧 在每个数据报传输时,用链路层帧将其封装起来.

2015-10-26 23:58:50 2257 1

原创 《图解HTTP》读书笔记

《图解HTTP》知识点整理了解WEB及网络基础URIURI是uniform locator identifier的缩写,意义为统一资源标识符.包括两个子分类,一个是URL(uniform resource locator),另一个是URN(uniform resource name). 知识拓展 URL的缺陷是如果资源被移走了,那么就无法对对象进行描述了.URN的目标就是无论对象搬移到什么地方

2015-10-25 22:10:37 762 1

原创 在traveltao的55天--暑期实习报告

在traveltao的55天–暑期实习报告实习结束,总是要做个总结的.一来呢,55天的实习生活如果只留下一些写的代码做见证总是显得单调.二来日后写简历编写项目经验实习经历的时候也好做个参考.这篇文章虽然叫做在traveltao的55天但是我的写作顺序可不是按照日期来安排.本文按照项目编排,主要内容还是技术和项目相关的东西.下面开始第一个主题吧!JsParsecJsParsec是刘鑫老师开启的Pars

2015-09-16 23:47:56 1151 1

原创 1099. Build A Binary Search Tree (30)

1099. Build A Binary Search Tree (30)标签: PAT 解题报告 A Binary Search Tree (BST) is recursively defined as a binary tree which has the following properties: The left subtree of a node contains only no

2015-09-05 23:35:36 700

原创 一般筛法求素数

一般筛法求素数标签: PAT下面是一个模板代码,在PAT考试中能够流畅默写会大大加速我们的编程速度,一般筛法虽然在速度上不如线性筛法,但是在PAT考试中,这一点性能可以忽略不计了.另外需要特别注意的是:PAT打表解法无法提交! PAT打表解法无法提交! PAT打表解法无法提交!重要的事情说三遍!,一定要记住在这样的情况下,熟练掌握筛法就是至关重要的了.下面是没有优化的代码, bool pr

2015-09-04 16:56:53 479

原创 继续3N + 1猜想

继续3N + 1猜想标签(空格分隔): 解题报告 PAT题目内容 : 卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对n=3进行验证的时候,我们需要计算3、5、8、4、2、1,则当我们对n=5、8、4、2进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不

2015-09-04 11:29:53 597

原创 Aexi(7)—初步成果

Aexi(7)—初步成果         今天终于完成了基本的图文混排.下面我们来一下效果图在里面输入了一个放假的通知试试效果.9月3号才放假显得有点遥远啊,不过还是比较开心的.但是Aexi能初见成效我会更加开心.         下面的计划就是再将Aexi进行一些优化,修复大量的bug,并将其移植到Android平台上封装成一个库.那么目前存在的主要的bug有哪些呢?

2015-05-13 22:29:39 922

原创 Aexi(6)-Command模式

这两天我们给Aexi增加了Command模式。      其实我对于Command模式比较少的印象就是可以用来做撤销操作的功能,我看过的所有的书对于这个模式的介绍,都是把它和撤销操作相联系,似乎Command模式是专门为这一功能设计的.Command模式有没有其他的应用呢,我也不太知道,但是既然这里可以用到,那我们就在这里用一下.至于对这个模式更深层次的理解,那就等到遇到相应的问题的时候具体对

2015-05-10 10:36:56 742

原创 Aexi(5)-Glyph的事件处理

这次的博客主要实现这样一个功能,当点击文档中的某个点时,调整光标Caret的位置.         那么到底如何实现这样的功能呢?刚开始的时候我们肯定先考虑比较直接一点的方法.先使用一个controller类来接收鼠标点击事件.在相应的处理方法中可以拿到鼠标点击的坐标.然后遍历所有的page,row,basicGlyph来获得鼠标点击的具体图元,然后再去做具体的处理.         但是

2015-04-26 01:29:26 503

原创 Aexi(4)-字体

已经好久都没有更新博客了,确实最近本大二狗学校里面的事情比较多,终于处理完了,下面更新博客的速度也会加快的.而且这个项目确实拖了比较长的时间了,我也给自己设置一个DeadLine吧.下月10号将PC平台上的Aexi完成,下月20号之前将其移植到Android平台上,并抽象出主要部分,封装成一个库发到Github上面.    下面就开始这次博客的内容,这次博客的主要想写一个开发过程中的小问题—字

2015-04-22 00:19:51 617 1

原创 Aexi(3)

Aexi的最新进度来了.今天进行了一些初步的设计.具体有哪些类请看图结构的设计基本与《DP》中提到的一致,但是又有一些不同。 首先是文档的物理结构,我们应该怎么样表示一个文档呢?不知道是否是我想的比较简单,还是这个问题确实比较简单,《DP》中将文档的物理结构分为基本子图元、行、列.但是依笔者愚见,文档的物理结构应该就是一组基本Glyph的直接集合.而至于分行,分列,分页

2015-03-21 23:54:55 551

原创 Aexi(2)

今天主要完成了Aexi的Caret功能.   那么什么是Caret呢?请看下图.     对的,大家几乎每天都在和它打交道,这个闪烁的小光标就是传说中Caret.     我们实现它的方案非常之简单.         1. 首先,先封装一个Caret类,Caret内部有个成员变量isShow,有个drawMe()方法用于绘制自身.          2. Caret内部

2015-03-21 01:03:07 554

原创 Aexi计划

又是好久都没有发布新的博客了.从今天开始要提高更新博客的频率了,那么现在开始的博客都写一些什么呢?笔者准备写一个稍微大一点的项目,并在项目的每一个关键阶段将各个过程记录下来.那么到底是什么样的一个项目呢?我给这个项目取名叫Aexi.是的,相信看过《Design Pattern》这本书的朋友都应该知道了,这个名字来自于《DP》这本书的第二章中的对设计模式综合运用的一个实例——Lexi.笔者准

2015-03-20 01:51:36 737

原创 Handler原理与使用,以及Android中异步更新的UI的方式

为什么禁止在非UI线程更新UIHandler概述Handler的几种使用方式Handler的原理,以及handler与message queue, looper之间的关系HandlerThread原理异步更新UI 的几种方式7. 非UI线程真的不能更新UI吗?

2015-02-04 21:14:52 1690 1

翻译 Android属性动画(property animation)完全解析

PropertyAnimation属性动画系统是一个健壮的框架,它可以允许你给任何东西加上动画.你可以定义一个随时间推移改变任何对象的属性的动画,而不用去管这个对象是不是显示在屏幕上.属性动画可以在一段指定的时间内改变一个对象的属性.你只需要指定你想加动画的属性即可,比如一个View在屏幕上的位置.和动画的时间,以及属性变化的区间.属性动画让你可以定义下列动画的属性:1.   持续时间

2014-12-11 23:52:44 1290

翻译 最值得看的android系统fragment教程--翻译自安卓官方文档

注意:如果你是用的是V4包中的API.你需要1.Activity必须继承FragmentActivity2.使用getSupportFragmentManager()而不是getFragmentManager().FragmentFragment代表了Activity中ui的一个独立行为,或者说一个区域.你可以在Activity中组合多个Fragment去打造多面板的ui,你也能够

2014-12-04 22:53:24 2674 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除