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 »

7月 242020
 

按官方提示https://github.com/naver/pinpoint-docker ,通过docker安装pinpoint时,遇到端口冲突问题

 docker-compose up -d                                                                                                                                                                                             
Creating network "pinpoint-docker_pinpoint" with driver "bridge"                                                                                                                                                   
Creating pinpoint-docker_zoo3_1    ... done                                                                                                                                                                        
Creating pinpoint-docker_zoo2_1    ... done                                                                                                                                                                        
Creating pinpoint-flink-jobmanager ... done                                                                                                                                                                        
Creating pinpoint-docker_zoo1_1     ... done                                                                                                                                                                       
Creating pinpoint-mysql             ... done                                                                                                                                                                       
Creating pinpoint-hbase             ... error                                                                                                                                                                      
Creating pinpoint-flink-taskmanager ... done                                                                                                                                                                       
                                                                                                                                                                                                                   
ERROR: for pinpoint-hbase  Cannot start service pinpoint-hbase: Ports are not available: listen tcp 0.0.0.0:2180: bind: An attempt was made to access a socket in a way forbidden by its access permissions.       
                                                                                                                                                                                                                   
ERROR: for pinpoint-hbase  Cannot start service pinpoint-hbase: Ports are not available: listen tcp 0.0.0.0:2180: bind: An attempt was made to access a socket in a way forbidden by its access permissions.       
Encountered errors while bringing up the project.                                                                                                                                                                  

根据官方提示,修改pinpoint-docker文件夹下的.env文件,修改hbase端口即可,比如我修改为了12180 Continue reading »

7月 152020
 

明确目标

进入互联网行业,不管是实习,还是正式工作,要记住,从入行这一刻起,就要不停的学习、不停的思考,最好是根据自己的优缺点、喜好,订个明确的目标,自己到底想走哪条路线,是纯技术路线、不想太关心业务?产品经理?程序员只是过渡、想走管理?还是在互联网公司捞几年钱然后就转行?

  • 对技术特别感兴趣:那毫无疑问,技术这条路,其实也没有上限,你可以去极客时间app上看看那些大牛们

制定计划、逐步实行

听起来有点土、老生常谈了对吗?但我觉得这个当真是最朴实、最简单、也最实用的道理。

我目前在某央企、某互联网公司都做过程序员这个岗位。互联网行业,给我最大感触就是变化快、对于程序员的要求也越来越高,各种红利基本已经耗尽,前些年很多人看程序员赚钱、纷纷转行做程序员,这个恐怕后续会越来越难,从面试所考察内容就有直观感受,虽然每年大家都会说“互联网寒冬”、公司难,但从2019年年末开始,明显考察的内容越来越深、难。比如有如下一些题目(下面主要以java程序员举例,毕竟需求量大): 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

参考资料