03 2022 档案

摘要:先看下二叉搜索树的概念: 二叉搜索树(binary search tree)或者是一棵空树,或者是具有下列性质的二叉树: (1)每个结点都有一个作为搜索依据的关键码(key),所有结点的关键码互不相同。 (2)左子树(如果存在)上所有结点的关键码都小于根结点的关键码。 (3)右子树(如果存在)上所有 阅读全文
posted @ 2022-03-30 06:20 方山客 阅读(175) 评论(0) 推荐(0) 编辑
摘要:“Write Once,Run anywhere. ”这是Java刚诞生时的口号,于是Java通过虚拟机加+class文件实现了这个目标。另外,JVM设计者曾承诺过要让其它语言也能像Java一样在JVM运行。当Java发展到JDK1.7~1.8的时候,JVM设计者通过JSR-292基本兑现了这个承诺 阅读全文
posted @ 2022-03-23 17:27 方山客 阅读(61) 评论(0) 推荐(0) 编辑
摘要:定位问题,知识、经验是关键,数据是依据,工具是运用知识处理数据的手段。这里说的数据包括:运行日志、异常堆栈、GC日志、线程快照(threaddump/javacore文件)、堆转储快照(heapdump/hprof文件)等 一、工具 1. JDK命令行工具(大多是jdk/lib/tols.jar的封 阅读全文
posted @ 2022-03-23 10:32 方山客 阅读(40) 评论(0) 推荐(0) 编辑
摘要:一、垃圾回收机制 Java判断对象是否存活使用了可达性分析算法,也就是以一系列“GC Roots”对象作为起始点,从这些节点向下搜索,如果从GC Roots到这个对象不可达,则证明此对象不可用。 1. 可以作为GC Roots的对象包括: 虚拟机栈(栈帧中的本地变量表)中引用的对象 方法区中类静态属 阅读全文
posted @ 2022-03-23 01:49 方山客 阅读(53) 评论(0) 推荐(0) 编辑
摘要:参考书籍《C++11工程级应用》第16章 事件驱动设计在服务器开发中非常流行,其中常见的有两种:反应器(Reactor)和主动器(Proactor) 1. 反应器 反应器需要应用程序先注册事件处理器,然后启动反应器的事件循环,不断地检查是否有就绪地I/O事件,当有就绪事件时,同步事件多路分解器将会返 阅读全文
posted @ 2022-03-22 15:52 方山客 阅读(219) 评论(0) 推荐(0) 编辑
摘要:参考书籍《nginx完全开发指南:使用C、C#和OpenResty》 PS:这里的分类只是依据模式在Nginx里的应用的层次,模式本身应用并无限制。即使这样,这种划分也不一定精准,有的模式可能跨越两个层次。所以这样的分类只是方便理解和阅读。另外,GoF设计模式原本是用来描述面向对象开发中遇到的场景的 阅读全文
posted @ 2022-03-22 11:30 方山客 阅读(398) 评论(0) 推荐(0) 编辑
摘要:推荐从事网站开发尤其是交易系统开发的同学阅读《亿级流量》这本书,作者是京东的前辈张开涛。 这本书的开头就让人耳目一新的感觉: “ 好的设计很重要,但不要过度设计,要从迭代中完善系统。 在设计系统时,应该多思考墨菲定律。 在系统划分时,也要思考康威定律。 多思考二八定律。” 书上第一章结尾有两个思维导 阅读全文
posted @ 2022-03-21 22:05 方山客 阅读(111) 评论(0) 推荐(0) 编辑
摘要:一、运行时数据区域 PS:jdk1.8中内存区域有所不同,方法区变成了元数据区。这里为了更好的理解jdk1.7到jdk1.8的变化,仍然先去学习书中所讲的版本。作图工具:Office Excel 1. 程序计数器 可以看作是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里,字节码解释器工作时 阅读全文
posted @ 2022-03-20 01:50 方山客 阅读(32) 评论(0) 推荐(0) 编辑
摘要:《深入理解JVM》想必在座的同学并不陌生,几乎所有java从业人员都看过这本书。书是好书,当得起“深入理解”四个字,但是事实上很多读者看完后却并没有真正“深入理解”。就拿我来说吧,最近参加了几场面试,为了显得我很厉害,简历上很不要脸地写着“深入理解JVM”。结果一次次被面试官暴捶,甚至有一次面试官直 阅读全文
posted @ 2022-03-19 21:57 方山客 阅读(50) 评论(0) 推荐(0) 编辑
摘要:第二章都是计算机基础知识,软考教程对于这部分讲得很简单,我看完后稍微总结了下。以后如果做题发现这里讲得不够,我会补充。 一、操作系统基础 1. 处理机与进程管理 进程是资源分配和独立运行的基本单位。进程通常由程序、数据及进程控制块(PCB)组成。PCB描述了进程的基本情况,是进程存在的唯一标识。 1 阅读全文
posted @ 2022-03-19 10:01 方山客 阅读(451) 评论(0) 推荐(0) 编辑
摘要:本篇内容主要是我阅读完教程第一章后的总结。这章内容较为简单,但是也很重要,算是一个指南。今后的学习过程甚至整个架构师生涯,我将会经常回过头来以这里定义的一些标准作为对照。 一、系统架构概念 1. 现代信息系统“架构”继承古代文明架构思想的三要素:构件、模式、规划。规划是架构的基石。 2. 软件架构, 阅读全文
posted @ 2022-03-19 09:32 方山客 阅读(732) 评论(0) 推荐(0) 编辑
摘要:一、SpringBoot2.x 默认连接池 HikariCP简单配置 现在国内用的最多的数据库连接池无疑是druid,因为它的监控功能实在太好用了,另外性能、稳定性、社区活跃度等各方面几乎没啥大的缺点。我们公司自然也是用的druid,这导致我一直没意识到springboot默认的连接池的存在。直到今 阅读全文
posted @ 2022-03-18 01:57 方山客 阅读(2552) 评论(0) 推荐(0) 编辑
摘要:1. @SpringBootApplication 使用@AliasFor注解定义了4个参数,分别是"exclude","excludeName","basePackages","basePackagesClasses" exclude指定不扫描的类,比如 @SpringBootApplicatio 阅读全文
posted @ 2022-03-16 08:06 方山客 阅读(1858) 评论(0) 推荐(0) 编辑
摘要:1. 斐波那契数列 这似乎是一个老生常谈的题目 在古老的年代,天地间诞生了一个会自己增长的数列。大地赐予它生命,告诉它1为万物之始。天空则传授了它数列增长之道,告诉它永远以前一刻的自己为基石,方可不断超越自我,实现数列之永恒。于是这个数列就这样开始了它艰辛的增长之路,1,1,2,3,5,8,13,2 阅读全文
posted @ 2022-03-14 23:41 方山客 阅读(304) 评论(0) 推荐(0) 编辑
摘要:1. show status 和 show innodb status 的区别 show status 可以查看mysql的运行状态,执行后发现查询结果多达几百行,我们可以从中获取许多常用信息,比如运行时间、连接、线程、锁、慢查询、buffer池等 具体使用可以查看官方文档 MySQL :: MyS 阅读全文
posted @ 2022-03-14 18:06 方山客 阅读(62) 评论(0) 推荐(0) 编辑
摘要:2022.3.13 启动自己搭建的小型springboot项目,发现控制台打印这么一条info日志: No active profile set, falling back to default profiles: default 这个profile支持我们在不同的环境使用不同的配置,相信小伙伴在平 阅读全文
posted @ 2022-03-13 10:17 方山客 阅读(36) 评论(0) 推荐(0) 编辑
摘要:mysql版本:5.7.36 操作系统:win10 工具:navicat 本文讲到的存储引擎:MyISAM、InnoDB 打开一个已经创建好的数据库,将表名展开,右键某一个表名,选择”设计表“。点击”选项“这一栏目,发现第一行就是”存储引擎“下拉选择框。我们从下拉框可以看到mysql都支持哪些存储引 阅读全文
posted @ 2022-03-11 15:12 方山客 阅读(99) 评论(0) 推荐(0) 编辑
摘要:本人之前所在单位使用的中台系统即为传统的SpringCloud架构,项目是很多年前搭建的,版本较为老旧,基于SpringBoot 1.5.3,SpringCloud Dalston.SR1。目前这个项目即将停止维护,以后会被新的项目替代。由于公司的项目不方便细讲,我在github上找了个类似架构的项 阅读全文
posted @ 2022-03-10 23:21 方山客 阅读(139) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示