随笔分类 -  Java

介绍Java相关
摘要:1 TreeMap TreeMap是基于红黑树结构实现的一种Map,要分析TreeMap的实现首先就要对红黑树有所了解。 要了解什么是红黑树,就要了解它的存在主要是为了解决什么问题,对比其他数据结构比如数组,链表,Hash表等树这种结构又有什么优点。 1.1 二叉查询树、红黑树 简单总结一下数组,链 阅读全文
posted @ 2021-11-13 18:59 上善若泪 阅读(120) 评论(0) 推荐(0)
摘要:1 HashSet源码解析 HashSet也是一种java容器,这里不再赘述hash的概念原理等一大堆东西了,需要在啰嗦一句的是hash表是基于快速存取的角度设计的,也是一种典型的空间换时间的做法 先来看下Set的特点:Set元素无顺序,且元素不可以重复 无顺序,由于散列的缘故;不可重复,HashM 阅读全文
posted @ 2021-11-12 16:38 上善若泪 阅读(105) 评论(0) 推荐(0)
摘要:1 LinkedHashMap(jdk1.7之前) 我们知道Map其底层数据存储是一个hash表(数组+单向链表)。接下来我们看一下另一个LinkedHashMap,它是HashMap的一个子类,他在HashMap的基础上维持了一个双向链表(hash表+双向链表),在遍历的时候可以使用插入顺序(先进 阅读全文
posted @ 2021-11-12 12:37 上善若泪 阅读(68) 评论(0) 推荐(0)
摘要:1 HashMap源码 前面了解了jdk容器中的两种List,回忆一下怎么从list中取值(也就是做查询),是通过index索引位置对不对,由于存入list的元素时安装插入顺序存储的,所以index索引也就是插入的次序。 Map是这样一种容器,它可以存储两个元素键和值,根据键这个关键字可以明确且唯一 阅读全文
posted @ 2021-11-12 10:34 上善若泪 阅读(60) 评论(0) 推荐(0)
摘要:1 Iterator设计模式 由于ArrayList和LinkedList这两种list是我们工作中最常用到的List容器。当然数组和链表也是两种常见的基本数据结构,其他基本数据结构还有堆栈、队列、树等,对java容器的学习,也可以看做是对数据结构的学习和使用。 在ArrayList和LinkedL 阅读全文
posted @ 2021-11-11 11:57 上善若泪 阅读(62) 评论(0) 推荐(0)
摘要:目录1 LinkedList源码1.1 链表的概念1.1.1 单向链表1.1.2 单向循环链表1.1.3 双向链表1.1.4 双向循环链表1.2 定义1.2.1 类的属性1.2.2 Node 的静态内部类1.2.3 构造函数1.2.4 查找 - get1.2.5 添加add1.2.6 修改1.2.7 阅读全文
posted @ 2021-11-11 11:22 上善若泪 阅读(146) 评论(0) 推荐(0)
摘要:目录1 ArrayList源码1.1 ArrayList定义1.2 底层存储1.3 构造方法1.4 增加1.5 删除1.6 更新1.7 查找1.8 是否包含1.9 容量判断1.10 ArrayList和LinkedList1.10.1 二者区别1.10.2 应用场景区别 1 ArrayList源码 阅读全文
posted @ 2021-11-10 16:51 上善若泪 阅读(122) 评论(0) 推荐(0)
摘要:1.1 List 1.1.1 遍历ArrayList package com.test; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class ArrayListDemo 阅读全文
posted @ 2021-11-10 10:25 上善若泪 阅读(234) 评论(0) 推荐(0)
摘要:声明:以下文章是以jdk7之前源码分析,而非现在jdk8源码分析,学习过去源码可以方便打牢源码基础,点击此处学习jdk8之Map语法 1 分析Hash存储机制 1.1 概述 HashSet 和 HashMap 之间有很多相似之处,对于 HashSet 而言,系统采用 Hash算法决定集合元素的存储位 阅读全文
posted @ 2021-11-09 15:04 上善若泪 阅读(134) 评论(0) 推荐(0)
摘要:1 final 1.1 final总结 final修饰类:表示该类不可继承; final不能修饰interface接口 final修饰方法:表示该方法不能被子类覆盖(即子类不能重写父类的final方法,可以继承); final不能修饰构造函数 final修饰字段属性:表示属性值第一次初始化后不能被修 阅读全文
posted @ 2021-11-06 21:13 上善若泪 阅读(932) 评论(0) 推荐(1)
摘要:1 类访问权限 1.1 四种访问权限解析 Java有四种访问权限, 其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符 四种访问权限: private: Java语言中对访问权限限制的最窄的修饰符,一般称之为私有的。被其修饰的类、属性以及方法只能 阅读全文
posted @ 2021-11-06 20:44 上善若泪 阅读(1008) 评论(0) 推荐(0)
摘要:1 Java敏感词过滤 敏感词、文字过滤是一个网站必不可少的功能,如何设计一个好的、高效的过滤算法是非常有必要的。 1.1 DFA简介 在实现文字过滤的算法中,DFA是唯一比较好的实现算法。DFA即Deterministic Finite Automaton,也就是确定有穷自动机,它是是通过even 阅读全文
posted @ 2021-11-05 17:23 上善若泪 阅读(969) 评论(0) 推荐(0)
摘要:1 反射 1.1 反射概述 Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种 动态获取信息以及动态调用对象方法的功能称为Java语言的反射机制。 反射的概念是由Smith在1982年首次提出的,主要是指程序可以 阅读全文
posted @ 2021-11-05 11:28 上善若泪 阅读(160) 评论(0) 推荐(0)
摘要:1 模仿在线预览 1.1 背景需求 Java+FlexPaper+swfTools仿百度文库文档在线预览系统设计与实现 假客户要求,上传到管理系统的文档(包括ppt,word,excel,txt)只能预览不允许下载。想到百度文库和豆丁网,百度文库和豆丁网的在线预览都是利用flash来播放文档的,在网 阅读全文
posted @ 2021-11-04 22:29 上善若泪 阅读(269) 评论(0) 推荐(0)
摘要:1 JACOB 1.1 概述 jacob(java com bridge,java com桥)分为两个部分,jacob.jar,jacob.dll,使用时两个东西的版本要一致,而且还分32位和64位,它的位数和jdk的位数有关,与操作系统的位数无关。它的原理是通过java的jni功能,调用系统组件d 阅读全文
posted @ 2021-11-04 21:57 上善若泪 阅读(1059) 评论(0) 推荐(0)
摘要:1 JDK设计模式 1.1 问题引入 本文主要是归纳了JDK中所包含的设计模式,包括作用和其设计类图。 首先来个总结,具体的某个模式可以一个一个慢慢写,希望能对研究JDK和设计模式有所帮助。 设计模式是什么: 反复出现问题的解决方案 增强软件的灵活性 适应软件不断变化 类间关系:继承、委托、依赖、聚 阅读全文
posted @ 2021-11-04 09:55 上善若泪 阅读(371) 评论(0) 推荐(0)
摘要:1 Java编码转换 1.1 String转换图 图中详细描述了 字符串类String 与 文件File ,ByteBuffer,CharBuffer,byte[] 数组,char[]数组之间的互相转换 1.2 String和Unicode编码 String和Unicode编码关系:String类始 阅读全文
posted @ 2021-11-02 11:48 上善若泪 阅读(2538) 评论(0) 推荐(1)
摘要:目录1 IO,NIO,AIO1.1 各个基本概念1.1.1 同步阻塞IO1.1.2 同步非阻塞 IO模型1.1.3 IO复用模型 (NIO 方法)1.1.4 异步非阻塞 (AIO方法,JDK7 发布)1.2 NIO详解1.2.1 Buffer读写数据1.2.2 Buffer和clear方法1.2.3 阅读全文
posted @ 2021-10-31 12:58 上善若泪 阅读(461) 评论(0) 推荐(0)
摘要:1 IO流基础 javaIO就是输入输出体系,简单的理解就是java对于文件内存网络资源的操作,在java传统的IO体系中,虽然可以完成基本所有需求的操作,但是为了实现java一次编写到处运行的目标,java虚拟机在各个操作系统上做了很多让步,放弃了很多操作系统的特性,这样的结果只能使java的IO 阅读全文
posted @ 2021-10-31 12:43 上善若泪 阅读(467) 评论(0) 推荐(0)
摘要:目录1 序列化1.1 基本概念理解1.2 串行序列化特点1.2.1 序列化允许重构1.2.2 序列化并不安全1.2.3 序列化的数据可以被签名和密封1.2.4 序列化允许将代理放在流中1.2.5 串行化的继承1.2.6 static和transient1.2.7 序列化前和序列化后的对象的关系1.3 阅读全文
posted @ 2021-10-30 12:22 上善若泪 阅读(446) 评论(0) 推荐(0)