自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 Java String不可变类总结

引用最经典的几个案例case1:上面的这个案例,不用多说了, s1, s2都是指向常量池中的同一片内存,s3指向的是堆中的内存,s4指向的也是常量池中的。case2:对应的字节码:s4在编译时,直接转成“abc”,存放在常量池,故s1 == s4;但是,String字符串的相加,本质是同步new StringBuilder,之后再通过toStri

2016-03-24 20:38:49 504

转载 Redis持久化(二)

总的来说有两种持久化方案:RDB和AOFRDB方式按照一定的时间间隔对数据集创建基于时间点的快照。AOF方式记录Server收到的写操作到日志文件,在Server重启时通过回放这些写操作来重建数据集。该方式类似于MySQL中基于语句格式的binlog。当日志变大时Redis可在后台重写日志。若仅期望数据在Server运行期间存在则可禁用两种持久化方案。在同一Redis实例中同时开启AO

2016-03-14 16:47:16 215

转载 Redis持久化(一)

Redis 持久化:提供了多种不同级别的持久化方式:一种是RDB,另一种是AOF.RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot)。AOF 持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。 AOF 文件中的命令全部以 Redis 协议的格式来保存,新命令会被追加到文件的末尾。

2016-03-14 16:45:53 207

转载 Tomcat启动过程详解

基于Java的Web 应用程序是 servlet、JSP 页面、静态页面、类和其他资源的集合,它们可以用标准方式打包,并运行在来自多个供应商的多个容器。Web 应用程序存在于结构化层次结构的目录中,该层次结构是由 Java Servlet 规范定义的。Web 应用程序的根目录包含直接存储或存储在子文件夹中的所有公共资源,比如图像、HTML 页面等。构成:Web应用由Web组件(一组Java类库)、

2016-03-13 16:48:10 331

转载 Java内存泄露详解

Java内存泄漏发生的情况字数984 阅读849 评论0 喜欢8虽然Java自带垃圾回收机制(GC),程序员不需要手动进行内存管理,但是仍然会出现内存泄漏的情况。尽管如此,Java的自动内存管理,比起C/C++,内存泄漏的情况大大减少了。下面总结下什么情况下会发生Java内存泄漏。静态集合类在使用Set、Vector、HashMap等集合类的时候需要特别注意,有

2016-03-13 13:57:58 281

原创 数组打包不同的元素

数组打包不同的元素:给定指定的数组,将数组打成不同的包,确保每包的元素不一样public class Node { private T data; private int parent_id; private int self_id; public Node() { } public Node(T data) { super(); this.data = data;

2016-03-12 23:39:36 263

原创 两个栈实现队列及两个队列实现栈

两个栈实现队列及两个队列实现栈:两个栈实现队列:将一个栈内的数据倒到另一个栈里面,并弹出两个队列实现栈:将一个队列里面的前(len-1)个数据添加到另一个队列,并弹出该队列的最后一个元素public class Queue { private static Stack stack = new Stack(); private static Stack stack2 = new S

2016-03-12 23:13:26 338

原创 完全二叉树的三种遍历

完全二叉树的三种遍历:前序遍历:根 --- 左子树 --- 右子树中序遍历:左子树 --- 根 --- 右子树后序遍历:左子树 --- 右子树 --- 根public class TestDemo3 { private static List list = new LinkedList(); public static void main(String[] args)

2016-03-12 22:30:38 592

原创 单向链表

单向链表的构造:public class LinkList { private Node headNode; public void createLinked(int[] a) { Node tailNode = new Node(); headNode = tailNode; Node newNode; for (int i = 0; i < a.length; i+

2016-03-12 18:58:31 310

转载 使用guava来做接口限流

一、问题描述    某天A君突然发现自己的接口请求量突然涨到之前的10倍,没多久该接口几乎不可使用,并引发连锁反应导致整个系统崩溃。如何应对这种情况呢?生活给了我们答案:比如老式电闸都安装了保险丝,一旦有人使用超大功率的设备,保险丝就会烧断以保护各个电器不被强电流给烧坏。同理我们的接口也需要安装上“保险丝”,以防止非预期的请求对系统压力过大而引起的系统瘫痪,当流量过大时,可以采取拒绝或者引

2016-03-01 23:41:31 2240

原创 Java排序七:快排

public class TestDemo { public static void main(String[] args) { int[] arr = new int[10]; Random random = new Random(); for (int i = 0; i < arr.length; i++) { arr[i] = random.nextInt(100);

2016-03-01 23:35:21 272

原创 Java排序五:归并排序

public class TestDemo { public static void main(String[] args) { int[] arr = new int[10]; Random random = new Random(); for (int i = 0; i < arr.length; i++) { arr[i] = random.nextInt(100);

2016-03-01 23:33:52 246

原创 Java排序四:二分插入排序

public class TestDemo { public static void main(String[] args) { int[] arr = new int[10]; Random random = new Random(); for (int i = 0; i < arr.length; i++) { arr[i] = random.nextInt(100);

2016-03-01 23:31:56 337

原创 Java排序三:直接插入排序

public class TestDemo { public static void main(String[] args) { int[] arr = new int[10]; Random random = new Random(); for (int i = 0; i < arr.length; i++) { arr[i] = random.nextInt(100);

2016-03-01 23:29:19 248

原创 Java排序二:选择排序

public class TestDemo { public static void main(String[] args) { int[] arr = new int[10]; Random random = new Random(); for (int i = 0; i < arr.length; i++) { arr[i] = random.nextInt(100);

2016-03-01 23:25:48 432

原创 Java排序一:冒泡排序

public class TestDemo { public static void main(String[] args) { int[] arr = new int[10]; Random random = new Random(); for (int i = 0; i < arr.length; i++) { arr[i] = random.nextInt(100);

2016-03-01 23:23:51 361

原创 Java排序六:堆排序

堆排序原理见:堆排序/** * @author liaomengge * 堆排序,依据完全二叉树的特性,至少只存在左节点,不存在右节点,且当i在n/2 + 1 - n之间属于叶子节点, * 故建立最大(最小)堆,只需要在[0,(n-1)/2],注:数组下表从0开始 * */public class TestDemo { public static void main(

2016-03-01 23:19:07 318

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除