- 博客(50)
- 资源 (8)
- 问答 (2)
- 收藏
- 关注
原创 Java Apache POI 小记(读取Word通过模板创建PPT)
Java Apache POI 小记(读取Word通过模板创建PPT)
2022-10-24 17:39:35
1030
1
原创 算法学习笔记1(数组,动态数组,散列表)
众所周知,数据结构和算法对于一个开发人员是多么的重要,一个好的数据结构和算法,可以让你在实现同一个功能的时候,提升非常多的效率。笔者作为一个初入IT业的菜鸟,觉得也很有必要在这方面下一番功夫,所以特开此篇作为学习数据结构和算法的开篇,后面会继续记录分享我的学习经历。因为笔者主要做java这块儿的,所以前期写的东西可能都是以java来进行描述的,不过数据结构和算法这种东西,其实跟语言的关联性不是...
2018-04-17 22:48:53
750
2
原创 《Java线程与并发编程实践》学习笔记3(初识线程同步)
在平常的开发当中,我们往往要使用到多线程编程的技术,当线程之间没有交互的时候,这种情况下程序将会变得比较简单。如果发生了交互,那么就必须考虑到多线程之间的安全问题,本篇来初步认识Java中如何使用同步的特性来保证线程的安全。线程中存在的问题java对线程的支持自然增强了其应用能力,但同时也增加了java的复杂性,使得我们在开发的过程中必须要更加小心,否则多线程的程序中很有可能会出现
2018-02-06 14:54:48
431
1
原创 《Java线程与并发编程实践》学习笔记2(启动线程,中断线程,等待线程,线程睡眠)
本篇要讲述的是线程中的启动线程(start),中断线程(interrupt),等待线程(join),以及线程睡眠(sleep)。下面将分别介绍这四种线程操作方式。启动线程:当我们创建好一个线程对象或者其子类对象后,我们可以通过调用Thread类中的start方法来启动与该对象所关联的线程,用一个最简单的例子来描述就是:package com.newway.interrupu
2018-01-23 09:29:03
319
原创 《Java线程与并发编程实践》学习笔记1(Thread 和 Runnable)
本篇作为笔者对于《Java线程与并发编程实践》一书的学习笔记的开篇。概述首先,我们需要先了解什么是线程,再接着深入学习。 讲到线程又不得不谈到进程(Process),进程的定义是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。乍一看下没接触过的朋友可能感觉有点儿云里雾里,简单点儿说进程就是一段程序的执行过程,甚至于你可以粗略的将进程看做你计算机中
2017-12-20 21:36:28
278
1
原创 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
704
2
原创 Java IO笔记(FileReader/FileWriter)
本篇讲述的java io包中的FileReader/FileWriter。它们的功能与前面讲过的FileInputStream/FileOutputStream基本类似,只是前者是基于字符流后者是基于字节流,它们都能从文件中读取或者写入数据,下面先贴上源码进行简单的分析。FileReader:package java.io;public class FileReader extends
2017-10-27 15:16:30
382
原创 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
14121
原创 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
897
原创 java IO笔记(RandomAccessFile)
本篇讲述的内容是java io中的RandomAccessFile。RandomAccessFile是java io体系中提供给我们的一种文件访问类,它自己同时包含了读写功能,当然它最大的特点是可以自由访问文件中的位置,无需从头开始访问,下面先贴上RandomAccessFile的源码,通过源码对其进行学习。package java.io;import java.nio.chann
2017-10-10 22:06:25
366
原创 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
740
原创 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
458
原创 java IO笔记(FileterInputStream/FilterOutputStream)
本篇讲述的是java io包中的FilterInputStream和FilterOutputStreaem,老规矩,先附上两个类的源码。FilterInputStream:package java.io;public class FilterInputStream extends InputStream { /** * 内部声明了一个InputStream对象的句柄,用于
2017-09-22 13:48:29
742
原创 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
455
原创 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
1789
原创 Java IO笔记(Bits)
本篇讲述的是位于java io包中的Bits类。这是一个工具类,其中封装好了一些方法,用于处理原始数据和字节数据之间的转化,下面先附上源码。 package java.io;class Bits { /* * 该方法提供了两个参数,第一个参数是一个byte型数组b,其中已经存放了字节数据,第二个参数off为数据读取的起点位置,从数组off索引出取出数据,如果为...
2017-09-12 22:06:45
841
2
原创 java IO笔记(Reader/Writer)
本篇讲述的是java io中的reader和writer。跟之前讲述的InputStream和OutputStream一样为io流中的父类之一,不过Reader和Writer是字符流。
2017-09-07 15:17:55
384
原创 java学习笔记之断言(Assertion)
本篇讲述的是java中的断言(Assertion)。断言并不是java所独有的,在很多程序语言中都有,如C,C++,Python等,只是它们的表现形式可能略有不同。那么断言到底是什么呢?断言主要使用在代码开发和测试时期,对于一些关键数据进行判断,如果符合表达式判断,则程序继续进行,如果不符合,则程序会抛出异常(AssertionError)并有相关警告提醒。这么一说是不是有一种这样的感
2017-09-01 09:35:01
428
原创 java学习笔记之对象清除、垃圾收集
本篇来聊聊java中内存回收机制。如果有c++编程经验的朋友,肯定知道在c++中如果创建了一个对象,当不再使用的时候,需要手动调用delete方法来进行销毁。那么在java中我们为什么可以自由的创建对象而不用去考虑(其实也是要考虑的,只是平常忽略了它)?因为java提供了一套完整的垃圾回收机制(gc)。它会自动扫描内存中我们所创建过且不再使用的对象,进行自动销毁。听上去是不是很高端呢~虽然
2017-08-30 10:30:43
704
原创 java 学习笔记之位移运算符
位移运算符以前一直没怎么注意,今天因为某些原因使用了一下,结果跟预期不一样,所以回头看了一下,最终发现在使用的时候还是有一些注意事项的。java中提供了3个位移运算符:1.带符号的右移运算符(>>):将运算符左边的运算对象向右移动运算符右侧指定的位数。“有符号”右移位运算符使用了“符号扩展”:若值为正,则在高位插入 0;若值为负,则在高位插入 1。2.带符号的左移运算符(&l...
2017-08-29 10:40:48
321
原创 JavaScript学习笔记(DOM脚本)
本篇讲述的是文档对象模型(DOM)。JavaScript在Web开发中的主要作用是用于与用户交互,而DOM便是我们实现这些功能的基础。DOM是W3C提供的一种标准,它为开发人员提供了一种方式以表达网页中的所有元素。我们可以通过JavaScript修改页面元素相应的DOM属性,便可以对页面中的元素进行相关操作。有一点儿比较值得称赞的是,因为DOM只表示页面中的内容,所以它并不受浏览器影响,因
2017-08-25 23:29:09
283
原创 java IO笔记(FileDescriptor)
本篇要讲的是FileDescriptor,从字面上来看它就是文件描述符。官方是这么描述的:可以看出,FileDescriptor可以看做一种指向文件引用的抽象化概念。它能表示一个开放文件,一个开放的socket或者一个字节的源。它最主要的用途就是去创建FileInputStream或者FileOutputStream。并且也说了不应该创建应用自己的文件描述符。不得不说每次看这种
2017-08-24 12:27:17
8877
5
原创 java IO笔记(DataInput/DataOutput)
本篇将要讲述的内容是java io中的DataInput 和 DataOutput。
2017-08-18 16:28:37
3095
原创 java IO笔记(InputStream/OutputSteram)
本篇讲述的内容是java io中的InputStream和OutputStream。
2017-08-18 16:27:03
228
原创 JavaScript学习笔记(浏览器)
众所周知,我们编写的程序是跑在浏览器之中的,在前面的学习中,我们知道了JavaScript是基于对象的,其实浏览器也是由各种对象组成的。JavaScript在运行时,我们可以访问到浏览器的对象,像之前曾使用过的alert方法和prompt方法其实就是浏览器对象window的方法。除了window对象,我们前面用过的document对象也是属于浏览器对象,它代表着页面本身,所以我们当时调用其writ
2017-08-16 21:30:14
304
原创 JavaScript学习笔记(日期,时间和计时器)
在前面的篇幅中曾经简单的讲述了一下Date对象的一些方法和属性,本篇将更为详细的介绍Date对象的使用方法。在网页制作时,我们经常会用到时间。然而我们知道,地球上不同地方同一时刻用来表示时间的值是不同的,也就是平常我们所说的有时差了,那么当我们描述一个时间的时候,怎么让别人知道我们用的什么地方的时间呢。因此协调世界时(UTC)就诞生了,实际是它是伦敦格林尼治的0:00午夜。UTC的前身是格林尼
2017-08-16 13:40:21
560
原创 JavaScript学习笔记(字符串操作)
本篇将要讲述的是在JavaScript中字符串的操作,上一篇也讲述了一些字符串的简单属性和方法,本篇将更加全面的讲述并且简单的介绍一下正则表达式在javascript中的使用。先来说说String对象的一些其它方法: split():
2017-08-15 21:44:47
294
原创 java IO笔记(序列化与ObjectInputStream、ObjectOutputStream)
本篇讲的内容是序列化,以及ObjectInputStream和ObjectOoutputStream流。
2017-08-15 17:38:27
374
原创 java 学习笔记之AtomicInteger类的使用
今天在看源码的时候看到了一个类叫AtomicInteger,所以决定探索一番。从源码中看出,AtomicInteger继承自Number类,值得注意的是其中的value属性是用volatile关键字修饰的,这个关键字在java 1.5之前经常容易引发一些意想不到的错误,之后得到了优化,才得以重生。这里先简单的说下volatile关键字吧,被其修饰的变量当线程前来访问的时候,会去读取该变量被
2017-08-15 10:21:55
260
原创 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
354
1
原创 java IO笔记(CharArrayReader/CharArrayWriter)
本篇要讲述的是CharArrayReader和CharArrayWriter两个类。它们两个同之前的ByteArrayInputStream和ByteArrayOutputStream和相似,两者的主要区别是前者是基于字符数组来工作的,后者是基于字节数组来创建的。下面先说说CharArrayReader,先附上源码:package java.io;public class CharAr
2017-08-14 16:56:39
230
原创 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
3104
原创 java IO笔记(网络中IO的运用)
如今大部分的编程开发都离不开网络,Java IO同样可以基于网络进行开发。事实上网络编程可以看做两个进程之间的通信,我们可以通过java对网络的支持,建立两点的网络连接,连接建立成功之后,就可以看做是本地的文件操作了。前面对于文件进行的类似操作也可以适用在这里。我们常用的有TCP/UDP建立连接,下面将分别举例说明:TCPClient:package NetIo;import ja
2017-08-14 10:04:16
207
原创 JavaScript学习笔记(常用内置对象)
JavaScript是一门基于对象的编程语言,至于什么是对象吗,额,只可意会不可言传,用大神的话就是万物皆对象,既然如此,那边少不了要讲述一下JavaScript是如何使用对象的了。那么JavaScript中对象是什么样子的呢,其实前面篇幅中我们已然使用过了,比如Date对象,比如Array对象。创建对象时,需要用到new运算符,基本格式如下:var myVariable = ne
2017-08-13 15:21:17
1021
Android TV 开机自启ying'yong
2020-04-06
java sun.nio.cs.StreamEncoder 源码阅读的一些小问题
2017-11-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人