摘要: 发布对象与对象逸出 安全发布对象的4种方法: 1. 在静态初始化函数中初始化一个对象引用 2. 把对象的引用保存到volatile类型域或者AtomicReference对象中 3. 把对象的引用保存到某个正确构造对象的final类型域中 4. 把对象的引用保存到一个由锁保护的域中 阅读全文
posted @ 2018-04-08 23:28 sakura1027 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 定义:当多个线程访问某个类时,不管运行时以何种方式调度或者这些进程如何交替执行,在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么就称这个类是线程安全的 原子性 synchronized:不可中断锁,适合竞争不激烈,可读性好 Lock:可中断锁,多样化同步,竞争激烈时能维持常态 阅读全文
posted @ 2018-04-08 20:22 sakura1027 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 节点的度:一个节点含有的子树的个数 树的度:一棵树中,最大的节点的度 节点的层次:从根开始定义起,根为第一层,根的子节点为第二层,以此类推 深度:对于任意节点n,n的深度为从根到n的唯一路径长,根的深度为0 高度:对于任意节点n,n的高度为从n到一片树叶的最长路径长,所有树叶的高度为0 森林:由m( 阅读全文
posted @ 2018-03-29 14:17 sakura1027 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 创建型模式 1. 抽象工厂模式(Abstract Factory) 返回接口类型 java.sql.DriverManager#getConnection() java.sql.Connection#createStatement() java.sql.Statement#executeQuery( 阅读全文
posted @ 2018-03-21 17:50 sakura1027 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 源码分析: 1 package java.util; 2 3 import java.io.IOException; 4 import java.io.InvalidObjectException; 5 import java.io.Serializable; 6 import java.lang. 阅读全文
posted @ 2018-03-16 11:21 sakura1027 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 说起垃圾收集(Garbage Collection,GC),不得不思考GC需要完成的3件事情: 哪些内存需要回收? 什么时间回收? 如何回收? 程序计算器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作。每一个栈帧中分配多少内存基本 阅读全文
posted @ 2018-03-14 20:40 sakura1027 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 1. 查询DNS,获取域名对应的IP地址 浏览器搜索自身的DNS缓存 操作系统缓存 读取hosts文件 如果不在,向DNS服务器发起一个DNS查询请求 浏览器搜索自身的DNS缓存 操作系统缓存 如果不在,向DNS服务器发起一个DNS查询请求 2. 浏览器获得域名对应的IP地址后,打开TCP连接,三次 阅读全文
posted @ 2018-03-14 11:51 sakura1027 阅读(762) 评论(0) 推荐(0) 编辑
摘要: a. 排序算法的基本思想 b. 排序算法的过程 c. 排序算法的性能(时间复杂度、空间复杂度、稳定性) 稳定性:保证排序前后两个相等的数的相对顺序不变。 依次比较的是稳定的,跳跃比较的是不稳定的(步子迈大了,容易扯着蛋,哈哈哈就是这个意思)。 插入类排序 插入排序的基本思想是:在一个已排好序的记录子 阅读全文
posted @ 2018-03-13 14:34 sakura1027 阅读(231) 评论(0) 推荐(0) 编辑