摘要:
本文回答了30个Java入门级初学者的常见问题。 我可以用%除以一个小数吗? a += b 和 a = a + b 的效果有区别吗? 声明一个数组为什么需要花费大量时间?为什么Java库不用随机pivot方式的快速排序? 1.2 基本数据类型 Q. 为什么 -0/3 结果是 0,而 -0.0/3.0 阅读全文
posted @ 2018-10-01 10:12
尐鱼儿
阅读(1174)
评论(0)
推荐(0)
摘要:
OSI的7层从上到下分别是: 其中高层,既7、6、5、4层定义了应用程序的功能,下面3层,既3、2、1层主要面向通过网络的端到端的数据流。下面我给大家介绍一下这7层的功能: (1)应用层:与其他计算机进行通讯的一个应用,它是对应应用程序的通信服务的。例如,一个没有通信功能的字处理程序就不能执行通信的 阅读全文
posted @ 2018-10-01 01:07
尐鱼儿
阅读(1175)
评论(0)
推荐(0)
摘要:
回顾前面所讲内容,抛出一个问题:在Java的AWT或者SWing的GUI编程中,为什么我们对一个按钮关联一个监听器,当我们点击按钮的时候,监听器中的方法就会自动被执行呢?首先可以确定的是根本没有自动的概念,所谓的自动无非就是Java底层中的某一种机制促使这种现象发生,在外面看来像是实现了自动执行的感 阅读全文
posted @ 2018-10-01 01:06
尐鱼儿
阅读(151)
评论(0)
推荐(0)
摘要:
概述 读和写是I/O的基本过程。从一个通道中读取很简单:只需创建一个缓冲区,然后让通道将数据读到这个缓冲区中。写入也相当简单:创建一个缓冲区,用数据填充它,然后让通道用这些数据来执行写入操作。 从文件中读取 在我们第一个练习中,我们将从一个文件中读取一些数据。如果使用原来的 I/O,那么我们只需创建 阅读全文
posted @ 2018-10-01 01:05
尐鱼儿
阅读(223)
评论(0)
推荐(0)
摘要:
概述 通道和缓冲区是 NIO 中的核心对象,几乎在每一个 I/O 操作中都要使用它们。 通道是对原I/O包中的流的模拟。到任何目的地(或来自任何地方)的所有数据都必须通过一个Channel对象。一个Buffer实质上是一个容器对象。发送给一个通道的所有对象都必须首先放到缓冲区中;同样地,从通道中读取 阅读全文
posted @ 2018-10-01 01:04
尐鱼儿
阅读(188)
评论(0)
推荐(0)
摘要:
I/O 简介 I/O或者输入/输出指的是计算机与外部世界或者一个程序与计算机的其余部分的之间的接口。它对于任何计算机系统都非常关键,因而所有I/O的主体实际上是内置在操作系统中的。单独的程序一般是让系统为它们完成大部分的工作。 在Java编程中,直到最近一直使用流的方式完成I/O。所有I/O都被视为 阅读全文
posted @ 2018-10-01 01:03
尐鱼儿
阅读(175)
评论(0)
推荐(0)
摘要:
使用OutputStream向屏幕上输出内容 /** * 使用OutputStream向屏幕上输出内容 */ import java.io.*; class hello { public static void main(String[] args) throws IOException { Out 阅读全文
posted @ 2018-10-01 01:02
尐鱼儿
阅读(1209)
评论(0)
推荐(0)
摘要:
对象序列化就是把一个对象变为二进制数据流的一种方法。 一个类要想被序列化,就行必须实现java.io.Serializable接口。虽然这个接口中没有任何方法,就如同之前的cloneable接口一样。实现了这个接口之后,就表示这个类具有被序列化的能力。 先让我们实现一个具有序列化能力的类吧: 【例子 阅读全文
posted @ 2018-10-01 01:00
尐鱼儿
阅读(205)
评论(0)
推荐(0)
摘要:
【例子1】 【运行结果】: hello(回退,) rollenholt 【例子2】 【运行结果】: 系统默认编码为:GBK 【例子3】乱码的产生: 【运行结果】: ?? 一般情况下产生乱码,都是由于编码不一致的问题。 阅读全文
posted @ 2018-10-01 00:59
尐鱼儿
阅读(595)
评论(0)
推荐(0)
摘要:
先举一个压缩单个文件的例子吧: 【例子1】 【运行结果】: 运行结果之前,我创建了一个hello.txt的文件,原本大小56个字节,但是压缩之后产生hello.zip之后,居然变成了175个字节,有点搞不懂。 不过结果肯定是正确的,我只是提出我的一个疑问而已。 上面的这个例子测试的是压缩单个文件,下 阅读全文
posted @ 2018-10-01 00:58
尐鱼儿
阅读(361)
评论(0)
推荐(0)
摘要:
SequenceInputStream主要用来将2个流合并在一起,比如将两个txt中的内容合并为另外一个txt。下面给出一个实例: 【运行结果】: 结果会在hello.txt文件中包含hello1.txt和hello2.txt文件中的内容。 阅读全文
posted @ 2018-10-01 00:57
尐鱼儿
阅读(235)
评论(0)
推荐(0)
摘要:
【例子1】 【运行结果】: 现在我们在上面例子的基础上,使用DataInputStream读出内容。 【例子2】 【运行结果】: 阅读全文
posted @ 2018-10-01 00:56
尐鱼儿
阅读(656)
评论(0)
推荐(0)
摘要:
其实我们比较常用的是采用Scanner类来进行数据输入,下面来给一个Scanner的例子吧。 【例子1】 其实Scanner可以接受任何的输入流 下面给一个使用Scanner类从文件中读出内容 【例子2】 【运行结果】: 从文件中读取的内容是:这些文件中的内容哦! 阅读全文
posted @ 2018-10-01 00:55
尐鱼儿
阅读(126)
评论(0)
推荐(0)
摘要:
注意: BufferedReader只能接受字符流的缓冲区,因为每一个中文需要占据两个字节,所以需要将System.in这个字节输入流变为字符输入流,采用: 下面给一个实例: 【运行结果】: 阅读全文
posted @ 2018-10-01 00:54
尐鱼儿
阅读(152)
评论(0)
推荐(0)
摘要:
【例子1】输入输出重定向 【运行结果】: eclipse的控制台输出的是hello。然后当我们查看d盘下面的hello.txt文件的时候,会在里面看到:这些内容在文件中才能看到哦! 【例子2】 【运行结果】: 你会在eclipse的控制台看到红色的输出:“这些在控制台输出”,然后在d盘下面的hell 阅读全文
posted @ 2018-10-01 00:53
尐鱼儿
阅读(162)
评论(0)
推荐(0)
摘要:
打印流 【运行结果】: 当然也可以格式化输出 【运行结果】: 阅读全文
posted @ 2018-10-01 00:52
尐鱼儿
阅读(99)
评论(0)
推荐(0)
摘要:
管道流主要可以进行两个线程之间的通信。 【例子1】验证管道流 【运行结果】:接受的内容为 hello , Rollen 阅读全文
posted @ 2018-10-01 00:50
尐鱼儿
阅读(133)
评论(0)
推荐(0)
摘要:
整个IO类中除了字节流和字符流还包括字节和字符转换流。 OutputStreramWriter将输出的字符流转化为字节流 InputStreamReader将输入的字节流转换为字符流 但是不管如何操作,最后都是以字节的形式保存在文件中的。 【例子1】将字节输出流转化为字符输出流 【运行结果】:文件中 阅读全文
posted @ 2018-10-01 00:49
尐鱼儿
阅读(148)
评论(0)
推荐(0)
摘要:
【例子1】向文件中写入数据 现在我们使用字符流 当你打开hello。txt的时候,会看到hello 其实这个例子上之前的例子没什么区别,只是你可以直接输入字符串,而不需要你将字符串转化为字节数组。 当你如果想问文件中追加内容的时候,可以使用将上面的声明out的哪一行换为: 这样,当你运行程序的时候, 阅读全文
posted @ 2018-10-01 00:46
尐鱼儿
阅读(111)
评论(0)
推荐(0)
摘要:
如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列。 问题一:下面声明了什么! String s = "Hello world!"; 许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个String,内容是“Hello world!”。这样模糊的回答通常是概念不 阅读全文
posted @ 2018-10-01 00:45
尐鱼儿
阅读(145)
评论(0)
推荐(0)
摘要:
1) TCP是Transfer Control Protocol的简称,是一种面向连接的保证可靠传输的协议。通过TCP协议传输,得到的是一个顺序的无差错的数据流。发送方和接收方的成对的两个socket之间必须建立连接,以便在TCP协议的基础上进行通信,当一个socket(通常都是server soc 阅读全文
posted @ 2018-10-01 00:45
尐鱼儿
阅读(402)
评论(0)
推荐(0)
摘要:
摘要:作者Veera Sundar在清理代码工作时发现一些常见的违规编码,因此,Veera Sundar把针对常见的一些违规编码总结成一份列表,以便帮助Java爱好者提高代码的质量和可维护性。 最近,我给Java项目做了一次代码清理工作。经过清理后,我发现一组常见的违规代码(指不规范的代码并不表示代 阅读全文
posted @ 2018-10-01 00:44
尐鱼儿
阅读(486)
评论(0)
推荐(0)
摘要:
本文介绍的 reflection 的最后一种用法是创建的操作数组。数组在 Java 语言中是一种特殊的类类型,一个数组的引用可以赋给 Object引用。观察下面的例子看看数组是怎么工作的: 例中创建了 10 个单位长度的 String 数组,为第 5 个位置的字符串赋了值,最后将这个字符串从数组中取 阅读全文
posted @ 2018-10-01 00:43
尐鱼儿
阅读(170)
评论(0)
推荐(0)
摘要:
reflection 的还有一个用处就是改变对象数据字段的值。reflection 可以从正在运行的程序中根据名称找到对象的字段并改变它,下面的例子可以说明这一点: 这个例子中,字段d的值被变为了12.34。 阅读全文
posted @ 2018-10-01 00:42
尐鱼儿
阅读(136)
评论(0)
推荐(0)
摘要:
对于构造器,则不能像执行方法那样进行,因为执行一个构造器就意味着创建了一个新的对象 (准确的说,创建一个对象的过程包括分配内存和构造对象)。所以,与上例最相似的例子如下: 根据指定的参数类型找到相应的构造函数并执行它,以创建一个新的对象实例。使用这种方法可以在程序运行时动态地创建对象,而不是在编译的 阅读全文
posted @ 2018-10-01 00:40
尐鱼儿
阅读(153)
评论(0)
推荐(0)
摘要:
文本到这里,所举的例子无一例外都与如何获取类的信息有关。我们也可以用 reflection 来做一些其它的事情,比如执行一个指定了名称的方法。下面的示例演示了这一操作: 假如一个程序在执行的某处的时候才知道需要执行某个方法,这个方法的名称是在程序的运行过程中指定的 (例如,JavaBean开发环境中 阅读全文
posted @ 2018-10-01 00:39
尐鱼儿
阅读(276)
评论(0)
推荐(0)
摘要:
找出一个类中定义了哪些数据字段也是可能的,下面的代码就在干这个事情: 这个例子和前面那个例子非常相似。例中使用了一个新东西 Modifier,它也是一个 reflection 类,用来描述字段成员的修饰语,如“private int”。这些修饰语自身由整数描述,而且使用 Modifier.toStr 阅读全文
posted @ 2018-10-01 00:38
尐鱼儿
阅读(154)
评论(0)
推荐(0)
摘要:
获取类构造器的用法与上述获取方法的用法类似,如: 这个例子中没能获得返回类型的相关信息,那是因为构造器没有返回类型。 这个程序运行的结果是: 阅读全文
posted @ 2018-10-01 00:37
尐鱼儿
阅读(112)
评论(0)
推荐(0)
摘要:
找出一个类中定义了些什么方法,这是一个非常有价值也非常基础的 reflection 用法。下面的代码就实现了这一用法: 这个程序首先取得 method1 类的描述,然后调用 getDeclaredMethods 来获取一系列的 Method 对象,它们分别描述了定义在类中的每一个方法,包括 publ 阅读全文
posted @ 2018-10-01 00:35
尐鱼儿
阅读(238)
评论(0)
推荐(0)
摘要:
用于 reflection 的类,如 Method,可以在 java.lang.relfect 包中找到。使用这些类的时候必须要遵循三个步骤:第一步是获得你想操作的类的 java.lang.Class 对象。在运行中的 Java 程序中,用 java.lang.Class 类来描述类和接口等。 下面 阅读全文
posted @ 2018-10-01 00:34
尐鱼儿
阅读(227)
评论(0)
推荐(0)
摘要:
Java语言反射提供一种动态链接程序组件的多功能方法。它允许程序创建和控制任何类的对象(根据安全性限制),无需提前硬编码目标类。这些特性使得反射特别适用于创建以非常普通的方式与对象协作的库。例如,反射经常在持续存储对象为数据库、XML或其它外部格式的框架中使用。Java reflection 非常有 阅读全文
posted @ 2018-10-01 00:33
尐鱼儿
阅读(132)
评论(0)
推荐(0)
摘要:
考虑下面这个简单的例子,让我们看看 reflection 是如何工作的。 按如下语句执行: 它的结果输出为: 这样就列出了java.util.Stack 类的各方法名以及它们的限制符和返回类型。 这个程序使用 Class.forName 载入指定的类,然后调用 getDeclaredMethods 阅读全文
posted @ 2018-10-01 00:33
尐鱼儿
阅读(250)
评论(0)
推荐(0)

浙公网安备 33010602011771号