学习笔记
文章平均质量分 53
windsnow263
这个作者很懒,什么都没留下…
展开
-
【读书笔记】金字塔原理(反面教材)
今日分享书名:金字塔原理章节:第五章 演绎推理与归纳推理金字塔的构成有三种逻辑关系:向上、向下和横向。上一层思想是对下一层思想的总结和概况,也就是结论先行,以上统下;下一层思想是对上一层思想的解释和支持,也就是逻辑递进,抽丝剥茧;本章介绍的演绎推理和归纳推理,则是同一层思想之间的组织逻辑。书中介绍的两种方式十分有趣,特此记录,以供拾遗。有趣但不适合商业行文的方式:演绎推理,指的是人们以一定的反映客观规律的理论认识为依据,重复从已知部分推向未知部分的思维方式。其思维方式有一个明显的特征,推理原创 2021-12-31 11:12:32 · 373 阅读 · 0 评论 -
【学习笔记】数据库连接池学习
1、由于程序创建和数据库的连接需要开销(JDBC的创建一个Connection),数据库连接池用于存放这些连接,以供应用程序使用。使用完毕之后,重新把连接放进连接池。2、常见的数据库连接池竞品有阿里的Druid和Hibernate、Spring使用的c3p0。3、数据库连接池在整个调用链路中耗时不大,性能关键有两点:LRU缓存算法:LRU是Least Recently Used算法。存在一个有限长的链表,新加入的元素放置于表头,命中缓存的元素会移动到表头。表尾移出的元素被废弃。 PSCache原创 2020-12-28 11:14:48 · 140 阅读 · 0 评论 -
【学习笔记】单例模式
饿汉模式,即认为单例对象在单例所在的类初始化时即实例化了。因此无论该单例对象是否真正的被调用,都会进行实例化。实例化的操作放在静态变量或者静态代码块中。public class HungrySingleton { private HungrySingleton(){}; private final static HungrySingleton hungrySingleton = new HungrySingleton(); public static HungrySin原创 2020-10-16 14:55:47 · 74 阅读 · 0 评论 -
【学习笔记】多线程学习笔记
1、线程开启后并不会立即执行,由CPU来分配。2、并行不一定比串行更快,要注意上下文切换和锁的开销。3、Callable可以定义返回值,可以抛出异常。4、Runnable接口使用静态代理。Thread类本身就实现了Runnable接口。将实现了Runnable接口的线程类的实例作为参数传入Thread的构造方法中,将成为一个代理对象target并由Thread类实例代理。执行Thread实例的start方法,实际执行的就是线程类的run方法。5、扩展,创建线程时,使用Lamda表达式来替代匿名内原创 2020-10-16 14:03:55 · 163 阅读 · 1 评论 -
【学习笔记】使用idea对服务器上的微服务进行远程Debug
由于办公机器上本地启动的微服务有可能无法完全和服务器环境一致,故有时需要直接对服务器上的服务直接远程Debug,记录一下以供拾遗。前提:确定办公机器访问服务器的防火墙权限无问题(本例使用9999端口作为远程连接端口)1、点击'+'号,创建一个Remote启动项;2、指定需要远程连接的服务器,端口;3、复制JVM启动参数。4、在服务器上,使用此处复制的JVM启动参数启动服务;5、在idea中启动remote debug。提示:Connected to the target原创 2020-09-01 14:40:41 · 1199 阅读 · 0 评论 -
【学习笔记】Logback及Appender相关生命周期
在做项目时,发现自定义的logback的Appender的start方法执行的时机非常的靠前,在Spring框架注入bean之前就完成了。问了一下公司的架构师,start方法的执行时机有两类情况,第一种是服务启动的时候,也就是刚刚提到的时机。第二种是服务触发了logback的刷新机制,找到了spring-cloud-commons项目下的源码,如下:private void reinitializeLoggingSystem(ConfigurableEnvironment environmen原创 2020-08-05 14:44:16 · 441 阅读 · 0 评论 -
Mybatis缓存学习笔记
基于针对Mybatis缓存的学习笔记,以供拾遗。Mybatis的缓存分为一级缓存和二级缓存。一级缓存基于SqlSession实现,默认开启且不能关闭,只能调整级别。二级缓存基于Mapper实现,本次学习主要关注二级缓存。Mybatis的缓存基于JVM堆内存实现,所有的缓存数据存放于Java对象中。开启Mybatis缓存的步骤:1) Mybatis主配置文件指定cacheEnabled属性为true<settings> <setting name="cach原创 2020-08-05 10:11:52 · 139 阅读 · 0 评论