03 2018 档案
摘要:happens-before原则 我们编写的程序都要经过优化后(编译器和处理器会对我们的程序进行优化以提高运行效率)才会被运行,优化分为很多种,其中有一种优化叫做重排序,重排序需要遵守happens-before规则,换句话说只要满足happens-before原则就可以进行重排序。 定义:在JMM
阅读全文
摘要:jvm参数总结 通用参数: -Xms1024m 初始化堆大小(此处的堆泛指jvm内存区域) -Xmx1024m 最大堆大小 -Xmn512m 新生代大小 -Xss256K 每个线程的堆栈大小 -XX:SurvivorRatio=8 新生代中Eden和Survivor的比值 -XX:PermSize=
阅读全文
摘要:原码 :二进制带有符号位,最高位0表示正,最高位位1表示位负 反码 :正数的反码等于原码,负数的反码等于原码符号为不变其他位取反加1 补码 :正数的补码等于原码,负数的补码等于反码+1 举例 : 5(byte类型)的原码,反码,补码 原码:00000101 反码:00000101 补码:000001
阅读全文
摘要:synchronized关键字类似于java中的悲观锁机制,接下来介绍一种java的乐观锁机制Unsafe类 CAS CAS简介 CAS全称是Compare And Swap,即比较交换,它是在并发执行时的一种无锁思想,其主要包含三个参数: /** *V主内存中的值 *E表示线程中旧的预期值 *N表
阅读全文
摘要:创建型 单例模式 饿汉式 评价:在类加载的时候就实例化了对象,而不是当使用它的时候才实例化,会预先占用内存空间,但这在一定的场景下也说不上是缺点,例如:实例化这个单例有磁盘io的操作,如果当使用它的时候才实例化的话就非常影响性能,同时多线程获取单例非常快,不存在竞争的问题, 懒汉式 评价:不需要预先
阅读全文
摘要:参考http://blog.csdn.net/longgeaisisi/article/details/78637179
阅读全文
摘要:数组 删除有序数组的重复元素 合并两个有序数组(nums1的空间足够大) 将0移到数组末尾 数组中出现次数超过一半的数字 最长连续1的个数 第一个只出现一次的字符位置 字符串括号匹配 链表 反转链表:输入一个链表,反转链表后,输出链表的所有元素。 合并链表:输入两个单调递增的链表,输出两个链表合成后
阅读全文