JAVA 十月 31, 2021

GMT+8 和 Asia/Shanghai 的区别

文章字数 6.2k 阅读约需 6 mins.

现今全球共分为24个时区。实际上,常常1个国家或1个省份同时跨着2个或更多时区,为了照顾到行政上的方便,常将1个国家或1个省份划在一起。所以时区并不严格按南北直线来划分,而是按自然条件来划分。例如,...

查看全文

JAVA 十月 31, 2021

GMT+8 和 Asia/Shanghai 的区别

文章字数 6.2k 阅读约需 6 mins.

现今全球共分为24个时区。实际上,常常1个国家或1个省份同时跨着2个或更多时区,为了照顾到行政上的方便,常将1个国家或1个省份划在一起。所以时区并不严格按南北直线来划分,而是按自然条件来划分。例如,中国幅员宽广,差不多跨5个时区,但为了使用方便简单,实际上在只用东八时区的标准时即北京时间为准。 —— 引自百度百科 时区

时区可以使用名称(如:东八区、西五区)、偏移量(如:UTC+8UTC-5)、缩写(如:PSTCST),或 时区数据库Area/Location 的形式(如 Asia...

查看全文

OTHERS 七月 18, 2021

医保开发内外兼修之内功

文章字数 187 阅读约需 1 mins.

SPRING 六月 27, 2021

玩转 @ConditionalOnMissingBean

文章字数 7k 阅读约需 6 mins.

男人,不能说不行! 中,留了两个问题:

  1. 为什么名为 testServiceImpl 的 Bean 会被注册?
  2. 为什么无法注入 TestService 的实例?

先从可运行环境 https://github.com/AlphaHinex/conditional-on-missing-bean-demo 看下结果。

在测试用例中,通过 @Autowired 注解注入了 TestService,但调用时,报了空指针异常,说明容器中没有 TestService 类型的实例。

那么是 @ConditionalOnMi...

查看全文

JAVA 四月 11, 2021

Java 应用远程调试

文章字数 10k 阅读约需 10 mins.

软件开发会时经常会遇到这样的场景:

  • 现场反馈的问题,在本地环境无法重现,可能需要将现场数据库导回来才能重现问题
  • 生产环境中的服务无法直接从本地开发环境进行连接,进而无法使用本地代码进行调试

在上面的场景中,无论是将现场库导出,还是开通生产环境服务的访问权限,都是非常困难且不安全的。

本文将介绍一种由 Java 平台提供的,远程调试 Java 应用的方法。

JPDA(Java Platform Debugging Architecture)是一个多层调试架构,支持在不同操作系统、虚拟机及 JDK...

查看全文

OTHERS 四月 04, 2021

二进制算术运算

文章字数 4.7k 阅读约需 4 mins.

总体来讲,二进制算术运算可以采用竖式计算的方式,与十进制竖式计算的区别是,逢十进一变为了逢二进一。

以 8 和 4 为例,可参照 十进制整数与二进制数转换 中方法,分别计算出二进制形式:

8 (10) = 1000 (2)
4 (10) = 0100 (2)

  1000
+ 0100
------
  1100

1100 (2) = 12 (10)

  1000
- 0100
------
  0100

0100 (2) = 4 (10)

负数怎么表示

如果是 4 - 8 时会怎么样呢?

  0100
-...
查看全文

OTHERS 三月 28, 2021

十进制浮点数与二进制数转换

文章字数 6.1k 阅读约需 6 mins.

在计算机科学中,浮点(英语:floating point,缩写为FP)是一种对于实数的近似值数值表现法,由一个有效数字(即尾数)加上幂数来表示,通常是乘以某个基数的整数次指数得到。以这种表示法表示的数值,称为浮点数(floating-point number)。利用浮点进行运算,称为浮点计算,这种运算通常伴随着因为无法精确表示而进行的近似或舍入。 —— 维基百科

可以简单的将浮点数理解为小数(有限或无限的),如:-0.25、π、1.99714e5 等。

IEEE 二进制浮点数算术标准(IEEE...

查看全文

OTHERS 三月 21, 2021

十进制整数与二进制数转换

文章字数 8.7k 阅读约需 8 mins.

因为人类有十根手指,所以十进制计数法,是目前使用范围最广泛的计数方式。

但在计算机中,只有 0 和 1 两个数,所以需要进行转换。

本文主要介绍一下十进制 整数 与二进制数的转换方法。

方法一

十进制整数转二进制时,可将十进制整数除以 2(因为需转换为二进制数),得到余数,填入二进制低位,直至商为 0 时结束。

156 为例:

除数 被除数 余数
2 156 0
78

将余数 0 填入二进制数的低位

- - - - - - - 0

商不为...

查看全文

SPRING 三月 14, 2021

如何给 Spring Boot 外挂 classpath?

文章字数 3.8k 阅读约需 3 mins.

假设使用 Spring Boot 开发了一个可使用不同数据库的应用,每个数据库的 jdbc 驱动包都不同,不想在 Fat Jar 中打入所有的数据库驱动 jar,又不想为每一个确定了具体数据库的场景都打一个对应的 Fat Jar 包,有没有优雅的方式来实现这个需求呢?

我们先来看下 Spring Boot 的 Fat Jar(Executable Jar)是如何运行的。

通常情况下,要启动一个 Spring Boot 应用,可通过如下方式:

$ java -jar example.jar

Spring...

查看全文

SERVLET 十二月 27, 2020

Override same class

文章字数 7.5k 阅读约需 7 mins.

实际 Java Web 项目中经常会遇到这样的场景:希望对依赖的某个三方库中的行为进行覆盖式的定制(修改三方库中的某些行为),但并不希望发布定制的版本至私服。

通常在使用 WAR 包发布应用时,可将定制的类编译成 class 文件,放入 WEB-INF/classes 路径中,即可覆盖放置在 WEB-INF/lib 路径下的三方库中同名类,达到定制的目的。

那么为什么可以这样?

在两个相同的 class 必须都存在于 JAR 包中时,又怎么实现这种需求呢?

Servlet 规范

Java(TM...

查看全文

JAVA 十二月 06, 2020

如何确定装载了哪个类

文章字数 4.3k 阅读约需 4 mins.

某些时候,我们可能希望知道 ClassLoader 里到底装载的是哪个 class,比如当两个 jar 包中存在 package 和 Class 名完全相同的两个类时。

在 java 命令的帮助信息中,有如下内容(部分):

$ java -help
用法: java [-options] class [args...]
           (执行类)
   或  java [-options] -jar jarfile [args...]
           (执行 jar 文件)
其中选项包括:
    -d32      使用 32 位数据模型 (如果可用...
查看全文
加载更多
0%