03 2022 档案

摘要:CAS原理解析 1、CAS基本概念 CAS(Compare And Swap)也叫做比较与交换,是一种无锁原子算法,映射到操作系统就是一条cmpxchg硬件汇编指令,通过硬件命令保证了原子性。其作用是让CPU将内存值更新为新值,但是有个条件,内存值必须与期望值相同。CAS操作无需用户态和内核态切换, 阅读全文
posted @ 2022-03-27 17:30 紫薇哥哥 阅读(987) 评论(0) 推荐(1) 编辑
摘要:Java中的锁 java中的锁主要用于保障线程在多并发情况下数据的一致性,即多次执行过程中,线程的执行顺序都不相同,但最终的结果始终相同。 通常在使用对象或者调用方法之前加锁,这时如果有其他线程也需要使用该对象或者该方法,则首先要获得锁,如果某个线程发现锁已经被其它线程使用,就会进入锁池(Lock 阅读全文
posted @ 2022-03-27 17:28 紫薇哥哥 阅读(83) 评论(0) 推荐(0) 编辑
摘要:数据结构 数据结构指数据的存储、组织方式。 数据结构 优点 缺点 栈 顶部元素插入和取出快 除顶部元素外,存取其他元素都很慢 队列 顶部元素取出和尾部元素插入快 存取其他元素都很慢 链表 插入和删除都快 查找慢 二叉树 插入、删除、查找都快 删除算法复杂 红黑树 插入、删除、查找都快 算法复杂 散列 阅读全文
posted @ 2022-03-27 17:05 紫薇哥哥 阅读(1514) 评论(0) 推荐(1) 编辑
摘要:学习地址:红黑树(一)之 原理和算法详细介绍 - 如果天空不死 - 博客园 (cnblogs.com) 红黑树(Red-Black Tree) 红黑树(Red Black Tree)是一种自平衡二叉查找树。红黑树的每个节点上都有存储位表示节点的颜色,可以是红或黑。在进行插入和删操作时通过特定操作保持 阅读全文
posted @ 2022-03-27 16:41 紫薇哥哥 阅读(43) 评论(0) 推荐(0) 编辑
摘要:Java源码解读(三)— HashMap深入理解之增删查改 学习地址:[HashMap深入理解之增删查改]: https://blog.csdn.net/dongmuyang/article/details/98751508 本文为Java 8源码解读,已有红黑树。 主要成员变量 // 存储键值对的 阅读全文
posted @ 2022-03-27 16:34 紫薇哥哥 阅读(46) 评论(0) 推荐(0) 编辑
摘要:1、HashMap简介 HashMap是在JDK1.2引入的Map的实现类 HashMap核心是散列表(Hash table,也叫哈希表) 散列表是根据关键码值(Key value)而直接进行访问的数据结构 整体框架:HashMap是基于哈希表实现的,底层是基于 数组+链表 组成的,每个元素是一个键 阅读全文
posted @ 2022-03-27 16:31 紫薇哥哥 阅读(62) 评论(0) 推荐(0) 编辑
摘要:四个构造方法 HashMap():构造一个空的 HashMap ,默认初始容量(16)和默认负载系数(0.75)。 HashMap(int initialCapacity):构造一个空的 HashMap,具有指定的初始容量和默认负载因子(0.75)。 HashMap(int initialCapac 阅读全文
posted @ 2022-03-27 16:19 紫薇哥哥 阅读(535) 评论(0) 推荐(0) 编辑
摘要:Java 线程的 5 种状态 线程状态图: 线程共包含以下五种状态: 1、新建状态(New):线程对象被创建后,就进入了新建状态,例如,Thread thread = new Thread(); 2、就绪状态(Runnable):也称之为“可执行”状态。线程对象被创建后,其它线程调用该对象的star 阅读全文
posted @ 2022-03-27 16:17 紫薇哥哥 阅读(542) 评论(0) 推荐(0) 编辑
摘要:简单的比喻:进程=火车,线程=车厢 进程:进程(process)是程序的一次动态执行过程,是一个正在执行的程序的实例。程序是指令、数据及其组织形式的描述,是一个没有生命的实体,只有处理器赋予程序生命时(操作系统执行它),它才能成为一个活动的实体,我们称其为进程。内存和寄存器对程序的执行十分重要。 线 阅读全文
posted @ 2022-03-27 15:59 紫薇哥哥 阅读(19) 评论(0) 推荐(0) 编辑
摘要:异常的产生与如何处理异常 产生过程(示例) 处理过程 JVM在程序执行过程中检测出程序会发生异常 (1)首先,JVM根据异常产生的原因创建一个异常对象,这个异常对象包含异常产生的内容、原因和位置; (2)然后,若当前方法中没有异常处理逻辑(try...catch),那么JVM就会把异常对象抛出给方法 阅读全文
posted @ 2022-03-27 15:55 紫薇哥哥 阅读(50) 评论(0) 推荐(0) 编辑
摘要:一、static关键字的用途 static可以用来修饰类的成员方法、类的成员变量,也可以编写static代码块来优化程序性能。 注意: 1、被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问 2、禁止在静态成员方法中访问非静态成员方法,但非静态 阅读全文
posted @ 2022-03-27 11:53 紫薇哥哥 阅读(57) 评论(0) 推荐(0) 编辑
摘要:![](https://img2022.cnblogs.com/blog/2663550/202203/2663550-20220327114425161-1358659141.jpg) 阅读全文
posted @ 2022-03-27 11:45 紫薇哥哥 阅读(37) 评论(0) 推荐(0) 编辑
摘要:![](https://img2022.cnblogs.com/blog/2663550/202203/2663550-20220327113350752-1532085021.png) 阅读全文
posted @ 2022-03-27 11:34 紫薇哥哥 阅读(10) 评论(0) 推荐(0) 编辑
摘要:java 关于锁的基础知识 1、synchronized作用于静态方法和非静态方法的区别 非静态方法:给对象加锁(可以理解为给这个对象的内存上锁,注意:只是这块内存,其他同类对象都会有各自的内存锁),这时候在其他一个以上线程中执行该对象的这个同步方法(注意:是该对象)就会产生互斥 静态方法: 相当于 阅读全文
posted @ 2022-03-27 11:29 紫薇哥哥 阅读(154) 评论(0) 推荐(0) 编辑
摘要:大小端定义 Java代码判断 思路:利用强制类型转换,获取大范围数的一部分数据,再分析获得的数据 int big = 0xFFFF0000; //0xFFFF0000,包含8个字节 short small =(short)big; //取递地址的4个字节 if(small==0xFFFF){ Sys 阅读全文
posted @ 2022-03-27 11:00 紫薇哥哥 阅读(33) 评论(0) 推荐(0) 编辑
摘要:Java的八种基本数据类型 序号 数据类型 字节数 默认值 取值范围 示例 1 byte (位) 1 0 -27 ~ 27-1 byte b = 10; 2 short (短整数) 2 0 -215 ~ 215-1 short s = 10; 3 int (整数) 4 0 -231 ~ 231-1 阅读全文
posted @ 2022-03-27 10:40 紫薇哥哥 阅读(100) 评论(0) 推荐(0) 编辑
摘要:学习地址:https://www.cnblogs.com/chenkeyu/p/8047811.html Redis分布式集群搭建 Redis集群架构图 上图蓝色为redis集群的节点;节点之间通过ping命令来测试连接是否正常,节点之间没有主区分,连接到任何一个节点进行操作时,都可能会转发到其他节 阅读全文
posted @ 2022-03-25 11:54 紫薇哥哥 阅读(40) 评论(0) 推荐(0) 编辑
摘要:学习地址:https://mp.weixin.qq.com/s/JD298UZ-1q8YuV5ft3RDWA 1、对象的实例化过程:类的加载与初始化 + 对象的初始化 对象的实例化过程是分成两部分:类的加载与初始化 以及 对象的初始化 一个子类要初始化需要先初始化父类 要创建类的对象实例需要先加载并 阅读全文
posted @ 2022-03-25 11:40 紫薇哥哥 阅读(112) 评论(0) 推荐(0) 编辑
摘要:学习地址:https://www.cnblogs.com/zupengliu/p/10802535.html 接口 jdk8之前 interface(接口)中可以定义 变量 和 方法,变量必须是public、static、final的**(公共静态常量),方法必须是public、abstract的( 阅读全文
posted @ 2022-03-25 09:46 紫薇哥哥 阅读(172) 评论(0) 推荐(0) 编辑
摘要:原文地址:http://www.cnblogs.com/waterystone/p/4920797.html AQS、抽象的队列式的同步器 AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用ReentrantLock/Semaphore/CountDownLatch 整 阅读全文
posted @ 2022-03-23 10:10 紫薇哥哥 阅读(52) 评论(0) 推荐(1) 编辑
摘要:僵尸进程 形成原因 僵死状态(Zombies)是一个比较特殊的状态; 当子进程退出并且父进程没有读取到子进程退出的返回代码时就会产生僵死(尸)进程; 僵尸进程会以终止状态保持在进程表中,并且会一直在等待父进程读取退出状态代码。 总的来说:子进程退出,父进程还在运行,父进程没有读取子进程状态,子进程进 阅读全文
posted @ 2022-03-22 21:34 紫薇哥哥 阅读(1103) 评论(0) 推荐(0) 编辑
摘要:count():统计表的行数,也就是统计记录行数 在SELECT检索语句中 COUNT(*)、COUNT(1)、COUNT(0) 统计 所有行数 COUNT(列名) 统计 指定列的非NULL的行数 COUNT(DISTINCT 列名) 统计 指定列中非NULL且不相同的行数 使用选择 COUNT(* 阅读全文
posted @ 2022-03-22 21:14 紫薇哥哥 阅读(270) 评论(0) 推荐(0) 编辑
摘要:GROUP BY 根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表 注意:select子句中的列名必须为分组列或列函数,列函数对于group by子句定义的每个组返回一个结果 GROUP BY子句之后使用HAVING子句,HAVING过滤组 可应用限定条件进行分组,以便系统仅对 阅读全文
posted @ 2022-03-22 20:45 紫薇哥哥 阅读(1146) 评论(0) 推荐(0) 编辑
摘要:通过Executors类提供的方法 1、newCachedThreadPool:创建一个可缓存的线程池,若线程数超过处理所需,缓存一段时间后会回收,若线程数不够,则新建线程 2、newFixedThreadPool:创建一个固定大小的线程池,可控制并发的线程数,超出的线程会在队列中等待 3、newS 阅读全文
posted @ 2022-03-22 15:42 紫薇哥哥 阅读(2550) 评论(0) 推荐(1) 编辑
摘要:分页查询 limit m,n 从m开始往后n条数据 select * from table_name limit 0,10; 阅读全文
posted @ 2022-03-22 15:06 紫薇哥哥 阅读(52) 评论(0) 推荐(0) 编辑
摘要:基本知识 TCP(Transmission Control Protocol,传输控制协议) 面向连接的协议,在收发数据前,必须和对方建立可靠的连接 一个TCP连接必须要经过 三次“握手” 才能建立起来 三次“对话”的目的:确保 通信双方 都 确认自己的 和 对方的发送和接收都正常 UDP(User 阅读全文
posted @ 2022-03-22 15:02 紫薇哥哥 阅读(364) 评论(0) 推荐(0) 编辑
摘要:Redis数据结构 ##1、String: **(底层:)**简单动态字符串(SDS,simple dynamic string),是可以修改的字符串,类似于Java中的ArrayList; **(为什么选用SDS?)**采用预分配冗余空间的方式来减少内存的频繁分配 **(扩容:)**当字符串长度小 阅读全文
posted @ 2022-03-21 09:05 紫薇哥哥 阅读(62) 评论(0) 推荐(0) 编辑
摘要:作用:让 调用线程 等待 被调用线程 结束之后,调用进程 才能继续运行 当在线程A中调用某个线程的join()方法时,这个方法会挂起调用线程A,直到被调用线程结束执行,调用线程A才会继续执行 英文翻译:当我们调用某个线程的这个方法时,这个方法会挂起调用线程,直到被调用线程结束执行,调用线程才会继续执 阅读全文
posted @ 2022-03-20 19:14 紫薇哥哥 阅读(24) 评论(0) 推荐(0) 编辑
摘要:1、Spring练习环境搭建 环境搭建步骤 实验步骤 1、导入css等静态资源 2、pom.xml导入坐标 阅读全文
posted @ 2022-03-20 18:01 紫薇哥哥 阅读(21) 评论(0) 推荐(0) 编辑
摘要:原因:因为Mark Word中使用4个bit记录对象的年龄,最大就是15 相关知识 Java对象存储在堆(Heap)内存中,一个Java对象包含 对象头、对象体和对齐字节; 对象的几个部分的作用: 1、对象头中的Mark Word(标记字)主要用来表示对象的 线程锁状态,还可以用来存放该对象的has 阅读全文
posted @ 2022-03-20 17:59 紫薇哥哥 阅读(150) 评论(0) 推荐(0) 编辑
摘要:Spring AOP 什么是AOP?通过动态代理完成,实现程序功能之间的松耦合 作用 在程序运行期间,在不修改源码的情况下 对 方法进行功能增强 优势 减少重复代码,提高开发效率,并且便于维护 底层实现:动态代理技术 实际上,AOP的底层是通过Spring提供的的动态代理技术实现的。在运行期间,Sp 阅读全文
posted @ 2022-03-20 17:40 紫薇哥哥 阅读(20) 评论(0) 推荐(0) 编辑
摘要:MVC工作原理 M:Model (完成业务逻辑 Service/dao/entity/) V:View (完成界面渲染 jsp/html) C:Controller (控制器->类似于CPU 接受请求->调用M->返回V) MVC工作原理图 SpringMVC SpringMVC与Spring的关系 阅读全文
posted @ 2022-03-20 16:47 紫薇哥哥 阅读(52) 评论(0) 推荐(0) 编辑
摘要:什么是ThreadLocal? ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。 测试代码: package com.javaBase.LineDistance; /** * 〈一句话功能简述〉; * 〈功能详 阅读全文
posted @ 2022-03-20 14:51 紫薇哥哥 阅读(49) 评论(0) 推荐(0) 编辑
摘要:缓存雪崩、缓存击穿、缓存穿透原因,解决方案? 缓存雪崩 由于设置缓存时,key都采用了相同expire,导致缓存在某刻同时失效,请求全部直到DB,DB瞬时负载过重而雪崩 解决方案 在原有失效时间基础上增加一个随机值,比如1~5分钟的随机,这样每个缓存的过期时间重复率就会降低,集体失效概率也会大大降低 阅读全文
posted @ 2022-03-20 09:48 紫薇哥哥 阅读(156) 评论(0) 推荐(0) 编辑
摘要:Redis的高并发和快速原因很多,总结为以下几点: 整体架构 Redis是 纯内存数据库,一般都是简单的存取操作,所以速度快(相对于读写磁盘,读写内存的速度就不是几倍几十倍了) Redis使用 非阻塞IO 与 IO多路复用 Redis采用 单线程的模型,减少了线程的上下文切换和竞争,也保证了每个操作 阅读全文
posted @ 2022-03-20 09:11 紫薇哥哥 阅读(167) 评论(0) 推荐(0) 编辑
摘要:查询性能更稳定;范围查找更方便 1、B+树的叶子节点存储数据,B树每个节点都存储数据,所以B树的查询性能不稳地,而B+树的每一次查找都是稳定的 2、B+树各个叶子节点是链式结构,可以通过链表遍历查找;而B树需要在叶子节点、中间节点上反复横跳 阅读全文
posted @ 2022-03-20 00:56 紫薇哥哥 阅读(66) 评论(0) 推荐(0) 编辑
摘要:五大数据类型 整数类型 N表示的是显示宽度,不足的用0补足,超过的无视长度而直接显示整个数字,但这要整型设置了 zerofill才有效 浮点数类型 decimal采用的是四舍五入;float和double采用的是四舍六入五成双 什么是四舍六入五成双? 就是5以下舍弃5以上进位,如果需要处理数字为5的 阅读全文
posted @ 2022-03-20 00:27 紫薇哥哥 阅读(65) 评论(0) 推荐(0) 编辑
摘要:JVM有哪些垃圾收集器? 图中展示了7种作用于不同分代的收集器,如果两个收集器之间存在连线,则说明它们可以搭配使用。虚拟机所处的区域则表示它是属于新生代还是老年代收集器。 新生代收集器(全部的都是复制算法) : Serial、ParNew、Parallel Scavenge 老年代收集器:CMS(标 阅读全文
posted @ 2022-03-19 20:13 紫薇哥哥 阅读(26) 评论(0) 推荐(0) 编辑
摘要:JDK 1.8 整体架构 由Node数组、单向链表、红黑树组成的,当我们初始化一个ConcurrentHashMap实例的时候,默认会初始化一个长度为16的数组,由于ConcurrentHashMap它的核心仍然是 哈希表,所以必然会存在哈希冲突的情况,所以,ConcurrentHashMap采用拉 阅读全文
posted @ 2022-03-19 19:37 紫薇哥哥 阅读(588) 评论(0) 推荐(0) 编辑
摘要:String类重写了equals()方法 Object的equals()方法,本意是比较两个对象的内存地址是否相同,准确地说,比较两个引用变量指向的地址是否相同 String重写后的equals()方法,则是来比较两个字符串是否“相同” equals()方法源码如下: 分析 先比较两个对象的内存地址 阅读全文
posted @ 2022-03-19 18:55 紫薇哥哥 阅读(192) 评论(0) 推荐(0) 编辑
摘要:Vi Vim三种模式 命令模式 1、光标移动操作 2、复制删除剪切粘贴 模式间切换 末行模式 编辑模式 进入方式 使用功能 1、代码着色 2、计算器的使用 扩展 https://www.bilibili.com/video/BV1Sp411o7Dx?p=40 https://www.bilibili 阅读全文
posted @ 2022-03-19 17:01 紫薇哥哥 阅读(28) 评论(0) 推荐(0) 编辑
摘要:Linux练习题 1 ~ 8 9 ~ 11 12 ~ 15 阅读全文
posted @ 2022-03-19 16:12 紫薇哥哥 阅读(25) 评论(0) 推荐(0) 编辑
摘要:Linux高级指令 1、hostname指令--读取服务器主机名 2、id指令--查看一个用户的基本信息 3、whoami指令--显示当前登录的用户名 4、ps -ef指令(重点)--查看服务器的进程信息 ps -ef | grep 进程名称(100%使用) 5、top命令--查看服务器占的资源 6 阅读全文
posted @ 2022-03-19 16:00 紫薇哥哥 阅读(149) 评论(0) 推荐(0) 编辑
摘要:Linux进阶指令 1、df指令--查看磁盘空间 df df -h -h 以可读性较高的形式 2、free指令--查看内存使用情况 3、head指令--查看一个文件的前n行,如果不指定n,则默认显示前10行 4、tail指令--查看一个文件的后n行,如果不指定n,则默认显示最后10行 作用1:查看文 阅读全文
posted @ 2022-03-19 14:56 紫薇哥哥 阅读(50) 评论(0) 推荐(0) 编辑
摘要:Linux基础指令 前言 1、ls命令--列出指定路径下所有文件/文件夹 2、pwd命令--打印当前工作目录 3、cd命令--切换目录 4、mkdir命令--创建目录 5、touch命令--创建文件 6、cp命令--复制文件/文件夹到指定位置 7、mv命令--移动/剪切文档到新的位置 8、rm命令- 阅读全文
posted @ 2022-03-19 12:35 紫薇哥哥 阅读(36) 评论(0) 推荐(0) 编辑
摘要:不足:MyBatis(持久层框架) 1、Java中final、finally、finalize的区别与用法 1.简单区别: final用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。 finally是异常处理语句结构的一部分,表示总是执行的一段代码 finalize是Objec 阅读全文
posted @ 2022-03-18 17:42 紫薇哥哥 阅读(79) 评论(0) 推荐(0) 编辑
摘要:一面 1、static关键字:类成员,代码块、静态内部类、静态导包 2、ThreadLocal是什么? 线程的局部变量,当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本 从 阅读全文
posted @ 2022-03-18 17:20 紫薇哥哥 阅读(26) 评论(0) 推荐(0) 编辑
摘要:1、自我介绍 姓名、教育经历、项目经理、个人荣誉、专业知识 2、项目 将手机端实时采集到的BLE数据包转化成指纹序列,利用实时数据生成的指纹序列,识别出用户当前所处的位置 3、面向对象的理解 面向对象:基于”万物皆为对象“的思想,类比于对自然界各种事物进行分类,而某一类别的每一个事物是这个类别中的一 阅读全文
posted @ 2022-03-18 15:54 紫薇哥哥 阅读(64) 评论(0) 推荐(0) 编辑
摘要:1、什么是Spring? 广义上的 Spring 泛指以 Spring Framework 为核心的 Spring 技术栈 狭义上的 Spring 特指 Spring Framework,也称它为 Spring 框架,具有 IOC 和 AOP的特性 2、Spring框架有哪些组成部分,作用是什么? 阅读全文
posted @ 2022-03-18 11:21 紫薇哥哥 阅读(35) 评论(0) 推荐(0) 编辑
摘要:背景知识 原始jdbc操作(查询操作) 1、注册驱动 2、获取连接 3、获得statement 4、执行查询,获得结果集 5、遍历结果集 5.1、封装实体 5.2、完成封装 6、释放资源 原始jdbc操作(插入操作) 1、模拟实体类 2、注册驱动 3、获取连接 4、获得statement 5、设置占 阅读全文
posted @ 2022-03-18 11:12 紫薇哥哥 阅读(39) 评论(0) 推荐(0) 编辑
摘要:不足: 1、JVM垃圾回收、Gc Roots、垃圾回收器 2、HashMap如何实现线程安全; 3、数据库引擎,聚集索引和非聚集索引 4、CAS操作:cmpxchg 1、Java内存结构:五大组成: 线程共享:方法区、堆; 线程私有:虚拟机栈、本地方法栈、程序计数器 (Java内存模型;为了屏蔽不同 阅读全文
posted @ 2022-03-18 08:27 紫薇哥哥 阅读(34) 评论(0) 推荐(0) 编辑
摘要:代理模式:一种结构型设计模式;指的是给某一个对象提供一个代理,并由代理对象来控制对真实对象的访问 分类:根据字节码的创建时机来分类,可以分为 静态代理 和 动态代理 静态代理:在程序运行前就已经存在代理类的字节码文件,代理类 和 真正实现业务逻辑的类 的关系在运行前就确定了 动态代理:字节码是在程序 阅读全文
posted @ 2022-03-17 19:54 紫薇哥哥 阅读(58) 评论(0) 推荐(0) 编辑
摘要:1、Java中有哪些集合 Java中的集合类主要由 Collection 和 Map 这两个接口派生出 Collection接口又派生出三个子接口:Set、List、Queue Set:HashSet、TreeSet List:ArrayList、LinkedList、Vector Queue:Pr 阅读全文
posted @ 2022-03-17 07:51 紫薇哥哥 阅读(48) 评论(0) 推荐(0) 编辑
摘要:1、进程 进程是系统进行资源分配和调度的独立单位,每一个进程都有它自己的内存空间和系统资源;进程实现多处理机环境下的进程 调度、分派、切换时,都需要花费较大的时间和空间开销;为了提高系统的执行效率,减少处理机的空转时间和调度切换的时间,以及便于系统管理,所以有了线程,线程取代了进程调度的基本功能;简 阅读全文
posted @ 2022-03-17 07:51 紫薇哥哥 阅读(30) 评论(0) 推荐(0) 编辑
摘要:Spring JdbcTemplate基本使用 JdbcTemplate概述 开发步骤 1、导入坐标 2、建表、创建实体 3、创建JdbcTemplate对象 4、执行数据库操作(代码实现) Spring产生JdbcTemplate对象 测试代码 将字符串数据保存在properties文件中 加载p 阅读全文
posted @ 2022-03-15 20:37 紫薇哥哥 阅读(33) 评论(0) 推荐(0) 编辑
摘要:SpringMVC的数据响应 使用json的转换工具将对象转换成jsor格式字符串再返回 SpringMVC获得请求数据 访问静态资源 请求数据乱码问题,配置全局的Filter 获得Restful风格的参数 自定义类型转换器 1、构建转换器 2、声明转换器 3、在中引用转换器 获取Servlet相关 阅读全文
posted @ 2022-03-15 19:12 紫薇哥哥 阅读(14) 评论(0) 推荐(0) 编辑
摘要:Spring与Web环境集成 实现 Spring提供获取应用上下文的工具 SpringMVC简介 导包 SpringMVC组件分析 总结 阅读全文
posted @ 2022-03-15 13:57 紫薇哥哥 阅读(19) 评论(0) 推荐(0) 编辑
摘要:问题描述 一群孩子做游戏,现在请你根据游戏得分来发糖果,要求如下: 每个孩子不管得分多少,起码分到一个糖果。 任意两个相邻的孩子之间,得分较多的孩子必须拿多一些糖果(若相同则无此限制) 给定一个数组 arr代表得分数组,请返回最少需要多少糖果。 要求: 时间复杂度为 O(n);空间复杂度为 O(n) 阅读全文
posted @ 2022-03-14 11:50 紫薇哥哥 阅读(192) 评论(0) 推荐(0) 编辑
摘要:1、Spring配置数据源 导入依赖 手动创建 c3p0数据源 手动创建 Druid数据源 抽取jdbc.properties文件来配置数据源 1、先创建jdbc.properties文件,写入 2、创建对象时读配置文件 用Spring配置数据源 测试 Spring配置时,抽取jdbc.proper 阅读全文
posted @ 2022-03-14 00:16 紫薇哥哥 阅读(21) 评论(0) 推荐(0) 编辑
摘要:Spring Spring是一个分层的Java SE/EE应用full-stack轻量级开源框架 以IoC(Inverse of Control,控制反转) 和 AOP(Aspect Oriented Programming,面向切面编程)为内核 提供了展现层SpringMVC 和 持久层Sprin 阅读全文
posted @ 2022-03-13 21:50 紫薇哥哥 阅读(29) 评论(0) 推荐(0) 编辑
摘要:1、Java反射机制 Java的反射机制(reflection)指的是,在程序运行过程中: 1、可以构建任意一个类的对象 2、可以了解任意一个对象所属的类 3、可以了解任意一个类的成员变量和方法 4、可以调用任意一个类的成员变量和方法 优点: 缺点: 阅读全文
posted @ 2022-03-13 19:55 紫薇哥哥 阅读(18) 评论(0) 推荐(0) 编辑
摘要:1、volatile关键字 1.1、volatile关键字的两层含义 一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义: 1)保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的 2)禁止进行指令 阅读全文
posted @ 2022-03-13 17:44 紫薇哥哥 阅读(217) 评论(0) 推荐(0) 编辑
摘要:本随笔目录: 一.内存模型的相关概念与缓存一致性问题 二.并发编程中的三个概念 三.Java内存模型 1、内存模型相关知识与缓存一致性问题 程序运行过程中的临时数据是存放在主存(物理内存)当中的,但CPU执行速度很快,而从内存读取数据 和 向内存写入数据 的速度 跟 CPU执行指令的速度比起来要慢的 阅读全文
posted @ 2022-03-13 16:41 紫薇哥哥 阅读(32) 评论(0) 推荐(0) 编辑
摘要:快速排序(QuickSort)学习笔记 解题思路 1、找基准:从数列中挑出一个元素,称为 "基准"(pivot) 2、分区:重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边);在这个分区退出之后,该基准就处于数列的中间位置 3、递归:递归地( 阅读全文
posted @ 2022-03-04 09:46 紫薇哥哥 阅读(43) 评论(0) 推荐(0) 编辑

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