java
杨殿生
这个作者很懒,什么都没留下…
展开
-
Java高手要会的小知识
1,在重写equals的时候需要注意哪几点?并说说这些点的含义?自反性 x.equals(x)为true对称性 x.equeals(y)为true那么y.equals(x)也为true传递性 x.equeals(y)为true,y.equeals(c)为true。那么x.equeals(c)为true一致性 当两个对象都未作修改反复调用x.equeals(y)为true非空性 x.equeals(...原创 2018-07-13 10:01:22 · 170 阅读 · 0 评论 -
Java集合 && Android提供的集合
LinkedList 底层结构是双重链表,线程不安全,可存储null,存储数据可重复,并且可用作堆栈,队列,双端队列同步方式可以使用List list = Collections.synchronizedList(new LinkedList(...));增删要比ArrayList高效ArrayList 底层是结构为可变数组,线程不安全,可以存储null,存储数据可重复同步方式 List list...原创 2018-06-16 21:54:41 · 386 阅读 · 0 评论 -
HashCode的算法
HashCode是什么(散列算法)提供类似指纹的识别标识,使用较短的信息来标识文件的唯一性,这个标识与每一个字节都有关,并且不可逆java 提供的String hashCode 算法如下 乘加迭代运算public int hashCode() { int h = hash; final int len = length(); if (h == 0 &...原创 2018-06-23 12:17:41 · 2354 阅读 · 0 评论 -
注解的原理是什么?
注解就是继承自Annotation的接口,他没有行为只有数据,让其实现行为必须有实现对象(代理对象),在使用反射技术实现行为注解就是一种标记,为他要标记的对象赋值,然后通过静态解析(继承AbstractProcessor),使用动态解析(反射机制)jvm内部实现也是通过动态代理TestAnnotation然后通过反射赋值来实现的自定义注解有四个关键字@Documented@Retention 作用...原创 2018-06-23 11:42:16 · 1953 阅读 · 0 评论 -
JVM虚拟机
JVM虚拟机:类加载子系统,执行引擎,垃圾回收子系统,运行时一,类加载子系统当new或者调用静态变量的时候虚拟机就会去校验是否加载过使用的类,加载一个类的过程为加载类的要使用的类加载器ClassLoader,它使用的是双亲委派模型(如下图)为什么使用双亲委派模型?防止类的重复加载,类的唯一性确定是靠的是同一个类加载器加载和同一个class文件二 执行引擎执行加载完成的class字节码,使他们变成机...原创 2018-06-05 21:57:23 · 238 阅读 · 0 评论 -
关于优化的问题编程需注意事项
内存泄漏1,Handler使用静态或者弱引用,原因:Message中存在Handler引用,而Handler如果是非静态内部类那么他是持有外部类Activity引用的,当Activity finish掉如果MessageQueue中还是Message那么Activity中的引用是不会被释放的,所以造成了内存泄漏...原创 2018-04-23 09:47:43 · 227 阅读 · 0 评论 -
Java基础知识
Java中形参实参----------------虚拟机部分 start -----------------java虚拟机的特性谈谈对jvm的理解JVM组成java常量池JVM内存区域,开线程影响哪块内存类加载机制类加载器符号引用&直接引用谈谈对ClassLoader(类加载器)的理解虚拟机原理,如何自己设计一个虚拟机(内存管理,类加载,双亲委派)谈谈你对双亲委派模型理解JVM内存模型,内...原创 2018-04-04 10:36:02 · 411 阅读 · 0 评论 -
查找算法
https://www.cnblogs.com/yw09041432/p/5908444.html1,顺序查找说明。适合查找存储结构为顺序存储或者链接存储的线性表时间复杂度O(n)//顺序查找 private static int sequenceSearch(int[] arr, int value) { for (int i = 0; i < arr.length...原创 2018-04-03 14:32:54 · 142 阅读 · 0 评论 -
排序算法
不错的算法文章http://www.cnblogs.com/eniac12/p/5329396.html1,交换排序 1)冒泡排序尽管是最容易理解的排序算法之一,但他对于少数元素之外的数列排序是很没有效率的 //冒泡排揎 private static void bubbleSort(int[] arr) { for (int i = 0; i < arr.length...原创 2018-04-02 19:30:19 · 158 阅读 · 0 评论 -
面
https://juejin.im/post/5ab7a9cd6fb9a028c812d24b#heading-2源码分析面试需要明确的问题数据库更新性能优化都有什么主要分为以下几部分:(0)Android编程注意事项以及优化(1)java面试题Java基础知识总结(2)Android面试题Activity + Fragment知识点总结Service知...原创 2018-03-20 13:13:03 · 374 阅读 · 0 评论 -
多线程知识点总结
原文地址https://www.jianshu.com/p/2f1c94551038多线程一直都是面试高级的必问高发区,并且很难掌握。特别是对于客户端的同学,因为我们在写客户端时,虽然会使用多线程场景,但不会有后端那种强要求高并发的场景。但这并不应该成为掌握不好多线程的借口,以下是我总结的思维导图,通过这个思维导图我们能更加清晰的理解多线程的知识框架...原创 2019-04-19 11:24:42 · 308 阅读 · 0 评论