![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 68
一颗西瓜
将每一件小事认真做好。
展开
-
17年华为算法大赛源码
之前参加华为软件大赛的源码,希望对后来参加的人有一点点帮助。//消费节点,定义为一个链表的头public class consumptionNode { private int consumptionNodeId;//消费节点id,用于确定哪一个消费节点 private LinkNode nextLinkNodeId;//链路节点id,用于确定哪一个链路节点 private int ban原创 2017-08-12 08:19:05 · 3420 阅读 · 1 评论 -
快速排序——JAVA实现(图文并茂)
高快省的排序算法有没有既不浪费空间又可以快一点的排序算法呢?那就是“快速排序”啦!光听这个名字是不是就觉得很高端呢。假设我们现在对“6 1 2 7 9 3 4 5 10 8”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,就是一个用来参照的数,待会你就知道它用来做啥的了)。为了方便,就让第一个数6作为基准数吧。接下来,需要将这个序列中所有比基准数大的数放在6的右...转载 2018-03-06 15:10:06 · 20603 阅读 · 33 评论 -
全局变量,局部变量,静态变量和实例变量的区别
全局变量是一个运行时刻实体,他在程序的整个执行过程都存在。全局变量占用的存储时刻的使命周期从程序的开始到结束,全局变量初始化时或者未初始化时,在程序映像中有不同的分区,已初始化的n全局变量是可执行的一部分。未初始化的全局变量是不可初始化的一部分,只有定义他们的程序被调用时(执行),才分配空间,声明或定义时并不分配。未初始化的全局变量在运行时初始化为0。 局部变量也叫自动变量,他声原创 2017-08-05 08:26:16 · 1729 阅读 · 0 评论 -
java面向对象的三个特征以及匿名内部类
封装、继承、多态封装和继承几乎都是为多态而准备的一、 封装首先,属性能够描述事物的特征,方法能够描述事物的动作。封装就是把同一类事物的共性(包括属性和方法)归到同一类中,方便使用。封装:封装也称信息隐藏,是指利用抽象数据类型把数据和基于数据的操作封装起来,使其成为一个不可分割的整体,数据隐藏在抽象数据内部,尽可能的隐藏数据细节,只保留一些接口使其与外界发生转载 2017-08-08 17:54:38 · 334 阅读 · 0 评论 -
jvm中堆和栈应用小结
1.java在声明全局变量时,便为变量分配空间,以便于不会声明同样名字的变量,局部变量声明时会放在栈中,全局变量声明时会放在堆中,定义时全局变量会放在堆中。原创 2017-08-15 15:30:07 · 188 阅读 · 0 评论 -
java中逻辑右移">>>"算术右移">>"的区别
>>右移运算符,有符号。右边超出截掉,左边补上符号位 >>>右移运算符,无符号,左边补0 算术右移 顾名思义 算术嘛 当然要带符号了 所以要补上符号位 负的就填1 正的就填0 那个逻辑右移 直接补上0就ok例子: byte a=~127;System.out.println(a);a=(byte)(a>>>2);System.out.println(a);转载 2017-08-21 22:43:21 · 290 阅读 · 0 评论 -
主线程Thread和子线程Thread的区别
1. 前言众所周知,在android中,非ui线程中是不能更新ui,如果在子线程中做ui相关操作,可能会出现程序崩溃。一般的做法是,创建一个Message对象,然后Handler发送该message,然后在Handler的handleMessage()方法中做ui相关操作,这样就成功实现了子线程切换到主线程。 初始化Handler有两个地方,一个在主线程中,一个在子线程中,具体有什么区转载 2017-08-22 17:46:47 · 2595 阅读 · 0 评论 -
Java垃圾回收机制
说到垃圾回收(Garbage Collection,GC),很多人就会自然而然地把它和Java联系起来。在Java中,程序员不需要去关心内存动态分配和垃圾回收的问题,这一切都交给了JVM来处理。顾名思义,垃圾回收就是释放垃圾占用的空间,那么在Java中,什么样的对象会被认定为“垃圾”?那么当一些对象被确定为垃圾之后,采用什么样的策略来进行回收(释放空间)?在目前的商业虚拟机中,有哪些典型的垃圾收集转载 2017-08-25 10:20:09 · 166 阅读 · 0 评论 -
java垃圾回收机制笔记
1.java的内存java的内存结构分为堆 (是gc的主要区域) 线程共享,主要是用于分配实例对象和数组栈 线程私有,它的生命周期和线程相同,又分成 虚拟机栈和本地方法栈,只有它会报 StackOverFlowError,栈深度超标方法区 线程共享 用于储存被虚拟机加载的类的信息,静态变量 常量和编译后的.class字节码程序计数器 线程私有,线程之间不相互影响,独立存取;以上转载 2017-08-25 10:34:07 · 250 阅读 · 0 评论 -
Java中equals和==的区别
java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean 他们之间的比较,应用双等号(==),比较的是他们的值。 2.复合数据类型(类) 当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否转载 2017-09-05 14:30:10 · 146 阅读 · 0 评论 -
Message小结
结构继承关系public final class Message extends Object implements Parcelable java.lang.Objectandroid.os.Message 类概述定义一个包含任意类型的描述数据对象,此对象可以发送给Handler。对象包含两个额外的int字段和一个额外转载 2017-09-05 16:19:47 · 902 阅读 · 1 评论 -
LruCache 分析
LruCache 是 Android 的一个内部类,提供了基于内存实现的缓存用法 //获取系统分配给每个应用程序的最大内存,每个应用系统分配32M int maxMemory = (int) Runtime.getRuntime().maxMemory(); int mCacheSize = maxMemory / 8; //给LruCache分转载 2017-10-19 16:32:29 · 308 阅读 · 0 评论 -
java中的单例模式
Java中单例(Singleton)模式是一种广泛使用的设计模式。单例模式的主要作用是保证在Java程序中,某个类只有一个实例存在。一些管理器和控制器常被设计成单例模式。 单例模式有很多好处,它能够避免实例对象的重复创建,不仅可以减少每次创建对象的时间开销,还可以节约内存空间;能够避免由于操作多个实例导致的逻辑错误。如果一个对象有可能贯穿整个应用程序,而且起到了全局统一管理控制转载 2017-10-23 09:52:59 · 135 阅读 · 0 评论 -
为什么用enum
假如有一笔业务需要审核,审核状态分:未审核,审核中,审核通过,审核不通过。我们在程序里是否可以直接这么写:if(state==1){//1代表未操作 //操作}else{ //......}将状态标识直接写在代码里面(硬编码),只图一时方便,却是后患无穷,如果有一天你需要修改状态标识,用0代表未审核而不是1,你不得不将所有与该标识相转载 2017-10-31 08:50:02 · 449 阅读 · 0 评论 -
缓存思路
把网络缓存大致先分为两种:1、网络数据刷新不频繁的在此种情况下网络数据数据的频率并不是很高,并且对数据的实时显示要求也不是很高,例如一些电商平台的商品显示列表数据。在这种情况下,数据比如每过1个小时才刷新一次,这样我们就没必要每次都去从网络上请求数据,可给数据设置一个超时值,当然这个超时值应该小于数据刷新的时间,例如如果数据刷新是1小时一次,那么我们可以把缓存的超时值设置成30分钟转载 2017-10-31 08:51:43 · 289 阅读 · 0 评论 -
java类加载机制及反射
一、Java类加载机制1.概述 Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通过该元信息对象可以获知Class的结构信息:如构造函数,属性和方法等,Java允许用户借由这个Class相关的元信息对象间接调用Class对象的功能。 虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验,转换解析和初始转载 2017-10-31 20:56:01 · 194 阅读 · 0 评论 -
内存溢出和内存泄露的区别
一:区别: 1)内存溢出 out of memory:是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。 2)内存泄露 memory leak:是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积转载 2017-11-07 08:44:59 · 234 阅读 · 0 评论 -
java中的自定义注解
1. Java中的注解概述首先要说明一个东西,注解这个东西绝对不是Spring为我们提供的,而是JDK带的,JDK自己也是有很多内置注解的,比如@override. 注解的功能其实就是为一些加了注解的类,方法等赋予特殊的含义,具体如何产生自定义的含义,其实就是注解处理器了,这是下一篇和大家讲的.2. 四种元注解元注解,说白了,就是JDK自带的注解,这些注解是干嘛的呢?其实就是在我们自...转载 2019-03-29 16:28:10 · 118 阅读 · 0 评论