Java
文章平均质量分 85
AmyZheng_
https://github.com/SaberZheng
展开
-
常见排序的Java实现
插入排序 1、原理:在有序数组中从后向前扫描找到要插入元素的位置,将元素插入进去。 2、步骤:插入元素和依次和前一个元素进行比较,若比前一个元素小就交换位置,否则结束循环。 3、代码: package ecut.sort; import java.util.ArrayList; import java.util.List; import java.util.Scanner; impo...原创 2018-08-20 20:46:00 · 179 阅读 · 0 评论 -
JVM垃圾回收机制
区分垃圾 使用引用计数法,若对象的引用计数为0,对象就标识可以回收。但是这个算法有明显的缺陷,对于循环引用的情况下,循环引用的对象就不会被回收。因此我们可以使用root搜索算法,如果对象能够达到root,就不会被回收,如果对象不能够达到root,就会被回收。 垃圾回收机制 1、新生代 主要是用来存放新生的对象。 所有对象创建在新生代的Eden区,当Eden区满后触发新生代的Mi...原创 2018-08-01 21:06:00 · 584 阅读 · 0 评论 -
JVM类加载机制
类的加载过程 1、类的加载 将 字节码文件( .class ) 读入到 JVM 所管理的内存中 将 字节码文件对应的类的数据结构 保存在方法区 最后生成一个与该类对应的 java.lang.Class 类型的对象 ( 在堆区 ) 2、类的链接 连接是把已读入到内存的类的二进制数据合并到Java运行时环境(JRE)中去。 连接又分为三个阶段:验证、准备、解析。 验证:验保证类有...原创 2018-08-03 11:03:00 · 129 阅读 · 0 评论 -
String、StringBuffer和StringBuilder区别
String、StringBuffer和StringBuilder区别 1、长度是否可变 String 是被 final 修饰的,他的长度是不可变的,就算调用 String 的concat 方法,那也是把字符串拼接起来并重新创建一个对象,把拼接后的 String 的值赋给新创建的对象 StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象...原创 2018-08-03 16:50:00 · 183 阅读 · 0 评论 -
ArrayList的底层实现原理
ArrayList源码分析 1、java.util.ArrayList<E> : List 接口的大小可变数组的实现类 ArrayList 内部基于 数组 存储 各个元素。 所谓大小可变数组,是指当 数组容量不足以存放新的元素时,创建新数组,并将原数组中的内容复制过来。 2、ArrayList底层实现原理 构造方法源码分析 //对象数组:ArrayList的底层数据结构,t...原创 2018-08-05 20:59:00 · 1419 阅读 · 0 评论 -
ArrayList、Vector和LinkedList
List接口特点 1、有序的 collection。 2、可以对列表中每个元素的插入位置进行精确地控制。 3、可以根据元素的索引访问元素,并搜索列表中的元素。 4、列表通常允许重复的元素。 5、允许存在 null 元素。 6、实现List接口的常用类有LinkedList、ArrayList、Vector和Stack。 ArrayList特点 1、java.util.ArrayLi...原创 2018-08-07 10:45:00 · 411 阅读 · 0 评论 -
Thread线程
1、什么是线程? 线程( Thread ) 被称作轻量级进程( Lightweight Process ),线程是比进程更小一级的执行单元。 一个进程可以有多个线程,但至少有一个线程(当进程被初始化后,主线程也就被创建了)。 2、如何实现线程? 继承Tread类。 实现Runnable接口。 3、Thread 类中的start() 和 run() 方法有什么区别? start()方法被用...原创 2018-08-07 20:45:00 · 533 阅读 · 0 评论 -
抽象类和接口
接口 1、特点 接口可以继承多个接口 接口里只能声明常量,不能声明构造函数 接口中的方法默认为public abstract,属性默认为public static final 接口中的方法只能被public,abstract,default,static,strictfp修饰 接口中的方法不能非法组合,声明中只能有abstract, default,static其中一个 接口中的方法...原创 2018-08-15 16:23:00 · 130 阅读 · 0 评论 -
SpringMVC工作原理
转载SpringMVC工作原理 SpringMVC的工作原理图: SpringMVC流程 1、 用户发送请求至前端控制器DispatcherServlet。 2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给...转载 2018-08-15 19:28:00 · 104 阅读 · 2 评论 -
HashMap和HashTable
HashMap 基于 哈希表 的 Map 接口的实现类 key 允许为 null , value 也允许为 null 不保证映射的顺序,特别是它不保证该顺序恒久不变 HashTable Map接口的的实现类 实现一个哈希表,该哈希表将键映射到相应的值 Hashtable 的 key 和 value 都不能为 null 几乎所有的方法都是线程安全的 Properties类继承了Has...原创 2018-08-01 16:23:00 · 2038 阅读 · 2 评论