自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

午后阳光

既然世界不能用单纯的黑与白描绘,那我便用0和1去解读

  • 博客(199)
  • 资源 (22)
  • 收藏
  • 关注

原创 【数据结构】斐波那契数列(Fibonacci sequence,黄金分割数列,兔子数列)

1,概念结点的度:结点拥有的子树数。 堂兄弟:双亲在同一层结点。 层次:根为第一层,树的最大层次就是树的深度或高度。2,二叉树的性质1)二叉树的第i层至多有2^(i-1)个结点2)深度为k的二叉树至多有(2^k)-1个结点。3)若叶子结点为n0,度为2的结点数为n2,则n0 = n2 + 1对于结点总数n,度为1的结点数n1,有: n = n...

2018-09-04 17:55:10 2646

原创 【算法】剑指offer

1,从1到整数n中1出现的次数思路:若百位上数字为0,百位上可能出现1的次数由更高位决定;若百位上数字为1,百位上可能出现1的次数不仅受更高位影响还受低位影响;若百位上数字大于1,则百位上出现1的情况仅由更高位决定。 举例: ①534 个位1出现的次数:round*1+1 (每次循环1出现一次,0-9循环了53次,第54次循环为0-4) 十位1出现的次数:round*10 +...

2018-08-30 15:13:57 285

原创 【java学习】枚举

【代码】【java学习】枚举。

2018-08-29 08:24:47 388 1

原创 【网络基础】IP计算

1,IP地址类型IP地址根据网络ID的不同划分为5种类型:1)A类地址①概念由1字节(每个字节是8位)的网络地址和3个字节主机地址组成,网络地址的最高位必须是“0”。②地址范围0.0.0.0到127.255.255.255。 除去特殊的0和127地址,共有126个地址。 这126个网络,每个网络能容纳1亿多个主机。 ③特殊地址数字127保留给内部回送函数...

2018-08-21 09:47:45 2094

转载 【Java学习】JAVA和C++区别

转载:http://developer.51cto.com/art/201106/270422.htmJAVA和C++都是面向对象语言。也就是说,它们都能够实现面向对象思想(封装,继乘,多态)。而由于c++为了照顾大量的C语言使用者,而兼容了C,使得自身仅仅成为了带类的C语言,多多少少影响了其面向对象的彻底性!JAVA则是完全的面向对象语言,它句法更清晰,规模更小,更易学。它是在对多种程序...

2018-08-14 09:09:34 375

原创 【数据结构】线性表:顺序表、单链表

1,顺序表逻辑上相邻的两个元素物理位置上也相邻。 可以随机读取,但增删操作复杂。2,单链表1)概念读取麻烦,增删简单。头指针和尾指针无法决定链表长度。2)定义结点定义:struct ListNode{ int value; ListNode* next;};为链表末尾添加一个结点://C、C++代码void addToTail(Li...

2018-08-13 21:29:34 424

原创 【Android学习】IPC(跨进程通信,Inter-Process Communication)

1,概念指两个进程之间进行数据交换的过程。1)进程2)线程CPU调度的最小单元,是一种有限的系统资源。 Android主线程为UI线程。 如果主线程执行了很多耗时操作,会造成ANR(应用无响应,Application Not Responding)。3)Binder机制①概念可以实现进程间通信。 Binder类实现了IBinder接口。是一种虚...

2018-08-13 21:29:22 925

原创 【数据结构】队列和栈

1,队列(queue)只允许在队头(front)出,队尾(rear)进。 先进先出(FIFO,first in first out)1)循环队列循环队列充分利用向量空间,克服“假溢出”。①插入删除在循环队列中,队头指针和队尾指针的动态变化决定队列的长度。 front指定队首位置,删除一个元素就将front顺时针移动一位; rear指向元素要插入的位置,插入一个元素就将...

2018-08-13 21:23:42 424

原创 【Java学习】Java内存

1,JVM 的内存布局/内存模型Java虚拟机(Virtual Machine)所管理的内存包括的运行时数据区域(如下图): 1)程序计数器(Program Counter Register)程序计数器是一个比较小的内存区域,是线程隔离的。①功能指示当前线程所执行的字节码的行号。②JVM的多线程的实现线程轮流切换并分配处理器执行时间。在任何一个确定的时刻,一个CP.........

2018-08-13 09:45:13 1042 1

原创 【Android学习】断线重连、长连接心跳机制

1,心跳机制1)概念定时发送一个自定义的结构体(心跳包),让服务器知道自己还活着,以确保连接的有效性。 长连接比较耗电。在TCP机制里面,本身是存在有心跳包机制的,也就是TCP选项:SO_KEEPALIVE. 系统默认是设置的2小时的心跳频率。2)场景由于手机的无线运营商为了减少网关映射表的负荷,会在表中删除一段时间内未通信的链路,造成链路中断。为了避免这种中断,应用需要...

2018-08-10 15:55:57 2629

原创 【java学习】正则表达式(Regular Expression)

1,概念正则表达式(Regular Expression)起源于人类神经系统的研究。正则表达式的定义有以下几种: ① 用某种模式去匹配一类字符串的公式,它主要是用来描述字符串匹配的工具。 ②述了一种字符串匹配的模式。可以用来检查字符串是否含有某种子串、将匹配的子串做替换或者从中取出符合某个条件的子串等。 ③由普通字符(a-z)以及特殊字符(元字符)组成的文字模式,正则表达式作为一个模版,...

2018-08-01 22:30:21 976

原创 【编程素质】组合模式(Composite Pattern、合成模式、部分整体模式)

1,概念允许将对象组合成树形结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及对象组合。 树节点可以对子节点进行增删改查等操作。2,场景1)需要描述对象的部分和整体之间的等级结构关系,如树形菜单、文件和文件夹管理等等 2)需要客户端忽略个体和组合构件的区别,平等对待所有的构件。组合模式在java和android源码中也是有不少的应用的,比如List框架,...

2018-07-31 21:03:51 963

原创 【java学习】输入与输出

1,概念1)java三大器:监视器、过滤器、拦截器2)JVM学习3)函数式编程(functional programming)是结构化编程的一种。将电脑运算视为数学上的函数计算,并且避免使用程序状态以及易变对象。函数编程语言最重要的基础是λ演算(lambda calculus)。 java8引入了函数式编程概念。①java8新特性:java.util.stre...

2018-07-31 17:17:53 991

原创 【java学习】数据类型

1,基本数据类型(primitive type)byte(8bit)、short(16bit)、int(32bit)、long(64bit)、float(32bit)、double(64bit)、char(16bit)、boolean(1bit)。 值传递(call by value)1)charchar型变量中能不能存贮一个中文汉字?为什么? 是能够定义成为一个中文的,因为java中以uni...............

2018-07-31 16:25:08 1514 1

原创 【java学习】进程、线程、程序

1,概念(1)分类①守护线程(Daemon Thread)用户线程可以通过System.exit(status)(status为0时表示正常退出,非0表示非正常退出)来退出JVM。父线程是守护线程子线程默认为守护线程,父线程是用户线程子线程默认为用户线程。父线程在创建子线程后,启动子线程之前,可以调用Thread实例的setDaemon方法来修改线程属性。当没有用户线程...

2018-07-27 10:09:47 3835 1

原创 【Android学习】线程的其他方式:AsyncTask、IntentService、HandlerThread、ThreadPoolExecutor

1,分类1)用途①主线程处理UI。②子线程(工作线程)处理耗时操作,如网络请求、IO操作等。 从Android3.0开始,网络访问必须在子线程中进行,否则抛出NetworkOnMainThreadException异常。2,Thread3,AsyncTask1)概念底层封装了线程和Handler。 Android中的线程池来自Java,主要通过Executor来派生特定类型的线程池。AsyncT

2018-07-27 10:05:24 619

原创 【java学习】java web

1,概念JSP和Servlet技术一样,都是SUN公司定义的一种用于开放动态web页面(资源)的技术。1)动态web资源开放技术JSP不仅是写html,同时允许在页面中编写java代码,并且运行开发人员在页面中获取request、response等web开发常用对象,实现与浏览器的交互,所以jsp也是一种动态web资源开发技术。

2018-07-27 08:48:09 678

原创 【Java学习】网络连接:Socket(套接字)

1,检查当前网络是否可用public class NetWork { /** * 检查当前网络是否可用 * * @param context * @return */ public static boolean isNetWork(Context context) { if (context != nu...

2018-07-26 20:36:03 445

原创 【java学习】面向对象(Object Oriented,OO):封装,继承,多态

1,封装1)概念:首先是抽象,把事物抽象成一个类,其次才是封装,将事物拥有的属性和动作隐藏起来,只保留特定的方法与外界联系。2)体现:形成“类”。2,继承1)优点继承可以使现有的代码具有可重用性和可扩展性。2)使用①构造函数不能被继承,子类可以通过super()显示调用父类的构造函数 ②创建子类时,编译器会自动调用父类的 无参构造函数 ③...

2018-07-26 17:17:46 1296 1

原创 【java学习】类Class和接口Interface

如果是引用类型,final只保证这个引用所引用的地址不会改变,即一直引用同一个对象,但这个对象完全可以发生改变。final修饰的变量可以在定义时初始化,也可在构造方法中赋值。java用new来新建对象生成一个引用实例,引用变量表示地址,其指向堆中的对象。成员变量定义在类中的变量,可以不进行初始化,Java会自动进行初始化,如果是引用类型默认初始化为null,如果是基本类型例如int则会默认初始化为0;局部变量定义在方法中的变量,必须要进行初始化,否则不能通过编译。

2018-07-26 15:55:59 2883 1

原创 【数据结构】查找

1,Bloom Filter1)概念是一种空间效率和时间效率都很高的随机数据结构,用来检测一个元素是否属于一个集合。2)场景适合应用在对于低错误率可以容忍的场合、用来检测一个元素是否属于一个集合。3)优缺点优点:插入和查询时间都是常数,另外它查询元素却不保存元素本身,具有良好的安全性。 缺点: ①牺牲了正确性。它判定结果有2种:不属于这个集合(绝对正确)、属...

2018-07-26 13:28:09 1022

原创 【数据结构】排序算法

1,概念1)插入排序直接插入排序、折半插入排序、2-路插入排序、表插入排序、希尔排序、快速排序、冒泡排序2)选择排序简单选择排序、堆排序2, 直接插入排序(Insertion Sort)1)原理每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部记录插入完成为止。2)代码实现public stati...

2018-07-26 13:28:00 818 1

原创 【数据结构】图

1,概念定点(Vertex) 弧(Arc)、边(Edge) 有向图、无向图 完全图:有n(n-1)/2条边的无向图。 有向完全图:有n(n-1)条弧的有向图。 稀疏图:有很少条边或弧的图。反之为稠密图。 入度、出度。 连通图:图中任意两个结点都是连通的(有相互到达的路径)。 连通分量:无向图中的极大连通子图。 强连通图:任意两顶点直接存在路径的有向图(不一定直接相连)。 强...

2018-07-26 13:27:49 1171 1

原创 【数据结构】树

1,概念结点的度:结点拥有的子树数。 堂兄弟:双亲在同一层结点。 层次:根为第一层,树的最大层次就是树的深度或高度。2,二叉树1)性质性质1:二叉树的第i层至多有2^(i-1)个结点 性质2:深度为k的二叉树至多有(2^k)-1个结点。 性质3:若叶子结点为n0,度为2的结点数为n2,则n0 = n2 + 1对于结点总数n,度为1的结点数n1,有: n...

2018-07-26 13:27:37 1828

原创 【网络基础】TCP/UDP及网络协议

TCP协议面向连接的协议,提供稳定的双向通信,需要经过“三次握手”才能建立连接;为了提供稳定的数据传输功能,提供了超时重传机制,具有较高的稳定性。UDP是无连接的,提供不稳定的单向通信功能,当然UDP也可以实现双向通信功能。虽然效率更高,但不能保证数据一定能够正确传输,尤其在网络拥塞的情况下。

2018-07-26 13:27:06 692 1

原创 【java学习】String字符串

i < len;i ++) {

2018-07-26 13:26:57 3383 1

原创 【java学习】类 JVM底层机制

1,JVM①JVM可以用软件/硬件实现。 ②字节码是虚拟机的机器码。 ③JVM将代码程序与各操作系统和硬件分开,JVM的存在使java可以跨平台。2,JDK(Java Development Kit)1)概念:JDK是用于支持Java程序开放的最小环境。2)组成:Java程序设计语言、Java虚拟机、Java API类库等三部分组成。3)包含组件:①Javac.exe是收录于JDK中的Java语

2018-07-26 13:26:05 1419

转载 良心推荐:总结Android开发中必备的代码Review清单

前言本文收集了我自己工作以来提交代码前的所有检查点。事实证明,这样能有效提高自己的代码质量和功能的稳定性。所以推荐大家以后每次提交代码前,都可以看下这份Review清单哈。此外,可能还有些检查点我并没有发现,欢迎大家踊跃在评论区补充哈~清理操作1.页面退出时,是否完成必要的清理操作是否调用Handler的removeCallbacksAndMessages(null)来清空...

2018-06-22 10:39:35 575

原创 【算法】电梯调度算法/磁盘扫描算法

1,问题描述假如有十层楼,每层都有相同数量的人,一共有三部电梯并且没有楼梯。你将如何分配电梯来实现性能最优,及最小化每一层的等待时间? 设计一个使大楼里所有人等待时间最短的算法,同时要考虑每一层的负载量。假定每一层人数相同且每层的人以同样的方式使用电梯。假设每天有几个小时是“高峰时段”,算法需要提供一种最“公平”的方式来将电梯分配到不同的楼层。2,问题分析分析问题,问题规定如下: ...

2018-05-14 09:43:07 29060

原创 【Android学习】Android计量单位

1,概念1)dp(dip,device independent pixels,设备独立像素)与设备硬件有关,不同设备有不同的显示效果。 一般为了支持WVGA、HVGA、QVGA,使用dp可以不依赖于像素。 一个基于density的抽象单位,如果一个160dpi的屏幕,1dp=1pxdip :等同于dp2)px(pixels,像素)不同设备显示效果相同。 一个像素通常被...

2018-05-04 08:48:19 316

原创 【Android学习】消息推送

1,XMPP协议(常用)1)概念它是一种基于XML的传递协议,具有很强的灵活性和可扩展性。它的特点是将复杂性从客户端转移到了服务器端。GTalk、QQ、IM等都用这个协议。 包括GCM服务器底层也是采用XMPP协议封装的。2)优缺点优点: 协议成熟、强大、可扩展性强、目前主要应用于许多聊天系统中,且已有开源的Java版的开发实例androidpn。androidpn(A...

2018-05-03 08:48:16 235

原创 【Android学习】Android系统架构

0,概念Android系统架构采用了分层架构,从低层到高层(5层)分别是: Linux Kernel(Linux内核)、Hardware Abstraction Layer(硬件抽象层)、Libraries(系统运行库或者是c/c++ 核心库)、Application Framework(开发框架包 )、Applications(核心应用程序)。 (旧的版本是4层:应用程序程序层、应用...

2018-04-28 08:45:59 502

原创 【编程素质】设计模式-工厂模式(Factory Pattern)

工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。

2018-04-27 08:32:11 1302 1

原创 【编程素质】设计模式-适配器模式(Adapter)

1,适配器模式(Adapter,包装器,Wrapper)将一个类的接口,转换成客户期待的另一个接口。适配器类让原本不兼容的类合作无间。属于结构型模式.需要被适配的类、接口、对象,这些是我们已有的数据,简称 src(source); 最终需要的输出的数据:简称 dst (destination,即Target) ,适配器称之为 Adapter 。一句话描述适配器模式: src-&gt;...

2018-04-24 09:35:09 420

原创 【Android学习】Android常用框架

1,缓存1)DiskLruCacheJava实现基于LRU的磁盘缓存。2,图片1)Glide(已使用)①概念图片加载。 Glide 支持拉取,解码和展示视频快照,图片,和GIF动画。②场景适合用在那些对图片依赖不大的App中。2)Android-Universal-Image-Loader图片加载。 已停止维护。3)Pic...

2018-04-15 15:14:31 2656

原创 【设计模式】观察者模式(Observer Pattern)和“发布者-订阅者”模式(Pub-Sub Pattern)

1,观察者模式(发布(publish )-订阅(Subscribe)模式、模型-视图(View)模式、源-收听者(Listener)模式或从属者模式)1)定义了对象之间的一对多依赖,这样一来当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。2)用途通常被用来实现事件处理系统。 在实际应用中,如果一个事物改变了需要通知另一个事物此时就需要使用观察者来监控3...

2018-03-23 14:34:58 842

原创 【Android学习】Android安全机制

1,实现沙箱化1)沙箱对使用者来说是一种安全缓解,对恶意访问者来说是一种限制。2)Android沙箱Android应用通常在一个独立的沙箱种运行,即每一个Android应用程序都在它自己的进程中运行,拥有一个独立的Dalvik虚拟机实例。Android这种基于Linux的进程“沙箱”机制,是整个安全设计的基础之一。 具体而言,进程以隔离的用户环境运行,不能相互干扰,比如发...

2018-03-20 15:02:39 1149

原创 项目管理-SVN学习

1,概念1)项目管理为了使工作项目能够按照预定的成本、进度、质量顺利完成,而对人员(People)、产品(Product)、过程(Process)和项目(Project)进行分析和管理。2)常见的项目管理软件①SVN (Subversion)SVN 是开发源码软件,无需支付购买费用。同时没有生产厂家为其提供技术的支持。如发现问题,通常只能靠自己查找网上的资料进...

2018-03-20 13:43:22 3139

原创 【Android学习】系统设置SystemMethod

1,获取屏幕宽和高DisplayMetrics dm =getResources().getDisplayMetrics(); int w_screen = dm.widthPixels; //宽度 单位为pxint h_screen = dm.heightPixels; //高度//dm.densityDpi 密度densityDpi 每英寸多少个像素点, density ...

2018-03-12 16:18:07 209

原创 【android学习】EditText

TextView是EditText父类。1,属性1)输入格式①inputType设置文本的类型,用于帮助输入法显示合适的键盘类型。 android:inputType=&amp;quot;none&amp;quot;//输入普通字符(英语) android:inputType=&amp;quot;text&amp;quot;//输入普通字符(汉字) android:inputType=&amp;quot;tex

2018-03-07 13:18:09 379

windows安装hadoop

教程:https://blog.csdn.net/SunshineTan/article/details/103913742

2024-02-23

apache-ant-zip.jar包及用法

apache-ant-zip.jar包及用法 用过java做压缩或解压的都知道,jdk提供的zip只能按UTF-8格式处理,所有jdk提供的zip不能支持中文文件名,可以采用Apache的zip包解决中文文件名问题。

2018-06-14

全国省市区县街道json

全国省市区县街道json: 文件含义 文件名称 省份数据 provinces.json 城市数据 cities.json 区县数据 areas.json 乡镇(街道)数据 streets.json “省份、城市” 二级联动数据 pc.json “省份、城市” 二级联动数据(带编码) pc-code.json “省份、城市、区县” 三级联动数据 pca.json “省份、城市、区县” 三级联动数据(带编码) pca-code.json “省份、城市、区县、乡镇” 四级联动数据 pcas.json “省份、城市、区县、乡镇” 四级联动数据(带编码) pcas-code.json

2018-02-06

图片加载器

http://blog.csdn.net/sunshinetan/article/details/79068289

2018-01-15

gradle-4.1-all.zip

解决building 'DM' Gradle project info问题,内有gradle-4.1-all.zip,含有解决方案。

2018-01-05

jdbc连接包

内包含4个包,用于数据库的连接。使用方法参考:http://blog.csdn.net/SunshineTan/article/details/78408723 内容为: commons-dbcp2-2.1.jar commons-loggin.jar commons-pool2-2.3.jar sqljdbc4-4.0.jar

2017-10-31

Android jar 阅读器:jd-gui.exe

Android反汇编:dex2jar。 可以把classes.dex转换为jar。可以通过jd-gui.exe查看源代码。 详细教程可查看:http://blog.csdn.net/SunshineTan/article/details/77988955

2017-09-15

Android反汇编:dex2jar

Android反汇编:dex2jar。 可以把classes.dex转换为jar。可以通过jd-gui.exe查看源代码。 详细教程可查看:http://blog.csdn.net/SunshineTan/article/details/77988955

2017-09-15

Android多图片上传Servlet

一个简单而不严谨的小demo:实现了多图片上传服务器功能。 客户端:eclipse开发的Android原生。 服务器端:eclipse开发的servlet。 数据传输使用http。 注:无法上传视频,只能上传图片。

2017-08-10

android-support-v4

android-support-v4

2017-07-25

fragment切换改进

用ViewPager实现fragment的切换 用 ArrayList fragmentList存储fragment 用xml中的selector来切换图片 详情查看:http://blog.csdn.net/SunshineTan/article/details/75174141

2017-07-17

android离线日志文件打印

打印日志到指定文件夹,不需要借助eclipse即可查看android运行中的日志。日志为.txt文件,可直接阅读。

2017-07-11

自定义进度条

如:http://blog.csdn.net/SunshineTan/article/details/72652109所示。

2017-05-24

软件质量—中间件的基本集&扩展基

提出软件产品质量度量属性的基本基和扩展基,主要考虑到:①共享软件产品质量的知识;②降低应用标准的难度;③提高评价结果的可比性。

2017-05-05

日期选择控件

web日期选择控件

2017-04-25

web 上中下分栏界面

一个简单布局demo,分为上中下三块

2017-04-25

JS表格排序

实现点击表格表头即可进行列排序功能。详细使用方法查看:http://blog.csdn.net/sunshinetan/article/details/60584185

2017-04-08

BaseActivity

http://blog.csdn.net/sunshinetan/article/details/53010823

2016-12-18

守护进程(android5.1)

详细解说:http://blog.csdn.net/sunshinetan/article/details/53572073

2016-12-12

appcompat_v7包

android开发误删appcompat_v7 解决方案:http://blog.csdn.net/sunshinetan/article/details/52475437

2016-09-20

自定义标题栏和底部菜单+沉浸状态栏

本人博客有程序讲解。

2016-05-19

极客与团队

《极客与团队》是一本写给程序员看的,教你怎么交朋友,怎么影响团队中的其他人。书中充满了操作性极强的建议和意见,让你在技术团队中过得更开心,变得更有效率,更加如鱼得水。本书旨在帮助程序员改进理解他人,与人沟通,以及与人合作的能力,进而在编写软件的过程中变得更有效率。 ---来自百度百科。 这本书极力推荐,第一章的内容对我触动颇大

2016-03-10

思维导图使用手册

《思维导图使用手册》一书的目的就是帮助你做到莎士比亚对你的要求——使用你的智慧。读完本书之后,你就会更深入地了解大脑是怎样工作的,以及如何最大限度地发挥大脑的作用。你会发现自己的阅读速度加快了,阅读效率提高了,不仅能有效地制作思维导图,还能轻松地解决各种问题,同时还会感觉到记忆力大为增强。这篇使用指南将概要介绍全书各章的内容,以及如何最有效地学习这些内容。 ---来自百度百科

2016-03-10

空空如也

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

TA关注的人

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