自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 收藏
  • 关注

转载 ibatis bug排查记录 isEqual标签无法取到范型中的值

原文地址:

2023-09-13 16:37:00 129

原创 01 JVM 概述与发展

由于跨平台性的设计, Java的指令都根据栈来设计的. 不同平台的CPU架构不同, 所以不能设计为基于寄存器的. 只使用了一个寄存器, 程序计数寄存器PC 优点是: 跨平台, 指令集小, 指令多 缺点是: 相比寄存要差一些 ...

2020-09-07 17:59:07 253

原创 String StringBuilder StringBuffer的区别

目录继承图StringStringBuilder和StringBuffer 继承图 String 是一个不可变的字符串, 一旦创建就不能再修改了 创建新的字符串时会先去字符串常量池中查找, 如果存在就不会再次创建了 不可变的原因 String是一个final类, 里面的许多变量 方法也被final修饰了 底层使用的是一个char数组, 这个char数组也被final修饰了 StringBuilder和StringBuffer 是一个

2020-08-01 14:56:04 232

原创 02 多线程 原理部分

synchronized 存在线程安全问题的主要原因 存在共享数据 存在多个线程共同操作这些共享数据 解决办法 互斥访问共享数据 互斥锁的特性 互斥性 一个线程在操作临界资源时别的线程只能等待 互斥性也称为操作的原子性 可见性 必须确保在锁被释放之前, 对共享变量所做的修改, 对于随后获得该锁的线程是可见的, 否则另一个线程可能是在本地缓存的某个副本上继续操作, 造成数据的不一致性 锁的分类 对象锁...

2020-07-30 16:43:14 556

原创 Java中BigInteger常用方法总结

加:BigInteger add(BigInteger val) 返回两个大整数的和减: BigInteger subtract(BigInteger val)返回两个大整数相减的结果乘: BigInteger multiply(BigInteger val) 返回两个大整数的积除: BigInteger divide(BigInteger val) 返回两个大整数的商取模:BigInteger mod(BigInteger val) 用当前大整数对val求模求相反数:BigIn...

2020-07-27 21:33:57 1096

原创 01 多线程 概念部分

面试:进程和线程的区别 进程是资源分配的最小单位, 线程是CPU调度的最小单位 所有与进程有关的内容都被记录在PCB(进程控制块)中 进程独占内存空间, 保存各自的运行状态, 相互间不干扰且可相互切换, 为并发处理任务提供了可能 线程共享进程的内存资源, 相互间切换更快速, 支持更细粒度的任务控制, 使进程内的子任务得以并发执行 进程切换比线程切换开销大 Java进程与线程的关系 每运行一个Java程序就会产生一个进程, 一个进程至少包含一个线程 一个进程...

2020-07-26 21:27:14 165

原创 01 Redis

缓存中间件——Memcache和Redis的区别 Memcache没有系统学习过,但我了解二者的一些区别 Memcache 支持简单的数据类型 不支持数据持久化存储 一旦服务器宕机了数据就丢失了 不支持主从同步 不支持分片 Redis 数据类型丰富 支持数据持久化存储 支持分片 支持主从 面试:为什么Redis这么快? Redis支持每秒10w+的查询次数 完全基于内存的,绝大部分请求都是纯粹的内存...

2020-07-16 11:45:05 212

原创 01 Spring IOC、AOP

Spring IOC Inversion of Control:控制反转 spring core最核心的部分 依赖注入(Dependency Inversion) 将底层类作为参数传递给上层类,实现上层类对下层类的“控制” 依赖注入的方式 Setter Interface Constructor Annotation IOC容器 控制着bean的生命周期、bean的依赖注入 避免到处new对象,并且可以做到统一管理 当...

2020-07-14 22:17:37 106

原创 02 数据库 索引 sql调优 锁 事务

索引管理 面试:为什么要使用索引? 当我们使用最简单的方式查询的时候,会把表中所有的数据全部或分批次加载进内存,然后遍历找出我们需要的数据,当表中的数据比较少的时候这种查询速度是比较快的,但多的时候就不行了,所以要使用索引 索引就像字典中的目录一样,把那些关键的信息组织起来形成索引,像拼音或者偏旁部首一样,这样根据索引就可以很快的查找到我们需要的数据 面试:什么样的信息能够成为索引? 主键 面试:数据库索引可以使用那些数据结构? 可以使用二叉查找树 也可以...

2020-07-13 16:10:09 203

原创 06 堆 堆的定义 API设计 堆排序

堆的定义 堆的特性 它是完全二叉树 除了最后一层不是满的, 其它层都是满的 通常使用数组实现 具体方法是: 将二叉树节点按照层及顺序放进数组中, 根结点在1位置, 其子结点在2 3 位置, 以此类推 如果一个结点的位置是k, 则他父节点的位置就是[k/2], 其子结点位置是2k 2k+1, 这样就可以仅仅通过数组索引在树中上下移动了 每个结点都大于等于他的子结点 没有规定他的两个子节点的大小关系, 和二叉查找树是有区别的 ...

2020-05-29 16:15:45 321

原创 02 简单排序 冒泡 选择 插入 高级排序 希尔 归并 快速 排序的稳定性

目录Comparable接口简单排序冒泡排序选择排序插入排序高级排序希尔排序概念增常量h的确定代码时间复杂度归并排序 Comparable接口 作用 通常用于给对象排序 简单排序 冒泡排序 概念 从数组的头部开始, 不断的根据相邻的两个数的大小来交换两个数的位置 时间复杂度: O(n^2) 不推荐使用 选择排序 概念 从数组中选择出合适大小的数字, 放大合适的位

2020-05-24 21:30:48 369

原创 25 Maven高级

导入jar包时冲突解决 产生原因 当你导入一个包A的时候, maven会自动把它所依赖的包B包C包D也同时给你导入进来, 但是有时候你可能并不知道此时项目中已经有包BCD了, 然后你又导入一个包B, 且包B的版本和之前包B的版本不一样, 这个时候就产生了jar包冲突了. 解决方法 第一声明优先原则 概念 那个包的坐标在靠上的位置 ...

2020-05-22 11:22:10 148

原创 02 Oracle 视图 索引 pl/sql编程语言 触发器 java调用oracle

视图 概念 是基于一个表或多个表或视图的逻辑表 是一个虚表, 只存储了对视图的定义, 没有存储数据 创建视图必须具有dba权限 通过视图是可以对原表中的数据进行查询和修改 创建只读视图 --------------01 视图的作用 可以用于屏蔽一些敏感字段 比如说, 你想让程序员只能使用表中数据的一部分(某些列不可以访问(员工的工资)), 就可以在创建视图的时候定义需要显示的字段 保证总部和分部数据及时统一 ------...

2020-05-16 19:10:55 206

原创 01 oracle 体系结构 创建表空间 创建用户 用户授权 数据类型 CRUD操作 序列

概念 创始人: 拉里 埃里森

2020-05-14 15:12:44 245

原创 03 springMVC ssm框架整合

说明 以spring为基础来整合另外两个框架(springMVC Mybatis) 搭建环境 要保证三层框架分别可独立运行 pom文件代码 ------------------------01 编写spring框架 spring只负责业务层和持久层的, 表现层使用springMVC来处理 编写spring配置文件 -------------02 spring整合junit时使用的注解 ----------------03 编写sprin...

2020-05-10 13:04:59 144

原创 02 springMVC 响应 文件上传 异常处理 拦截器

响应 返回值是String类型 springMVC会根据视图解析器中的前缀和后缀去寻找对应的页面资源文件 如果你想返回的页面在视图解析器理面没有配置, 那么你就需要自己手动使用重定向或转发了 返回值为空 springMVC默认会去访问请求路径下面的页面文件, 但一般不这么使用 需要自己使用重定向或转发来跳转页面 ...

2020-05-09 16:55:58 440

原创 01 SpringMVC 基本概念 入门 常用注解 请求参数绑定

基本概念 MVC框架 基于MVC三层架构开发的框架有很多 SpringMVC Struct1 Struct2 SpringMVC和Struct2的对比 面试会问 就说, 我没有用过Struct2框架, 但是我知道SpringMVC和Struct2的区别是什么, 然后blabla给他说一下二者的区别就行了 相同点 它们都是表现层框架,都...

2020-05-06 21:09:04 482

原创 04 Spring JdbcTemplate Spring中的事务 Spring5的新特性

JdbcTemplate 包: spring-tx 是一个事务相关的包, 如果你导入了spring-jdbc的包就业应该导入这个tx的包 spring内置的数据源(连接池) DriverManagerDataSource Spring中的事务 Spring中事务控制的API介绍 PlatformTransactionManager 是spring的...

2020-04-30 21:32:25 267

原创 03 Spring 简单事务 动态代理 AOP

事务分析 ThreadLocal 作用 可以让多个操作都是用同一个连接 ThreadLocal对象把Connection和当前线程绑定, 从而使线程中只有一个能控制事务的对象 ...

2020-04-28 19:25:48 429

原创 02 Spring 使用注解开发 Spring整合Junit

注解 --------------------------------01 Component 用于创建对象的注解 衍生注解 Controller 用于表现层 Service 用于业务层 Repository 用于持久层 功能和Component一模一样, 只要添加的位置不一样,Compon...

2020-04-26 15:35:19 121

原创 01 Spring 概述 程序的耦合与解耦 IOC 依赖注入

程序的耦合 耦合 概念 程序间的依赖关系 分类 类之间的依赖 方法之间的依赖 解耦 概念 降低程序之间依赖关系 实际开发中, 应该做到, 编译期不依赖, 运行时才依赖 解耦思路 使用反射创建对象, 而避免使用new关键字 通过读取配置文件来获取要创建对象的全限定类名 个人理解 ...

2020-04-23 15:52:18 379

原创 04 Mybatis 延迟加载 缓存 注解开发

延迟加载 延迟加载 在真正使用数据时才发起查询, 不用的时候不查询. 按需加载(懒加载) 常用于一对多和多对多 立即加载 不管用不用, 都一并查询 多用于一对一和多对一 ...

2020-04-20 21:29:59 255

原创 03 Mybatis 连接池 事务 动态sql语句 表间关系

连接池 分类 UNPOOLED POOLED JNDI 采用服务器提供的JNDI技术实现, 不同的服务器拿到的DataSource是不一样的 如果不是web或者maven的war工程, 是不能使用的 ...

2020-04-19 13:40:10 267

原创 01 Mybatis

概念 是一个持久层框架 用java编写的 使用ORM思想实现了结果集的封装 ORM Object Relational Mapping 就是把实体类的属性和数据库表的字段名对应起来 配置环境 使用配置文件配置 主配配置文件 <?xml version="1.0" encoding="UTF-8"?><...

2020-04-17 21:41:21 91

原创 02 Mybatis CRUD操作

CRUD操作 代码 ---------------------------------------java代码 ------------------------------------映射配置文件 保存操作的细节 我们再添加一个记录时, 会创建一个对应的实体类对象(user), 但是我们并不会去指定这个实体类对象的id, 因为这个id是在添加数据库的时候自动产生的....

2020-04-16 13:22:59 94

原创 29 Linux Nginx

基本介绍 linux基于unix unix收费的 linux免费的 c语言的诞生 最初程序员准备使用b语言来开发unix, 但是觉得用b语言开发太麻烦了, 这个时候c语言就应运而生 Android底层是基于linux的 目录结构 usr: 软件安装目录 ...

2020-04-14 14:22:47 277

原创 26 综合案例

导入项目 使用maven导入项目的pom.xml文件即可 技术选型 项目开始做之前要先确定需要使用的技术 从MVC三层分析 Web servlet html 客户界面会有大量访问, 所以使用静态界面会好一些 实现前后端分离 管理员界面再使用jsp html要使用异步的数据传输方式 html页面无法接收服务器发来的存储在域(re...

2020-04-07 21:05:56 167

原创 07 降低cache不命中率

目录8种降低cache不命中率的方法增加cache大小增加cache容量提高相连度伪相连cache硬件预取编译器控制的预取编译优化"牺牲"cache三种类型的不命中分类强制性不命中容量不命中冲突不命中三种不命中所占的比例减少三种不命中的方法 8种降低cache不命中率的方法 增加cache大小 对于给定的cach...

2020-04-07 10:50:51 6111 2

原创 24 Maven

概念 maven: 项目管理工具 jar包仓库: jar不是放在项目中的, 而是放在maven的jar包仓库中, 通过jar包的坐标调用 依赖管理: maven工程对jar包的管理过程 项目的一键构建 pom.xml : 项目的jar包放到了pom.xml中 maven仓库分类 本地仓库 远程仓库 中央仓库 访问过程 先去本地仓库找jar包, 找不...

2020-04-04 16:01:45 269

原创 23 Redis

Redis概念 用c语言开发的,开源免费 可以当做一个大的map集合 NOSQL非关系型数据库 以键值对形式存储 存储在内存中,类似于cpu中的cache,把经常用的数据放到内存中 下载与安装 中文官网只有linux版本的 使用 服务器端是用来启动数据库的 使用客户端连接redis数据库,才能敲命令 1、2的顺序不能错,先启动,再链接 ...

2020-04-02 13:16:52 300

原创 22 AJAX JSON

Ajax 概念 异步的JavaScript和xml 无需重新加载整个页面的情况下,可以部分更新网页 发送异步请求是不会刷新整个页面的 实现方式 原生js实现 不推荐 步骤 创建核心对象 建立连接 发送请求 接收并处理服务器的响应结果 jq实现 $.ajax() 通用方式, ...

2020-03-31 17:35:51 242

原创 06 动态分支预测技术 多指令流出技术 指令调度与循环展开

目录动态分支预测技术概念分支预测的有效性取决于动态分支预测技术的目的分支预测表 BHT1个预测位2个预测位BHT实现分支目标缓冲器BTB多指令流出技术工作动机多流出处理机的两种基本风格超标量超长指令字超流水线处理机指令调度与循环展开概念指令调度循环展开作用概念好处循环展开和指令调度的注意事项指令级并行总...

2020-03-31 15:29:08 2887

原创 21 JQuery高级

目录for循环js遍历方式jq遍历方式提交表单事件绑定on/off 事件绑定与事件解除toggle事件切换案例 抽奖插件$.fn.extend(object)$.extend(object) for循环 遍历时元素对象是js对象, 想要使用jq对象方法需要将js对象转为jq对象 js遍历方式 for( 初始化值 ; ...

2020-03-30 14:38:55 179

原创 20 JQuery基础

概念 其实就是封装了一些js代码,简化了书写 $符就是一个函数的函数名 JQuery版本 1.x: 可以用,但不用 2.x: 很少有人用 3.x: 我们使用这个 官方主要维护这个 获取标签体内容 .html() jq(JQuery)对象和js对象虽然功能类似,但还是有区别的 事件绑定 事件函数名没有“on”了 事...

2020-03-29 21:53:23 113

原创 19 Filter Listener

javaweb三大组件 servlet filter listener 实现Filter接口时,不要实现错了,因为有好多包都包含这个类 web.xml路径 一般存放在WEB-INF文件夹下 过滤器执行流程 执行过滤器 执行放行后的资源 回来执行过滤器放行代码下边的代码 ------------------------------------------...

2020-03-27 22:07:07 157

原创 18 综合练习

验证码必须放到session中 不能放到request中,因为请求验证码和请求页面是两次请求 快速封装参数为对象 ------ 用户登录成功之后,需要使用重定向来进行跳转,不能使用转发跳转 暂时不知道为什么,就先记住好了 没有在request中存储数据,跳转时就应该使用重定向 数据库中,如果主键是自增长的,在插入数据时,主键的位置填入null即可。 阻止表单提交注...

2020-03-26 18:04:28 183

原创 05 相关 流水线冲突

目录流水线冲突的分类结构冲突数据冲突控制冲突暂停部分指令执行结构冲突导致结构冲突的原因解决办法不一定必须消除所有的结构冲突数据冲突分类解决办法换名技术定向技术指令调度控制冲突解决冲突的简单办法冻结或排空流水线基于编译器的软件方法总是预测分支失败预测分支总是成功延迟分支 流水线冲突的分类 结构冲突...

2020-03-24 11:40:26 1191

原创 17 EL、JSTL

JSP 指令 分类 page 导入jar包需要写在oage指令里 isErrorPage:用来标识当前页面是不是一个用来展示错误信息的页面 include 不太常用 taglib 用来倒入标签资源,类似于导入jar包 ...

2020-03-23 23:04:40 188

原创 16 Cookie、JSP、Session

会话技术 所涉及到的两个技术 Cookie 客户端会话技术 在客户端存储数据 Session 服务器端会话技术 在服务器端存储数据 Cookie 使用步骤 服务器创建Cookie对象,绑定数据 服务器把Cookie对象发送给浏览器,浏览器就会把Cookie对象存储到本地 浏览器再次请求服务器时,服务器就可以...

2020-03-19 17:27:50 142

原创 04 流水线的基本概念、流水线的性能指标

目录基本概念流水线的段(级)流水线的瓶颈时空图流水线的分类按用于计算机系统的等级划分按所完成的功能划分按是否具有反馈回路分按任务流入和流出的顺序是否相同划分性能指标吞吐率最大吞吐率实际吞吐率流水线瓶颈问题解决办法加速比效率实际效率最大效率效率与其他性能指标的关系通过时空图计算效率影响(多功能)流水线性能的原因...

2020-03-16 19:33:53 3771

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除