2023-01-29
班门弄斧
00

简介

阅读Java源码,经常能看到native关键字修饰的方法,如Object类中的getClass()、clone()等等方法,都使用了native关键字,使用native的作用是什么呢?

概述

简单来讲,使用native修饰的方法,是不能被实现的方法,底层是调用的本地API,常见的就是调用C语言开发的API。

2023-01-22
老年痴呆
00

开门大吉

2023年1月22日,今天是中国农历癸卯年的新年第一天。

在这里祝贺大家新年快乐!愿所有人在新的一年里:

  • 事业如新竹,气运似桃花
  • 家和诸事顺,亲友福满堂
2023-01-18
温故知新
00

简介

Nginx作为时下最流行的代理服务器,对于开发者而言,其安装和使用是比不可少的技能。

本文主要介绍UbuntuCentos两种Linux系统安装Nginx的方法。

2023-01-18
温故知新
00

简介

ubuntu系统权限与centos系统权限不太一样。

ubuntu系统没有root用户,但某些命令没有root权限又无法执行,如删除、新增文件或文件夹时,要想获得root权限需要在命令前增加sudo命令符。

ubuntu系统文件夹上传文件一样有限制,需要增加文件夹的权限才能上传。

Ubuntu增加文件夹权限:

sh
sudo chmod 777 /usr/local/nginx
2023-01-17
班门弄斧
00

简介

JDK8 官网文档:javase/8/docs

提示:由于JDK内部众多类互相引用的情况很多,SimpleDateFormat源码也不例外,所以可能会涉及很多其他JDK原生的类,通常这些类在本文中只会说明其作用,不会深入讲解,因为本文是专注于SimpleDateFormat的源码阅读。

对于国内众多使用JDK8的Java开发者,SimpleDateFormat类应该不陌生,是日期格式化的常用类。

本文以实际使用出发,主要从三个使用点进行源码学习,分别是:类创建、format方法、parse方法。其中重点关注类创建相关代码,其他方法在本文中重点了解其调用逻辑,其具体的代码算法请自行阅读源码理解(PS:偷个懒,其实是我还没理解透彻。)。

有趣发现

经过阅读源码发现,以下代码会报错,报错内容是:java.lang.IllegalArgumentException: Unterminated quote。原因在于使用了'单引号,但使用的不正确:没有结尾。意思是如果使用单引号,必须正确使用,如:"G 'yyyy年' YY年 MM 月 dd日 ,这样不会报错,报错原因咱们阅读源码便知。

java
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("G 'yyyy年 YY年 MM 月 dd日 HH:mm:ss.S");