- 浏览: 319059 次
- 性别:
- 来自: 西安
最新评论
-
yjq8116:
getString 这个方法你有没有试过,是错误的。这段代码被 ...
ByteBuffer和String的互相转换 -
OnlyForJava:
博主,友情的提醒下,你的Ubuntu写错了
Ubutun上配置hadoop,hbase,zookeeper环境并安装
文章列表
ping和tracert差别
1).ping 命令使用ICMP 协议的echo功能
2).tracert 命令使用到了ICMP协议的超时
3).ping只关心端点,tracert还要关注中间节点,如果中间节点不允许ping,就会显示*,但最终还是可以连通的.
ping(用来检测目标主机的连通)
Ping原理发送一个ICMP回显请求报文给目的主机,并等待回显的ICMP应答,然后打印出回显的报文。
Ping不通一个目的ip地址,并不一定表示这个IP不存在或者没有连接到网络上,因为对方主机有可能做了限制,比如防火墙做了禁ping,因此Ping不通并不是说主机挂了,这点需注 ...
经典算法问题的Java实现(转)
- 博客分类:
- Java解惑
1.数值转换(System Conversion) 1.1 r进制数 数N的r进制可以表示为: 1.2 十进制转换为r进制 十进制数N和其他r进制数的转换是计算机实现计算的基本问题,基解决方案很多,其中一个简单算法基于下列原理: N = (N div d) * r + N mod r (其中: div为整除运算,mod为求余运算) 问题:如何将非负十进制(Decimal)整数转化为八进制数(Octon
HashCode解惑
- 博客分类:
- Java解惑
hashCode是jdk根据对象的地址或者字符串或者数字算出来的int类型的数值 详细了解请 参考 [1]public int hashCode()返回该对象的哈希码值。支持此方法是为了提高哈希表(例如 java.util.Hashtable 提供的哈希表)的性能。
但是,程序员应该意识到,为不相等的对象生成不同整数结果可以提高哈希表的性能。
当要访问某个IP,计算机必须知道这个IP的物理地址(MAC地址),这时计算机会发一个广播式的数据包询问:“ipx.x.x.x对应的mac是什么?我是IP y.y.y.y , 我的mac是yy-yy-yy-yy-yy-yy” 整个局域网的机子都收到这个询问,真正拥有这个IP的机子就会回答它:“IP x.x.x.x的mac地址是我这个xx-xx-xx-xx-xx-xx”。
询问的机子会临时保存这个在“IP-MAC对照表”,一段时间不与某IP通讯的话,会删除对应条目。“IP-MAC对照表”中的临时条目就是arp缓存。
另,即使不是正确的机器也可以回答那个询问,回答一个错误的MAC,有 ...
教你如何读懂路由表, 你能读懂路由表吗?不懂?进来看看吧!
当前的路由: destination 目的网段 mask 子网掩码 interface 到达该目的地的本路由器的出口ip gateway 下一跳路由器入口的ip,路由器通过interface和gateway定义一调 ...
看个简单的赋值操作的问题
- 博客分类:
- Java解惑
看看以下程序会输出什么:
int k=0;
for(int i=0;i<100;i++){
k=k++;
}
System.err.println("K is: "+k);
输出结果竟然为:0
原因:Java的中间变量机制,上述代码的实际执行过程:
int tmp=k; k=k+1; k=tmp;
所以无论执行多少循环都只是0.
然而要是在C语言中,上述代码会输出预想的 100.C语言没有这个机制。
教训:不要在单个的表达式中对相同的变量赋值超过一次。
c语言中有byte这种类型吗?
- 博客分类:
- C语言
标准C没有这个类型,byte表示一个字节,对应C的unsigned char,你可以自己按下面的样子定义一个即可:
typedef unsigned char byte;
格式输出:
%o 八进制
%x 十六进制
接下来写一个利用byte计算二进制数中有多少个1的例子!!!(转换为16进制接收。)
#include<iostream>
using namespace std;
typedef unsigned char byte;
//*******************************************
int c ...
接收字符串的两张方法对比
- 博客分类:
- C语言
char s[100];
gets(s)函数与scanf("%s",s)相似,但不完全相同,使用scanf("%s",s);函数输入字符串时存在一个问题,就是如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理,但gets()函数将接收输入的整个字符串直到遇到回车为止
数组的toString方法
- 博客分类:
- 剑指offer
1.将一个char数组传递给println方法,打印出来的是一个Unicode字符而不是它的数字代码。
char tt='y';
System.out.println(tt);
//运行结果:
y
2.所有的数组的toString方法返回的值都是诸如“[?*****”的字符串:
String[] sar={"hello","world","hahah"};
char[] numbers={'1','2','3'};
long[] nu={1L,2L,3L};
Stri ...
在C语言中,看如下两个式子有何不同?
char* p1="hello";
char p2[]="hello";
对于第一个式子:是无需开辟内存空间存储"hello",字符串常量存储在静态区(好像是),p1是一个指针直接指向该区域的这个字符串常量即可。
对于第二个式子:需要专门开辟6个字符的内存区域(最后一位是'\0')以存储"hello"。
2.字符指针当做字符数组使用的办法:
//开辟3个char的空间,最后一个为'\0'
char ...
要写一个完备的程序属实不易呀。
采用了迭代式和递归式两种方法实现:
package com.wjy.renren;
public class BinarySearch {
private static int tag=-1;
public static void main(String args[]){
int[] array={3,6,8,9,12,36,76};
int num=36;
binarySearch2(array,num,0,array.length);
System.out.println(tag);
Syste ...
System.err.println("2+2"+(2+2));
//运行结果
2+24
System.err.println("2+2"+2+2);
//运行结果
2+222
由于在Java中,只有String重载了+操作符。所以以下代码的结果是?
System.out.println('a'+'a');
结果应该为:194
原因:‘a’ 是字符型字面常量,因为这两个操作数都不是字符串类型的,所以+操作符执行的是加法而不是字符串连接。
当然了如下代码的运行结果是一样的:
char a ...
char x='X';
int i=89;
System.err.println(false?x:89);
看看这个输出多少?
答案: Y
char x='X';
int i=89;
System.err.println(false?x:i);
这个呢?
答案: 89
原因:条件表达式的两个操作数同类型的话没什么说的,要是不同类型
...
看个条件表达式的例子
- 博客分类:
- Java解惑
问题:
c语言中条件表达式的运算顺序不应该是自左向右吗?为什么a<b?a:c<d?c:d 的结果为1.
解答:
C语言的条件表达式就是右结合性,不是左结合,左结合的是数学!这个规则是创造C的人规定的,无法改变!
用数学规则来理解就是a<b?a:(c<d?c:d)
关系运算<的优先级比? :运算的优先级高
!!! 在Java中是一样的,结果为: 1。