随笔分类 - JavaSE
摘要:创建对象的5种方式 通过 new 关键字创建 最常用的方式,比如 Object obj = new Object(); 通过Class类的newInstance()方法 这种方式是默认调用类的无参构造方法来创建对象 Person p = (Person) Class.forName("com.hut
阅读全文
摘要:Java的自动装箱和拆箱 1、什么是装箱和拆箱? 装箱:将基本数据类型转换为包装数据类型 拆箱:将包装数据类型转换为基本数据类型 在JDK5之前,java是没有自动装箱和拆箱功能的。所以,那个时候想要创建包装类对象必须要这样: Integer i = new Integer(1); Double d
阅读全文
摘要:函数式接口 一、什么是函数式接口? 只包含一个抽象方法的接口,称为函数式接口。 我们可以在一个接口上使用 @FunctionalInterface 注解,这样做可以检 查它是否是一个函数式接口。 Lambda表达式就是一个函数式接口的实例。 所以以前用匿名实现类表示的现在都可以用Lambda表达式来
阅读全文
摘要:Lambda表达式 举例:(o1, o2) → Integer.compare(o1, o2); 格式: → :lambda操作符 或 箭头操作符 →的左边:lambda的形参列表(其实就是接口中的抽象方法的形参列表) →的右边:lambda体(其实就是重写的抽象方法的方法体) Lambda表达式的
阅读全文
摘要:运行时类 一、创建运行时类的对象 @Test public void test1() throws InstantiationException, IllegalAccessException { Class<Person> personClass = Person.class; /* newIns
阅读全文
摘要:代理模式与动态代理 一、代理设计模式的原理 使用一个代理将对象包装起来, 然后用该代理对象取代原始对象。任何对原始对象的调用都要通过代理。代理对象决定是否以及何时将方法调用转到原始对象上。 二、静态代理 特点:代理类和被代理类在编译期间,就确定下来了 public class StaticProxy
阅读全文
摘要:Class类 一、关于java.lang.Class类的理解 类的加载过程 程序经过javac.exe命令以后,会生成一个或多个字节码文件(.class结尾)。接着我们使用java.exe命令对某个字节码文件进行解释运行。相当于将某个字节码文件加载到内存中。此过程就称为类的加载。 加载到内存中的类,
阅读全文
摘要:反射机制的概述 一、什么是反射? Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期 借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。 加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个 类只有一个Class
阅读全文
摘要:网络协议 TCP协议 使用TCP协议前,须先建立TCP连接,形成传输数据通道 传输前,采用“三次握手”方式,点对点通信,是可靠的 TCP协议进行通信的两个应用进程:客户端、服务端 在连接中可进行大数据量的传输 传输完毕,需释放已建立的连接,效率低 UDP协议 将数据、源、目的封装成数据包,不需要建立
阅读全文
摘要:URL网络编程 URL:统一资源定位符,它表示Internet上某一资源的位置 URL的组成 <传输协议>://<主机名>:<端口号>/<文件名>#片段名?参数列表 example:http://localhost:8080/xxxxxxxxxxxx#a?username=tom 协议 主机名 端口
阅读全文
摘要:网络编程的概述 一、什么是网络编程 Java是 Internet 上的语言,它从语言级上提供了对网络应用程 序的支持,程序员能够很容易开发常见的网络应用程序。Java提供的网络类库,可以实现无痛的网络连接,联网的底层 细节被隐藏在 Java 的本机安装系统里,由 JVM 进行控制。并且 Java
阅读全文
摘要:IP地址和端口号 一、IP地址 唯一的标识Internet上的计算机(通信实体) 本地回环地址(hostAddress):127.0.0.1;主机名(hostName):localhost 在Java中使用InetAddress类代表IP IP地址分类方式①:IPv4和IPv6 IPv4:4个字节组
阅读全文
摘要:其他流的使用 标准的输入流、输出流 打印流 数据流 一、标准的输入流、输出流 System.in:标准的输入流,默认从键盘输入 System.out:标准的输出流,默认从控制台输出 System类的setIn(InputStream is) / setOut(PrintStream ps)方式重新指
阅读全文
摘要:转换流的使用 属于字符流(处理流) InputStreamReader:将一个字节的输入流转换为字符的输入流 OutputStreamWriter:将一个字符的输出流转换为字节的输出流 作用:提供字节流与字符流之间的转换 解码:字节、字节数组 > 字符数组、字符串 编码:字符数组、字符串 > 字节、
阅读全文
摘要:缓冲流的使用 一、缓冲流 BufferedInputStream BufferedOutputStream BufferedReader BufferedWriter 二、作用 提供流的读取、写入的速度 提高读写速度的原因:内部提供了缓冲区 三、非文本文件的复制 /* 实现非文本文件的复制 */ @
阅读全文
摘要:文件流——字符流的使用 一、读取 read(): //将hello.txt文件内容读入程序中,并输出到控制台 @Test public void testFileReader() { FileReader fileReader = null; try { //1、实例化File类的对象,指明要操作的
阅读全文
摘要:文件流——字节流的使用 对于文本文件(.txt/.java/.c/.cpp等)使用字符流处理 对于非文本文件(.jpg/.mp3/.mp4/.avi/.doc/.ppt等)使用字节流处理 !基本操作和字符流差不多! File类的实例化 流的实例化 读/写操作 关闭资源 读取: @Test publi
阅读全文
摘要:IO流的概述 一、什么是IO流 I/O是Input/Output的缩写,I/O技术是非常实用的技术,用于处理设备之间的数据传输。如读/写文件,网络通讯等。 Java程序中,对于数据的输入/输出操作以“流(stream)” 的 方式进行。 java.io包下提供了各种“流”类和接口,用以获取不同种类的
阅读全文
摘要:File类的使用 File类的一个对象,代表一个文件或一个文件目录 File类声明在java.io包下 File类中涉及到关于文件或文件目录的创建、删除、重命名、修改时间、文件大小等方法,并未涉及到写入或读取文件内容的操作。如果需要读取或写入文件内容,必须使用IO流来完成。 后续File类的对象常会
阅读全文
摘要:泛型的使用 jdk 5新特性 一、在集合中使用泛型: 集合接口或集合类在jdk 5时都修改为带泛型的结构 在实例化集合时,可以指明具体的泛型类型 指明完以后,在集合类或接口中凡是定义类或接口时,内部结构(比如:方法、构造器、属性等)使用到类的泛型的位置,都指定为实例化的泛型类型。比如:add(E e
阅读全文