关闭
当前搜索:

数据结构与算法 - 时间复杂度详解

时间复杂度详解 我们可以使用著名的高斯定理来解释什么是时间复杂度,时间复杂度的重要性 也就是从小到大我们所熟悉的一个定理 1+2+3+4+5+6+….+100的结果 使用高斯定理我们可以很轻松的算出答案 sum = 1 + 2+ 3 + 4 + 5+….+99 + 100 sum = 100 + 99+ 98 +97 +96+….+2 + 1 sum...
阅读(32) 评论(0)

android 为什么谷歌官方不建议在项目中使用 Enum

今天看到一个面试题 就是关于这个的 本来第一反应就是 占内存呀 ,,但是为什么占内存还是 自己也说不出个所以然来 还是太菜了呀 所以在这里详细记录一下 为什么占内存在日常开发中 我们都使用过 判断语句 没错判断语句但我们一般都会使用常量或者枚举(enum) 就像下面这样 示例代码 使用常量public class Main { private static final DEFA...
阅读(487) 评论(0)

android 手把手教你打造属于自己的文件浏览器

前言相信很多朋友在项目开发中都需要用到选择文件浏览器,但是打开的的文件浏览器总有很多不是很满足的地方,比如说只显示特定的文件 还有就是只选择文件夹的路径,这种需求相信在实际开发中还是会遇到很多的,在这里就需要我们自己根据File这个类和android的ListView来完成一个简单的文件浏览器 ,所以让我们来打造属于自己的文件浏览器吧思路:其实很简单的 我们只需要根据获取到的手机的sd卡根目录来获...
阅读(2070) 评论(0)

Android MVP模式简单例子实战

概要 对于mvp模式,大家都知道是由mvc演变而来的,对于MVC大家都知道 M Model(用于存放实体模型与业务逻辑) V View(存放布局和资源文件) C Control(存放Activity) 对于mvc中的view在android中的功能就比较弱化了并且在Control中的activity中我们在实际开发中...
阅读(6113) 评论(10)

JVM 垃圾回收机制主要原理

对于垃圾JVM的垃圾回收机制这里我们称为GC,众所周知,java语言不需要像c++那样需要自己申请内存,自己释放内存,这些都是JVM帮我们做好了的,但是对于一名java程序员,想要更近自己的水平更上一层楼,就要去了解GC的工作原理,根据原理才能写出更好的更优的程序,这里我们先初步讲解一下GC的工作原理首先我们在讲解之前我们需要了解一下JVM内存运行时数据区的三个重要的地方 堆(heap)...
阅读(9386) 评论(1)

Java 设计模式 之 观察者模式

简介 : 观察者模式 用于监听一些对象的状态,如果被监听的对象的数据被改变了,那么他的观察者就会知道,并且根据被修改的数据进行一些操作。 问题的引出 :在这里拿老师与学生来举一个简单的例子教室里的学生正在听课,教室里面的老师正在上课,窗外的的班主任正在看着教室里面的学生,这个时候教室里面学生属于被观察的对象,而正在上课的老师和班主任则属于观察者,这个时候教室的里面属于听课状态的学生的...
阅读(1313) 评论(1)

Java 设计模式 之 工厂模式

简介前言:工厂模式主要是为了我们在创建对象提供过渡接口,这样就能将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。 所以对于比较常用的设计模式(工厂模式),这也是我们必须要掌握的分类 :工厂模式主要被分为三种 简单工厂模式(Simple Factory) 工厂方法模式(Factory Method) 抽象工厂模式(Abstract Factory) 对于工厂模式这...
阅读(608) 评论(0)

JVM 编译之指令重排

介绍 :所谓的指令重排指的就是jvm在编译代码的时候 ,为了提高程序运行效率,在不影响单线程程序执行结果的前提下,对指令进行的排序,当然我们这里的是单线程,如果是在多线程中就会影响程序的结果了可能你听了我的介绍 还是不明所以,到底什么是指令重排?,没关系,下面我们通过代码来理解到底什么是指令重排 1---> int a = 2 < int b = 3 << 1...
阅读(908) 评论(1)

Java 设计模式 之 单例模式

介绍 : 单例模式是一种在日常开发中比较常见的设计模式,在这个模式当中只能允许被实例化一次。 单例模式有两种构建方式,懒汉式与饿汉式,这两种构建方式会在后面详解 单例模式最初的定义出现于《设计模式》(艾迪生维斯理, 1994):“保证一个类仅有一个实例,并提供一个访问它的全局访问点。 对于那些还没有明白单例模式的朋友,我们可以用下面这张图来理解到底什么是单例模式如果你还是不懂...
阅读(1661) 评论(0)

一个男生的自我修养

男生有钱到底有多重要? (一)   男生有钱有多重要,有钱就代表着在很多很多的事上有自由,相当的自由。 工作的自由,生活的自由,爱情的自由,交友的自由,运动的自由,追求理想的自由,寻找人生意义的自由,实现自我价值的自由。 爱情的自由 我是一个爱女人的人,忽然我们可能碰见心甘情愿与我吃糠咽菜做原始积累的世间难寻的绝世女子(概率多低暂且不表)我真的不愿意让她受这份儿...
阅读(2680) 评论(0)

J2se源码剖析 基本数据类型double

前言今天要分析的Double源码与我上一篇博客的 java源码剖析 Inteager都是属于 java.lang中的,并且都是继承于Number,都实现了Comparable,在上一篇博客中我没有详细说明实现这个Comparable的接口到底有什么用,在这篇博客我会为大家说明这个Comparable的接口到底在Double类中实现了什么东西,接下来我们看Double中的这一段代码,/*实现Comp...
阅读(1051) 评论(0)

Dijkstra算法详解

算法简介 用于计算从一个顶点到其余各顶点的最短路径算法 适用于权值为非负的图的单源最短路径,用斐波那契堆的复杂度O(E+VlgV) 主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止 算法思想这里我们以这组例子为列1 4 1 4 2 3 4 3 1 3 2 1在这里我们使用数组vis数组来标记未走过的节点以dis数组来存储从 1 到 到 1 2...
阅读(2136) 评论(0)

Floyd算法详解

简介 : Floyd算法是解决任意两点间的最短路径的一种算法 Floyd算法是一个经典的动态规划算法 Floyd算法的时间复杂度为O(N3),空间复杂度为O(N2) 算法描述与原理:首先我们的目标是寻找从点i到点j的最短路径。从一个节点 i 到 节点 j,无非就是两种情况 直接从 i 点 到 j 点 如 i 点出发经过若干个点到达 j 点 要找出最 i...
阅读(1833) 评论(0)

android xutil 使用详解

xUtils简介 xUtils 包含了很多实用的android工具。 xUtils 支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响… xUitls 最低兼容android 2.2 (api level 8) 目前xUtils主要有四大模块: DbUtils模块: android中的orm框架,一行代码就可以进行增删改查; 支...
阅读(981) 评论(1)

J2se源码剖析 基本数据类型Integer

大家都知道int 是基本数据类型而Integer则是int的包装类,为什么要为基本数据类型提供包装类呢?这里我只说一个最基本的原因 “为了在各种类型间转化,通过各种方法的调用。否则 你无法直接通过变量转化”,这只是其一,其余的我就不一一赘述了,下面让我们来一下Integer的源码 public static final int MIN_VALUE = 0x80000000; //Inte...
阅读(1687) 评论(1)

android 手把手教你绘制圆形头像

自从腾讯QQ中的圆形头像,火了起来后,现在我们在一些应用中都能看到圆形头像的身影,在个人主页或者个人资料面板中使用圆形头像,会使整个布局变得更加优雅 现在我们来进行第一步,创建一个继承ImageView的抽象类MakeRoundImage。让他重写onDraw方法,并且声明一个画笔 import android.content.Context; import android.graphics.Ca...
阅读(3272) 评论(2)

HDU 1754

Description 很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。 这让很多学生很反感。不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。Input 本题目包含多组测试,请处理到文件结束。 在每个测试的第一行,有两个正整数 N 和 M ( 0import java.util.Sca...
阅读(731) 评论(0)

Java 虚拟机基本结构介绍

java虚拟机的基本结构如图所示:基本的结构有8个 类加载子系统: 主要负责负责加载Class信息,加载的类信息都存放在方法区的类存空间中。 当JVM使用类加载器装载某个类时,它首先要定位对应的class文件,然后读入这个class文件,最后,JVM提取该文件的内容信息,并将这些信息存储到方法区,最后返回一个class实例方法区:方法区主要存储的是方法,静态成员,常量。方法区中给每个类都规定了空...
阅读(1812) 评论(1)

android adb shell查看手机中项目的文件

在平时的项目开发中,尤其是关于文件存储我们往往需要,查看手机上的文件,但是由于权限问题 在自己手机上并不能看到自己项目的文件 ,所以这个时候就需要我们的 adb shell了,首先我们找到我们的sdk文件夹中的 platform-tools 然后我们可以找到我们的adb 然后我们将这里的路径复制下来,点击进入path环境变量,将这里的路径配置到path环境里面 我们就可以在cmd中输入adb...
阅读(8597) 评论(1)

android sqlite增删改查基本运用

在前面,我已经讲了,sqlite的创建具体过程android sqlite轻量级数据库的基本运用之创建数据库 ,现在就来学习一下sqlite是如何进行数据存储并且像其他数据库那样实现增删改查的相信并不是每个人都非常的熟悉sql语句,所以android也向我们对数据库的增删改查提供了一系列的辅助方法,使不懂sql语句的开发者也能对sqlite进行增删改查现在就让我们来创建一个数据库,使的这个数据库包含...
阅读(2440) 评论(0)
44条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:112737次
    • 积分:1390
    • 等级:
    • 排名:千里之外
    • 原创:41篇
    • 转载:3篇
    • 译文:0篇
    • 评论:32条
    博客专栏
    最新评论