随笔分类 - JavaSE
JavaSE程序
摘要:BIO、NIO、NIO.2之间的区别主要是通过同步/异步、阻塞/非阻塞来进行区分的 同步: 程序与操作系统进行交互的时候采取的是问答的形式 异步: 程序与操作系统取得连接后,操作系统会主动通知程序消息 阻塞: 程序在执行一个操作的时候,在执行完毕前会一直等待 非阻塞: 程序在执行的时候,不会停止 举
阅读全文
摘要:选择器允许单线程操作多个通道。如果你的程序中有大量的链接,同时每个链接的IO带宽不高的话,这个特性将 会非常有帮助。比如聊天服务器。 下面是一个单线程中Selector维护3个Channel的示意图: 要使用Selector的话,我们必须把Channel注册到Selector上,然后就可以调用Sel
阅读全文
摘要:通道 通常来说NIO中的所有IO都是从Channel开始的。Channel和流有点类似。通过Channel,我们即可以从Channel把数据写到Buffer中,也可以把数据从Buffer写入到Channel,下图是一个示意图: 通道可以理解成一种连接,根据连接对象的不同,可以分为下面这些类型 文件连
阅读全文
摘要:1 package org.zln.thread.poolqueue; 2 3 import org.slf4j.Logger; 4 import org.slf4j.LoggerFactory; 5 6 import java.util.Comparator; 7 import java.util.UUID; 8 import java.util.concurrent.*;...
阅读全文
摘要:Channel 和 Buffer 标准的Java IO编程接口是面向字节流和字符流的 而 NIO 是面向通道和缓冲区的 数据总是从通道中读到Buffer中,或者从Buffer写入通道中 NIO可以理解成 New IO和 Non-blocking IO,也就是非阻塞式IO Non-blocking I
阅读全文
摘要:JCS 是一款简单的内存缓存,基本使用如下 1、在 classpath 下配置 cache.ccf ,可以使用默认配置 2、代码 参考: http://blog.csdn.net/huxu981598436/article/details/47020497
阅读全文
摘要:1、被序列化/发布序列化操作的对象,需要实现 Serializable 接口 2、最好添加 private static final long serialVersionUID = 1L; 用于标记对象的版本 3、代码演示
阅读全文
摘要:UDP传输发送端package work.net;import java.io.IOException;import java.net.*;/** * Created by coolkid on 2014/12/17 0017. */public class UDPSendDemo { pub...
阅读全文
摘要:1 package org.zln.exception; 2 3 /** 4 * Created by coolkid on 2014/12/28 0028. 5 */ 6 7 class LanPingException extends Exception{ 8 LanPingE...
阅读全文
摘要:1 package org.test.javase.base; 2 3 /** 4 * Created by sherry on 2014/12/9 0009 15:40. 5 */ 6 public class TestBreak { 7 8 public static void...
阅读全文
摘要:1 package enhance; 2 3 /** 4 * Created by coolkid on 2014/12/20 0020. 5 */ 6 public class EnumTest { 7 public static void main(String[] args) ...
阅读全文
摘要:System类 访问系统属性 -遍历 1 package org.zln.usefulclass.system; 2 3 import java.util.Properties; 4 5 /** 6 * Created by sherry on 000024/6/24 23:08. 7 *...
阅读全文
摘要:需求一 模拟四个窗口同时卖100张火车票的问题 1 package work.thread; 2 3 import java.util.Objects; 4 5 /** 6 * Created by coolkid on 2014/12/17 0017. 7 */ 8 9 class T...
阅读全文
摘要:1 package org.zln.thread; 2 3 import java.util.Date; 4 import java.util.concurrent.ExecutorService; 5 import java.util.concurrent.Executors; 6 7 /*...
阅读全文
摘要:1 package org.zln.thread; 2 3 import java.util.Date; 4 5 /** 6 * Created by sherry on 000024/6/24 22:30. 7 */ 8 public class TestThreadGroup { 9 ...
阅读全文
摘要:定时器是一种特殊的多线程,使用Timer来安排一次或者重复执行某个任务 1 package org.zln.thread; 2 3 import java.util.Date; 4 import java.util.Timer; 5 import java.util.TimerTask; 6 7...
阅读全文
摘要:1、通过继承Thread编写多线程类 1 package org.zln.thread; 2 3 import java.util.Date; 4 5 /** 6 * Created by coolkid on 2015/6/21 0021. 7 */ 8 public class Test...
阅读全文
摘要:一般我们使用Java运行其他类中的方法的时候,无论是静态调用还是动态调用,都是在当前的进程中执行的。也就是只有一个Java虚拟机实例在运行。有时候需要通过Java代码启动多个Java子进程,这样做会消耗些资源,但是程序变得更稳定。因为新启动的进程是在不同的虚拟机中运行的。在Windows中,一个虚拟...
阅读全文
摘要:进程(process):正在执行的程序,每个进行拥有独立的内存空间线程,也称为轻量级进程,线程只能在单个进程的作用域内进行活动,线程间共享内存线程的五种状态新建:使用new运算符创建一个线程,该线程仅仅是一个空对象,系统没有分配资源可运行:使用start()方法启动一个线程后,系统为该线程分配除CP...
阅读全文
摘要:JavaIO的学习需要明白流设计的体系结构,这样才能在实际需要的时候,通过API文档查阅,快速实现功能。
阅读全文