6月 142019
 

正在学习:

  • spring cloud主要组件系统的过一遍,之后会开始源码分析
  • zookeeper
  • Java多线程、并发相关,系统的过一遍,会进行源码分析,会写一些文章记录下
  • Kafka使用
  • 每日刷1-3题leetcode,数据结构与算法回炉重学中,感觉收获很大

主要想读读源代码,并将源代码阅读所学的东西记录下来,目前想做这些: Continue reading »

12月 032015
 

这里写下一些我觉得比较经典的书籍,纯属个人建议,事先声明:其中有不少书我没看过,或是看的不细,但大概知道书里讲啥东西,也会在下面列出。

更新记录

本文是2014年甚至是更早的时候写的,肯定有些陈旧,不过还是有些价值的,现在简单更新、置顶一下,后续会进行更新。

  • 2017.2.28 初始版本
  • 2017.10.29 更新读书记录。

目前正在看或是打算看的书:

  • 《智能时代》 吴军博士 刚买,还没来得及翻
  • 《高可用架构》 10月才出的书,书明天到货,然后可以拜读了,看作者,一堆熟悉的业界大佬,质量应该有保证 🙂
  • 《图解HTTP》 看着比较轻松,补齐一些基础知识
  • 《深入分析Java Web技术内幕》 许令波著。阿里技术书系列。在看,可以用来补全一些有关java web的知识。JVM、编码、session与cookie、spring框架分析等,内容比较全,正看,暂时不做评价。

2017年已读完的书籍: Continue reading »

5月 272020
 

从一道面试题讲起:采用DCL实现单例模式时,是否需要加volatile关键字?为什么?

有关单例模式

我们在网上搜如何实现单例模式时,帖子往往给出多种实现:饿汉模式、懒汉模式、双重锁懒汉模式(双重锁检查,double check lock,经常简写做DCL)、静态内部类模式、枚举模式等。

此处可以参考 深入理解单例模式:静态内部类单例原理 这篇文章。

顺带提一句,《Java并发编程的艺术》(方腾飞)第3章有讨论过DCL、静态内部类这两种实现方式,建议去读一读。 Continue reading »

4月 302020
 

众所知周,spring cloud 1.5版本与2.x版本差异很大,官方没有做向下兼容,导致大家对于升级spring cloud版本都非常慎重。

此处,首先推荐阅读官方给出的迁移手册 Spring Boot 2.0 Migration Guide

虽然是英文的,但建议还是好好读读。

预备知识

废话一下:
升级操作前务必要对spring, spring boot, spring cloud版本、各自关联有清晰的认识。 Continue reading »

4月 272020
 

现象

spring项目部署linux时读取字体失败导致绘图时输出乱码,比如说调用Graphics2D graphic绘图时用到字体,却输出乱码。

原因

字体文件找不到,比如说开发环境是windows,可能是使用“微软雅黑”字体,是正常的,但部署到线上(往往是linux),就会是乱码。 Continue reading »

4月 272020
 

现象

以jar包方式部署系统,想读取resource或是template下面的文件时,报 File Not Found

我遇到的情况是,整个项目达成了一个包,在开发环境(windows + idea)读取文件没问题,但在预发布环境(centos, 打成一个jar部署),则报错。
使用

jar -xvf xxx.jar

命令解压jar后,大体结构如下:

BOOT-INF
META-INF
org
...

继续往下找可以找到我想要读取的资源文件,说明打包正常,那只能说明:
以jar形式部署后,采用一般的java 读取文件的API接口,可能无法从jar包直接读取到文件。 Continue reading »

3月 182020
 

方法:
1、将大文件分成多个小文件
2、检查mysql的max_allowed_packet参数配置,命令如下:

show variables like '%max_allowed_packet%';

适当调大该参数,比如在启动mysql client端时,通过加参数的方式,在客户端调整该参数

mysql --max_allowed_packet=32M

更多修改方法参见官方文档:B.4.2.9 Packet Too Large,以及这篇 How to change max_allowed_packet size

参考资料

3月 092020
 

在spring boot的application.yml文件中配置:

# 配置sql打印日志
mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

如果是application.properties,添加:

# 配置sql打印日志
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

打印结果类似这样: Continue reading »