程序人生
文章平均质量分 84
马小稚
以己经验扫除尘埃,只为当一次农夫
展开
-
为什么高级程序员不必担心自己的技术过时?
程序员是吃青春饭的吗?等我们老了,技术过时了,公司有什么理由不裁掉我们,去雇一些既有活力、薪资要求又低的年轻人呢?这个老生常谈的问题困扰着诸多渐入中年的程序员。本文告诉你如何增强自己的核心竞争力,在知识飞速更新的行业中站稳脚跟,跨过“初级工程师”和“高级工程师”之间的鸿沟。正文我曾在 CS 职业论坛上回答了一个问题,该回答描述了我在程序员职业道路早期必须要涉足的几个领域,并就此引申出我为什么认为高级程序员不必担心自己的技术会过时。我认为社区中有很多我们不太重视的软技能,这些软技能都有可能原创 2021-07-23 16:02:15 · 1093 阅读 · 0 评论 -
程序员翻车时,脑子里都在想什么?
开发工作充满了挑战性。人无完人,对于程序员来说,写出有 bug 的代码是在所难免的。有些人很淡定,也有一些人会感到生气、沮丧、不安或气馁。在修复 bug 的过程中我们都经历了什么?来和大雄一起找找共鸣,看看大家是不是都经历过这种挣扎:PS:本文内容一般,不知你们是否能get到那个点,但是无所谓,最起码配图还不错,图可以偷,记得评论+转发哦~1、该把它删掉还是该重写看着旧代码,总有一种想要重写它们的冲动。丑陋的逻辑语句和啰嗦的语法极大降低了代码可读性!但是,如果代码跑得好好原创 2021-07-23 15:57:14 · 139 阅读 · 0 评论 -
终于理解Spring Boot 为什么青睐HikariCP了,图解的太透彻了!
前言现在已经有很多公司在使用HikariCP了,HikariCP还成为了SpringBoot默认的连接池,伴随着SpringBoot和微服务,HikariCP 必将迎来广泛的普及。下面陈某带大家从源码角度分析一下HikariCP为什么能够被Spring Boot 青睐,文章目录如下:零、类图和流程图开始前先来了解下HikariCP获取一个连接时类间的交互流程,方便下面详细流程的阅读。获取连接时的类间交互:一、主流程1:获取连接流程HikariCP获取连接时的入口是Hika原创 2021-07-23 15:41:27 · 361 阅读 · 0 评论 -
Spring Boot 2.x基础教程:使用Elastic Job实现定时任务
上一篇,我们介绍了如何使用Spring Boot自带的@Scheduled注解实现定时任务。文末也提及了这种方式的局限性。当在集群环境下的时候,如果任务的执行或操作依赖一些共享资源的话,就会存在竞争关系。如果不引入分布式锁等机制来做调度的话,就可能出现预料之外的执行结果。所以,@Scheduled注解更偏向于使用在单实例自身维护相关的一些定时任务上会更为合理一些,比如:定时清理服务实例某个目录下的文件、定时上传本实例的一些统计数据等。那么,在实际实现业务逻辑的时候,没有更好的定时任务方案呢?今天我们就来原创 2021-07-23 15:13:25 · 309 阅读 · 0 评论 -
Spring Boot 2.x基础教程:使用@Scheduled实现定时任务
我们在编写Spring Boot应用中经常会遇到这样的场景,比如:我需要定时地发送一些短信、邮件之类的操作,也可能会定时地检查和监控一些标志、参数等。创建定时任务在Spring Boot中编写定时任务是非常简单的事,下面通过实例介绍如何在Spring Boot中创建定时任务,实现每过5秒输出一下当前时间。在Spring Boot的主类中加入@EnableScheduling注解,启用定时任务的配置 @SpringBootApplication @EnableScheduling pu转载 2021-07-23 15:10:00 · 123 阅读 · 0 评论 -
为啥线程安全的List推荐使用CopyOnWriteArrayList,不是Vector?【一分钟让你看明白】
推荐学习为什么线程安全的List推荐使用CopyOnWriteArrayList,而不是Vector?注:本系列文章中用到的jdk版本均为java8相比很多同学在刚接触Java集合的时候,线程安全的List用的一定是Vector。但是现在用到的线程安全的List一般都会用CopyOnWriteArrayList,很少有人再去用Vector了,至于为什么,文章中会具体说到。接下来,我们先来简单分析一下Vector的源码。一、Vector集合源码简析由于本文的重点不是Vector集合原创 2021-06-28 14:50:07 · 196 阅读 · 0 评论 -
本可以顺利拿offer,败在了Redis,气哭在厕所!!!
之前本人在找工作面试时在Redis相关问题上可栽了跟头。在面试前按常规套路准备了一下,比如 Redis 的常用5种数据结构,Redis持久化策略,Redis实现分布式锁,简单发布订阅等等都准备了,当时不知天高地厚以为十拿九稳了,可是万万没想到我终究还是在Redis的被问的第一个问题上翻船了~~面试官 :看你简历上写了熟悉常用数据结构,都有哪些说说本人 :常用有5种,string,list,set,zset,hash(内心很得意)面试官 :那你说说都用过哪些数据结构本人 :用的最多的是string,通原创 2021-06-26 20:46:49 · 98 阅读 · 0 评论 -
原以为哈夫曼树、哈夫曼编码很难,其实并没有,6张图清楚告诉你
哈夫曼树、哈夫曼编码很多人可能听过,但是可能并没有认真学习了解,今天这篇就比较详细的讲一下哈夫曼树。首先哈夫曼树是什么?哈夫曼树的定义:给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree),哈夫曼树是带权路径长度最短的树。权值较大的结点离根较近。那这个树长啥样子呢?例如开始2,3,6,8,9权值节点构成的哈夫曼树是这样的:从定义和图上你也可以发现下面的规律:初始节点都在树的叶子节点上权值大的节点离根原创 2021-06-24 17:03:18 · 318 阅读 · 0 评论 -
Java程序员3个月从月薪6k涨到15k,你知道我是怎么过来的吗?
先说一下自己的个人情况,大专生,18年通过校招进入湖南金蝶软件公司,干了接近3年的CRUD,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了三年的CRUD,已经让我变得不思进取,谈了2年的女朋友也因为我的心态和工资和我分手了。于是,我决定要改变现状,放眼于今年的金三银四!刚开始准备时,自己都蒙了,3年的CRUD让我的技术没有一丝的进步,提升的只有我的年龄…没办法,我找到了我的导师,作为他的得力弟子,在他了解了我的情况后(几乎就是Java基础开始),原创 2021-06-24 16:37:09 · 288 阅读 · 0 评论 -
到手了到手了!!!【24小时不一定删】2021年最新阿里巴巴Java程序员面试指导笔记
到手了到手了!!!【24小时不一定删】2021年最新阿里巴巴Java程序员面试指导笔记整份手册分为了七个篇章,分别是:高并发篇、分布式篇、中间件篇、数据库篇、设计模式篇、数据结构与算法篇、阿里巴巴2020全年面试题总结篇!高并发篇秒杀的核心思想:层层过滤 尽量将请求拦截在上游,降低下游的压力 充分利用缓存与消息队列,提高请求处理速度以及削峰填谷的作用大型互联网应用(大数据、高并发、多样数据类型)的难点和解决方案分布式篇中间件篇根据得到的文档和查询语句的相关性,对结果进行排序数原创 2021-06-21 20:16:37 · 87 阅读 · 0 评论