
技术概念
|正心|
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
B+树小结
当磁盘读写成为了性能瓶颈,势必要优化存储结构以提升磁盘读取效率。在平衡树(AVL)的基础上衍生,但B+树加大了每个节点的分支数量,大大减少了树的高度,使得读取key(索引)链路更短,减少磁盘读取次数,从而减少I/O时间。设B+树为M叉树,则- 数据存储在叶节点,非叶节点至多存储M-1个key;- 根节点的子节点数量2~M;- 除根外的非叶节点的子节点数量在M/2~M,由磁盘区块大小及存储的key的大小决定;- 所有叶节点深度相同,数据项为L/2~L,由磁盘区块大小及存储的数据项大小决定。原创 2022-01-26 18:04:31 · 331 阅读 · 0 评论 -
java 泛型简记
java 泛型简记:用尖括号(<>)指定,可以指定多个泛型<T, R>,可以指定继承的基类;泛型方法、泛型类原创 2022-01-17 15:54:52 · 255 阅读 · 0 评论 -
内存双通道与Java中的Channel
双通道内存:指在北桥(又称之为MCH)芯片级里设计两个内存控制器,这两个内存控制器可相互独立工作,每个控制器控制一个内存通道。在这两个内存通CPU可分别寻址、读取数据,从而使内存的带宽增加一倍,数据存取速度也相应增加一倍(理论上)。*北桥:与南桥对应,负责高速信息处理,如CPU,存储器(内存),PCI,高速端口等。*南桥:处理低速信号,主要指外设如键盘、音频、usb、网络等。*总线:hot bus,指系统共用通信干线。*PCI总线:局部总线,比如负责北桥与显卡通信的PCI总线。Ch.原创 2021-04-30 00:37:28 · 340 阅读 · 1 评论 -
子网掩码 简单表述
直接目的:划分子网,减少IP地址独占所带来的浪费。比如某个B类网络,只有300台主机,若不划分子网,其将独占 2^16 -2 = 65534个IP地址。子网计算:IP和子网掩码的二进制数据进行逻辑“与”运算,即得到子网号。以C类网络(ABCDE五类网络定义请自行百度)为例,如 222.222.222.30,其默认子网掩码为 255.255.255.0,现在欲将其平均划分为4个子网,则其子网掩码应为:2^7 + 2^6 = 192,因其二进制数据为:IP地址 (省略前24位) 0001 ...原创 2020-08-04 17:04:22 · 418 阅读 · 0 评论 -
Java 类加载机制 简结
一、类加载过程: 加载(loading) -> 链接(linking) -> 初始化(initialization)其中链接又分为三个小部分:验证(verification) -> 准备(preparation) -> 解析(resolution)Ⅰ 加载(loading)将class文件读入内存,并为之创建一个java.lang.Class对象。这一步由类加载器完成,一般由JVM提供,也可以继承ClassLoader实现自己的类加载器。需要注意的是,并不是所有的类都是.原创 2020-08-04 17:02:09 · 143 阅读 · 0 评论 -
Java 接口 抽象类 简记
接口声明:interface (默认具有abstract)变量:-不包含成员变量 (除非static final 声明) -因为没有实例方法,因此也没有局部变量方法:-只有方法声明,没有方法体 (默认public 和abstract) -没有构造方法特殊:接口可以多继承!抽象类声明: abstract (特殊的类)变量:-遵守普通类的规则方法:-与普通类相同,但可以有 抽象方法特殊:不能...原创 2020-08-04 16:43:46 · 92 阅读 · 0 评论 -
常用设计模式 精简总结
创建型模式工厂模式:创建工厂接口类(规范),子类(工厂)实现业务。抽象工厂模式:工厂的创建由子类决定,其子类的子类实现业务。(也称为超级工厂模式)单例模式:系统中保持一个实例,实例方法私有,公开全局访问方法。 -[懒汉式]: 获取实例对象时再实例化。加锁的实例化线程安全,但影响性能。 -[饿汉式]: 类加载时即实例化。线程安全。但可能产生不需要的垃圾对象。 -[双检锁]: 被实例化的对象加volatile关键字,并且实例化加锁。线程安全。...原创 2020-08-04 16:39:25 · 3278 阅读 · 0 评论 -
Struts 2 简记
struts 2由Apache 软件基金会(ASF)赞助的一个开源项目,基于Java Servlet、JSP以及Custom Tag Library 等技术,实现了mvc设计模式的应用框架。参考链接struts2 教程struts2 结构示意图*********************简单项目实例 ********************项目结构struts项目结构web.xml 简单配置<display-name>Hell...原创 2020-08-04 16:30:41 · 132 阅读 · 0 评论 -
hibernate 示例项目简记
概述一种对象关系映射(Object Relational Mapping)框架,专注于Java对象与关系型数据库之间的映射,助力开发者实现数据持久化。参考链接hibernate框架教程特点反射实现相关对象/概念org.hibernate.SessionFactory 生成org.hibernate.Session的工厂,数据源代理,多数据源须配备多个工厂org.hibernate.Session应用程序和持久化存储介质之间的一个单线程、短周期的轻量级会话对象持久化对...原创 2020-08-04 11:54:22 · 150 阅读 · 0 评论 -
Java 函数式编程 浅结
参考链接Java 函数式编程基本概念函数式接口:只含有一个抽象方法的接口。@FunctionalInterface 接口声明:表示这是一个函数式接口,修改接口时编译器将会检查是否符合函数式接口规则。方法引用: 形如构造器方法引用 Customer::new 或者普通方法 customer::pay (前面Customer是Java类,后者customer是实例),这种写法被称为方法引用。方法引用遵循一般方法调用规则(构造器方法引用固定为::new),如 静态方法可以直...原创 2020-08-03 16:58:31 · 117 阅读 · 0 评论 -
mybatis 简记
概念mybatis 一种“半自动化”的ORM(Object Relational Mapping,对象关系映射)实现。需要手动配置映射文件以实现数据库中的数据和java对象间的映射。参考文章mybatis 框架mybatis 结构mybatis 运行示意************************* 简单项目 ***************************项目结构maven配置 - pom.xml&l...原创 2020-08-03 16:39:39 · 215 阅读 · 0 评论 -
TCP/IP 网络协议 简记
参考文档TCP/IP网络协议TCP/IP 协议**************************** 常见协议****************************IP(Internet Protocol,网际协议)【网络层】IP 负责计算机之间的通信。IP 负责在因特网上发送和接收数据包。ICMP(Internet Control Message Protocol,因特网消息控制协议)【网络层】ICMP 负责网络中的错误处理。IGMP(Internet Gr...原创 2020-08-03 16:16:11 · 326 阅读 · 0 评论 -
TCP 连接(三次握手)与断开(双向断开)
参考文档TCP连接的建立与释放TCP创建连接:三次握手TCP创建连接:三次握手所谓的三次握手,其实是客户端与服务器间的三次数据交互。其中,前两次握手的报头控制位SYN=1(表示双方都同意建立连接),后两次握手ACK=1(除第一次握手,随后所有的请求ACK均为1,包括之后的数据请求)。TCP断开连接:双向断开TCP断开连接:双向断开u - 客户端发送的最后1字节的编号v - 服务器发送的最后1字节的编号w - 半开半闭状态服务器发送的最后1字节的编号...原创 2020-08-03 16:10:05 · 364 阅读 · 0 评论 -
一图看懂 spring bean 的生命周期
生命周期无非三个阶段:生成、存续、销毁注:容器关闭:容器指的是 ApplicationContext 容器。aware容器参数:aware 了解、明白之意,在该阶段,可以设置或获取比如beanName(即bean id)、BeanFactory、ApplicationContext.init-method:如果使用 xml 配置文件来配置bean,可以自定义bean的 init-method.destroy-method:同 init-method 释义。...原创 2020-08-03 16:02:41 · 136 阅读 · 0 评论 -
面向切面的另一种理解:面向过程
面向切面总是听起来很抽象,而且像把数据验证也算作切面上的一层,总觉得有些牵强,但是如果根据程序线性执行的原则,可以把各层抽离开来,重新排布成下面这种面向过程的图案:面向过程如图所示,我们可以在不同的方法执行过程中,找到具有相同需求、执行相同任务的步骤,因此可以抽出这些相同的部分,全局配置,进行一次开发,到处运行,而不是手动编码或者重复引用,从而解除耦合,减少代码维护成本。在实际编程中,总会遇到各种不同需求,代码本身的或者业务的。在项目达到一定规模,有必要针对各类重复开发或引用方法的地方,.原创 2020-08-03 15:55:50 · 190 阅读 · 0 评论 -
java 线程池简记
参数配置:-corePoolSize:核心线程数。默认创建后一直存在,可以设置为超时销毁。-queueCapacity:任务队列容量。核心线程已满时,任务将被加入队列。-maxPoolSize:最大线程数。当线程数超过核心线程数且队列已满,将开启新线程。若达到最大线程数,将抛错并拒绝处理任务。-keepAliveTime:即允许的线程空置时间。-allowCoreThreadTimeout:允许核心线程超时。即允许核心线程在等待一段时间后销毁。线程池图解四大经典...原创 2020-08-03 15:49:41 · 131 阅读 · 0 评论 -
Java Servlet 简记
定义:介于客户端请求与后台数据处理之间的中间层。生命周期:用户第一次请求时执行一次init() 创建servlet对象,之后请求不再创建,不同用户产生新的线程,最后容器销毁之前执行一次 destory()。过滤器:实现 javax.servlet.Filter。过滤器执行顺序:按照 web.xml中 filter-mapping 排列顺序。异常捕获:error-page 中定义 错误码或错误类型 与 对应的请求路径(location)。cookie: 实例化cookie对象,设置内容与过期时原创 2020-08-03 15:36:34 · 123 阅读 · 0 评论