- 博客(10)
- 收藏
- 关注
原创 i++线程安全问题
Q:i++是线程安全的吗?A:如果是局部变量,那么i++是线程安全。 如果是全局变量,那么i++不是线程安全的。理由:如果是局部变量,那么i++是线程安全:局部变量其他线程访问不到,所以根本不存在是否安全这个问题。 如果是全局变量,那么i++不是线程安全的:当它是全局变量时,所有线程都可以访问,那么,当有1000个线程同时执行i++操作时,i变量的副本拷贝到每个线程的线程栈,当同时有...
2018-04-26 00:40:33 2417
原创 一波京东面经
为自己攒人品京东一面40分钟自我介绍谈项目负责的模块SpringIOC AOP 以及两个动态代理区别maven打包的过程hashmap同步的几种方法ConcurrentHashmap怎么实现的同步?平时用什么数据结构?讲讲b+树,b+树的好处数据库里的乐观锁悲观锁,怎么写?对项目的优化(然后我就开始说数据库优化)redis数据类型,持久化方式,和mysql的区别jvm内存结构和内存模型垃圾收集器...
2018-04-26 00:35:37 494
原创 防止单例模式被破坏
总结了两种方法,如果还有别的方法的话,欢迎博友补充一、反射机制的引入来破坏单例模式下面是一个单例类,我们通过反射机制生成该类的一个实例public class Singleton { public static final Singleton INSTANCE = new Singleton(); private Singleton() { } public Sin...
2018-04-20 15:02:16 607
转载 初识装饰器模式
转自www.runoob.com/design-pattern/decorator-pattern.html装饰器模式装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。我们通过下面的实例来演...
2018-04-16 23:17:29 136
原创 八大排序之堆排序
堆排序法(直接选择排序的改进):将排序码k1,k2,k3,...,kn表示成一棵完全二叉树,然后从第n/2个排序码开妈筛选,使由该结点组成的子二叉树符合堆的定义,然后从第n/2-1个排序码重复刚才操作,直到第一个排序码止,这时候,该二叉树符合堆的定义,初始堆已经建立。 接着,可以按如下方法进行堆排序:将堆中第一个结点(二叉树根结点)和最后一个结点的数据进行交换(k1与kn),再将k1...
2018-04-16 00:53:04 298
转载 单例模式详解
单例模式单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。注意: 1、单例类只能有一个实例。2、单例类必须自己创建自己的唯一实例。3、单例类必...
2018-04-15 17:42:03 157
原创 线程创建的三种方式
Java中创建线程主要有三种方式:一、继承Thread类创建线程类(1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务。因此把run()方法称为执行体。(2)创建Thread子类的实例,即创建了线程对象。(3)调用线程对象的start()方法来启动该线程。[java] view plain copy print?00001. package com....
2018-04-13 00:30:31 328
原创 八大排序之希尔排序
package com.eight.paixu;/* * 希尔排序法:希尔排序(ShellSorting)又称为“缩小增量排序”。 * 该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。 * 希尔排序:分组交换的思想,先分组,后交换排序 属于交换...
2018-04-13 00:27:42 247
原创 八大排序之快速排序
package com.eight.paixu;/* * 快速排序:递归算法,将较大的一组换到后面去,较小的一组在前面,前面和后面的分别再递归调用 * 属于交换类排序 * 不稳定的排序算法 :如35512第一轮时前面的5和后面的2换位置,后面的5和1换位置,位置顺序被破坏 * 平均时间复杂度O(n*log2n) * 最坏时间复杂度O(n*n) ...
2018-04-13 00:26:55 187
原创 八大排序之选择排序
package com.eight.paixu;/* * 选择排序—简单选择排序(Simple Selection Sort) * * *在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换;然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直到第n-1个元素(倒数第二个数)和第n个元素(最后一个数)比较为止。 */public cl...
2018-04-13 00:25:09 158
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人