
数据结构
数据结构
程序猿365
这个作者很懒,什么都没留下…
展开
-
Java 内存模型中的可见性、原子性、有序性
可见性:是指线程之间的可见性,一个线程修改的状态对另一个线程是可见的,也就是一个线程修改的结果。另一个线程马上就能看到如:用volatile修饰的变量,就会具有可见性。volatile修饰的变量不允许线程内部缓存和重排序,即直接修改内存。所以对其他线程是可见的volatile只能让被他修饰内容具有可见性,但不能保证它具有原子性。 在 Java 中 volatile、synchroniz...原创 2018-08-25 13:25:13 · 531 阅读 · 0 评论 -
java实现自己的单链表、双链表、Map存储
java实现自己的单链表、双链表、Map存储 HashSet、TreeSet ArrayList、LinkList、Vector,TreeMap、HashMap、HashTableArrayList:底层是数组Vector:是集合,也是数组,同步的,vector其实是一个线程安全的ArrayListLinkList:node,指定next,链表结构HashSet:Set...原创 2018-09-02 19:23:54 · 477 阅读 · 0 评论 -
java排序
简单排序有:冒泡排序、选择排序、插入排序高级排序有:快速排序、希尔排序、归并排序冒泡排序和选择排序的区别: 冒泡排序交易值的次数比较多,相互交换 选择排序是比较值,然后获取值最小的index,然后的去交换值,是第一个和最小的交换,选择排序交换的次数比较少1、冒泡排序法int[] arr={9,257,1,26,5,69};//定义一个数组 int temp;/...原创 2018-12-08 10:09:20 · 120 阅读 · 0 评论 -
单链表和双链表
单链表:是一个Node,存储当前对象,并指向下一个next,;插入在第一位Node,next指向原来的first单链表:只保存第一个node的引用,双端链表:保存两个node的引用,第一个和最后一个node,可以从第一个插入,也可以从最后一个插入,也可以从头部和尾部删除/* * 链结点,相当于是车厢 */public class Node { //数据域 publ...原创 2018-12-08 10:09:36 · 246 阅读 · 0 评论 -
JVM监控与性能调优
1、jvm参数类型:标准参数、X参数、XX参数标准参数:例如-help、-server、-client、-version、-showversion、-cp、-classpath;在jdk的各个版本中,基本是不变的,java -versionX参数:即非标准化参数,才jdk各个版本中变化的可能性很大, -Xint::该参数完全解释执行,不会把java代码转化成本地代码 ...原创 2018-12-22 16:44:32 · 186 阅读 · 0 评论 -
java运算符
1、<< 左移运算符,将运算符左边的对象向左移动运算符右边指定的位数(在低位补0) 任何非零数的0次方都是1左移运算符 3<<2 3的二进制位11,向左移动2位1100,也可以用另外一种方式 3<<2 ---->3 * 2的二次方=3*4=122<<2 ---->2 * 2的二次方=2*4=8...原创 2018-12-23 16:09:22 · 171 阅读 · 0 评论