peterxiaosa / peterxiaosa.github.io Goto Github PK
View Code? Open in Web Editor NEWThis is my own website.
License: MIT License
This is my own website.
License: MIT License
https://peterxiaosa.github.io/2019/11/03/Java%E7%BA%BF%E7%A8%8B%E6%B1%A0/
本文主要介绍Java的线程池ThreadPoolExecutor,针对其使用原因,用法,用例做一些简单介绍。
https://peterxiaosa.github.io/2019/05/29/Android%E6%B6%88%E6%81%AF%E6%9C%BA%E5%88%B6/
本文主要介绍Android的消息机制,而了解消息机制必先了解Handler,Looper,MessageQueue。
https://peterxiaosa.github.io/2019/09/16/Android%E7%89%88%E6%9C%AC%E7%89%B9%E6%80%A7/
Android各版本之间更新存在一些新特性,熟悉这些特性才可以避免在开发过程中踩坑。就我自己平常在开发的过程中遇见的问题及查询网上资料得到一些Android版本更新的特性。
身为一个Android开发工程师,有些知识点还是很有必要掌握的。
https://peterxiaosa.github.io/wiki/%E5%AD%A6%E4%B9%A0%E8%B7%AF%E7%BA%BF/
对自身有个较为全面的评估,找出自己的不足,然后有方向有针对性的去进行学习提升。编程语言 学习Kotlin。完成《Kotlin实战》的阅读后,通过 Side Project 进行实践练习。 Kotlin 协程很重要,可在初步熟悉 Kotlin 基本语法之后再进行学习。(有Kotlin协程的专门书)框架架构 学习JetPack组件以及MVVM。了解如何构造开发框架,同样通过使用 Side Project 进行练手。 同时多看网上关于JetPack的文章,搞清楚为什么使用它,能解决哪些问题 多看开源框架而且一定要进行总结(技术选型等,框架有什么优缺点,适用场景等),比如 MKVM 项目中如何使用 mmap 来进行 IO优化。 OKHTTP 中的流程(例如,虚引用的实际应用场景) 项目技术要点 (粒度更细) Apk 打包流程有哪些步骤,各自用到了什么工具。(想想每一步都做了什么,平常碰到的有哪些东西是在某个时机执行的,死背没用) Apk 解压之后有哪些文件,具体作用都是什么 Drawable 和 mipmap 有什么区别 静态匿名内部类为什么要使用final? SharedPreference 有哪些优缺点? 如何优化? 能否使用 mmap 进行优化? i++ 具有原子性吗?为什么? ExecutorService 与初始化(线程池) ReadWriteLock与常用算法。 (ReteentrantLock,以及和Synchronized区别) AtomicBoolean 原理。(了解CAS工作原理,以及如何确保异步安全的) 为什么 Android 中依赖不能循环引用? (组件化的本质是什么?) ButterKnife 是如何实现动态代理的? 动态代理和静态代理有什么区别? 动态代码的使用场景是什么,能解决什么问题? (技术深度要深) String 的长度为多少?(会受虚拟机规范限制) ConcurrentHashMap 一定线程安全吗? (在什么场景下可能出现线程不安全的情况) compileOnly 和 runtimeOnly 区别 apt 和 transform 区别,以及各自使用场景,都可以解决什么问题 transform 用户自定义的和系统的的执行顺序?以及如何区分是用户自定义的还是系统的呢? 算法 各自排序算法,都是如何实现的并总结优缺点和不同适用场景,知道**。最简单的快排要能手写出来。 《漫画算法》、《算法小抄》阅读完 基础的一些解法, 二叉树前序,中序,后序遍历的迭代写法。 二分用法,双指针解法,动态规划常用解法,滑动窗口常用解法,链表,数组的常用操作。 总结 不要去逃避,越是怕什么,越要去尝试它。执行力要加强,不要再拖了。、 想问题要多去问什么,还有看看能不能发散想到其他的问题,要提高技术深度。不要解决完这个问题就完了,因为不需要应付自己来让自己觉得自己很努力,没必要。 看东西,学习东西一定要总结输出,以文档的形式总结出来。只要是较为复杂,耗了蛮多时间的问题都记下来,可以不用很多,但一定要自己总结输出,这个非常重要,否则时间久了一定会忘记。 尽快学完这些知识,因为明天可能会有其他事情,越早越好,已经吃了很多亏了。 别人很努力,你很垃圾。
https://peterxiaosa.github.io/2019/09/23/HandlerThread%E5%92%8CIntentService/
关于Android消息机制的原理及Handler,MessageQueue,Looper的原理我们在之前有分析过,而HandlerThread则是Android对线程加入了Handler进行了封装处理的产物。而IntentService则是在Service基础上加入了HandlerThread的封装,今天就它们我们来分析下源码及各自使用的场景。
https://peterxiaosa.github.io/wiki/Android%E8%B8%A9%E5%9D%91%E4%B8%93%E9%9B%86/
Android 9.0 及之前的版本和 Android 10.0 中 onNewIntent() 和 onRestart()执行顺序不一致。
最近项目中比较频繁的运用到了greenbot公司的eventbus框架,怕使用的时候遇见问题无法解决,所以小子最近也是看了点Eventbus的源码解析,了解了一点运行流程,所以特来和大家分享。
https://peterxiaosa.github.io/about/
何时才不是一个渣渣...
HashMap是我们经常用的数据结构,采用了key-value的方式来存储数据。在JDK 1.8的版本中也是对其做了优化修改,现在我们来通过在JDK 1.8的环境下的源代码分析一下HashMap的工作原理。及相比于1.7,在1.8中的优化。
本文主要介绍Android的消息机制,而了解消息机制必先了解Handler,Looper,MessageQueue。
https://peterxiaosa.github.io/2019/05/29/Android%E6%B6%88%E6%81%AF%E6%9C%BA%E5%88%B6/
本文主要介绍Android的消息机制,而了解消息机制必先了解Handler,Looper,MessageQueue。
https://peterxiaosa.github.io/links/
没有链接的博客是孤独的
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.