- 博客(37)
- 资源 (1)
- 收藏
- 关注
原创 仿写一个简陋的 IOC/AOP 框架 mini-spring
讲道理,感觉自己有点菜。Spring 源码看不懂,不想强行解释,等多积累些项目经验之后再看吧,但是 Spring 中的控制反转(IOC)和面向切面编程(AOP)思想很重要,为了更好的使用 Spring 框架,有必要理解这两个点,为此,我使用 JDK API 实现了一个玩具级的简陋 IOC/AOP 框架 mini-spring,话不多说,直接开干。环境搭建&快速使用全部代码已上传 Git...
2019-07-17 18:07:39
331
原创 自学Java,我对Java泛型理解与总结
前言Java 5 添加了泛型,提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,可以为以前处理通用对象的类和方法,指定具体的对象类型。听起来有点抽象,所以我们将马上看一些泛型用在集合上的例子:泛型集合先看一个没有泛型的集合例子:List list = new ArrayList();list.add(new Integer(2));lis...
2018-12-10 14:55:49
279
原创 一篇文章概括 Java Date Time 的使用
本文目的:掌握 Java 中日期和时间常用 API 的使用。参考:Jakob Jenkov的英文教程Java Date Time Tutorial 和 JavaDoc概览Java 8 新增 APIJava 8 部分新类描述Instant表示时间线上的某一瞬间,用秒和纳秒表示。Duration表示时间差,用秒和纳秒表示。LocalDate表示没有时区信...
2018-12-04 11:07:52
268
原创 Java NIO 学习笔记(七)----NIO/IO 的对比和总结
目录:Java NIO 学习笔记(一)----概述,Channel/BufferJava NIO 学习笔记(二)----聚集和分散,通道到通道Java NIO 学习笔记(三)----SelectorJava NIO 学习笔记(四)----文件通道和网络通道Java NIO 学习笔记(五)----路径、文件和管道 Path/Files/PipeJava NIO 学习笔记(六)----异步...
2018-12-02 22:58:07
377
原创 Java NIO 学习笔记(六)----异步文件通道 AsynchronousFileChannel
目录:Java NIO 学习笔记(一)----概述,Channel/BufferJava NIO 学习笔记(二)----聚集和分散,通道到通道Java NIO 学习笔记(三)----SelectorJava NIO 学习笔记(四)----文件通道和网络通道Java NIO 学习笔记(五)----路径、文件和管道 Path/Files/PipeJava NIO 学习笔记(六)----异步...
2018-12-02 22:57:43
588
原创 Java NIO 学习笔记(五)----路径、文件和管道 Path/Files/Pipe
目录:Java NIO 学习笔记(一)----概述,Channel/BufferJava NIO 学习笔记(二)----聚集和分散,通道到通道Java NIO 学习笔记(三)----SelectorJava NIO 学习笔记(四)----文件通道和网络通道Java NIO 学习笔记(五)----路径、文件和管道 Path/Files/PipeJava NIO 学习笔记(六)----异步...
2018-12-02 22:56:32
788
翻译 Java NIO: Non-blocking Server 非阻塞网络服务器
本文翻译自 Jakob Jenkov 的 Java NIO: Non-blocking Server ,原文地址:http://tutorials.jenkov.com/java-nio/non-blocking-server.html文中所有想法均来自原作者,学习之余,觉得很不错,对以后深入学习服务器有帮助,故翻译之,有错误还望指教Non-blocking Server即使了解 NIO...
2018-12-01 17:12:46
316
原创 Java NIO 学习笔记(四)----文件通道和网络通道
目录:Java NIO 学习笔记(一)----概述,Channel/BufferJava NIO 学习笔记(二)----聚集和分散,通道到通道Java NIO 学习笔记(三)----SelectorJava NIO 学习笔记(四)----文件通道和网络通道FileChannel 文件通道FileChannel 是连接到文件的通道,可以从文件中读取数据,并将数据写入文件,可以替代使用标准...
2018-11-30 22:41:27
397
原创 Java NIO 学习笔记(三)----Selector
目录:Java NIO 学习笔记(一)----概述,Channel/BufferJava NIO 学习笔记(二)----聚集和分散,通道到通道Java NIO 学习笔记(三)----Selector选择器是一个 NIO 组件,它可以检测一个或多个 NIO 通道,并确定哪些通道可以用于读或写了。 这样,单个线程可以管理多个通道,从而管理多个网络连接。摘要:一个选择器可对应多个通道,选择器是...
2018-11-30 12:07:11
388
1
原创 Java NIO 学习笔记(二)----聚集和分散,通道到通道
目录:Java NIO 学习笔记(一)----概述,Channel/BufferJava NIO 学习笔记(二)----聚集和分散,通道到通道Scatter / Gather 通道的聚集和分散操作NIO 具有内置的 scatter/gather 支持,用于描述读取和写入通道的操作。分散(scatter)地从 Channel 中读取是将数据读入多个 Buffer 的操作。 因此,通道将来...
2018-11-29 19:27:10
323
原创 Java NIO 学习笔记(一)----概述,Channel/Buffer
Java NIO是 Java 的替代 IO API(来自 Java 1.4),意味着替代标准 Java IO 和 Java Networking API 。 Java NIO 提供了与标准 IO 不同的使用方式。Java NIO 由以下核心组件组成:通道和缓冲区在标准 IO API 中,使用字节流和字符流。 在 NIO 中使用通道和缓冲区。 数据总是从通道读入缓冲区,或从缓冲区写入通道...
2018-11-28 22:51:09
605
原创 初步接触 Java Net 网络编程
Java 网络编程概览Java 有一个相当容易使用的内置网络 API,可以很容易地通过互联网上的 TCP / IP 套接字或 UDP 套接字进行通信。 TCP 通常比 UDP 使用得更频繁。即使 Java Networking API 允许通过套接字打开和关闭网络连接,但所有通信都通过 Java IO 类 InputStream 和 OutputStream 实现的。或者,我们可以使用 Ja...
2018-11-25 23:23:22
265
原创 系统学习 Java IO (十六)----这么多类,应该用哪个?
目录:系统学习 Java IO---- 目录,概览Java IO目的和功能Java IO 包含 InputStream,OutputStream,Reader 和 Writer 类的许多子类。 原因是,所有这些子类都在解决各种不同的目的。 所涉及的目的总结如下:网络访问内部缓冲区访问线程间通信(管道)缓冲过滤解析阅读和写作文本(Reader/Writer)读写原始数据(lon...
2018-11-25 10:05:58
240
原创 系统学习 Java IO (十五)----字符读写 Reader/Writer 其他子类
目录:系统学习 Java IO---- 目录,概览跟踪行号的缓冲字符输入流 LineNumberReaderLineNumberReader 类是一个 BufferedReader ,用于跟踪读取字符的行号。行号从 0 开始。每当 LineNumberReader 在包装的 Reader 返回的字符中遇到行终止符时,行号递增。可以通过调用 getLineNumber() 方法获取当前行号,也...
2018-11-25 10:05:00
212
原创 系统学习 Java IO (十四)----字符读写缓存和回退 BufferedReader/BufferedWriter & PushbackReader
目录:系统学习 Java IO---- 目录,概览BufferedReaderBufferedReader 类构造器接收一个 Reader 对象,为 Reader 实例提供缓冲。 缓冲可以加快 IO 的速度。 BufferedReader 不是一次从网络或磁盘读取一个字符,而是一次读取一个更大的块。 这通常要快得多,特别是对于磁盘访问和更大的数据量。类似于 BufferedInputStre...
2018-11-25 10:03:22
493
1
原创 系统学习 Java IO (十三)----字符读写 Reader/Writer 及其常用子类
目录:系统学习 Java IO---- 目录,概览ReaderReader 类是 Java IO API 中所有 Reader 子类的基类。 Reader 类似于 InputStream ,除了它是基于字符而不是基于字节的。 换句话说,Java Reader 用于读取文本,而 InputStream 用于读取原始字节。WriterWriter 类是 Java IO API 中所有 Writ...
2018-11-25 10:02:47
948
1
原创 系统学习 Java IO (十二)----数据流和对象流
目录:系统学习 Java IO---- 目录,概览DataInputStream/DataOutputStream允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型。要想使用数据输出流和输入流,必须按指定的格式保存数据,才可以将数据输入流将数据读取进来,所以通常使用 DataInputStream 来读取 DataOutputStream 写入的数据。DataInput...
2018-11-25 10:02:27
261
原创 系统学习 Java IO (十一)----打印流 PrintStream
目录:系统学习 Java IO---- 目录,概览PrintStream 类可以将格式化数据写入底层 OutputStream 。 PrintStream 类可以格式化基本类型,如int,long等格式化为文本,而不是其字节值。 这就是为什么它被称为 PrintStream ,因为它将原始字节格式化为文本 - 就像它们在打印到屏幕(或打印到纸张)时看起来一样。构造器方法描述...
2018-11-24 16:41:07
198
原创 系统学习 Java IO (十)----回退流 PushbackInputStream
目录:系统学习 Java IO---- 目录,概览PushbackInputStream 旨在从 InputStream 解析数据时使用。 有时您需要先读取几个字节以查看将要发生的事情,然后才能确定如何解释当前字节, PushbackInputStream 允许这样做。 实际上,它允许将读取的字节推回到流中,这样就像流没有被动过,下次调用 read() 时,将再次重新读取。通俗来讲,就像男人对女...
2018-11-24 16:40:38
289
原创 系统学习 Java IO (九)----缓冲流 BufferedInputStream/BufferedOutputStream
目录:系统学习 Java IO---- 目录,概览BufferedInputStreamBufferedInputStream 类为输入流提供缓冲。 缓冲可以加快IO的速度。 BufferedInputStream 不是一次从网络或磁盘读取一个字节,而是一次将更大的块读入内部缓冲区。 当从 BufferedInputStream 读取一个字节时,您正在从其内部缓冲区中读取它。 当缓冲区被完全读...
2018-11-24 16:40:06
244
原创 系统学习 Java IO (八)----装饰流 FilterInputStream/FilterOutputStream
目录:系统学习 Java IO---- 目录,概览这两个流的作用是:“封装其它的输入流,并为它们提供额外的功能”他们的直接子类有:BufferedInputStream 的作用就是为“输入流提供缓冲功能,以及 mark() 和 reset() 功能”DataInputStream 是用来装饰其它输入流,它“允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型”接下来我...
2018-11-24 16:39:21
189
原创 系统学习 Java IO (七)----字节数组流 ByteArrayInputStream/ByteArrayOutputStream
目录:系统学习 Java IO---- 目录,概览ByteArrayInputStream如果数据存储在数组中,ByteArrayInputStream 可以很方便读取,它可以返回 InputStream , 这样,ByteArrayInputStream 可以包装字节数组,并将其转换为流。构造器 public ByteArrayInputStream(@NotNull byte[] buf...
2018-11-24 16:38:46
238
原创 系统学习 Java IO (六)----管道流 PipedInputStream/PipedOutputStream
目录:系统学习 Java IO---- 目录,概览PipedInputStream 类使得可以作为字节流读取管道的内容。 管道是同一 JVM 内的线程之间的通信通道。使用两个已连接的管道流时,要为每个流操作创建一个线程,read() 和 write() 都是阻塞方法,如果一个线程同时读写就会造成死锁看一个例子:public class Pipe { public static v...
2018-11-24 16:38:11
235
原创 系统学习 Java IO (五)----使用 SequenceInputStream 组合多个流
目录:系统学习 Java IO---- 目录,概览SequenceInputStream 可以将两个或多个其他 InputStream 合并为一个。 首先,SequenceInputStream 将读取第一个 InputStream 中的所有字节,然后读取第二个 InputStream 中的所有字节。 这就是它被称为 SequenceInputStream 的原因,因为 InputStream ...
2018-11-24 16:37:22
418
原创 系统学习 Java IO (四)----文件的读写和随机访问 FileInputStream/FileOutputStream & RandomAccessFile
目录:系统学习 Java IO---- 目录,概览FileInputStream这是一个简单的FileInputStream示例:InputStream input = new FileInputStream("D:\\input.txt");int data = input.read();while(data != -1) { //do something with data......
2018-11-24 16:36:43
1427
原创 系统学习 Java IO (三)----文件类 File
目录:系统学习 Java IO---- 目录,概览Java IO API 中的 File 类可以访问基础文件系统。 使用File类,可以:检查文件或目录是否存在。如果目录不存在,创建一个目录。读取文件的长度。重命名或移动文件。删除文件。检查路径是文件还是目录。读取目录中的文件列表。注意:“File”仅允许访问文件和文件系统元数据。 如果需要读取或写入文件内容,则应使用 Fi...
2018-11-24 16:35:20
286
1
原创 系统学习 Java IO (二)----IO 异常处理
目录:系统学习 Java IO---- 目录,概览我们使用流后,需要正确关闭 Streams 和Readers / Writers 的。这是通过调用 close() 方法完成的,看看下面这段代码:InputStream input = new FileInputStream("D:\\out.txt");int data = input.read();while(data != -1)...
2018-11-23 18:15:20
213
原创 系统学习 Java IO (一)----输入流和输出流 InputStream/OutputStream
目录:系统学习 Java IO ---- 目录,概览InputStream是Java IO API中所有输入流的父类。表示有序的字节流,换句话说,可以将 InputStream 中的数据作为有序的字节序列读取。这在从文件读取数据或通过网络接收时非常有用。InputStream 通常连接到某些数据源,如文件,网络连接,管道等看如下代码片段:public class InputStrea...
2018-11-23 18:14:11
380
原创 系统学习 Java IO----目录,概览
Java IO 系统教程,原创。主要参考自英文教程 Java IO Tutorial 和 Java Doc。http://tutorials.jenkov.com/java-io/index.html将会持续更新,分开学习。先系统学习 IO 所有的类,再另外学习 NIO 。目录:InputStream & OutputStreamIO 异常处理先放一张淳朴的 IO 类图,看...
2018-11-23 18:13:04
313
原创 JavaWeb入门_模仿天猫整站Tmall_SSM实践项目
Tmall_SSM技术栈 Spring MVC+ Mybatis + Spring + Jsp + Tomcat , 是 Java Web 入门非常好的练手项目效果展示:模仿天猫前台模仿天猫后台项目简介关联项目github - 天猫 JavaEE 项目github - 天猫 SSH 项目github - 天猫 SSM 项目之前使用 JavaEE 整套技术和 SSH 框架来作为解...
2018-11-23 18:11:04
1779
原创 JavaWeb入门_模仿天猫整站Tmall_SSH实践项目
Tmall_SSH技术栈 Struts2 + Hibernate + Spring + Jsp + Tomcat , 是 Java Web 入门非常好的练手项目#####效果展示:模仿天猫前台模仿天猫后台项目简介关联项目github - 天猫 JavaEE 项目github - 天猫 SSH 项目github - 天猫 SSM 项目之前使用 JavaEE 整套技术来作为解决方案...
2018-11-16 14:33:14
782
1
原创 linux 下 设置 MySQL8 表名大小写不敏感方法,解决设置后无法启动 MySQL 服务的问题
在安装完成之后,初始化数据库之前,修改 my.cnf打开mysql配置文件vim /etc/my.cnf在尾部追加一行lower_case_table_names=1并保存,然后再初始化数据库。重启mysql,systemctl restart mysqld.service如果这个操作是初始化数据库之后,也就是安装后运行过服务,那就可能会出错。错误类似于Job for mys...
2018-11-15 19:29:56
6585
原创 JavaWeb入门_模仿天猫整站Tmall_JavaEE实践项目
Tmall_JavaEE技术栈 Servlet + Jsp + Tomcat , 是Java Web入门非常好的练手项目效果展示:模仿天猫前台模仿天猫后台项目简介关联项目github - 天猫 JavaEE 项目github - 天猫 SSH 项目github - 天猫 SSM 项目本项目为Java EE入门练手项目,没有使用 SSH , SSM 框架,而是使用 JavaEE ...
2018-11-15 19:27:14
802
原创 教程:一次性修改整个pdf文档的字体的方法,解决一次只能修改一页问题
想修改pdf字体,在网上找了一大堆pdf编辑器,甚至Adobe官方网页都说明了一次只能修改一页,这样肯定不行,然后把pdf转换为word再编辑,发现转成word后,排版会出现一些小问题,修改字体后,排版问题更大了,原本750多页的pdf变成1500多页的word。花了一晚上没想到网上也没找到解决方案,最后自己摸索到还算满意的解决方法,如下 1,先用pdf编辑器把pdf转换为pp...
2018-08-29 00:49:24
36531
原创 Java集合入门总结
本文主要记录Java集合学习笔记集合类主要负责保存、盛装其他数据,因此集合类也被称为容器类。相比数组,当需要保存一个可以动态增长的数据(在编译时无法确定具体的数量),java的集合类就是一个很好的设计方案了。本文暂定集合类包含集合类型主要有3种:set(集)、list(列表)和map(映射)。...
2018-06-03 18:17:37
261
原创 类似错误: 找不到符号 符号: 方法 getDatabase() 位置: 类 Connector
可能的部分原因:1,依赖错误2,使用了错误包的同名类
2017-11-27 10:15:58
4287
1
原创 Android Studio错误:需要class, interface或enum
看了网上一些回答,是编码问题。经排查在我这边是因为代码多了一个 “}” 导致的,在此记录一下
2017-11-25 12:26:57
13802
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人