Java
文章平均质量分 79
Java
moonfish0607
发呆中。。。。
展开
-
Java Apache POI 小记(读取Word通过模板创建PPT)
Java Apache POI 小记(读取Word通过模板创建PPT)原创 2022-10-24 17:39:35 · 1118 阅读 · 1 评论 -
单例设计模式
单例设计模式原创 2019-12-04 09:36:26 · 311 阅读 · 0 评论 -
GoF23设计模式总述
GoF23设计模式开篇引导原创 2019-11-15 11:10:39 · 446 阅读 · 0 评论 -
Java IO笔记(FileReader/FileWriter)
本篇讲述的java io包中的FileReader/FileWriter。它们的功能与前面讲过的FileInputStream/FileOutputStream基本类似,只是前者是基于字符流后者是基于字节流,它们都能从文件中读取或者写入数据,下面先贴上源码进行简单的分析。FileReader:package java.io;public class FileReader extends原创 2017-10-27 15:16:30 · 401 阅读 · 0 评论 -
Java IO笔记(FilterReader/FilterWriter)
本篇讲述的是java io包中的FilterReader/FilterWriter,它们同FilterInputStream/FilterOutputStream一样,是Reader和Writer的包装类,为Reader/Writer提供了更多的功能,下面先贴上源码,对其进行简单的分析。FilterReader:package java.io;public abstract c原创 2017-10-30 09:19:57 · 722 阅读 · 2 评论 -
java IO笔记(PipedInputStream/PipedOutputStream)
在上一篇笔记中讲述了java io 中的文件(file)以及如何用文件流来对文件进行读写操作,本篇则要讲述的是java IO中的管道流。java IO中的管道流可以使得同一进程中的不同线程进行通信,如果不明白进程和线程的区别的话,可以去网上搜搜资料,可以看做提供同一jvm的通信能力。在java IO中管道的创建需要通过PipedInputStream和PipedOutputStream两个类,原创 2017-08-12 21:02:40 · 734 阅读 · 0 评论 -
java IO笔记(File)
本篇讲述在Java IO中对文件的一些操作,在java IO中,文件是一种最常见的数据源。因此java IO对其提供了专门的IO流来进行操作。java提供了一个类来表示文件,这个类就是file类,位于java.io.file。该类的功能十分强大,下面将一一介绍。首先我们来看看file类的构造方法,在我使用的jdk1.7中,该类一共提供了4个构造方法,分别为:public Fil原创 2017-08-11 14:13:31 · 375 阅读 · 0 评论 -
java IO笔记(IO简述)
在java的学习中,IO这块儿往往是初学者们需要花费一定时间来仔细学习的地方。在我们的开发过程中,肯定要遇到数据的输入、输出,java 的核心库java.io则为我们提供了全面的IO接口。包括了文件读写,标准设备输出等。这里的IO是指java 1.4没有引入NIO的IO,后面也将另开篇幅对java NIO进行学习。java.io通过数据流,序列化和文件系统提供系统的输入和输出。java.i原创 2017-08-11 10:20:57 · 271 阅读 · 0 评论 -
java IO笔记(网络中IO的运用)
如今大部分的编程开发都离不开网络,Java IO同样可以基于网络进行开发。事实上网络编程可以看做两个进程之间的通信,我们可以通过java对网络的支持,建立两点的网络连接,连接建立成功之后,就可以看做是本地的文件操作了。前面对于文件进行的类似操作也可以适用在这里。我们常用的有TCP/UDP建立连接,下面将分别举例说明:TCPClient:package NetIo;import ja原创 2017-08-14 10:04:16 · 221 阅读 · 0 评论 -
java IO笔记(ByteArrayInputStream/ByteArrayOutputStream)
今天讲的是ByteArrayInputStream流和ByteArrayOutputStream流。首先让我们来看看ByteArrayOutputStream的源码:ByteArrayOutputStream.javapackage java.io;import java.util.Arrays;public class ByteArrayOutputStream extend原创 2017-08-14 14:21:13 · 3127 阅读 · 0 评论 -
java IO笔记(CharArrayReader/CharArrayWriter)
本篇要讲述的是CharArrayReader和CharArrayWriter两个类。它们两个同之前的ByteArrayInputStream和ByteArrayOutputStream和相似,两者的主要区别是前者是基于字符数组来工作的,后者是基于字节数组来创建的。下面先说说CharArrayReader,先附上源码:package java.io;public class CharAr原创 2017-08-14 16:56:39 · 245 阅读 · 0 评论 -
算法学习笔记1(数组,动态数组,散列表)
众所周知,数据结构和算法对于一个开发人员是多么的重要,一个好的数据结构和算法,可以让你在实现同一个功能的时候,提升非常多的效率。笔者作为一个初入IT业的菜鸟,觉得也很有必要在这方面下一番功夫,所以特开此篇作为学习数据结构和算法的开篇,后面会继续记录分享我的学习经历。因为笔者主要做java这块儿的,所以前期写的东西可能都是以java来进行描述的,不过数据结构和算法这种东西,其实跟语言的关联性不是...原创 2018-04-17 22:48:53 · 782 阅读 · 2 评论 -
《Java线程与并发编程实践》学习笔记1(Thread 和 Runnable)
本篇作为笔者对于《Java线程与并发编程实践》一书的学习笔记的开篇。概述首先,我们需要先了解什么是线程,再接着深入学习。 讲到线程又不得不谈到进程(Process),进程的定义是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。乍一看下没接触过的朋友可能感觉有点儿云里雾里,简单点儿说进程就是一段程序的执行过程,甚至于你可以粗略的将进程看做你计算机中原创 2017-12-20 21:36:28 · 289 阅读 · 1 评论 -
《Java线程与并发编程实践》学习笔记2(启动线程,中断线程,等待线程,线程睡眠)
本篇要讲述的是线程中的启动线程(start),中断线程(interrupt),等待线程(join),以及线程睡眠(sleep)。下面将分别介绍这四种线程操作方式。启动线程:当我们创建好一个线程对象或者其子类对象后,我们可以通过调用Thread类中的start方法来启动与该对象所关联的线程,用一个最简单的例子来描述就是:package com.newway.interrupu原创 2018-01-23 09:29:03 · 334 阅读 · 0 评论 -
《Java线程与并发编程实践》学习笔记3(初识线程同步)
在平常的开发当中,我们往往要使用到多线程编程的技术,当线程之间没有交互的时候,这种情况下程序将会变得比较简单。如果发生了交互,那么就必须考虑到多线程之间的安全问题,本篇来初步认识Java中如何使用同步的特性来保证线程的安全。线程中存在的问题java对线程的支持自然增强了其应用能力,但同时也增加了java的复杂性,使得我们在开发的过程中必须要更加小心,否则多线程的程序中很有可能会出现原创 2018-02-06 14:54:48 · 452 阅读 · 1 评论 -
java 学习笔记之AtomicInteger类的使用
今天在看源码的时候看到了一个类叫AtomicInteger,所以决定探索一番。从源码中看出,AtomicInteger继承自Number类,值得注意的是其中的value属性是用volatile关键字修饰的,这个关键字在java 1.5之前经常容易引发一些意想不到的错误,之后得到了优化,才得以重生。这里先简单的说下volatile关键字吧,被其修饰的变量当线程前来访问的时候,会去读取该变量被原创 2017-08-15 10:21:55 · 273 阅读 · 0 评论 -
java IO笔记(System.int/out/error)
在前面的篇幅中我们有用到过System.int,System.out,那么它们是怎么工作的呢,本篇将来简单的说说它们。从源码中看出System.in,System.out,System.err都是System类中的静态属性,如图所示:可以看出System.in是一个InputStream,System.out和System.err是一个PrintStream。当jvm初始化时,自动原创 2017-08-15 09:24:53 · 369 阅读 · 1 评论 -
java IO笔记(SequenceInputStream)
本篇讲的java io中的SequenceInputStream流。原创 2017-08-15 17:37:14 · 284 阅读 · 0 评论 -
java IO笔记(DataInputStream/DataOutputStream)
本篇讲述的是java io包中的DataInputStream和DataOutputStream。下面还是先贴出源码进行简单的分析:DataInputStream.java:package java.io;public class DataInputStream extends FilterInputStream implements DataInput { /**原创 2017-10-11 22:32:45 · 922 阅读 · 0 评论 -
java IO笔记(PushbackInputStream)
本原创 2017-10-14 22:02:59 · 1102 阅读 · 0 评论 -
java IO笔记(StringReader/StringWriter)
本篇将要讲述的是java io包中的StringReader和StringWriter。这两个类都是Reader和Writer的装饰类,使它们拥有了对String类型数据进行操作的能力。下面还是先附上源码,然后对其进行简单的分析:StringReader:package java.io; public class StringReader extends Reader { //内置了...原创 2017-10-23 16:39:19 · 14192 阅读 · 0 评论 -
java学习笔记之断言(Assertion)
本篇讲述的是java中的断言(Assertion)。断言并不是java所独有的,在很多程序语言中都有,如C,C++,Python等,只是它们的表现形式可能略有不同。那么断言到底是什么呢?断言主要使用在代码开发和测试时期,对于一些关键数据进行判断,如果符合表达式判断,则程序继续进行,如果不符合,则程序会抛出异常(AssertionError)并有相关警告提醒。这么一说是不是有一种这样的感原创 2017-09-01 09:35:01 · 445 阅读 · 0 评论 -
java学习笔记之对象清除、垃圾收集
本篇来聊聊java中内存回收机制。如果有c++编程经验的朋友,肯定知道在c++中如果创建了一个对象,当不再使用的时候,需要手动调用delete方法来进行销毁。那么在java中我们为什么可以自由的创建对象而不用去考虑(其实也是要考虑的,只是平常忽略了它)?因为java提供了一套完整的垃圾回收机制(gc)。它会自动扫描内存中我们所创建过且不再使用的对象,进行自动销毁。听上去是不是很高端呢~虽然原创 2017-08-30 10:30:43 · 725 阅读 · 0 评论 -
java 学习笔记之位移运算符
位移运算符以前一直没怎么注意,今天因为某些原因使用了一下,结果跟预期不一样,所以回头看了一下,最终发现在使用的时候还是有一些注意事项的。java中提供了3个位移运算符:1.带符号的右移运算符(>>):将运算符左边的运算对象向右移动运算符右侧指定的位数。“有符号”右移位运算符使用了“符号扩展”:若值为正,则在高位插入 0;若值为负,则在高位插入 1。2.带符号的左移运算符(&l...原创 2017-08-29 10:40:48 · 334 阅读 · 0 评论 -
java IO笔记(RandomAccessFile)
本篇讲述的内容是java io中的RandomAccessFile。RandomAccessFile是java io体系中提供给我们的一种文件访问类,它自己同时包含了读写功能,当然它最大的特点是可以自由访问文件中的位置,无需从头开始访问,下面先贴上RandomAccessFile的源码,通过源码对其进行学习。package java.io;import java.nio.chann原创 2017-10-10 22:06:25 · 388 阅读 · 0 评论 -
Java IO笔记(BufferedReader/BufferedWriter)
本篇讲述的是java io包中的BufferedReader和BufferedWriter。从名字中可以看出它们分别是Reader和Writer的子类,它们的特点是在对流进行读写操作时,内置了缓存区,通过减少与磁盘之间IO操作的此处,从而提升了读写效率,下面我们来简要的看看它们的源码。BufferedReader.java:package java.io;import java.util.原创 2017-10-04 20:22:32 · 763 阅读 · 0 评论 -
java IO笔记(BufferedInputStream/BufferedOutputStream)
本篇讲述的是java io包中的BufferedInputStream类和BufferedOutputStream类。下面我们通过源码分别对这两个类进行学习。1.BufferedInputStream:package java.io;import java.util.concurrent.atomic.AtomicReferenceFieldUpdater;public cl原创 2017-09-27 12:07:54 · 483 阅读 · 0 评论 -
java IO笔记(序列化与ObjectInputStream、ObjectOutputStream)
本篇讲的内容是序列化,以及ObjectInputStream和ObjectOoutputStream流。原创 2017-08-15 17:38:27 · 387 阅读 · 0 评论 -
java IO笔记(InputStream/OutputSteram)
本篇讲述的内容是java io中的InputStream和OutputStream。原创 2017-08-18 16:27:03 · 240 阅读 · 0 评论 -
java IO笔记(DataInput/DataOutput)
本篇将要讲述的内容是java io中的DataInput 和 DataOutput。原创 2017-08-18 16:28:37 · 3124 阅读 · 0 评论 -
java IO笔记(FileDescriptor)
本篇要讲的是FileDescriptor,从字面上来看它就是文件描述符。官方是这么描述的:可以看出,FileDescriptor可以看做一种指向文件引用的抽象化概念。它能表示一个开放文件,一个开放的socket或者一个字节的源。它最主要的用途就是去创建FileInputStream或者FileOutputStream。并且也说了不应该创建应用自己的文件描述符。不得不说每次看这种原创 2017-08-24 12:27:17 · 8906 阅读 · 5 评论 -
java IO笔记(Reader/Writer)
本篇讲述的是java io中的reader和writer。跟之前讲述的InputStream和OutputStream一样为io流中的父类之一,不过Reader和Writer是字符流。原创 2017-09-07 15:17:55 · 398 阅读 · 0 评论 -
Java IO笔记(Bits)
本篇讲述的是位于java io包中的Bits类。这是一个工具类,其中封装好了一些方法,用于处理原始数据和字节数据之间的转化,下面先附上源码。 package java.io;class Bits { /* * 该方法提供了两个参数,第一个参数是一个byte型数组b,其中已经存放了字节数据,第二个参数off为数据读取的起点位置,从数组off索引出取出数据,如果为...原创 2017-09-12 22:06:45 · 856 阅读 · 2 评论 -
Java IO笔记(StreamTokenizer)
本篇讲述的是java io包中的StreamTokenizer类。StreamTokenize类可以将任何的输入流分割为一系列标记(token),可以每次读取一个标记,StreamTokenizer.java:package java.io;import java.util.Arrays;public class StreamTokenizer { //内部声明了一个Rea原创 2017-09-14 09:51:17 · 1807 阅读 · 0 评论 -
java IO笔记(FileInputStream/FileOutputStream)
本篇要学习的是java io包中的FileInputStream类和FileOoutputStream类。文件是我们常见的数据源之一,所以java为我们封装好了支持文件读写的流工具,下面我们通过源码分别来学习这两个类。FileInputStream.java:package java.io;import java.nio.channels.FileChannel;import s原创 2017-09-20 16:14:29 · 475 阅读 · 0 评论 -
java IO笔记(FileterInputStream/FilterOutputStream)
本篇讲述的是java io包中的FilterInputStream和FilterOutputStreaem,老规矩,先附上两个类的源码。FilterInputStream:package java.io;public class FilterInputStream extends InputStream { /** * 内部声明了一个InputStream对象的句柄,用于原创 2017-09-22 13:48:29 · 756 阅读 · 0 评论