大圣取经:)
码龄10年
关注
提问 私信
  • 博客:203,388
    社区:1
    203,389
    总访问量
  • 76
    原创
  • 1,052,437
    排名
  • 16
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2015-01-25
博客简介:

Creame-Cake的专栏

查看详细资料
个人成就
  • 获得26次点赞
  • 内容获得10次评论
  • 获得97次收藏
创作历程
  • 1篇
    2020年
  • 13篇
    2019年
  • 52篇
    2016年
  • 30篇
    2015年
成就勋章
TA的专栏
  • PHP
    6篇
  • Android
    49篇
  • HTML
    1篇
  • JAVA
    10篇
  • 数据库
    2篇
  • 网络工具
  • 计算机
    1篇
  • Linux
    4篇
  • 数据结构
    12篇
  • 服务器
    1篇
  • 网络
  • 工具
    2篇
  • 垃圾回收
兴趣领域 设置
  • 数据结构与算法
    数据结构
  • 移动开发
    kotlinflutterandroid studio
  • 软件工程
    性能优化
  • 学习和成长
    面试
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

android 点击切换头像图片

使用avatarPick插件显示选择图片dialog:private void showDialog() { if (photoChoose == null) { photoChoose = PhotoChoose.build(mActivity, new PhotoChoose.OnPhotoChooseListener() {
原创
发布博客 2016.04.23 ·
1348 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

普里姆算法(Prim算法求最小生成树)

普里姆算法的基本思想:普里姆算法是一种构造最小生成树的算法,它是按逐个将顶点连通的方式来构造最小生成树的。时间复杂度为O(n^2)。 从连通网络N = { V, E }中的某一顶点u0出发,选择与它关联的具有最小权值的边(u0, v),将其顶点加入到生成树的顶点集合U中。以后每一步从一个顶点在U中,而另一个顶点不在U中的各条边中选择权值最小的边(u, v),把该边加入到生成树的边集TE中,把它的顶
原创
发布博客 2016.08.05 ·
6786 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

双系统之——win10安装deepin系统

分区分出一个deepin系统使用的分区下载deepin系统镜像(iso文件)https://www.deepin.org/download/制作启动盘解压deepin系统镜像文件管理员方式运行 deepin-boot-maker文件选择系统镜像选择启动u盘/磁盘开始制作修改电脑bios插上启动u盘,根据电脑类型,重启后,点击对应的快捷键(小米笔记本为F2)进入b...
原创
发布博客 2020.02.08 ·
888 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Retrofit使用介绍

文章目录常用网络请求框架Android-async-httpVolleyOkHttpRetrofitRetrofit IntroductionRetrofit基本使用Retrofit注解REQUEST METHOD网络请求标记网络请求参数GET的使用@Query的使用@QueryMap的使用@Body的使用@FormUrlEncoded、@Field的使用@Multipart、@Part的使用@H...
原创
发布博客 2019.05.10 ·
342 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

android Messenger

文章目录Messenger 简介Messenger 的使用服务端在收到消息后会使用 Message.replyTo 对应的信使回复消息。客户端(创建 Messenger 对象,传递一个 Handler,在 Handler 中处理消息)总结使用步骤Messenger 简介Messenger “信使”,顾名思义,它的作用就是传递信息。Messenger 有两个构造函数:以 Handler 为参...
原创
发布博客 2019.03.14 ·
1330 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

Window机制

文章目录引言关于Activity、Window和View我们的工匠大神Activity美丽的窗花View灵活的窗户WindowViewRootDecorViewDecorView的创建DecorView的显示总结Thanks引言在Android开发中,一直都是使用Activity来显示并与用户交互,那么Activity是如何将具体的view显示给用户?如何控制与用户交互?从Window机制中,...
原创
发布博客 2019.03.14 ·
287 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

InheritableThreadLocal

背景在ThreadLocal介绍中,我们从源码层面上分析了ThreadLocal原理及设计。但由于ThreadLocal设计之初就是为了绑定当前线程,如果希望当前线程的ThreadLocal能够被子线程使用,InheritableThreadLocal应运而生。关于InheritableThreadLocalInheritableThreadLocal继承自ThreadLocal,在子线程被...
原创
发布博客 2019.03.12 ·
186 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Thread

线程的状态一般来说,线程包括以下这几个状态:创建(new)、就绪(runnable)、运行(running)、阻塞(blocked)、time waiting、waiting、消亡(dead)。当需要新起一个线程来执行某个子任务时,就创建了一个线程。但是线程创建之后,不会立即进入就绪状态,因为线程的运行需要一些条件(比如内存资源,在前面的JVM内存区域划分一篇博文中知道程序计数器、Java栈、...
原创
发布博客 2019.03.12 ·
156 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ThreadLocal

关于ThreadLocalThreadLocal为解决多线程程序的并发问题提供了一种新的思路(非同步方案)。Synchronized用于线程间的数据共享,而ThreadLocal则用于线程间的数据隔离。ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本,从而实现了线程隔离。原理Thread通过Threa...
原创
发布博客 2019.03.12 ·
174 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

进程与线程的区别

进程进程是资源(CPU、内存等)分配和调度的基本单位,它是程序执行时的一个实例。程序运行时系统就会创建一个进程,并为它分配资源,然后把该进程放入进程就绪队列,进程调度器选中它的时候就会为它分配CPU时间,程序开始真正运行。Linux系统函数fork()可以在父进程中创建一个子进程,这样的话,在一个进程接到来自客户端新的请求时就可以复制出一个子进程让其来处理,父进程只需负责监控请求的到来,然后创...
原创
发布博客 2019.03.10 ·
92 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

java线程安全

本篇将分别从以下几个方面介绍java线程安全:关于java内存模型什么是线程安全?怎样保证线程安全?synchronized关键字volatile关键字关于java内存模型不同的平台,内存模型是不一样的,但是jvm的内存模型规范是统一的。java的内存模型中有主内存和线程的工作内存之分,主内存上存放的是线程共享的变量(实例字段,静态字段和构成数组的元素),线程的工作内存是线程私有...
转载
发布博客 2019.03.10 ·
164 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

java类加载过程

类加载机制JVM将类描述数据从.class文件中加载到内存,并对数据进行,解析和初始化,最终形成被JVM直接使用的Java类型。 类从被加载到JVM中开始,到卸载为止,整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。——《深入理解Java虚拟机 JVM高级特性与最佳实践》加载(Loading):简单的说,类加载阶段就是由类加载器负责根据一个类的全限定名来读取此类的...
转载
发布博客 2019.03.10 ·
16137 阅读 ·
7 点赞 ·
2 评论 ·
67 收藏

Android内存管理源码分析

在Android中 ,实现了标注与清理(Mark and Sweep)和拷贝GC,但是具体使用什么算法是在编译期决定的,无法在运行的时候动态更换 – 至少在目前的版本上(4.2)还是这样。在Android的dalvik虚拟机源码的Android.mk文件(路径是/dalvik/vm/Dvm.mk)里,有类似代码清单14 - 5的代码,即如果在编译dalvik虚拟机的命令中指明了"WITH_COPY...
转载
发布博客 2019.03.09 ·
815 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

java GC算法

一般来说,程序使用内存的方式遵循先向操作系统申请一块内存,使用内存,使用完毕之后释放内存归还给操作系统。然而在传统的C/C++等要求显式释放内存的编程语言中,记得在合适的时候释放内存是一个很有难度的工作,因此Java等编程语言都提供了基于垃圾回收算法的内存管理机制:垃圾内存回收算法常见的垃圾回收算法有引用计数法(Reference Counting)、标注并清理(Mark and Sweep ...
转载
发布博客 2019.03.09 ·
1260 阅读 ·
1 点赞 ·
0 评论 ·
7 收藏

java8新特性

Oracle 公司于 2014 年 3 月 18 日发布 Java 8 ,它支持函数式编程,新的 JavaScript 引擎,新的日期 API,新的Stream API 等,为java新增了一抹绿色(活力)。
翻译
发布博客 2019.03.09 ·
108 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Markdown常用语法

Markdown 的目标是实现「易读易写」。Markdown 的理念是,能让文档更容易读、写和随意改。HTML 是一种发布的格式,Markdown 是一种书写的格式。就这样,Markdown 的格式语法只涵盖纯文本可以涵盖的范围。#段落和换行一个 Markdown 段落是由一个或多个连续的文本行组成,它的前后要有一个以上的空行()普通段落不该用空格或制表符来缩进)或者在插入处先按入两个以上的空...
翻译
发布博客 2019.01.08 ·
204 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

各排序算法总结

各排序算法汇总表
原创
发布博客 2016.09.11 ·
369 阅读 ·
2 点赞 ·
0 评论 ·
2 收藏

==和equals

使用==比较原生类型如:boolean、int、char等等,使用equals()比较对象。 ==:比较的是两个字符串内存地址的数值是否相等,属于数值比较; equals(): 是object类型:比较内存地址 不是object类型:比较的是两个字符串的内容,属于内容比较。
原创
发布博客 2016.09.11 ·
298 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

java IO综述

结构图:java io的开始:文件 1. 我们主要讲的是流,流的本质也是对文件的处理,我们循序渐进一步一步从文件将到流去。 2. java 处理文件的类 File,java提供了十分详细的文件处理方法,举了其中几个例子,其余的可以去Java代码 收藏代码 package com.hxw.io; import java.io.*; public class FileExample{
转载
发布博客 2016.09.11 ·
398 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

线程、进程及线程通信

进程 在Android中,一个应用程序就是一个独立的进程(应用运行在一个独立的环境中,可以避免其他应用程序/进程的干扰)。一般来说,当我们启动一个应用程序时,系统会创建一个进程(从Zygote中fork出来的,这个进程会有独立的ID),并为这个进程创建一个主线程(UI线程),然后就可以运行MainActivity了,应用程序的组件默认都是运行在它的进程中,但我们可以通过指定应用的组件(四大组件)的
转载
发布博客 2016.09.11 ·
374 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多