`
文章列表
HashMap public boolean equals(Object o) { if (o == this) return true; //如果句柄地址一致,肯定相等 if (!(o instanceof Map)) return false; //如果不是Map对象肯定falsh Map<K,V> m = (Map<K,V>) o; if (m.size() != size()) return false; //如果长度不一致,肯定falsh //如果键值对不一致,falsh ...
JAVA线程安全的方式主要有以下几种: (1)Synchronized关键字实现同步块或者同步方法。 (2)wait(), Notify(), NotifyAll() 实现同步。 (3)Concurrent类包中的同步实现,lock(), unlock()等 (4)Collections针对集合类的一个帮助类所提供的线程安全操作,包括synchronizedSet(), synchronizedMap()等
    入职都一个半月了,人也渐渐的显出疲态了。现在开始后悔当初没有去HP,而选择了华为。其实,当时选择华为并没有错,毕竟上海HP是做外包的,而且薪水也相对低点。但是,华为让我感觉最不厚道的就是把我分配到了测试部门,这个让我很郁闷。当初来华为就是因为签约时,签了研发,但是HR没有将明白华为研发包括测试与开发,现在是哑巴吃黄连。在HP至少也是个做开发的。不是我瞧不起测试,但对于一个新人来说开发还是能够更加锻炼人,更有助于自己的成长。由于这个原因,最近上班也不是很爽。每天只能发挥阿Q精神自我调侃一下。而且,我所在部门是上海华为比较累的部门,加班非常多,平时晚上加班,周六周日有时候也加班,还好我现在还 ...
    今天搭乘MU5237到深圳,提前一天来到了深圳华为总部,在宾馆住一晚。明天要报到了,后天还要体检,希望能够一切顺利!
(转)C++中extern “C”含义深层探索     1.引言   C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程 式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支 持函数的重载,C++对全局函数的处理方式与C有明显的不同。   2.从标准头文件说起   某企业曾经给出如下的一道面试题:   面试题   为什么标准头文件都有类似以 ...
今天用移动硬盘,发现能够USB设备,但看不到盘符。(我用的是Windows Server2003) 原来,Windows Server2003在默认状态下是关闭对USB设备支持这一功能的。所以在连接USB设备前应该手动开启相应的Removable Storage服务,具体操作方法: 在系统桌面上选择“开始-->运行”,在出现的对话框中键入services.msc并按回车键打开“服务管理器”窗口,找到并用鼠标双击“Removable Storage”选项,在弹出的对话框中单击“启动”按钮即可。     如果还不行,可以参考以下方法: 点击“开始→运行”中输入“mmc”回车 ...
Java: 基类的成员变量-->基类的构造函数-->派生类的成员变量-->派生类的构造函数 C++: 1.     如果类里面有成员类,成员类的构造函数优先被调用; 2.     创建派生类的对象,基类的构造函数优先被调用(也优先于派生类里的成员类); 3.     基类构造函数如果有多个基类,则构造函数的调用顺序是某类在类派生表中出现的顺序而不是它们在成员初始化表中的顺序; 4.     成员类对象构造函数如果有多个成员类对象,则构造函数的调用顺序是对象在类中被声明的顺序而不是它们出现在成 ...
    在Java中每个线程都属于某个线程组(ThreadGroup)。例如,如果在main()中产生一个线程,则这个线程属于main线程组管理的一员,您可以使用下面的指令来获得目前线程所属的线程组名称: Thread.currentThread().getThreadGroup().getName();      一个线程产生时,都会被归入某个线程组,视线程是在哪个线程组中产生而定。如果没有指定,则归入产生该子线程的线程组中。您也可以自行指定线程组,线程一旦归入某个组,就无法更换组。     java.lang.ThreadGroup类正如其名,可以统一管理整个线程组中的线程,您可以使用 ...
join()方法的用法:     join()是主线程 等待子线程的终止。也就是在子线程调用了 join() 方法后面的代码,只有等到子线程结束了才能执行。     例子如下:   public class Test implements Runnable { private static int a = 0; public void run() { for(int i=0;i<10;i++) { a = a + i; } } /** * @param args * @throws Interru ...
    之前一直以为多线程自己学的还不错,最近找工作面试的时候还是被多线程问题给难住了。关键自己虽说学了,但是没上心,没把多线程问题研究透。今天乘自己有空,在把JAVA多线程这一块好好研究一下,避免下次面试时 ...
能很好的用好find将是Linux工作的一大幸事,不要奢望一口气记住本文所有的方法,要慢慢的去尝试和领会这些用法的精妙和合理之处,到了一定时候自然会记住很多,能够举一反三将是最大的收获!1.find 由于find具有强大的功 ...
cron 系统调度进程。可以使用它在每天的非高峰负荷时间段运行作业,或在一周或一月 中的不同时段运行。(相当有用的一个命令,功能最强大。) At at命令。使用它在一个特定的时间运行一些特殊的作业,或在晚一些的非负荷高峰时 间段或高峰负荷时间段运行。 & 使用它在后台运行一个占用时间不长的进程。(大家应该经常用吧。) Nohup 使用它在后台运行一个命令,即使在用户退出(注意这点)时也不受影响。 一.crontab命令 crontab命令的一般形式为: crontab [-u user] -e -l -r 其中: -u 用户名。如果使用自己的名字登录,就不用使用-u选 ...
    Java的参数传递机制是在Java中一个比较烦的问题,一般人都不太会注意,但要详细的解释一下其机制的话还是有很多人说不上来。其实我也是,所以就查了点相关资料并且记录下来,好好理解Java的参数传递。         对于参数传递主要可分为几类:1、Java的基本类型作为参数传递时,主要是传递值的拷贝。所以不能改变原值。2、Java的对象作为参数传递时,是引用传递,把对象在内存中的地址拷贝传递给参数。         下面举个例子来简单说明(例子是网上找的,呵呵!) public class PersonT { public void change( ...
在/etc/profile文件下加入 export JAVA_HOME=/usr/java/jdk1.6.0_21 export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar export PATH=$JAVA_HOME/bin:$PATH export JAVA_HOME PATH CLASSPATH
    由于在为Linux创建新用户是碰到了这个问题(passwd: User not known to the underlying authentication),所以google了一下,并最总找到了解决方案。现在将解决办法记录下来,便于记忆。     在创建用户时,修改该用户密码时出现提示信息:passwd: User not known to the underlying authentication。 google了一下,查阅了相关资料以后说pwck,pwconv可以解决问题。     所以首先我用pwck命令。pwck 的作用就是检查 /etc/passwd 这个帐号设定档内的内 ...
Global site tag (gtag.js) - Google Analytics