• volatile 关键字解析

    volatile 关键字解析

    关于volatile关键字,一开始学习java基础的时候是见过的,但当时初学java,功底不够,未能理解这个关键字的实现和作用。最近在阅读《深入理解JVM虚拟机》一书时,看到了对volatile关键字的讲解,但对我来说,总觉的不够细致,未能明白其真义和实际场景应用。之后花了一些时间去搜集资料学习,整理如下:

  • transient 关键字小结

    transient 关键字小结

    今天在牛客网刷题的时候,看到一道题是考trainsient关键字的。惭愧,学了这么久java,还不是很理解这个关键字,虽然在开发中很少遇到它,但却频频出现在面试、笔试题里。

  • 9个让JavaScript调试更简单的Console命令

    9个让JavaScript调试更简单的Console命令

    一、显示信息的命令

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <!DOCTYPE html>
    <html>
    <head>
    <title>常用console命令</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    </head>
    <body>
    <script type="text/javascript">
    console.log('hello');
    console.info('信息');
    console.error('错误');
    console.warn('警告');
    </script>
    </body>
    </html>

    最常用的就是console.log了。

  • Vue学习--初体验

    Vue学习--初体验

    转眼十一月了,天气逐渐变得寒冷起来,早上骑膜拜单车去地铁站时,冰冰凉的车把使我感觉到今年的冬天是越来越近了。真是“十一月将雪,寒谁计有无。”

    这个逐渐变冷的月打算利用空闲时间学习下Vue.js,如果时间足够的话再学习java设计模式。

  • Java中9个处理Exception的最佳实践--转

    Java中9个处理Exception的最佳实践--转

    在Java中处理异常并不是一个简单的事情。不仅仅初学者很难理解,即使一些有经验的开发者也需要花费很多时间来思考如何处理异常,包括需要处理哪些异常,怎样处理等等。这也是绝大多数开发团队都会制定一些规则来规范对异常的处理的原因。而团队之间的这些规范往往是截然不同的。

    本文给出几个被很多团队使用的异常处理最佳实践。

  • SimpleDateFormat线程安全问题与解决办法

    SimpleDateFormat线程安全问题与解决办法

    今天在自己的项目中遇到了SimpleDateFormat线程安全的问题,参考其他项目的DateUtil里把SimpleDateFormat都声明为

    1
    public static final SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");

    但是这样存在一个线程完全的问题,原因是因为 DateFormat 和 SimpleDateFormat 类不都是线程安全的,在多线程环境下调用 format() 和 parse() 方法可能会获得我们意料之外的结果,甚至抛出异常。
    在程序中我们应当尽量少的创建SimpleDateFormat 实例,因为创建这么一个实例需要耗费很大的代价,然后再丢弃这个对象。大量的对象就这样被创建出来,占用相当一部分的内存和 JVM空间。

  • 《深入理解Java虚拟机》读书笔记--02

    写在前面的话:

    在看这本书前面章节的时候,很多地方都提到了“新生代”和“老生代” 这两个名词,一开始我也懵逼,后来通过上网,看视频查阅相关资料,结合一些自己的理解,解释下这两个名词。
    不管怎么样要先来个弱弱的开场白:有错的地方请各位多多指正!!!!!
    JVM使用的是分代垃圾回收的方式,可以将Java对象分为”新生”对象和”老生”对象。
    JVM将内存堆(Heap)分为两个区域,一个是”新生对象”区,另一个是”老生对象”区,Java将这两个区域分别称作是”新生代”和”老生代”。

  • 《深入理解Java虚拟机》读书笔记--01

    《深入理解Java虚拟机》读书笔记--01

    写在前面的话:

    作为一名Java攻城狮,总担心一直搬砖成天做些重复没提升的东西,有那么一小段时间形成了一个很有意思的矛盾:一方面是工作上面学不到技术,一方面是不愿意学工作上用不到的技术,呵呵哒~
    在某一天顿悟后,明白程序员赖以立足的,不在于我们现在掌握了多少知识,而是我们有多强的学习劲头和学习能力。
    可JVM需不需要学习呢?项目实际开发中基本用不到,学来有啥子用呢?对我来说,是需要的。因为我还是很热爱编程的,对JVM有足够的兴趣,同时这辈子也不甘心只做一个平庸的码农。鲁迅先生说过:“不满足是向上的车轮”,陆游也曾言:“功夫在诗外”。

  • Spring AOP 记录日志和全局异常处理

    目前接触的这个项目中,需要在自己每个方法的前后打印日志,感觉这些都是通用的东西可以抽取出来。后来参照了公司的另外一个项目,结合这段时间对Spring的学习,整理出可以通用的日志和异常处理类,以供参考。

  • Docker简介、安装与应用

    Docker简介、安装与应用

    Docker学习目标: 掌握Docker基础知识,能够理解Docker镜像与容器的概念 完成Docker安装与启动 掌握Docker镜像与容器相关命令 掌握Tomcat Nginx 等软件的常用应用的安装 掌握docker迁移与备份相关命令 能够运用Dockerfile编写创建容器的脚本 能够搭建与使用docker私有仓库 1 Docker简介1.1 什么是虚拟化​ 在计算...
17891011