![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
azhoufeng
这个作者很懒,什么都没留下…
展开
-
类加载器 ClassLoader
一、类加载流程graph LRA[加载]-->B[验证]B-->C[准备]C-->D[解析]D-->E[初始化]类加载过程,虚拟机主要完成三件事:通过类的完全限定名(包名+类名)来获取类的二进制字节流。将这个字节流所代表静态存储结构转化为方法区域的运行时数据结构。在堆内存中生成类的Class对象作为方法区的数据访问入口。二、ClassLoader ...原创 2020-03-06 12:03:35 · 146 阅读 · 0 评论 -
Java动态代理---Java Proxy
一、Proxy.newProxyInstance()/** * * @param loader 用于定义代理类的类加载器 * @param interfaces 要实现的代理类的接口列表 * @param h 代理类 * @return 具有由指定的类装入器定义并实现指定接口的代理类的指定调用处理程序的代理实例 * @throws...原创 2019-04-13 16:44:47 · 148 阅读 · 0 评论 -
Java流系列(七):其它
一、writer.flush()和writer.close()的区别相同点:都会刷新缓冲区不同点:A:flush()只刷新缓冲区,close()先刷新缓冲区然后关闭流.B:flush()刷新缓冲区后可以继续写入数据继续刷新缓冲区;close()关闭流后就无法继续写入数据了,否则报流已经关闭异常.二、编码:将字符数据转换成字节数据的过程1、如果没有指定编码表,则默认使用本地编码...原创 2019-02-22 15:11:31 · 399 阅读 · 0 评论 -
Java流系列(六):RandomAccessFile(随机读写)
1、RandomAccessFile(随机访问文件):可以对文件进行随机的读取和写出,这是到目前为止,我学习的唯一一个可以同时进行读和写操作的类。因为这个类同时实现了DataOutput, DataInput这两个接口.完成文件指针的跳跃有两种方式:randomAccessFile.seek(绝对位置(永远从文件的开头开始计算)); 可以向前移动指针,也可以向后移动指针.randomAc...原创 2019-02-22 15:10:53 · 3053 阅读 · 0 评论 -
Java流系列(五):打印流、转换流、字符缓冲流
一、打印流PrintStream和PrintWriter的区别:相同点:都是只有输出功能的流.不同点:A:PrintStream:默认情况下会自动刷新缓冲区;PrintWriter默认情况下不会自动刷新缓冲区.B:PrintStream(OutputStream out, boolean autoFlush):第二个参数可以值是否要启用自动刷新缓冲区功能,如果指定则为true,否则为...原创 2019-02-22 15:10:18 · 416 阅读 · 0 评论 -
Java流系列(四):对象流、内存流
一、对象流(一)、使用对象输入流完成对指定文件的读取操作 (String path=“src”+File.separator+“hsj.bak”;)1.声明对象输入流对象ObjectInputStream objectInputStream=null;2.实例化对象输入流对象objectInputStream=new ObjectInputStream(new FileInpu...原创 2019-02-22 15:09:46 · 1012 阅读 · 0 评论 -
Java流系列(三):数据流、缓存流
一、数据流注意:使用data输出流写出数据后,在使用Data输入流读取时一定要保证读取的顺序和写出的顺序一致,否则数据出现错乱。(一)、使用数据输入流完成数据的读取操作1.声明数据输入流对象DataInputStream dataInputStream=null;2.实例化数据输入流对象dataInputStream=new DataInputStream(new FileInput...原创 2019-02-22 15:09:13 · 1665 阅读 · 0 评论 -
Java流系列(二):字节流、字符流
一、字节流(一)、从指定路径的文件中读取数据声明输入流对象InputStream inputStream=null;2.实例化文件输入流对象并指定要读取的文件路径inputStream=new FileInputStream(path);3.读取数据,一个字符一个字符的读(利用了循环)int ch=0;while((ch=inputStream.read())!=-1){...原创 2019-02-22 15:08:36 · 388 阅读 · 0 评论 -
Java流系列(一):流的分类
File:只能对文件本身的信息进行操作,比如:获取文件的大小等,但无法对文件中的内容进行操作.如果想对文件中的内容进行操作,则必须借助于流的概念.一、流:一串流动的数据,以先进先出的方式发送信息的通道.流的分类:1:按照流的方向(参考点永远是自己的程序)分:输入流(InputStream):只能向其中读取数据的流.输出流(OutputStream):只能向其中写出数据的流....原创 2019-02-22 15:07:26 · 4079 阅读 · 0 评论 -
网络编程
一、网络编程的概念1、什么是计算机网络?把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便的互相产地消息,共享硬件、软件、数据信息等资源。2、网络通讯协议要使计算机连成的网络能够互通信息,需要对数据传输速率、传输代码、代码结构、传输控制步骤、出错控制等制定一组标准,这一组共同遵守的通信标准就是网络通讯协议,不同的计算机之间...原创 2019-02-21 14:37:48 · 358 阅读 · 0 评论 -
Java反射
Class类是反射的源头.一、 获取类模板对象的方式:A:方式一:类名.classClass clz1=Person.class;B:方式二:对象名.getClass()方法Class clz2=p.getClass();C:方式三:Class.forName(“包名+类名的字符串”);Class clz3=Class.forName("com.hsj.domain...原创 2019-02-21 14:35:14 · 278 阅读 · 0 评论 -
XML解析
一、了解XMLXML 指可扩展标记语言(EXtensible Markup Language)XML 是一种标记语言,很类似 HTMLXML 的设计宗旨是传输数据,而非显示数据XML 标签没有被预定义。您需要自行定义标签。XML 被设计为具有自我描述性XML 与 HTML 的主要差异XML 被设计为传输和存储数据,其焦点是数据的内容。HTML 被设计用来显示数据,其焦点是数据...原创 2019-02-21 14:34:06 · 152 阅读 · 0 评论 -
Android自定义注解
仿写BufferKnife来熟悉自定义注解1、创建一个Java Library:annotationprocessor注意:一定要创建一个Java Library,而不是Android Library因为在使用自定义AbstractProcessor需要使用到javax包中的相关类和接口,这个在android库中并不存在,所以需要使用到Java库。build.gradle的配置:app...原创 2018-12-07 15:02:45 · 227 阅读 · 0 评论 -
java中的锁:synchronized与ReentrantLock
一、synchronized1、具体的实现方式有:A:同步代码块synchronized(锁旗标/监视哨/任意对象){ //需要同步的代码块}B:同步方法[访问修饰符] synchronized 方法返回值的数据类型 方法名([参数列表]){ //需要同步的代码}2、同步代码块和同步函数的区别: A:语法不同 B:同步代码块的锁是任意对象,同步的实例方法使用锁是...原创 2018-09-28 16:47:40 · 238 阅读 · 0 评论