`
jianzong2000
  • 浏览: 54654 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论
文章列表
text-overflow: clip | ellipsisclip :  不显示省略标记(...),而是简单的裁切 ellipsis :  当对象内文本溢出时显示省略标记(...)。需要配合white-space:nowrap使用。为了使 ellipsis 值被应用,此属性必须被设置到具有不可视区域的对象。最好的选择是设置 overflow 属性为 hidden 。设置 overflow 属性为 scroll 或者 auto 时,此属性也会应用。但是会有滚动条出现。   white-space : normal | pre | nowrap 设置或检索对象内空格字符的处理方式。 ### ...
hashcode主要是给HashSet、HashMap等使用的。如HashMap存储时,会根据key的hashcode计算得到一个index,存放在Entry[index]中。如果hashcode相同,但equals方法不相同时,在Entry[index]中实际存放的是一个链表。 由此可以看出,如果hashcode重复较多,equals方法不相同时,效率较低 如果equals相同,但hashcode不相同,则会存入重复的对象。int hash = hash(key.hashCode());        int i = indexFor(hash, table.length);        ...
查找是那个进程的io高,一直cpu等待。切换到root权限用户。执行脚本a.sh #!/bin/sh /etc/init.d/syslog stop echo 1 > /proc/sys/vm/block_dump sleep 60 dmesg | awk '/(READ|WRITE|dirtied)/ {process[$2]++} END {for (x in process) \ print process[x],x}' |sort -nr |awk '{print $2 " " $1}' | \ head -n 10 echo 0 > / ...
流程:把线程dump出来,然后分析 1:Threaddump的方法: kill -3 pid jstack -l pid jvisualvm中来thread dump 2:找到导致cpu高的线程top -H -p pid  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                         ...
If you're the bird whenever we pretend it's summer 如果你是鸟,每当我们假装这是夏天 Then I'm the worm, I know the part, it's such a bummer 然后,我是虫,我知道的部分,它是这样一个无赖 But fair is fair, if my segments get separated 但是公平的,如果我的部分分开 I'll scream and you'll be there 我会尖叫,你会在那里   Close your eyes(close my eyes) 闭上你的眼睛, ...
bit称为位:只能拥有一个值,不是0就是1Byte称为字节,包括8个bit.一个英文字符占一个字节Char:字符,表示一个 Unicode 字符,占两个字节,即16 位(bit).范围为从十六进制值 0x0000 到 0xFFFF unicode都是以16进制表示.getBytes是ascii码表示的.\u是 ...
保存
    全书分为理论和应用两部分。理论部分深刻剖析了面向对象分析与设计(OOAD)的概念和方法。应用部分连续列出了5 个不同类型、不同领域的应用,描述如何从初始阶段到交付阶段,将OOAD 理论和方法应用到项目中。本书分成3 篇:概念、方法和应用,其中穿插了大量的补充材料。 概念第 1 篇研究软件的内在复杂性及其表现方式。本书将对象模型作为一种手段来帮助我们管理这种复杂性,详细地研究了对象模型的基本元素——抽象、封装、模块化、层次结构,讨论了“什么是类?”以及“什么是对象?”等基本问题。由于确定有意义的类和对象是面向对象开发中的关键任务,因此我们花了相当多的时间来研究分类的本质。 方法第 2 ...
不改变软件行为只是重构的基本要求。要想真正让重构发挥威力,就必须做到“不需了解软件行为”。那些最需要重构的代码,你只能看到其中的坏味道,接着选择对应的重构手法来消除这些坏味道,然后才有可能理解它的行为。而这整个过程之所以可行,全赖你在脑子里记录着一份坏味道与重构手法的对应表。 记住所有的坏味道,记住它们对应的重构手法,记住常见的重构步骤。 代码被阅读和修改的次数远远多于它被编写的次数。保持代码易读,易修改的关键 ,就是重构。但重构是具有风险的。本书收录的重构手法,保证每次只走一步。需要做好单元测试。 重构是这样一个过程,在不改变代码外在行为的前提下,对代码做出修改,以改进代码的内部结构。重 ...
Job.setMapperClass(xxx.class):实际上设置的是mapreduce.map.class,即New。 JobConf.setMapperClass(xxx.class):实际上设置的是mapred.mapper.class,即Old。 而job的setUseNewAPI中 String oldMapperClass = "mapred.mapper.class";     String oldReduceClass = "mapred.reducer.class";     conf
http://learningenglish.voanews.com/
我并不想开始一个“邪恶的”系列文章,但是一些读者要我解释为什么上个月的专栏中提及要避免使用 get/set方法,“为什么extends是邪恶的?”  虽然getter/setter方法在java里处处可见,但它们不是完全OO的,实际上,它们会破坏你代码的可维护性,而且,当你的程序并不需要一个从OO方面来讲很好的的设计时。大量存在的getter 和setter方法是一个危险的信号。 这篇文章解释为什么你不应当使用getters 和 setters,什么情况下使用,并且给出一个帮助你打破getter/setter思维定势的设计方法。 上个月的专栏里,我很惊讶一些读者的评
        琢郡刘备幼年丧父,是公务员。刘备辍学卖草鞋,15岁不再卖草鞋,母亲让其去受教育,自己卖草鞋。拜卢植为师,学儒学,与公孙瓒为同学,交厚。两年后卢植离开出任太守,公孙瓒去辽西,刘备回家。期间遇到贩 ...
System.out.println(new File("").getAbsolutePath());即是user.dir的路径,分析代码如下   //File类的初始化 public File(String pathname) {     if (pathname == null) {         throw new
概述  大多数好的设计者象躲避瘟疫一样来避免使用实现继承(extends 关系)。%80的代码应该完全用interfaces写,不用具体的基类。事实上,四人帮的设计模式的书大量的关于怎样用interface继承代替实现继承。这个文章描述设计者 ...
Global site tag (gtag.js) - Google Analytics