`
文章列表

面试题记录3

treeMap怎样实现线程安全  答:treeMap其实是非线程安全的,基于红黑树实现,TreeMap中所有的元素都保持着某种固定的顺序 参考: Java中HashMap和TreeMap的区别深入理解  http://www.jb51.net/article/32652.htm   什么是原子性  答:所谓 ...

面试题记录2

  说一下对java范型的理解 运行时异常与非运行时异常的区别,列举常遇到的异常 java存储金额一般用什么类型,Double占多少字节,有没有最大值,超过最大值的数据怎么处理? int与integer的区别 Object类里面常用的方法有哪 ...

面试题记录1

操作系统的进程数很多,使用内存很多时,系统怎样确保某个进程获得大的内存(4G)  操作系统物理内存与虚拟内存 操作系统内存分配方式,怎样减少内存碎片 操作系统的堆与栈的区别?  操作系统栈与堆内存怎样分配地址(向上or向下) 信号与信号量是不是一样 并发包的使用,ConcurrentHashMap实现并发的原理 判断对象是否可被垃圾收集算法 引用计数算法的原理,缺点,商业虚拟机怎么实现 java内存从逻辑上分为哪些区 那些对象会存在永久代 jsp与servlet的区别 forword与redirect REST架构描述 sql 有哪些join 视图有什么作用,能 ...

Linux读书笔记三

1.  磁盘配额 ( Quota )   quota 要使用的指令基本上分为两种,一种是查询功能 ( quota, quotacheck, quotastats, warnquota, repquota ),另一种则是编辑 quota 的内容 ( edquota, setquota ) 。 【quota】 [root@linux ~]# quota [-uvsl] [username] [root@linux ~]# quota [-gvsl] [groupname] 参数: -u :后面可以接 username ,表示显示出该使用者的 quota 限制值。若不接 username , ...

Redis学习笔记

  本文是阅读《Redis入门指南》时的一些笔记摘抄,用于自学。 一、常用命令:1. 获得符合规则的键名列表 KEYS patternpattern支持glob风格通配符格式,具体规则如表3-1所示。 注意 KEYS命令需要遍历Redis中的所有键,当键的数量较多时会影响性能,不建议在生产环境中使用。   2.判断一个键是否存在EXISTS key如果键存在则返回整数类型1,否则返回0.   3.删除键DEL key [key …]可以删除一个或多个键,返回值是删除的键的个数。   4.获得键值的数据类型TYPE keyTYPE命令用来获得键值 ...
  1. 删除行:Ctrl+Y 2. 错误提示:Alt+Enter 3. 运行程序:Ctrl+F11 4. 运行程序:Shift+F10 5. 格式化代码:Alt+Ctrl+L 6. 查看继承结构:Ctrl+H 7. 复制行:Ctrl+D 8. 展开折叠代码:Ctrl+. 9. 查看JavaDoc:Ctrl+Q 10. 查找本类中方法定义:ctrl+F12, 输入名字 11. 回到上一光标处:ctrl+alt+左右箭头 12. 生成serialVersionUID:   1) 先配置idea, File -> Settings,然后勾住下图选项     ...
总任务表: 1. 技术学习:SpringMVC,Hadoop,Nosql,缓存技术,oracle,linux,iBatis等 2. 技术复习,Java,设计模式,uml,sql等,做题。 3. 重写Resume,投递   总时间3个月,主要集中在第一二点任务上,每天至少学习2小时,然后在文章后面累加日记。    11/10: 看题,复习内部类的知识点 11/11 看linux gcc,make知识点 11/12 看Linux make,makefile知识点; 看题,序列化知识: 1. 序列化作用:对象的网络传输;保存对象状态 2. 实现Externalizab ...

理解Java移位操作

    博客分类:
  • Java
1. 理解移位操作之前先要弄清楚什么是原码、反码和补码   所谓原码就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。 反码表示法规定:正数的反码与其原码相同;负数的反 ...

Linux读书笔记2

  1. vi 文字处理器vi 共分为三种模式,分别是『一般模式』、 『编辑模式』与『指令列命令模式』   使用 vi 建立一个档名为 test.txt 的资料[root@linux ~]# vi test.txt 命令列内容说明 一般模式: 移动光标的方法
  算法描述:   每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。   基本思想:   在要排序的一组数中, ...
  算法介绍: 快速排序(Quicksort)是对冒泡排序的一种改进。由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。   设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用数组的第一个数)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序。值得注意的是,快速排序不是一种稳定的排序算法,也就是说,多个相 ...
  希尔排序(Shell Sort)是插入排序的一种。是针对直接插入排序算法的改进。该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。   基本思想:   先取一个小于n的整数d1作为第一个增量,把文件的全部记录分组。所有 ...
  包括:直接插入排序,二分插入排序(又称折半插入排序),链表插入排序,希尔排序(又称缩小增量排序)。属于稳定排序的一种(通俗地讲,就是两个相等的数不会交换位置) 。   基本思想:   将n个元素的数列分为已有序和无序两个部分,如下所示: {{a1},{a2,a3,a4,…,an}} {{a1⑴,a2⑴},{a3⑴,a4⑴ …,an⑴}} … {{a1(n-1),a2(n-1) ,…},{an(n-1)}}   每次处理就是将无序数列的第一个元素与有序数列的元素从后往前逐个进行比较,找出插入位置,将该元素插入到有序数列的合适位置中。 假设在一个无序的数组中,要将该数 ...
这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。   算法原理   冒泡排序算法的运作如下:(从后往前) 1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2. 对每一对相邻 ...
稳定性解释: 一个排序算法是稳定的,就是当有两个相等记录的关键字R和S,且在原本的列表中R出现在S之前,在排序过的列表中R也将会是在S之前。 当相等的元素是无法分辨的,比如像是整数,稳定度并不是一个问题。然而,假设以下的数对将要以他们的第一个数字来排序。 (4,1)(3,1)(3,7)(5,6)在这个状况下,有可能产生两种不同的结果,一个是依照相等的键值维持相对的次序,而另外一个则没有: (3,1)(3,7)(4,1)(5,6) (维持次序) (3,7)(3,1)(4,1)(5,6) (次序被改变) 不稳定排序算法可能会在相等的键值中改变纪录的相对次序,但是稳定排序算法从来不会如 ...
Global site tag (gtag.js) - Google Analytics