漠然

Nothing is impossible to a willing heart!

vim 笔记

一、Vim 模式 编辑模式 : 键盘操作通常被解析为编辑命令 输入模式 : 大部分键盘操作被存储到文档中 末行模式 : 用于解释运行 Vim 内置命令 二、模式切换 1、 编辑模式 –> 输入模式 i : 在当前光标所在处输入 I : 在当前光标所在行的行首输入 a : 在当前光标所在处后方输入 A : 在当前光标所在行行尾输入 o...

Hexo+Upyun 实现整站全网 CDN

一、upyun 设置 upyun 提供存储型服务,即将任意文件放置 CDN 中,通过其进行全网加速;既然 Hexo 为静态博客,那么理所当然可以将整站文件放入 upyun CDN,同时 upyun CDN 支持绑定自定义 CNAME 域名,结合两者即可实现无服务器的整站全网 CDN 加速;以下为 upyun 相关设置。 1、创建服务 创建 upyun 账号,以及充值省略,首先自定义一...

WebLogic request.getContextPath() 为 null 问题

当使用 Weblogic 作为中间件,并且 Web 项目部署方式为 war 包部署时,jsp 页面request.getContextPath() 将返回 null,此时加入以下代码设置 webRoot 即可: String webRoot = request.getSession().getServletContext().getRealPath("/"); if(webRoot == ...

List 的 UnsupportedOperationException 异常

一、前言 今天偶尔测试 List.remove() 和 List.add() 方法很奇怪的出现了 UnsupportedOperationException 异常,但是 “某些情况下” 调用则不会出现这个异常,由于只考虑了局部代码,所以让我很困惑,以下分析一下 “搞笑的 UnsupportedOperationException” 异常。 二、测试代码 首先一个正常的 // 创建一...

JDK8 新特性

一、接口的默认方法实现 在 JDK8 中,接口允许有默认的实现方法,这些默认的实现方法需要使用 default 关键字修饰即可,同时其实现类可直接调用这些方法;代码示例如下: 1、自定义接口 public interface TestInterface { // 接口方法 public void test(); // 接口默认方法1 default ...

JAXB 笔记

一、简介 JAXB(Java Architecture for XML Binding简称JAXB)允许Java开发人员将Java类映射为XML表示方式。JAXB提供两种主要特性:将一个Java对象序列化为XML,以及反向操作,将XML解析成Java对象。换句话说,JAXB允许以XML格式存储和读取数据,而不需要程序的类结构实现特定的读取XML和保存XML的代码! JAXB 原本是 J2...

HotSpot 虚拟机的算法实现

一、概述 HotSpot 虚拟机通过 GC Roots 枚举判定待回收的对象,通过安全点和安全区域确定 GC 的触发点,最后通过各种不同的回收算法完成垃圾回收。 二、GC Roots 枚举过程 GC Roots 枚举最大的困难点在于:检查范围比较大,并且必须在内存快照中进行,保证一致性,而且时间要求比较敏感。 在生产环境中,即使不考虑其它部分内存,仅仅 Java 堆内存就可达几百...

JVM 对象判定和可回收算法

一、可回收对象判定方法 1、引用计数算法 基本原理: 给对象添加一个引用计数器,当有新的地方引用他的时候就将其+1,引用失效则对其-1,知道为0时,说明该对象不被任何引用,可被 GC 回收,如下图所示: 但是这种算法是有缺陷的,比如当 A、B 对象都没有使用时,其应该被 GC 回收,然后根据引用计数器算法,A、B 对象互相持有对方引用,导致两者引用计数器都为1,所以不会被 G...

Java 内存之直接内存

一、概念和特征 直接内存并非 JVMS 定义的标准 Java 运行时内存。 JDK1.4 加入了新的 NIO 机制,目的是防止 Java 堆 和 Native 堆之间往复的数据复制带来的性能损耗,此后 NIO 可以使用 Native 的方式直接在 Native 堆分配内存。 直接内存区域是全局共享的内存区域。 直接内存区域可以进行自动内存管理(GC),但机制并不...

Java 内存之方法区和运行时常量池

一、相关特征 1、方法区特征 同 Java 堆一样,方法区也是全局共享的一块内存区域 方法区的作用是存储 Java 类的结构信息,当我们创建对象实例后,对象的类型信息存储在方法堆之中,实例数据存放在堆中;实例数据指的是在 Java 中创建的各种实例对象以及它们的值,类型信息指的是定义在 Java 代码中的常量、静态变量、以及在类中声明的各种方法、方法字段等等;同事可能包括即时编...