我是咔咔

导航

2017年3月22日 #

字符串API练习三则

摘要: (1)按照Ascii码字典的顺序排列字符串。核心API:int compareTo(String),若大于则返回1,小于返回-1,等于返回0。 (2)判断子串在一个字符串中出现的次数。核心API:int indexOf() (3)查找一个字符串在另一个字符串中的最大字串。 阅读全文

posted @ 2017-03-22 00:18 我是咔咔 阅读(153) 评论(0) 推荐(1)

2017年3月20日 #

Java实现多线程生产者消费者模型及优化方案

摘要: 生产者-消费者模型是进程间通信的重要内容之一。其原理十分简单,但自己用语言实现往往会出现很多的问题,下面我们用一系列代码来展现在编码中容易出现的问题以及最优解决方案。 以上是单生产者单消费者的代码,我们来看一下运行结果: 然而正如实际情况,饭店的厨房里不可能只有一个厨子,也不可能只有一个顾客,因此只 阅读全文

posted @ 2017-03-20 23:44 我是咔咔 阅读(298) 评论(0) 推荐(1)

2017年3月19日 #

对Java单例设计模式中懒汉式类定义的讨论

摘要: 全世界人民都知道单例设计模式中类的定义分为懒汉式和饿汉式两种,然而今天并不是要把它们做横向比较。实际上,不论饿汉式类的代码看起来有多么美轮美奂,在实际开发中它的效率总是不如懒汉式的。然而在笔试和面试中懒汉式的出镜率可以说是比饿汉式不知道高到哪里去了,因此把它完全弄懂应该是十分有必要的。 饿汉式: 最 阅读全文

posted @ 2017-03-19 12:44 我是咔咔 阅读(192) 评论(0) 推荐(1)

2017年3月18日 #

55行代码实现Java线程死锁

摘要: 死锁是Java多线程的重要概念之一,也经常出现在各大公司的笔试面试之中。那么如何创造出一个简单的死锁情况?请看代码: 很显然,当t1和t2启动后执行run(),进入第一层后它们分别会占用MyLock.a和MyLock.b这两个同步锁。 然而如果想进入第二层同步块它们又分别需要MyLock.b和MyL 阅读全文

posted @ 2017-03-18 21:47 我是咔咔 阅读(244) 评论(0) 推荐(1)

Java中子类对象初始化的过程

摘要: Java中的继承机制看似简单,实际上包含了很多细节。最近在刷题过程中屡屡跳坑,于是自己仔细再学习了一下Java中子类初始化的细节,与大家分享。 以以上代码为例: 若执行Child child = new Child(); (1)首先对子类变量进行初始化(int age=0); (2)执行子类Chil 阅读全文

posted @ 2017-03-18 11:56 我是咔咔 阅读(292) 评论(1) 推荐(1)