随笔分类 - Java学习
摘要:第一次写,不好意思,有不对地方多多指出 在Java Socket 编程中,对 InputStream的read()=-1标明流结束,一般按照 Java代码 publicbyte[]getReqData(InputStreamis){ ByteArrayOutputStreambaos=newByteArrayOutputStream(); try{ intiR=is.read(); while(iR!=-1){ baos.write(iR); iR=is.read(); } }catch(Exceptione){ returnnull; } returnbaos.toByteArray();
阅读全文
摘要:再给大家一道据说是难倒很多人的题,这道题曾经有50 人接受过提问,但是,只有3 个人答对,请大家试试如何回答。要求:有两个数组一个N 个元素,另一个M 个元素,这两个数组中有些元素是相同的,希望通过编写一段程序将两个数组中的相同元素找出来,请用最少的循环次数完成需求,请问需要用什么方法?·········10········20········30
阅读全文
摘要:区分方法重载与基本数据类型的转换 首先构造一组重载方法作为测试用例,这些方法都有一个基本数据类型的参数,返回值为空,其作用都是输出参数值。1、若实参的数据类型“窄于”形参的数据类型,则会自动匹配到比实参数据类型“宽”且最接近的数据类型。char类型比较特殊,若实参是char(16位)类型,重载方法的形参中没有char类型,但有short(16位)和int(32位)类型,则会匹配到具有int类型形参的方法。2、若实参的数据类型“宽于”形参的数据类型,则必须进行强制类型转换,使得有与之相匹配的形参数据类型,否则编译器报错。原因很简单,从范围大的数据类型转换到范围小的数据类型,有可能会丢失信息,编译
阅读全文
摘要:Java和Javaw的区别both applications will run your program, and are very similar, but have one key difference - java runs it through a Java Console, while javaw does not.The console is there mostly for text programs - for example, all your print statemements won't get printed if you run it using javaw
阅读全文
摘要:java中父类的静态方法不能被重写Java中父类的静态方法确实不能被重写的,但是有的人可能去做实验发现在子类中去重写父类static方法时,并没什么问题。这里我来具体解释下。public class Parent {public static void add(){ System.out.println("=========Parent");}}public class Children extends Parent {public static void add(){ System.out.println("=========Children");}}
阅读全文
摘要:一、普通代码块 直接在一个方法中出现的{}就称为普通代码块,例子程序如下: public class CodeDemo01{ public static void main(String[] args){ //普通代码块 { int x = 10; System.out.println("x=" + x); } int x = 100; System.out.println("x=" + x); } }二、构造代码块 直接在类中定义的没有加static关键字的代码块{}称为构造代码块,例子程序如下: public cl...
阅读全文
摘要:java内存分析在JAVA中,有六个不同的地方可以存储数据:1. 寄存器(register)。这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部。但是寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配。你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象。2. 堆栈(stack)。位于通用RAM中,但通过它的“堆栈指针”可以从处理器哪里获得支持。堆栈指针若向下移动,则分配新的内存;若向上移动,则释放那些内存。这是一种快速有效的分配存储方法,仅次于寄存器。创建程序时候,JAVA编译器必须知道存储在堆栈内所有数据的确切大小和生命周期,因为它必须生成相应的代码,以便上下移动堆
阅读全文
摘要:关于字符串池Java 字符串池所谓天下文章皆是抄,在网上找一个Java 字符串池的文章,搜到N多条目,可看来看去也就两篇,总结如下:首先看一段代码:String a = "Hello";String b = "Hello";String c = new String("Hello");String d = new String("Hello");System.out.println(a == b);System.out.println(b == c);System.out.println(c == d);Syste
阅读全文
摘要:关于2的补码作者:阮一峰日期:2009年8月 5日问一个基本的问题。负数在计算机中如何表示?举例来说,+8在计算机中表示为二进制的1000,那么-8怎么表示呢?很容易想到,可以将一个二进制位(bit)专门规定为符号位,它等于0时就表示正数,等于1时就表示负数。比如,在8位机中,规定每个字节的最高位为符号位。那么,+8就是00001000,而-8则是10001000。但是,随便找一本《计算机原理》,都会告诉你,实际上,计算机内部采用2的补码(Two's Complement)表示负数。什么是2的补码?它是一种数值的转换方法,要分二步完成:第一步,每一个二进制位都取相反值,0变成1,1变成
阅读全文

浙公网安备 33010602011771号