08 2014 档案
摘要:经典问题之生产者-消费者问题——Lock实现。package com.lzq.newInterview;import java.util.LinkedList;import java.util.List;import java.util.concurrent.ExecutorService;impo...
阅读全文
摘要:原文地址:http://blog.csdn.net/walkinginthewind/article/details/75188881. 求二叉树中的节点个数递归解法:(1)如果二叉树为空,节点个数为0(2)如果二叉树不为空,二叉树节点个数 = 左子树节点个数 + 右子树节点个数 + 1参考代码如下...
阅读全文
摘要:ConcurrentHashMap是Java 5中支持高并发、高吞吐量的线程安全HashMap实现。在这之前我对ConcurrentHashMap只有一些肤浅的理解,仅知道它采用了多个锁,大概也足够了。但是在经过一次惨痛的面试经历之后,我觉得必须深入研究它的实现。面试中被问到读是否要加锁,因为读写会...
阅读全文
摘要:在Java内存模型中,有main memory,每个线程也有自己的memory (例如寄存器)。为了性能,一个线程会在自己的memory中保持要访问的变量的副本。这样就会出现同一个变量在某个瞬间,在一个线程的memory中的值可能与另外一个线程memory中的值,或者main memory中的值不一...
阅读全文
摘要:对象的强、软、弱和虚引用在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。这4种级别由高到低依次...
阅读全文
摘要:JVM基础概念总结:数据类型、堆与栈、基本类型与引用类型Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。基本类型包...
阅读全文
摘要:JVM分代垃圾回收策略的基础概念由于不同对象的生命周期不一样,因此在JVM的垃圾回收策略中有分代这一策略。本文介绍了分代策略的目标,如何分代,以及垃圾回收的触发因素。文章总结了JVM垃圾回收策略为什么要分代,如何分代,以及垃圾回收的触发因素。为什么要分代分代的垃圾回收策略,是基于这样一个事实:不同的...
阅读全文
摘要:面试者经常遇到集合类源码的问题。我们不求将所有的细节都记住,但ArrayList与LinkedList比较、add、get、remove、扩容、及相关时间复杂度等核心思想要说得一清二楚。ArrayList底层用数组实现,可以快速访问某一节点的值,但插入删除会调用System.arraycopy方法,...
阅读全文
摘要:面试官要你自己实现HashMap,无非就是考查对JDK中HashMap的理解。Thinking in JAVA中的 SlowHashMap就不要记了,直接参考JDK写代码吧。HashMap以键值对的方式存储数据,数据结构可理解为“链表的数组”。通过插入元素key值的hashcode和自带的hash算...
阅读全文
摘要:今儿刚坐下不久,领导就发话了,在这么个文件中找到开头为To: =?,包在尖括号中的数据存到数据库中。文件如下:To: =?UTF-8?B?5p2O5LqR5biG?= Message-ID: Subject: =?UTF-8?B?5p2O5LqR5biG77yM5oub5ZWG6K+B5Yi4IOm...
阅读全文
摘要:去除表deny_mail中email,type重复的字段设计deny_mail表时未考虑到唯一性,导致插入了许多重复数据,现编写数据库语句修正之。步骤1:建立临时表tmp存储冗余键信息1)create table tmp as select min(id),type,mail from deny_m...
阅读全文
摘要:1.复制Mongodb到指定服务器到mongodb官方网站http://www.mongodb.org/downloads下载mongodb,解压并将目录考到需要安装的服务器上,然后进行配置。例如:[root@SHNHDX17-165 ~]# scp -r root@10.3.18.80:/data...
阅读全文

浙公网安备 33010602011771号