摘要: 1.spring的话(轻量级框架,用户需要什么功能就自己添加相应的功能模块,其中自带的两大核心模块:springaop和springioc) spring框架给项目带来的好处: 1,动态解耦,方便开发 将对象之间的依赖关系交给spring进行管理,避免代码与代码之间的过度耦合 2,方便集成各种优秀的 阅读全文
posted @ 2020-03-22 18:14 whhhd 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 总体来说 关键点在于把DataSource(数据源)配置到spring容器中,通过数据源获取数据库连接对象 数据库连接池(pool):管理数据库连接对象 1 Spring与jdbc结合 jdbc编程不变,主要是Connection对象的维护,即配置并使用数据源(jdk规范的数据源,dbcp的数据源, 阅读全文
posted @ 2020-03-22 18:09 whhhd 阅读(165) 评论(0) 推荐(0) 编辑
摘要: SpringMVC介绍:是一种架构的模型,本身不引入新功能,只是帮助我们将开发的代码结构,组织的更加合理(都是请求驱动,发一次请求进行一次刷新) Model(模型) 数据模型:提供要展示的数据,包含数据和行为,行为用来处理数据 View(视图) 负责进行模型的展示(jsp) Controller(控 阅读全文
posted @ 2020-03-22 18:04 whhhd 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 1.springdata: 是spring的一个子项目,用于简化数据库访问,支持NoSQL和关系数据库存储,使数据库访问变得更加快捷. 是 Spring 基于 ORM 框架、JPA 规范的基础上封装的一套 JPA 应用框架,可使开发者用极简的代码即可实现对数据的访问和操作。 源码分析:通过反射对象上 阅读全文
posted @ 2020-03-22 18:01 whhhd 阅读(740) 评论(0) 推荐(0) 编辑
摘要: 1.springboot的直接效果 快速构建项目,完成配置 1)继承的父项目 可以使用<properites></properties>进行微调 2)引入starter 一个starter中包含了很多jar包 在dependency标签中加入exclusions标签可以剔除此依赖中不想加载的jar包 阅读全文
posted @ 2020-03-22 17:48 whhhd 阅读(263) 评论(0) 推荐(0) 编辑
摘要: aop:面向切面编程(分为代理类和目标类) 需求:把原本要放一起运行的代码由于不符合设计 对他们进行进行解耦,在运行时在动态的结合在一起. 核心原理:就是利用了(默认为)jdk的动态和cglib的动态代理 动态代理分为:dynamic和cglib <bean name="beforeAdvice" 阅读全文
posted @ 2020-03-22 17:38 whhhd 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 1.子系统的分布式部署和集群部署 集群:同一个业务部署到多个服务器上,也叫水平部署 分布式:一个业务拆分为多个子业务,部署在不同的服务器上(垂直的) 2.引入SOA架构: SOA 代表面向服务的软件架构,将应用程序根据不同的职责划分为不同的模块, 不同的模块之间通过特定的协议和接口进行交互。这样使整 阅读全文
posted @ 2020-03-22 17:31 whhhd 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 完全二叉树:(子节点必须是从左至右都存在,不能是中间缺少) 关于根据总节点数求子节点数:(节点的度表示节点拥有的子节点数) n(总节点数) = N0(表示度为0的节点) + N1(表示度为1的节点) + N2(表示度为2的节点) 根据度来得到所有的节点数 n(总节点数) = 1 + N1(表示度为1 阅读全文
posted @ 2020-03-22 15:42 whhhd 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 1.B-Tree树的介绍: 1)是一种适用于外查找的树,它是一种平衡的多叉树,称为B树 2)一颗M阶B-Tree具有的特性: 1)如果根结点不是叶子结点的话,那么它的子结点数至少为2 2)除结点与叶子结点外,其他结点的孩子数为[ceil(m/2),m]个,ceil函数表示向上取整数 3)所有叶子结点 阅读全文
posted @ 2020-03-22 15:40 whhhd 阅读(768) 评论(0) 推荐(0) 编辑
摘要: 分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。即一种分目标完成程序算法,简单问题可用二分法完成。记住时间算法度 是指代码要执行的次数,取最高次方,去除系数1)比较排序: 1.选择排序 n + n-1 + 阅读全文
posted @ 2020-03-22 15:38 whhhd 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 1.private修饰的方法可以通过反射访问,那么private的意义是什么 private只是在oop(Object Oriented Programming)编程中起约束作用,体现了封装性,外部对对象进行常规调用时能够看到清晰的类结构 java也有专门的安全管理器SecurityManager禁 阅读全文
posted @ 2020-03-22 15:13 whhhd 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 1.线程优先级别高的一定会先执行吗? 不一定,因为线程的执行需要准备资源,而抢占资源cpu也只是给线程优先级高的多一点机会 也需等当前线程用完资源才可 2.volatile如何保证有序性 volatile关键字禁止指令重排序有两层意思: 1)当程序执行到volatile变量的读操作或者写操作时,在其 阅读全文
posted @ 2020-03-22 14:24 whhhd 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 一.内存模型的相关概念(高速缓存是每个线程特有的,也称本地缓存) 大家都知道,计算机在执行程序时,每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据的读取和写入。 由于程序运行过程中的临时数据是存放在主存(物理内存)当中的,这时就存在一个问题,由于CPU执行速度很快,而从内存读取数据和向 阅读全文
posted @ 2020-03-22 14:21 whhhd 阅读(1795) 评论(0) 推荐(0) 编辑
摘要: 第一,记住wait必须要进行异常捕获,否则编译时会抛出 InterruptedException异常 第二,记住调用wait或者notify方法必须采用当前锁调用,即必须采用synchronized中的对象,否则抛出IllegalMonitorStateException 这样子为了线程同步,需要获 阅读全文
posted @ 2020-03-22 14:11 whhhd 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 1.程序次序规则:一个线程内,按照代码顺序,书写在前面的操作先行发生于书写在后面的操作 一段程序代码的执行在单个线程中(看起来)是有序的,因为虚拟机可能会对程序代码进行指令重排序。虽然进行重排序,但是最终执行的结果是与程序顺序执行的结果一致的,它只会对不存在数据依赖性的指令进行重排序,事实上,这个规 阅读全文
posted @ 2020-03-22 14:09 whhhd 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 一.集合与数组的区别 集合不是固定长度,和固定存放数据类型的, 数组只能存放统一的数据类型的数据,且长度是固定的 二.集合是什么(java集合存放在java.util包中,用来存放对象的容器) 注意: 1.集合只能存放对象,基本数据类型进集合都会自动转换为包装类 2.集合存放的是对象的引用,对象本身 阅读全文
posted @ 2020-03-22 14:02 whhhd 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 一.类加载过程 类从被加载到虚拟机内存中开始,到卸载出内存为止, 它的整个生命周期包括:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)和卸载(Unloading)7个阶 阅读全文
posted @ 2020-03-22 13:49 whhhd 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 1.程序计数器:指向当前线程执行的字节码指令文件的地址和行号 为了在cpu将线程挂起,进行线程切换时,能够记录当前线程的执行进程,正确安全的执行完.2.虚拟机栈:(存储当前线程运行的方法的栈帧,只有等方法执行完栈帧才会出栈) 测试看在同一给方法中的多个方法. 用来执行对应的方法所需的数据,通过对方法 阅读全文
posted @ 2020-03-22 13:04 whhhd 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 一.java程序的具体执行过程: 1.java源文件会被java编译器编译成字节码文件 2.然后由jvm中的类加载器加载各个类的字节码文件 3.加载完后,由jvm的执行引擎执行 备注:在执行的过程中jvm一段空间来存储数据:运行时数据区,也称jvm内存 二.根据jvm规范,jvm把内存划分为了如下几 阅读全文
posted @ 2020-03-22 12:41 whhhd 阅读(133) 评论(0) 推荐(0) 编辑