Szy'sky Blog

To Be A Lean Developer!

栈与队列

栈是限定仅在表尾进行插入和删除操作的线性表. 队列是只允许在一端进行插入操作, 而在另一端进行删除操作的线性表

栈的定义 栈(stack)是限定仅在表尾进行插入和删除操作的线性表 通常把插入和删除的一端称作为栈顶(top). 另一端就是栈底(bottom), 不含有任何数据元素的栈称作为空栈. 栈又称作为后进先出(Last In First Out)的线性表. 简称LFIO结构. 栈的插入操作, 叫作进栈, 或者也可以叫作压栈,入栈. 栈的删除操作, 叫作出栈, 也可以叫作弹栈 软件被应用的场景......

线性表

数据结构之线性表

首先看一下线性表都包括哪些结构: 线性表的定义 零个或多个数据元素的有限序列. 序列: 说明了元素之间是由顺序的. 有限: 泛指元素的个数为有限. 因为计算机中处理的对象都是有限的, 无限数列只存在数学的概念中. 线性表的元素个数为>=0. 当元素的个数为0. 这个表称之为空表. 线性表的特性一个线性表应该具备哪些基本的功能呢? 置空 查找 插入 删除 长度 这是大......

算法的了解

算法究竟是什么, 都包括些什么

算法定义 算法是解决特定问题求解步骤的描述, 在计算机中表现为指令的有限序列, 并且每条指令表示一个或多个操作. 算法是针对一种或者是一类问题的解决方案. 算法的特性算法具有5个基本特性: 输入, 输出, 有穷性, 确定性和可行性. 输入输出算法具有0或者多个输入. 对于个别场景, 比如打印输出字符串. 可能会不需要任何的输入参数. 算法至少1个或者多个输出. 算法一定要有输出, 否则......

操作系统简介

硬件是软件的基石. 所有的软件功能最终都是由硬件来实现的.计算机体系结构作为一门学科, 是软件和硬件的抽象体, 也是所有开发者都应该了解的. 计算机体系结构冯’诺依曼结构冯诺依曼是20世纪公认的最伟大的科学家之一. 冯诺依曼结构又被称为冯诺依曼模型或者普林斯顿结构. 起源于其本人在1945年发表的一篇关于EDVAC(电子离散变量自动计算机)的论文. 在其中. 提出了两个对计算机领域......

vim常用笔记

介绍vi编辑器是Unix系统最初的编辑器. 它使用控制台图形模式来模拟文本编辑窗口, 允许查看文件中的行, 在文件中移动, 插入, 编辑和替换文本. 尽管可能是世界上最复杂的编辑器, 但其用用的大量特性使其成为Unix管理员多远来的支柱性工具. 在GNU项目将vi编辑器移植到开源世界时, 他们就决定对其做一些改变. 由于它不再是以前Unix中那个原始的vi编辑器, 所以开发人员对其进行了重......

shell常用小手册

文件系统遍历目录 格式: cd destination # 绝对文件路径$ cd /usr/bin# 相对文件路径 进入当前目录下的doc文件夹$ cd doc# 进入当前文件夹的同级目录pics$ cd ../pics 查看当前目录路径$ pwd 文件基本操作操作# 显示当前目录下的文件和目录, 按字母排序, 展示顺序为按列$ ls# 如果想让文件夹变得更容易区分, -F参数可让显示文件......

Android Studio 常用手册

Android studio 有我这篇就够了

整理Android群英传和网上出现的比较完整AS的快捷小技巧. mac版已测, win大部分测试. 最后有一个整理的完整快捷键表格. win也好mac也好, 如果快捷被修改还是错误, 都可以通过提供的Keymap中的关键字来进行重设. 图中gif如果看不清, 放大页面即可. 转载标明出处: 作者GitHub 博客地址 常用小操作单词选择一般IDE通过option + 方向键左右(......

年终福利-一个实用方便的图片控件SImageView(第二弹)

一行实现QQ群组头像,微信群组,圆角等效果. 并支持url直接加载图片

一年快要过去了, 你的目标实现了么? 不管实现没有, 先来个小目标吧.比如造一个轮子? 说点题外话. Coding中我们总是经历着这么几个过程. 学会使用: 不管是API也好, 开源库也好. 总是在最开始的学会去用. 了解实现原理: 可能会因为一些不兼容, 代码的异常状态的处理不够完美等需要查看实现并修改, 或者因为你有一个好奇心向窥探一下内部实现.. 这时我们开始试着去阅读, 试着......

年终福利-一个实用方便的图片控件SImageView(第一弹)

一年快要过去了, 你的目标实现了么? 不管实现没有, 先来个小目标吧.比如造一个轮子? 说点题外话. Coding中我们总是经历着这么几个过程. 学会使用: 不管是API也好, 开源库也好. 总是在最开始的学会去用. 了解实现原理: 可能会因为一些不兼容, 代码的异常状态的处理不够完美等需要查看实现并修改, 或者因为你有一个好奇心向窥探一下内部实现.. 这时我们开始试着去阅读, 试着......

设计模式之六大原则解析

列举出设计模式中的六大原则应该如何实现 单一职责原则 SRP Single Responsibility Principle 场景: 如果让你写出一个图片缓存类, 要求内部实现缓存策略, 并提供方法只需要传递控件和图片地址就可以自动设置背景的类. 先给出最简单直接的写法. public class ImageLoader { /** * 图片的缓存 ......

WindowManagerService

前一节, 对Window和WindowManager进行了分析, blog, 其中的WMS是不容忽视的角色 关于Android的framework层主要就是由它与另外一个系统服务ActivityManagerService和View构成, 这三个模块穿插在整个framework中. 和其他系统服务一样, WMS也是由SystemServer启动的. 调用了WMS#main()静态方法来......

深入WindowManager

WindowManager究竟起到了什么作用?

WindowManager的重要程度不需要多说, 界面真正的显示, 外部事件的传递等. 这是一个子系统. 本章会梳理WindowManager,WindowManagerService,Surface,SurfaceFlinger之间的联系与交互的一个过程. 如果想了解不同的window级别的区别,如Activity,Dialog,Toast等请看另一篇blog 在此之前需要知道这么几......

设计模式之路

灵活之路 - 面向对象六大原则如果下面文字描述,不是很明白那么跳转到后面链接有详细代码说明原则解析 单一职责原则SRP(Single Responsibility Principle) 定义: 就一个类而言, 应该仅有一个引起它的变化的原因. 通俗点就是一个类应该是相关性很高数据封装 举例: 现在有一个图片加载类. 但是这个类内部包含了图片下载的逻辑,图片缓存的逻辑这样就使得这个类的职责过......

面经之Java篇

内容有点多

[TOC] Java基础关键字transient volatiletransient 加了该关键字的属性,不会被序列化。 换句话说,这个字段仅存于调用者内存,而不会写到磁盘里持久化。序列化原理:将待续列化的对象中的信息写入到磁盘或网络流中。序列化中的引用会进行“深度复制”,并且如果两个对象有共同的引用对象,且两个对象都写入同一个流,那么该引用对象不会重复创建,只会创建一次,并还原到虚拟机......

Git操作再识 拥抱开始

这些应该可以满足很多需求了

如果你喜欢GitHub方便日后浏览,也可以点我哦保存. 安装GitLinux $ sudo yum install git 或者 $ sudo apt-get install git Mac 直接在Terminal执行git命令, 如果没有会提示安装方法. 如果喜欢安装程序的话, 点这里 配置文件第一次安装, 千万别要忘了配置你的git的使用者名字和邮箱. 这个道理很简单, 每一次的......