骏马金龙 (新博客:www.junmajinlong.com)

网名骏马金龙,钟情于IT世界里的各种原理和实现机制,强迫症重症患者。爱研究、爱翻译、爱分享。特借此一亩三分田记录自己成长点滴!!!

随笔分类 -  java学习笔记

摘要:1.会话技术简介 http协议是无状态的,因此对于服务端来说,当它接收到客户端的http请求时,无法识别这个请求来源于哪个客户端。无状态的协议有优点也有缺点,但对于需要识别客户端甚至是需要记住客户端的业务来说,应当要让http协议"有状态"。 需要记住客户端的业务种类非常多。例如登陆系统,在一个页面 阅读全文
posted @ 2018-01-21 00:18 骏马金龙 阅读(1919) 评论(0) 推荐(3) 编辑
摘要:webapp项目的结构如下图: download.html文件的内容如下: 负责处理下载的Servlet——download.java文件的内容如下: 在浏览器地址栏中输入http://localhost:8080/DownloadServlet/download.html。 注:若您觉得这篇文章还 阅读全文
posted @ 2018-01-17 23:30 骏马金龙 阅读(2343) 评论(0) 推荐(1) 编辑
摘要:URL类将URL地址封装成对象,提供了解析URL地址的方法,如获取uri部分、host部分、端口等。 URLConnection则是URL对象和Socket连接给结合起来了,使得可以更轻松地获取发起URL请求的连接套接字。 1.URL 2.URLConnection 通过URL的openConnec 阅读全文
posted @ 2018-01-09 15:22 骏马金龙 阅读(1172) 评论(0) 推荐(1) 编辑
摘要:TCP通信需要明确的几点: 服务端需要使用accept()方法将监听套接字转变为已连接套接字。这个监听套接字可以生成多个已连接套接字,这样连接后还能监听其他客户端的请求。因此,这里应该使用多线程实现并发访问。获得了已连接套接字,就可以获取很多客户端的信息,例如客户端的ip地址,发送请求的端口等。 服 阅读全文
posted @ 2018-01-09 13:16 骏马金龙 阅读(905) 评论(0) 推荐(0) 编辑
摘要:UDP通信需要明确的几点: (1).只不过对于发送端来说,创建发送报文对象需要指定目标套接字信息(ip+port),还需明确数据发送缓冲区。 (2).而对于接收端来说,则只需明确一个数据接收缓冲区即可。 UDPSender端: UDPRecver端: UDP实现群聊: 思路: 注:若您觉得这篇文章还 阅读全文
posted @ 2018-01-08 23:08 骏马金龙 阅读(847) 评论(0) 推荐(0) 编辑
摘要:网络相关对象在java.net包中。 1.获取主机对象InetAddress 2.获取主机对象的ip地址和主机名(需要dns解析主机名) 3.获取本机所有接口NetworkInterface并遍历 由于一个接口上可能有多个子接口(辅助ip,如eth0:1),因此根据某个接口,可以得到该接口的所有ip 阅读全文
posted @ 2018-01-08 16:46 骏马金龙 阅读(3434) 评论(0) 推荐(0) 编辑
摘要:本文目录:1.等待、唤醒机制的原理2.Lock和Condition3.单生产者单消费者模式4.使用Lock和Condition实现单生产单消费模式5.多生产多消费模式(单面包)6.多生产多消费模式 生产者消费者模式是多线程中最为常见的模式:生产者线程(一个或多个)生成面包放进篮子里(集合或数组),同 阅读全文
posted @ 2018-01-06 00:22 骏马金龙 阅读(1292) 评论(0) 推荐(0) 编辑
摘要:本文目录:1.几个基本的概念2.创建线程的两种方法3.线程相关的常用方法4.多线程安全问题和线程同步 4.1 多线程安全问题 4.2 线程同步 4.3 同步代码块和同步函数的区别以及锁是什么 4.4 单例懒汉模式的多线程安全问题5.死锁(DeadLock) 1.几个基本的概念 本文涉及到的一些概念, 阅读全文
posted @ 2018-01-05 00:45 骏马金龙 阅读(13311) 评论(0) 推荐(7) 编辑
摘要:额外功能处理流的意思是在基础流(InputStream/OutputStream/Reader/Writer)的基础上提供额外的功能。常见的额外功能可归纳为以下几种。 Bufferedxxx类和Array相关的功能此处不做介绍。本文将介绍除此之外的其余功能以及对象序列化时涉及到的序列化接口Seria 阅读全文
posted @ 2018-01-03 01:48 骏马金龙 阅读(560) 评论(0) 推荐(0) 编辑
摘要:Properties类继承自HashTable,通常和io流结合使用。它最突出的特点是将key/value作为配置属性写入到配置文件中以实现配置持久化,或从配置文件中读取这些属性。它的这些配置文件的规范后缀名为".properties"。表示了一个持久的属性集。 需要注意几点: 如果想将Proper 阅读全文
posted @ 2018-01-02 16:22 骏马金龙 阅读(657) 评论(0) 推荐(0) 编辑
摘要:字节流、字符流涉及的类比较多,比较容易混淆。因此,有必要针对何时使用字节流、何时使用字符流、何时使用Buffer类的流做一个归纳。要归纳它们,无需过多的语言,只需抓住它们的重点和特性即可。 在决定何时使用何种类时,以下几个问题需要考虑清楚。 数据源:表示输入,或称为读。可提供使用的两个父类为Inpu 阅读全文
posted @ 2017-12-31 22:47 骏马金龙 阅读(471) 评论(0) 推荐(1) 编辑
摘要:要读取键盘输入的数据,需要使用输入流,可以是字节输入流,也可以是字节输入流转换后的字符输入流。 关于键盘输入,有几点注意的是:(1).键盘输入流为System.in,其返回的是InputStream类型,即字节流。(2).字节流读取键盘的输入时,需要考虑回车符(\r:13)、换行符(\n:10)。( 阅读全文
posted @ 2017-12-31 21:22 骏马金龙 阅读(590) 评论(0) 推荐(0) 编辑
摘要:字符流按字符个数输入、输出数据。 1.Reader类和FileReader类 Reader类是字符输入流的超类,FileReader类是读取字符的便捷类,此处的便捷是相对于其父类(另一个字符输入流)InputStreamReader而言的。 read()每单字符读取: read(char[] c)读 阅读全文
posted @ 2017-12-30 21:29 骏马金龙 阅读(736) 评论(1) 推荐(1) 编辑
摘要:数据流分为输入、输出流,无论是输入流还是输出流,都可看作是在源和目标之间架设一根"管道",这些管道都是单向流动的,要么流入到内存(输入流),要么从内存流出(输出流)。 应用于java上,输入流和输出流分别为InputStream和OutputStream。输入流用于读取(read)数据,将数据加载到 阅读全文
posted @ 2017-12-29 21:31 骏马金龙 阅读(1150) 评论(0) 推荐(0) 编辑
摘要:1.File类简介 File类位于java.io包中。它面向文件层次级别操作、查看文件,而字节流、字符流操作数据时显然比之更底层。 学习File类包括以下几个重点:文件路径、文件分隔符、创建文件(目录)、删除文件(目录)、查看文件内容(输出目录内文件)、判断文件(是文件/目录?存在否?可读写执行?) 阅读全文
posted @ 2017-12-29 11:41 骏马金龙 阅读(1259) 评论(0) 推荐(1) 编辑
摘要:以d:\a目录为例,假设D:\a目录内的结构如下: 4.1 示例1:列出整个目录中的文件(递归) 思路:1.遍历目录d:\a。2.每遍历到d:\a中的一个目录就遍历这个子目录。因此需要判断每个遍历到的元素是否是目录。 以下是从普通代码到递归代码前的部分代码: 对重复的代码部分进行封装,于是使用递归方 阅读全文
posted @ 2017-12-29 01:45 骏马金龙 阅读(1460) 评论(0) 推荐(0) 编辑
摘要:java中的数组是引用数据类型。 根据数据类型可分为两种类型: (1).基础数据类型的数组。只是数组内的数据类型是基础的,数组本身仍然是引用类型,毕竟数组有两段内存空间(栈中引用变量,堆中数组对象)。例如:int[] a = new int[3];表示数组中有三个成员:a[0]、a[1]和a[2]。 阅读全文
posted @ 2017-12-28 01:56 骏马金龙 阅读(559) 评论(0) 推荐(0) 编辑
摘要:JAVA中的异常类都继承自Throwable类,也就是说,这是异常类的根。Throwable类扩展了两个类Error类和Exception类,Exception类又扩展了一个RuntimeException类。如下图: Error:称为错误,由Java虚拟机生成并抛出,这类错误一般是运行时系统内部的 阅读全文
posted @ 2017-12-28 01:50 骏马金龙 阅读(1101) 评论(1) 推荐(3) 编辑
摘要:抽象类(abstract) 以下面多态的示例来说明: 父类Animal中的sing()方法迟早要被子类Cat、Dog重写,而且在多态实现下,Animal的sing()完全是多余的。因此,可以将Animal的sing()方法的方法体删掉。 更彻底一点,将sing()方法加上abstract关键字,这个 阅读全文
posted @ 2017-12-27 22:38 骏马金龙 阅读(793) 评论(0) 推荐(1) 编辑
摘要:权限修饰符 权限修饰符包括public、private、protected和不加任何修饰符的default,它们都可以修饰方法和变量。其中public和默认的default(不加任何修饰符)这两个还可以修饰class。private和protected修饰类的情况只能在使用内部类时修饰,正常情况下不 阅读全文
posted @ 2017-12-27 20:32 骏马金龙 阅读(643) 评论(0) 推荐(1) 编辑