![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编程语言
文章平均质量分 61
ivokky
这个作者很懒,什么都没留下…
展开
-
序列点
part1:blog原址:http://blog.csdn.net/huiguixian/article/details/6438613 int i = 3; i = i++; cout 结果是什么?有人可能会说是3,也有人可能会说是4,更多的人在骂出题的人白痴,但这语句究竟有何问题呢?未必每个人都清楚。 有些人也许马上会说,这转载 2011-12-28 19:44:40 · 665 阅读 · 0 评论 -
前缀、中缀、后缀表达式及其相互转化的Java实现
一、中缀表达式转换为前缀、后缀表达式给个中缀表达式:a+b*c-(d+e) 首先根据运算符的优先级给所有运算单位加括号:((a+(b*c))-(d+e)) 将运算符号移动到对应括号的前面然后去掉所有括号就转换为前缀表达式: -( +(a *(bc)) +(de)) -> -+a*bc+de 将运算符号移动到对应括号的后面然后去掉所有括号就转换为后缀表达式:原创 2013-10-12 09:00:58 · 2425 阅读 · 0 评论 -
兰亭集势笔试题:用最优方法从LinkedList列表中删除重复元素
用运行速度最优的方法从LinkedList列表里删除重复的元素,例如A->B->BB->B->C,返回A->B->BB->C。考试的时候没完全想明白,考完又想了想,其实还是蛮简单的。思路很简单:利用一个Set存放LinkedList中的元素,在迭代的过程中,判断当前元素是否在Set中出现过,如果出现过就删除,也就是说我们在遍历的过程中进行删除操作,所以这里要用到ListIterator,而不能原创 2013-10-12 09:18:15 · 2641 阅读 · 0 评论 -
由阿里巴巴一道笔试题看Java静态代码块、静态函数、动态代码块、构造函数等的执行顺序
一、阿里巴巴笔试题:public class Test { public static int k = 0; public static Test t1 = new Test("t1"); public static Test t2 = new Test("t2"); public static int i = print("i"); public static int n =原创 2013-10-08 07:22:34 · 3128 阅读 · 0 评论 -
java多态性深入理解
运行时多态是面向对象程序设计代码重用的一个最强大机制,java多态性概念可以被说成“一个接口,多个方法”,java实现运行时多态性的基础是动态方法调度,它是一种在运行时而不是在编译期调用重载方法的机制。 方法重写overriding和重载overloading是java实现多态的不同表现,重写是父类与子类之间多态性的一种表现,重载是一个类中多态性的一种表现。如果子类中一个方法与父原创 2013-09-22 11:06:37 · 639 阅读 · 0 评论 -
synchronized详解
synchronized详解:被它修饰的代码块或方法,能够保证同一时间只能有一个线程执行该段代码.一、当两个并发线程访问同一个对象object的synchronized(this)同步代码块/同步方法的时候,另一个线程仍可以访问该object的非同步代码块/非同步方法。package com.syn;public class synTest { public static v原创 2013-10-02 09:49:01 · 877 阅读 · 0 评论 -
生产者消费者模式详解及代码实现
生产者消费者模式说明:1.生产者只在仓库未满时进行生产,仓库满时生产者进程被阻塞;2.消费者只在仓库非空时进行消费,仓库为空时消费者进程被阻塞;3.当消费者发现仓库为空时会通知生产者生产;4.当生产者发现仓库满时会通知消费者消费;实现的关键:共享内存中的两个同步方法,及同步方法中wait()方法的调用,同步保证了对象只能被一个线程占用,wait保证了当线程在等待过程中释放锁原创 2013-09-30 10:42:19 · 2035 阅读 · 0 评论 -
0/1背包问题
1.动态规划是用空间换取时间的一种方法的抽象,其关键是发现子问题和记录其结果,然后利用结果减轻计算量。0/1背包问题就应用了动态规划的思想。2.0/1背包问题:一个背包最多可以装M公斤的东西,现在有N件物品,分别为X1,X2...Xn,它们的重量分别为M1,M2...Mn,它们的价值分别为V1,V2...Vn,若某种物品只有一件,它可以放进包中,也可以不放进包中,问如何选取物品可以使得包中的物原创 2013-07-23 09:56:56 · 670 阅读 · 0 评论 -
JAVA 线程池
一、ThreadPoolExecutor的使用1.ThreadPoolExecutor的完整构造方法是:ThreadPoolExecutor ( int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue workQueue, RejectedExecutionHand原创 2013-06-28 14:28:48 · 961 阅读 · 1 评论 -
JAVA中enum的常见用法
JAVA中enum的常见用法包括:定义并添加方法、switch、遍历、EnumSet、EnumMap1.定义enum并添加或覆盖方法public Interface Behaviour{ void print();}enum Color implements Behaviour{ RED("red",1),GREEN("green",2),BLUE("blue",原创 2013-07-14 14:22:35 · 902 阅读 · 0 评论 -
JAVA正则表达式
一、正则表达式基本的原字符(meta character)以及它们含义. 匹配任意一个字符 $匹配一行的结尾 ^匹配一行的开头(在[]里面表示否定) {}定义了一个范围 [] 定义了一个字符类 () 定义了一个组 *前面出现0次以上 + 前面匹配一次以上 ?前面出现0次或一次 \后面的字符不会看作metacharacter \w 字母数字下划线 \W 非字母数字下划线原创 2013-07-12 16:23:12 · 666 阅读 · 0 评论 -
通过Thread.join()和CountDownLatch来实现进程同步
1.Thread.join()如果在一个进程,如main中调用另一个thread的join()函数会导致main函数阻塞,直至thread执行完毕。public class JoinTest { public static void main(String[] args) { System.out.println("main starts."); Thread thread原创 2013-09-29 10:18:06 · 783 阅读 · 0 评论