自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不一样的博客

Android/iOS 开发工程师

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

原创 HTTP和HTTPS协议,看一篇就够了

一、前言:我们上网很简单,只需要通过网络服务商开通端口就可以了,每天都在上网,有留意到访问网站链接有什么共同点吗?为什么需要但是为什么要讲HTTP和HTTPS呢?二、HTTP和HTTPS发展历史 当我们打开谷歌浏览器输入www.12306.cn,回车很快在浏览器上就看到页面,其中的浏览器就是客户端,负责接受浏览器的是服务器,两者的通信是通过HTTP协议。什么是HTTP? ...

2019-08-03 11:22:16 1358896 117

原创 面试必备-操作系统

前言操作系统理论性非常强,刚开始学起来非常粗糙。然而,面试过程中经常会被问到计算机网络或者操作系统,有兴趣的同学可以看我这篇有关于计算机网络的文章(https://blog.csdn.net/xiaoming100001/article/details/81109617 ),相信会有所收获。本篇文章主要讲述面试可能遇到的重点内容,金九银十,希望可以帮到大家,下面主要按照如下思路展开:概述定...

2019-08-03 11:15:34 10605 2

原创 SQL 最佳实践(基础篇)

0x00 前言作为一名客户端开发工程师,虽然对 SQL 能力的要求不会像数据分析师或者后端那么严格,但基础的能力还是要会的,比如开发过程中,上报了数据入库,要分析的时候要会查出来,或者制定一些数据报表展示等等。例外,如果有指标建设,那就更需要比较强的 SQL 实践基础了。0x01 CRUDSQL 其实用起来是比较简单的,实际使用中无非就是增删改查(Create, Retrieve, Update, Delete),下面简单介绍下 CRUD 基本使用姿势,其中只会讲到实际中高频用到的情况。0x02 环

2020-07-25 12:06:35 1180

原创 JS 解析 key-value 最佳实践

一般请求接口返回的数据大部分是 json 格式,JS 解析某个字段数据,相信大家都会遇到取某个字段可能会是 undefined 或者 null 类型,如果代码忘记处理 bad case 就会挂了下面代码是封装了对字典的解析,感觉挺好用的,基本原理就是循环遍历 keys,找到对应的 key 后,返回对应的 value,也比较简单mapUtils.dig = (map, keys) => { if (_.isNull(map)) { return map } let digMap

2020-07-24 12:56:20 1267

原创 卡顿和卡死监控

卡顿原因主要是主线程阻塞。在开发过程中,遇到的造成主线程阻塞的原因可能是:主线程在进行大量I/O操作:为了方便代码编写,直接在主线程去写入大量数据主线程在进行大量计算:代码编写不合理,主线程进行复杂计算大量UI绘制:界面过于复杂,UI绘制需要大量时间主线程在等锁:主线程需要获得锁A,但是当前某个子线程持有这个锁A,导致主线程不得不等待子线程完成任务。…业界调研微信团队(Matrix)卡顿检测流程图主线程卡顿表现FPS降低CPU占用率非常高主线程RunLoop执行时间过长

2020-07-22 10:34:09 3172 3

原创 关联对象源码分析

什么是关联对象?一个对象可以关联多个对象,可以扩展原有对象的能力,关联是拥有的关系。Case1: Category可以使用@property添加一个属性吗?@interface NSString (MyNSString)@property (nonatomic, copy) NSString *name;@end警告是name的存取方法需要手动实现,或者通过@dynamic在运行时实现存取方法。//强制使用NSString *test = @"test";test.name = @"n

2020-07-21 23:30:42 719

原创 判断一个NSDictionary是否包含NSDictionary简单写法

思路:需要考虑到字典嵌套字典情况,简单的递归查找就可以实现了,如果有其他更简单的方法欢迎留言讨论~#pragma mark - /// 数据转化/// @param data 源object+ (NSDictionary *)handleWithData:(NSDictionary *)data { if (![data isKindOfClass:[NSDictionary class]]) { return nil; } NSMutableDiction

2020-06-06 22:17:35 671

原创 手把手教学IOS自定义cell-仿微信消息列表

效果图自定义View是一件非常有成就感的实践,如果有Android基础的同学接触起来应该会比较顺手,基本思路都差不多。项目采用原生的布局方式,实现仿微信消息列表效果,主要是学习自定义Cell,展示头像、标题、消息概要、时间和未读数View。下图左边是样例,右边是实现的效果图。项目结构项目采用MVC模式,Model处理数据,View提供自定义的Cell和Cell的位置大小,ViewContro...

2019-07-13 23:01:56 2214

原创 Java抽象类和接口的区别

Java抽象类和接口可以说是面试求职的热点问题,几乎每场面试都会聊到这个问题。 一、抽象类 理解抽象类之前,我们先温习下抽象方法。抽象方法是一种特殊的方法:它只有声明,而没有具体的实现。抽象方法的声明格式为:abstract void fun();我觉得含有抽象方法的类定义为抽象类比较合适,当然你可以说抽象类可以没有方法来推翻我的定义,不过这个类都没有方法了,那么还有什么意义呢?抽...

2019-07-13 22:17:59 550 3

原创 Objective-C 入门篇

前言Objective-C(下面简称OC)是由C语言扩展出来的,其火星文写法对于之前从事Java开发的同学颇感蛋疼。本文侧重介绍常用的语法,通过对比Java并结合本人入门的过程和经验,帮助有需求的同学快速掌握OC基本编程,为IOS的入门奠定语言基础。首先是写第一行代码,恭喜正式进入OC学习阶段。int main(int argc, char *argv[]){ @autoreleas...

2019-07-07 00:53:50 15199 5

原创 Android中startActivityForResult遇到的坑

今天下午5点收到一个紧急bug,项目某个页面需要选择国家信息然后返回在原来的页面,bug描述:用户填好当前页面的信息,跳转其他页面选择国家信息的时候再返回来,这回所有的用户填写的信息都被重置了???一看就感觉不对劲,排除了半个小时,发现当前页面调用startActivityForResult跳转到国家选择页面,当前的activity会调用onDestroy()方法,选择国家页面回到用户填写信息...

2018-08-13 21:15:01 7988 2

原创 图片模糊算法

有很多App对背景进行高斯图模糊设计,比如网易云音乐、QQ、微信、随手记等等。在Adnroid中,现在常用的图片高斯模糊技术有三种:RenderScript 、fastBlur、对RenderScript和fastBlur的优化,下面分析这三种方法的优缺点。RenderScriptRenderScript是在Android上的高性能运行密集型运算的框架,主要用于数据并行计算,尤其对图像处理...

2018-08-02 12:32:20 10164

原创 Java语言-手写死锁代码

public class BuyTicket{private Object a = new Object(); private Object b = new Object(); public void funA(){ synchronized (a){ try { Thread.sleep(10); ...

2018-08-02 11:00:40 1418 4

原创 稳了,手写生产者消费者模式代码

代码语言:kotlin、Javaimport java.util.concurrent.locks.ReentrantLock/** * kotlin * 测试主类 */fun main(args : Array<String>){ val mLock = ReentrantLock() val mCondition = mLock.newConditi...

2018-07-20 17:37:47 1931

原创 致师弟师妹的一封信

    &amp

2018-06-23 10:35:33 2826

原创 SQL Server中left join、inner join和right join的区别?

      数据库是我们IT行家常的事情,相信大家都不陌生,计算机专业都开了数据库系统概论这门课程,我分享下在暑假找实习参加宣讲会过程做的笔试题中遇到关于left join、inner join和right join的区别的简述题,希望对需要的朋友有所帮助。看下面一个小例子,我懒的开软件,用Excel替代下,谅解谅解~ student表...

2018-06-17 20:01:09 10880 1

原创 浅谈Android设计模式

       如果作为低年级入门的同学学习设计模式是比较困难的,建议先补充基础,积累经验再回过头进行学习设计模式,因为其中的重要性关乎到我们是否能够进阶成为相对优秀的Android工程师,高年级大佬麻烦多多指导。在阅读或者分析源码的时候,或多或少离不开设计模式,下面我只是挑

2018-05-13 20:57:46 2230

原创 浅谈抢红包算法

刚开始觉得应该是每次抢红包都是直接随机就好了,随机上限就是剩余红包的金额,这样是有问题的,比如发100元红包,刚开始是第一个人的随机范围是(0,100),平均可以抢到50元。那么第二个人的红包(0, 50元),平均可以抢到25元,很显然每个人的几率都不一样了,后面的人比较吃亏。 先看测试:注意金额,这个是优化的算法,并不是简单类似上述直接扔个随机数那种情况,跟后面的算法效果是差不多的...

2018-05-02 21:30:51 1735

原创 Android Studio3.0 Error:Execution failed for task ':app:javaPreCompileDebug' 错误

Error:Execution failed for task ‘:app:javaPreCompileDebug’. Annotation processors must be explicitly declared now. The following dependencies on the compile classpath are found to contain annotat...

2018-04-15 21:16:38 14775

原创 Android开发暑假实习面试经历

时间真快呀,自己也需要忙着春招了,多怀念以前咸鱼般的小日子,可以有很多时间陪女朋友。废话不多说,下面分享我最近的春招经历,期待我的更新。1.阿里巴巴Java后台(28分钟)Java如何实现跨平台,如何编译类加载原理,classpath是什么,有什么作用抽象类和接口的区别Java的异常机制,有哪些异常类介绍map,set,list,collection四大接口面试阿里是我的第...

2018-04-10 20:55:14 2337

原创 Android中关于startActivityForResult()在activity不同启动模式下onActivityResult()的回调

作为Android的开发者,关于startActivityForResult()相信大家都比较熟悉,在这里就不班门弄斧了。但是,关于startActivityForResult()在activity不同启动模式下onActivityResult()的回调有必要跟大家分享下。1.BActivity的启动模式为standard<activity android:name=".ui.A...

2018-04-08 13:58:13 1913

原创 腾讯-模拟考-技术研发类-移动客户端开发-2018实习生招聘

前阵子做了腾讯-模拟考-技术研发类-移动客户端开发-2018实习生招聘的笔试题目,这是个人做的第二题,题目意思很简单,就是判断四个点能否构成正方形,废话少说,直接看下面的代码,欢迎大牛留言。题目:小Q搜寻了整个世界找到了四块魔法石所在地,当四块魔法石正好能够构成一个正方形的时候将启动魔法阵,小Q就可以借此实现一个愿望。现在给出四块魔法石所在坐标,小Q想知道能否启动魔法阵输入:输入一行包括一...

2018-04-04 16:39:05 1353 1

原创 2018蓝桥杯Java B组 全球变暖问题:

解题思路:需要保证第一行、第一列、最后一列和最后一行是’.’字符,需要使用两个二维字符数组分别存储原来的和变化的。算法渣渣当时只想到这种简单思维的做法,欢迎大牛留言更好的想法。import java.util.Scanner;/** * 2018蓝桥杯Java B组 全球变暖问题: * 条件: .代表海洋像素,#代表像素,相连的一块#代表岛屿,如果陆地像素左右上下某个方向有海洋便会被淹...

2018-04-02 17:34:21 1877 4

原创 synchronized和volatile区别

synchronized和volatile区别个人理解JMM:Java Memory Model(Java内存模型),根据并发过程中如何处理、可见性、原子性和有序性这三个特性而建立的模型。 可见性:JMM提供了volatile变量定义、final、synchronized块来保证可见性。 原子性:个人理解是如果执行,就执行完,synchronized块来保证。 有序性:觉得有序是相对性的...

2018-04-01 22:04:25 3399

空空如也

空空如也

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

TA关注的人

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