生活,就是理解。生活,就是面对现实微笑,就是越过障碍注视将来。生活,就是自己身上有一架天平,在那上面衡量善与恶。生活,就是有正义感、有真理、有理智,就是始终不渝、诚实不欺、表里如一、心智纯正,并且对权利与义务同等重视。生活,就是知道自己的价值,自己所能做到的与自己所应该做到的。生活,就是理智。——雨果

背景

没啥好说的,就是,我又双叒叕要搬家了。起因就是因为,最近要涨房租
与其不如涨价,反正都是涨,我寻思干脆住远一点,直接自己住得了。
以前搬家,稍微不那么简单一点,自己会花好长时间去收拾一下。收拾呢,其实也就是找一堆纸箱子,完了去打包收纳而已。
在过往的收纳经验来看,最后的结论就是:大件的我能知道,放到具体哪个里面了。但是,小件,emm,死活最后就铁定不知道在什么地方了。最真实的可能就是,在日后的生活过程中,扒拉扒拉找些东西的时候,哦?原来我还有这个东西……

阅读全文 »

前言

笔记实录

探索

引用

前言

前言中,引用著名NIO书籍《Java NIO》(Ron Hitchens)中的引言,关于NIO的。原文如下:

Java NIO explores the new I/O capabilities of version 1.4 in detail and shows you how to put these features to work to greatly improve the efficiency of the Java code you write. This compact volume examines the typical challenges that Java programmers face with I/O and shows you how to take advantage of the capabilities of the new I/O features. You’ll learn how to put these tools to work using examples of common, real-world I/O problems and see how the new features have a direct impact on responsiveness, scalability, and reliability.

最后一句,直接点题:see how the new features have a direct impact on responsiveness, scalability, and reliability.

阅读全文 »

背景

Tomcat是一个业界非常优秀的web容器框架,学习里面核心的实现机制,扩展自己的知识面还是很有必要的。每个做Java的,应该没有人没接触过Tomcat。
学习Tomcat,有一个核心的命题,看源码。既然要看源码,自然少不了调试,如何调试Tomcat,这里在学习极客时间相关课程中提到过一个方式,可以很好的在IDE中进行调试,那就是通过嵌入式手工创建Tomcat来进行,具体请参考如下链接教程说明以及对应的代码示例:
create-a-java-web-application-using-embedded-tomcat
github/devcenter-embedded-tomcat

阅读全文 »

背景

CompleteableFuture

CompletionStage

实战

引用

背景

早些时候买的一本书,一直没怎么看。今天粗略的看了一下,确实要比市面上,在视频网站上看到的教程更为细致,更为精准。
在B站上看过一些视频,所谓的教程视频,要么蜻蜓点水,要么就非常过于功利!你看完之后,可能还是一头雾水。
这本书不同,主要是通过实战练习的方式,一点一点的来学习。这也是很多做的视频教程中所极度缺失的,点可能介绍到了,但是练习的地方很少,导致你即便跟着上手学,可能最后还是一头雾水。

粗看书本笔录

这一节中主要罗列出书本中,除去练习之外,重要的知识点,记录下来备查。

阅读全文 »

前言

最早看到这本书是从B站的大马猫本老师那边看到的,在先前的某期视频中,推荐的一本书。立马买了这本书的实体书,看了一点点确实不错,能学到不少关于光线的知识。于是乎,随手记录一下,供日后翻阅查看。

阅读全文 »

背景

学习

Dubbo核心架构

实战

总结

背景

最近在工作工程中遇到一个关于MySQL分区表索引的问题

研究过程

代码片段

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
CREATE TABLE `test_a` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`create_time` datetime NOT NULL,
`col` varchar(45) DEFAULT NULL,
PRIMARY KEY (`id`,`create_time`),
KEY `index_create_time` (`create_time`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1
/*!50500 PARTITION BY RANGE COLUMNS(create_time)
(PARTITION p1 VALUES LESS THAN ('20210223') ENGINE = InnoDB,
PARTITION p2 VALUES LESS THAN ('20210224') ENGINE = InnoDB,
PARTITION p3 VALUES LESS THAN ('20210225') ENGINE = InnoDB,
PARTITION p4 VALUES LESS THAN ('20210226') ENGINE = InnoDB,
PARTITION p5 VALUES LESS THAN ('20210227') ENGINE = InnoDB,
PARTITION p6 VALUES LESS THAN ('20210228') ENGINE = InnoDB,
PARTITION p7 VALUES LESS THAN ('20210301') ENGINE = InnoDB,
PARTITION p8 VALUES LESS THAN ('20210302') ENGINE = InnoDB,
PARTITION p9 VALUES LESS THAN ('20210303') ENGINE = InnoDB,
PARTITION p10 VALUES LESS THAN ('20210304') ENGINE = InnoDB,
PARTITION p11 VALUES LESS THAN ('20210305') ENGINE = InnoDB) */;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
CREATE TABLE `test_b` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`create_time` datetime NOT NULL,
`col` varchar(45) DEFAULT NULL,
PRIMARY KEY (`id`,`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50500 PARTITION BY RANGE COLUMNS(create_time)
(PARTITION p1 VALUES LESS THAN ('20210223') ENGINE = InnoDB,
PARTITION p2 VALUES LESS THAN ('20210224') ENGINE = InnoDB,
PARTITION p3 VALUES LESS THAN ('20210225') ENGINE = InnoDB,
PARTITION p4 VALUES LESS THAN ('20210226') ENGINE = InnoDB,
PARTITION p5 VALUES LESS THAN ('20210227') ENGINE = InnoDB,
PARTITION p6 VALUES LESS THAN ('20210228') ENGINE = InnoDB,
PARTITION p7 VALUES LESS THAN ('20210301') ENGINE = InnoDB,
PARTITION p8 VALUES LESS THAN ('20210302') ENGINE = InnoDB,
PARTITION p9 VALUES LESS THAN ('20210303') ENGINE = InnoDB,
PARTITION p10 VALUES LESS THAN ('20210304') ENGINE = InnoDB,
PARTITION p11 VALUES LESS THAN ('20210305') ENGINE = InnoDB) */;

总结

后记

更新

由于TravisCI不论公有开始私有仓库开启收费模式了,故而我选择放弃。
本博客相关全部交付GitHub Actions自行托管编译了,相关教程请站内搜索GitHub Actions即可

阅读全文 »
0%