啸天's Blog-个人笔记

“技术教程”

只做精品教程分享

ThreadLocal的使用及原理

概要如果你还不知道threadlocal,那你就要了解一下,相信你一定会用到它。作用threadlocal最大作用就是提供线程级别的变量生命周期。试想,如果你需要一个变量在一个线程的生命周期内都...

详解Gson的TypeToken原理

概要借助对TypeToken原理的分析,加强对泛型擦除的理解,使得我们能够知道什么时候,通过什么方式可以获取到泛型的类型。泛型擦除众所周知,Java的泛型只在编译时有效,到了运行时这个泛型类型就...

关于HashMap的一些理解

概要本文主要补充对HashMap的一些理解、分析。相信大家对HashMap都很熟悉,但是其中的一些细节上的设计、思想,往往会被大家忽略,这些都是构成HashMap的重要组成部分,包括有"如何做h...

Slf4j适配日志原理

概要看了之前的文章Java日志体系总结后,相信大家对slf4j以及其他日志组件的关系有了一定理解。slf4j只是为日志的输出提供了统一接口,并没有具体的实现,就好像JDBC一样。那么,大家会不会...

Java日志体系总结

概要本文的目的是搞清楚Java中各种日志Log之间是怎么的关系,如何作用、依赖,好让我们平时在工作中如果遇到"日志打不出"或者"日志jar包冲突"等之类的问题知道该如何入手解决,以及在各种场景下...

Windows 开机自启 VMware 虚拟机

由于进行 Linux 下软件开发,需要频繁使用 VMware 虚拟机,为提高效率找到一种开机启动启动 VMware 虚拟机的方法,可以大大提升效率。第一步,编写脚本首先编写 自启 脚本 vm_s...

OSGI项目中获取webapp下资源路径

前言公司系统使用osgi架构,在获取资源配置文件的时候发现拿不到文件,debug后发现路径不对,现在记录一下正确的姿势过程如果想根据给定的文件名称创建一个File实例,你可能会这么写:File ...

Java中List for循环的6种写法总结

如下所示:List list = new ArrayList();/**方法一:最普通的不加思考的写法优点:较常见,易于理解缺点:每次都要计算list.size()*/for (int i = ...