自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

keeper42的博客

技术是第一生产力

  • 博客(608)
  • 资源 (10)
  • 收藏
  • 关注

转载 程序员-放羊娃

入行两年今年的想法一直比较复杂,一直在纠结着一个问题,未来的路到底该怎么走,程序员这条路到底能走多久。行业里一直流传着程序员过了三十岁以后就要转行的话,听的多了也就越来越迷茫了。就现在消费日益增高的大环境下,越来越觉得入不敷出了,经常会为要不要买一个东西而考虑很久。开始考虑是不是真的要转行了,想必和我一样的初级程序员很多人都有过这样的想法吧。我曾今想着要去开出租车,一个曾今带我入行的师傅对我说“即使你要去开黑车,也要存点资本要有钱买的起车才行啊,现在最需要的是积累。”好吧,突然觉得,我努力奋斗的目标竟然成了

2022-06-25 11:37:46 129 2

原创 方法论

aaa

2022-06-05 08:51:24 94 1

原创 瞎谈计算机

yyy

2022-06-05 07:43:48 107

原创 控制论

xxx

2022-06-05 07:43:00 283

原创 系统论。

zzz

2022-06-05 07:41:56 213

原创 重拾计算机

重新拾起对计算机知识的热爱,其实我并不讨厌计算机,我只是讨厌上班“被奴役”。

2022-05-29 11:07:56 41

原创 马太效应与二八定律

马太效应说的是,“强者愈强,弱者愈弱”的不平衡状态;二八定律说的是,“80%的财富掌握在20%的人手里“的不均衡现象。这是其一自然社会法则,时隔多年,我才又有一番新的感悟。大约是去年,愚钝的我方才领悟到:广不如精。毕业两三年来,除了打工还是打工,贱卖了自己的时间。那时业余时间不太喜欢学计算机,总觉得自己对于人文社科知道的太少,跟个傻子一样,跑去学经济、社会、历史、哲学、日语等。然而,这些东西对我的工作似乎并没有太大的帮助。自己学习那些乱七八糟的东西,似乎是跟我毕业后一直下象棋般地逃避问题。对于工作的

2022-05-29 10:38:48 792

原创 乐观才能成事

悲观没有任何意义、悲观起不了任何正反馈的作用,相反的,它是将你拖入负面情绪的泥沼,一旦深陷则难以自拔。所以,悲观成事不足、败事有余。那么,与其毫无意义地悲观、浪费时间、浪费精力、浪费脑细胞,那还不如愚蠢些乐天地积极的向前看,别再去反刍理会以前那些破事了。过去的就让它们过去吧。保持愚蠢,保持乐观,学习乐观。...

2022-05-29 10:38:08 53

原创 回顾大学。

与几年前的自己对话。或许以前的我、现在的我、将来的我“同时”处于不同的时空,三个“我”都被困于当时之处境,“我们”需要互相学习、互相传递呼救信号、互相努力进行自我救赎。——题记高考报志愿那时,随意填的工科专业,没曾想过N年后计算机会卷成这样。大学那时其实只上了不满三年的课,最后一年是在实习、考研、找工作、做毕设中度过的。高中相比大学,我其实更喜欢高中学得广博,大学就学得更为自由。那三年,算上数学课大约上了二十多门专业课。自己记性差,学的很多东西近乎都忘了,记得那时需要上数据结构、计算机系

2022-05-29 10:37:36 60

原创 高中物理随想

最近在回想十年前高中学的知识,试图在其中寻找启发。首先我想到的是,天体逃逸速度与量子能级跃迁。先上图(图源均为百度百科)。量子能级跃迁天体逃逸速度上图中,我们可以看出第一宇宙速度逃逸为第二宇宙速度时,需要有一个加速的过程,加速完到达某一位置、某一时间点时,宇宙速度便发生了改变,天体便从此摆脱了地球的束缚,成了第二宇宙速度,成功地润出了地球。同样的,当量子需要从基态跃迁到激发态时,便也需要相应的 >= E = hv 的能量的过程(hv就是这里的临界值),这里吸收的能量便是高阶

2022-05-29 10:36:06 138

原创 经济——读《论21世纪的资本》有感

引言如果富人越来越富,穷人越来越穷,就会出现两极分化,社会主义制度应该而且能够避免两极分化。解决方案之一是让富裕地区支付更多的利润和税收,以支持贫困地区的发展。(《武昌、深圳、珠海、上海等地会谈》《邓小平文选》)关键词资本和劳动力分配问题、经济增长、资本收入比、资本和劳动力分配、劳动力差距、资本差距、贫富差距、解决贫富差距的宏观方法目录第一部分 收入和资本第二部分 资本/收入比率的动态变化第三部分 不平等的结构第四部分 21世纪的资本监管该书认为,贫富之间的不平等不是偶然

2022-05-29 10:32:26 105

原创 高中地理给我的印象

小时候很喜欢画地图,省份、中国、世界地图都画过,河流、铁路也画过。其中对于中国地形算是较为熟悉吧,别的记不太清了,只记得:黑河腾冲线、秦岭淮河线、三阶梯分界线。找到了以下这张图,回忆下。中国地形图黑河腾冲线,划分人口多寡;秦岭淮河线,划分亚热带季风气侯与温带季风气侯;三阶梯分界线一二三阶划分粗略概括为青藏高原、黄土/云贵高原、平原丘陵,其中还有大大小小的盆地与山地。地理、气候、粮食与人口。为何东亚、南亚与东南亚这个半径大约为4000km的地方养活了全世界一半以上的人口?粮食多。粮食多又是

2022-05-29 10:31:37 146

原创 高中生物给我的启示

以前老是看《动物世界》,知道了地球上的各种生命、认识到了大自然与动物(包括人)间关系、感悟到了人与动物并无二异,人之异于禽兽者几希?对于整个生态系统中,种群之间、物种之间相互关联、相互作用、协同发展:竞争、合作(共生)、捕食(弱肉强食)、寄生。其中,生态系统是动态的,动植物、微生物无一不在运动发展,运动才是这个世界的本质,运动是绝对的、静止只是相对的。还有,系统中各种群相互促进发展,这使得系统的整体>简单部分之和。其次,系统之稳定,依赖于生物多样性。生物、基因库的多样性使得生态系统可持续发展。

2022-05-29 10:29:10 56

原创 明亡,何故?

书接上回:山海关,这回斗胆论下明亡何故?余才疏学浅、难免挂一漏万。明末颇舛,明亡为系统综合性崩溃。一国之亡,原因错综复杂,实非一人一事之所能致也。“明亡于崇祯,实亡于万历,始亡于嘉靖“。万历十四年,神宗始不朝,史称万历怠政。万历中叶虽不朝,然内无宦官、外戚、奸相之乱政、官僚党争亦有所控制,外三大征,宁夏、朝鲜、播州,神宗皆应之且胜,批复有章见,幕后控朝局。明年,海瑞、戚继光卒。崇祯十七年,西北闹饥荒,民不聊生,农民多起义,加之国库空虚及军屯体系败坏,难平乱。闯王破京城,帝自缢于煤山。明之

2022-05-29 10:28:08 90

原创 浏览《中县干部》有感

2022.05.05 有关职场的感悟,自己还需要多多学习。1. 君君臣臣。无论是官场上还是职场上,上级就是上级,下属就是下属。拿人钱财替人消灾,身处给别人打工的环境下,就必须服从命令,服从领导的安排,听命于领导,忠诚于领导,甚至要于领导私下搞好关系,只有把忠诚和绩效结合得很好,你才能有晋升的机会。2. 见人说人话,见鬼说鬼话。身处黄沙就与黄沙为伍,身处淤泥就与淤泥为伍,别自以为清高。嘴巴要会说,见佛拜佛,见鬼拜鬼,见了官人说官话,见了生意人说生意场中的话。别不合时宜地说一些话,不知道该不该说

2022-05-07 15:50:24 174

转载 工作三年的Java程序员应该达到什么水平?

对于大公司而言,会在如下两个时间节点之前进行对员工一年的绩效考核和奖金发放。以12月31日为财年的,1月份考核统计,2月份发奖金,3-4月份面试/跳槽。以6月30日为财年的,7月份考核,8月份发奖金,9-10月份面试/跳槽。因此,这两个时间段是大多数程序员跳槽的高峰期。但是,无论如何建议大家做好自己的职业规划,不要为了跳槽而跳槽,眼光要放长远一点,千万不要裸辞。。。好了,言归正传,本文主要回答一个读者的提问。问题:一般工作的三年的程序员应该达到什么样的水平才算合格呢?下文的答案是我工

2022-04-28 10:33:48 1105

原创 【分布式】Raft算法

1 背景当今的数据中心和应用程序在高度动态的环境中运行,为了应对高度动态的环境,它们通过额外的服务器进行横向扩展,并且根据需求进行扩展和收缩。同时,服务器和网络故障也很常见。因此,系统必须在正常操作期间处理服务器的上下线。它们必须对变故做出反应并在几秒钟内自动适应;对客户来说的话,明显的中断通常是不可接受的。幸运的是,分布式共识可以帮助应对这些挑战。1.1 拜占庭将军在介绍共识算法之前,先介绍一个简化版拜占庭将军的例子来帮助理解共识算法。假设多位拜占庭将军中没有叛军,信使的信息可靠但有可能被暗

2022-04-23 00:09:37 157

原创 【Mybatis】Mybatis源码解读

一、Mybatis框架图牢记上面的图。Mybatis框架大致分三层:基础支持层,数据处理层和接口层。基础支持层包括连接池管理、事务管理和缓存机制等。数据处理层则包括:参数映射(ParameterHandler)、SQL解析(SqlSource)、SQL执行(Executor)、结果处理映射(ResultSetHandler)。 这是一个流程。最后是上层接口层,提供给外部调用的。二、Mybatis的初始化流程Mybatis初始化流程包括:构造会话工厂->解析配置->解析mapper

2022-04-22 22:43:34 573

原创 【分布式】分布式事务与锁

1、高并发第一选择---- 加缓存2、springcache配置 ---- 缓存管理器----- springboot2.0版本使用cache对redis版本是有要求3、springcache里面 ---- 三个标签使用:cacheable/cacheput/cacheEvict4、congfig配置,自定义key缓存一致性问题解决办法:1、同步调用方式----- 实时修改2、准实时修改----- mq/发布订阅/观察者模式3、非实时------ 缓存过期/绝对过期4

2022-04-22 11:46:00 255

原创 【MySQL】幻读与间隙锁

幻读:前后多次读取,数据总量不一致。即使把所有的记录都加上锁,还是阻止不了新插入的记录,这是因为给行加锁的时候,这条记录还不存在,没法加锁。解决方案:间隙锁 (Gap Lock)间隙锁:在一行行扫描的过程中,不仅将给行加上了行锁,还给行两边的空隙,也加上了间隙锁。行锁,分成读锁和写锁。跟行锁有冲突关系的是“另外一个行锁”。但是间隙锁不一样,跟间隙锁存在冲突关系的,是“往这个间隙中插入一个记录”这个操作。间隙锁之间都不存在冲突关系。间隙锁和行锁合称 next-key lock,每个

2022-04-13 13:47:31 952

原创 【MySQL】只查一行语句,执行慢的原因

只查一行语句,执行慢的原因执行“查一行”,可能会出现的执行长时间不返回被锁住和执行慢的情况。这其中涉及到了表锁、行锁和一致性读的概念。一、长时间不返回查询长时间不返回查询长时间不返回时,大概率是表 t 被锁住了。接下来分析原因的时候,一般都是首先执行一下 show processlist 命令,看看当前语句处于什么状态。有可能是行被锁住了吗? 为什么不太可能,因为这个SELECT不是 for update,因此即使有人占着行锁,SELECT只是返回已提交的数据即可,并不需要等到其他更新操作完成。

2022-04-13 13:46:35 1131

原创 【MySQL】SQL语句逻辑相同,性能却差异巨大?

学习于极客时间第一,对索引字段做函数操作,可能会破坏索引值的有序性,因此优化器就决定放弃走树搜索功能。mysql> select count(*) from tradelog where -> (t_modified >= '2016-7-1' and t_modified<'2016-8-1') or -> (t_modified >= '2017-7-1' and t_modified<'2017-8-1') or -&gt

2022-04-12 07:40:26 611

原创 【MySQL】如何正确地显示随机消息?

【MySQL】如何正确地显示随机消息?

2022-04-11 23:45:09 241

原创 UNIX哲学

The UNIX Philosophy一句话:Just do one thing and do it well.几句话:程序应该只关注一个目标,并尽可能把它做好。让程序能够互相协同工作。应该让程序处理文本数据流,因为这是一个通用的接口。九条训言:小即是美。让程序只做好一件事。尽可能早地创建原型。可移植性比效率更重要。数据应该保存为文本文件。尽可能地榨取软件的全部价值。使用shell脚本来提高效率和可移植性。避免使用可定制性低下的用户界面。所有程序都是数据的过滤器。...

2022-04-09 14:58:04 203

原创 【ElasticSearch】Elasticsearch核心概念

Elasticsearch核心概念分片 shard“分片”是Lucene的一个索引。 它本身就是一个功能齐全的搜索引擎。“索引”可以由单个分片组成,但通常由多个分片组成,一部分主分片、一部分副本分片。副本分片的用途:(1)主节点故障时的故障转移;(2)增加的读取吞吐量。分段 segment每个分片包含多个“分段”,其中分段是倒排索引。分段内的doc数量上限是2的31次方。默认每秒都会生成一个segment文件.在分片中搜索将依次搜索每个片段,然后将其结果合并到该分片的最终结果中。查看索引

2022-04-08 18:06:57 1651

原创 【MySQL】全字段排序 与 rowid 排序

全字段排序为避免全表扫描,我们需要在 相关字段 字段加上索引。创建索引之后,我们用 explain 命令查看排序语句的执行计划。Extra 这个字段中存在“Using filesort”表示的就是需要文件排序,MySQL 会给每个线程分配一块内存用于排序,称为 sort_buffer。sort_buffer_size,就是 MySQL 为排序开辟的内存(sort_buffer)的大小。如果要排序的数据量小于 sort_buffer_size,排序就在内存中完成。但如果排序数据量太大,内存放不下,则不得

2022-04-08 09:19:08 596

原创 【MySQL】count(*)

count(*) 的实现方式你首先要明确的是,在不同的 MySQL 引擎中,count(*) 有不同的实现方式。MyISAM 引擎把一个表的总行数存在了磁盘上,因此执行 count(*) 的时候会直接返回这个数,效率很高;而 InnoDB 引擎就麻烦了,它执行 count(*) 的时候,需要把数据一行一行地从引擎里面读出来,然后累积计数。这里需要注意的是,我们在这篇文章里讨论的是没有过滤条件的 count(*),如果加了 where 条件的话,MyISAM 表也是不能返回得这么快的。由于使用 I

2022-04-08 08:14:22 1073

原创 【MySQL】MySQL 收缩表空间

【MySQL】MySQL count(*) 的实现方式

2022-04-07 23:52:25 566

原创 Google十诫

1. Focus on the user and all else will follow.2. It’s best to do one thing really, really well.3. Fast is better than slow.4. Democracy on the web works.5. You don’t need to be at your desk to need an answer.6. You can make money without doing ev

2022-04-07 00:06:42 411

原创 【Linux】linux ls可以看到文件但是提示文件不存在

带有特殊字符的可以用inode号删 ls -i 找到inodenum后 find . -inum $inodenum |xargs -I {} rm {} 删除之。

2022-04-05 11:19:42 3785

原创 【MySQL】MySQL抖动

WAL机制InnoDB 在处理更新语句的时候,只做了写日志这一个磁盘操作。这个日志叫作 redo log(重做日志),相当于是用来缓存的,在更新内存写完 redo log 后,就返回给客户端,本次更新成功。WAL write ahead log,并不是说先写数据再写日志,在执行一条sql语句操作数据的时候,肯定要写日志,不过这个日志此时在内存中,还没有实际写到磁盘上,有的时候日志太大了,要等到日志都写到磁盘再真实写数据,效率很低,所以需要考虑是否能先写一部分数据。MySQL抖动空闲时flus

2022-04-05 10:19:44 439

原创 【MySQL】字符串字段创建索引的场景

字符串字段创建索引的场景 的方式有:1. 直接创建完整索引,这样可能比较占用空间;2. 创建前缀索引,节省空间,但会增加查询扫描次数,并且不能使用覆盖索引;3. 倒序存储,再创建前缀索引,用于绕过字符串本身前缀的区分度不够的问题;4. 创建 hash 字段索引,查询性能稳定,有额外的存储和计算消耗,跟第三种方式一样,都不支持范围扫描。...

2022-04-05 09:56:14 644

原创 【MySQL】MySQL 优化器选择索引

学习于极客时间--MySQL优化器选择索引的目的优化器选择索引的目的,是找到一个最优的执行方案,并用最小的代价去执行语句。在数据库里面,扫描行数是影响执行代价的因素之一。扫描的行数越少,意味着访问磁盘数据的次数越少,消耗的 CPU 资源越少。当然,扫描行数并不是唯一的判断标准,优化器还会结合是否使用临时表、是否排序等因素进行综合判断。其中,扫描行数是如何判断的呢?MySQL 在真正开始执行语句之前,并不能精确地知道满足这个条件的记录有多少条,而只能根据统计信息来估算记录数。这个统计信

2022-04-04 06:29:24 607

原创 【MySQL】Change Buffer

学习于极客时间--MySQL实战Change BufferInnoDB 从 1.0.x 版本开始引入了 Change Buffer,算是对 Insert Buffer 的升级。从这个版本开始,InnoDB 存储引擎可以对 insert、delete、update 都进行缓存。影响参数有两个:innodb_change_buffering:确定哪些场景使用 Change Buffer,它的值包含:none、inserts、deletes、changes、purges、all。默认为 all,表

2022-04-03 07:34:54 252

原创 【MySQL】唯一索引与普通索引的区别

2022.04.02唯一索引上的字段的数据只能是唯一的,而普通索引可以有重复数据。以 SELECT * FROM user WHERE k=5 为例,对于普通索引来说,k 是普通索引的话,会在普通索引上面找出满足条件的值,找到之后会继续往下找。对于唯一索引来说,会在索引上面找出满足条件的值后就停止不继续往下,因为这行数据是唯一的。从字面上看的话,这两者之间差距很大,因为唯一索引每次都是第一次就确定要的数据,但其实在内部的设计中,这两者之间差距并不是很大。为什么呢?因为 MySQL 是

2022-04-03 06:02:08 1583

原创 离职前的最后三周

倒数第二十一天2022.03.10每天总得学点东西吧...学习了Mybatis源码架构、设计模式(装饰器模式、适配器模式与桥接模式):【设计模式】装饰器模式【设计模式】适配器模式与桥接模式刷leetcode这几天就刷了72道,接下来还是把重心放到学习框架源码以及面试八股文上吧,leetcode每天一道即可了。倒数第二十天2022.03.11 Fri Sunny清晨起来刷了一两道leetcode,然后就出门上班了。开发的需求已经充分自测且提测通过了,上午就帮忙解决测

2022-04-01 15:16:50 653

原创 【MySQL】全局锁、表锁和行锁

学习于极客时间全局锁全局锁的典型使用场景是,做全库逻辑备份。Flush tables with read lock (FTWRL)。在备份过程中整个库完全处于只读状态。让整库都只读:(1)如果你在主库上备份,那么在备份期间都不能执行更新,业务基本上就得停摆;(2)如果你在从库上备份,那么备份期间从库不能执行主库同步过来的 binlog,会导致主从延迟。不加锁的话,备份系统备份的得到的库不是一个逻辑时间点,视图是逻辑不一致的。其实是有一个方法能够拿到一致性视图的,就是在可重复读隔离

2022-03-27 13:58:17 619

原创 【MySQL】索引

学习于极客时间哈希索引哈希索引做区间查询是很慢的,哈希表适用于只有等值查询的场景,比如 Memcached 及其他一些 NoSQL 引擎。有序数组索引有序数组在等值查询和范围查询场景中的性能就都很好。如果仅仅看查询效率,有序数组就是最好的数据结构了。但是,在需要更新数据的时候就麻烦了,你往中间插入一个记录就必须得挪动后面所有的记录,成本太高。有序数组索引只适用于静态存储引擎,比如你要保存的是省市这类几乎不会再修改的数据。二叉树索引二叉树为了维持 O(log(N)) 的查询复杂

2022-03-27 11:19:18 1257

原创 【分布式】Twitter雪花算法(snowflake)的java实现

雪花算法:生成全局唯一ID以划分命名空间的方式将 64-bit位(Long类型)分割成多个部分,每个部分代表不同的含义。优点:雪花算法生成的ID是趋势递增,不依赖数据库等第三方系统,以服务的方式部署,稳定性更高,生成ID的性能也是非常高的,而且可以根据自身业务特性灵活分配bit位。缺点:雪花算法强依赖于时钟,如果系统上出现时间回滚,会导致生成的ID号重复或者服务会处于不可用状态。public static void main(String[] args) { Snowfl.

2022-03-24 10:51:11 210

原创 【架构】架构服务化

单体分层架构在 Web 应用程序发展的早期,大部分工程是将所有的服务端功能模块打包到单个巨石型(Monolith)应用中,譬如很多企业的 Java 应用程序打包为 war 包,最终会形成如下的架构:巨石型应用易于搭建开发环境、易于测试、易于部署;其缺陷也非常明显,无法进行局部改动与部署,编译时间过长,回归测试周期过长,开发效率降低等。集中式架构分为标准的三层:数据访问层、服务层和 Web 层。在 Web2.0 时代刚刚流行的时候,互联网应用与企业级应用并没有本质的区别,集中式架构分为..

2022-03-24 10:15:21 3695

InterceptorBridge1.0.zip

Postman InterceptorBridge1.0,Postman拦截器连接桥,用于连接Postman客户端与Postman拦截器的,可以用来直接获取浏览器中的Cookie。

2020-11-23

初学jsp的代码与笔记

初学jsp的代码、笔记与资料。初学jsp的代码、笔记与资料。初学jsp的代码、笔记与资料。初学jsp的代码、笔记与资料。初学jsp的代码、笔记与资料。

2020-09-30

程序员的数学

《程序员的数学》是2012年由人民邮电出版社出版的图书,作者是结城浩。本书面向程序员介绍了编程中常用的数学知识,借以培养初级程序员的数学思维。读者无需精通编程,也无需精通数学,只需具备四则运算和乘方等基础知识,就可以阅读本书。

2019-03-26

Modern PHP中文版(美)洛克哈特著_完整目录.pdf

Modern PHP中文版(美),该书主要讲解了PHP的开发技术。

2018-03-17

骗分导论.pdf

骗分导论,ICPC/CCPC、CSP、PAT等竞赛的算法骗分技巧。

2018-03-17

深入解析WordPress(原书第2版).pdf

深入解析WordPress(原书第2版),该书主要介绍了如何使用wordpress搭建博客。

2018-03-17

Navicat用户指南

Navicat用户指南,介绍了关于Navicat的服务器对象、表查看器、模型、报表、服务器安全性等等。

2018-03-17

Redis 3.0.pdf

Redis技术文档,该文档描述如何使用Redis作为数据库、缓存和消息中间件使用。

2018-03-17

Tensorflow笔记.pdf

Tensorflow笔记,简单地介绍了人工智能、机器学习、深度学习之间的关系以及神经网络的发展过程。

2018-03-17

中国象棋的计算机博弈理论

中国象棋的计算机博弈理论

2016-11-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除