自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

cgk1996的博客

记录自己的学习过程

  • 博客(38)
  • 收藏
  • 关注

原创 并发面试题

HashMap和ConcurrentHashMap和HashTableHashMap、HashTable、ConcurrentHashMap区别答:首先三者都实现了Map接口,存储都是 Key、Value 的键值对。HashMap是线程不安全的,HashTable、ConcurrentHashMap是线程安全的。HashMap:存在多个线程同时修改同一数据得情况,所以非线程安全HashTable:线程安全的。HashTable的每一个方法都加Synchronize锁,直接锁住了方法,方法

2022-05-19 23:57:45 211

原创 docker常用命令

docker命令https://docs.docker.com/engine/reference/run/查看所有镜像docker images查看所有正在运行容器docker ps查看所有容器docker ps -a查看所有容器IDdocker ps -a -qstop停止所有容器docker stop $(docker ps -a -q)remove删除所有容器docker rm $(docker ps -a -q)查找image

2022-05-18 08:53:46 203

原创 Mybatis面试题

Mybatis面试题resultType 和 resultMap 的区别?resultType 是标签的一个属性,适合简单对象(POJO、JDK 自带类型: Integer、String、Map 等),只能自动映射,适合单表简单查询。<select id="selectAuthor" parameterType="int" resultType="com.gupaoedu.domain.Author"> select author_id authorId, author_n

2022-05-10 08:40:13 199

原创 RestTemplate的使用

RestTemplate的使用GET请求getForObject第一种String result = externalRestTemplate.getForObject("http://127.0.0.1:8081/restTemplate/get", String.class);第二种String result = externalRestTemplate.getForObject("http://127.0.0.1:8081/restTemplate/get/{a}/{b}", Strin

2022-05-06 22:53:08 361

原创 接口文档生成和管理解决方案:Smart-Doc+Torna

今天给大家推荐的是接口文档生成和管理解决方案:Smart-Doc+Torna通过Smart-Doc生成接口文档并推送到Torna接口文档管理平台上。用户(前端、后端人员、外部人员)通过文档管理平台查看、编辑接口文档等。推荐理由:Smart-Doc真的是零注解、零学习成本、只需要写标准JAVA注释Torna是开源文档管理平台,拿到即用,自带了很多文档管理的功能:用户管理、权限管理等Smart-Doc + Torna实现文档全流程自动化(最重要的一点,非常的方便)开源地址:Smart-Doc

2022-05-05 12:34:26 1134 2

原创 事务&数据库锁&MVCC

事务&数据库锁&MVCC的一些概念和描述

2022-05-03 14:10:28 338 2

原创 MQ消息队列面试题

MQ消息队列面试题,个人整理,如有错误,请留言

2021-12-13 20:30:35 2233

原创 MySQL查询优化详解

MySQL查询优化详解查询执行路径mysql 客户端/服务端通信查询缓存查询优化处理查询执行引擎返回客户端mysql 客户端/服务端通信Mysql客户端与服务端的通信方式是“半双工”;全双工:双向通信,发送同时也可以接收半双工:双向通信,同时只能接收或者是发送,无法同时做操作单工:只能单一方向传送半双工通信:在任何一个时刻,要么是有服务器向客户端发送数...

2019-12-11 10:03:14 232

原创 定位慢sql - 慢查询日志

定位慢sql - 慢查询日志慢查询日志配置show variables like ‘slow_query_log’set global slow_query_log = onset global slow_query_log_file = ‘/var/lib/mysql/gupaoedu-slow.log’set global log_queries_not_using_indexe...

2019-12-11 10:02:39 196

原创 存储引擎

存储引擎介绍插拔式的插件方式存储引擎是指定在表之上的,即一个库中的每一个表都可以指定专用的存储引擎不管表采用什么样的存储引擎,都会在数据区,产生对应的一个frm文件(表结构定义描述文件,mysql 8.0版本之后 没有该文件)CSV存储引擎数据存储以CSV文件特点不能定义没有索引、列定义必须为NOT NULL、不能设置自增列 —> 不适用大表或者数据的在线处理C...

2019-12-11 10:02:08 115

原创 MySQL 索引及B+树

MySQL 索引及B+树什么是索引?索引是为了加速对表中数据行的检索而创建的一种分散存储的 数据结构为什么用索引索引能极大的减少存储引擎需要扫描的数据量索引可以把随机IO变成顺序IO索引可以帮助我们在进行分组、排序等操作时,避免使 用临时表为什么用B+树普通的树,当数据的id 一直是增量的时候,树的什么就一直增加,从而失去了索引的意义使用平衡二叉树,可以避免普通树...

2019-12-11 10:01:33 323

原创 代理模式

代理模式为其他对象提供一种代理,以控制对这个对象的访问。使用场景保护目标对象增强目标对象静态代理显式声明被代理对象使用场景代理类,只代理 一个被代理类定义一个person接口public interface Person { void findLove();}被代理类public class Son implements Person { @...

2019-11-24 17:16:38 103

原创 原型模式

原型模式用一个已经创建的实例作为原型,通过克隆 获得一个新对象使用场景类的初始化消耗资源过多new产生的一个对象需要非常繁琐的过程循环体中生产大量对象时,可读性下降构造函数比较复杂浅克隆适用场景克隆出来的对象和原对象中的 属性地址 一样public class Prototype implements Cloneable { private int age; ...

2019-11-19 00:40:49 123

原创 使用数组实现队列

使用数组实现队列public class MyQueue { private int[] array; private int front; private int rear; public MyQueue(int capacity) { this.array = new int[capacity]; } public voi...

2019-11-17 20:16:55 88

原创 单例模式

单例模式使用场景全局只有一个实例。确保一个类在任何情况下都绝对只有一个实例,并提供一个全局访问点。饿汉式优点:线程安全,能够确保 任何时候访问都是同一个实例缺点:不管是否使用这个实例,只要类加载了,就会初始化实例,这样造成空间浪费。public class HungrySingle { private static HungrySingle hungrySingle = ...

2019-11-17 00:38:28 85

原创 工厂模式

工厂模式使用场景一个基类有很对子类,并且子类对象创建过程复杂,将对象创建的过程放在工厂中,如果使用对象的时候,直接从工厂中获取。优点:不用管复杂的创建逻辑,同时实现创建和使用的解耦作用。缺点:一旦基类发生改变,所有子类都需要改变。简单工厂模式适用场景工厂类负责创建的对象较少的场景,并且工厂的创建方法需要传递参数培训机构有很多课程,包括Java课程、Python课程等:课程的...

2019-11-15 22:11:33 94

原创 ForkJoin的使用

ForkJoin的使用第一种 无返回值的使用:异步处理线程第一步:定义一个task,继承RecursiveTask,用于分组 和 每个线程对每个组的处理逻辑@Component@Slf4jpublic class TaskForkJoin extends RecursiveTask<Void> { /** * 阀值,每组的大小 */ pr...

2019-11-10 16:03:20 181

原创 SpringBoot中线程池的使用

线程池在springboot中的创建及使用第一步 配置线程池创建线程池的Bean@Configuration@EnableAsync@Slf4jpublic class ExecutorConfig { @Value("${async.executor.thread.core_pool_size}") private int corePoolSize; @Va...

2019-11-04 00:14:56 829

原创 JMeter简单使用

第一步 新建线程组右键 > 添加 > 线程 >线程组第二步 配置线程组参数第一种:设置线程数和执行次数线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。Ramp-Up Period(in seconds)准备时长:设置的虚拟用户数需要多长时间全部启动。如果线程数为10,准备时长为2,那么需要2秒钟启动10个线程,也...

2019-11-04 00:11:15 212

原创 访问SpringBoot应用配置无权限

访问SpringBoot应用配置无权限在地址栏中访问类型/beans时,无权限,需要在application.properties中配置management.security.enabled=false属性

2018-10-21 00:39:08 954

原创 Hibernate多对多操作

多对多映射配置以用户和角色为例演示 第一步创建实体类,用户和角色 第二步让两个实体类之间互相表示(1)一个用户里面表示所有角色,使用set集合(2)一个角色有多个用户,使用set集合 第三步配置映射关系(1)基本配置(2)配置多对多关系- 在用户里面表示所有角色,使用set标签 - 在角色里面表示所有用户,使用set标签 

2017-09-24 19:16:05 203

原创 Hibernate的一对多操作

一对多映射配置(重点)以客户和联系人为例:客户是一,联系人是多 第一步创建两个实体类,客户和联系人 第二步让两个实体类之间互相表示(1)在客户实体类里面表示多个联系人- 一个客户里面有多个联系人 (2)在联系人实体类里面表示所属客户- 一个联系人只能属于一个客户 第三步配置映射关系(1)一般一个实体类对应一个映射文件(2)把映

2017-09-24 19:11:25 295

原创 Hibernate的api使用

Hibernate的api使用Query对象1 使用query对象,不需要写sql语句,但是写hql语句(1)hql:hibernate query language,hibernate提供查询语言,这个hql语句和普通sql语句很相似(2)hql和sql语句区别:- 使用sql操作表和表字段- 使用hql操作实体类和属性 2 查询所有hql语句:

2017-07-08 21:10:03 185

原创 Hibernate绑定session

Hibernate绑定session1 session类似于jdbc的connection,之前web阶段学过 ThreadLocal 2 帮实现与本地线程绑定session 3 获取与本地线程session(1)在hibernate核心配置文件中配置(2)调用sessionFactory里面的方法得到 4 获取与本地线程绑定session时

2017-07-08 21:08:41 173

原创 Hibernate的一级缓存

Hibernate的一级缓存什么是缓存1 数据存到数据库里面,数据库本身是文件系统,使用流方式操作文件效率不是很高。(1)把数据存到内存里面,不需要使用流方式,可以直接读取内存中数据(2)把数据放到内存中,提供读取效率 Hibernate缓存1 hibernate框架中提供很多优化方式,hibernate的缓存就是一个优化

2017-07-08 21:06:41 212

原创 实体类对象状态

实体类对象状态实体类对象有三种1. 瞬时态:对象里面没有id值 , 对象与session没有关联。2. 持久态:对象有id值, 对象与session关联。3.  托管态:对象没有id值,对象与session没有关联。

2017-07-08 21:00:05 393

原创 随机出 不一样的 5个数

import java.util.*;public class test {public static void main(String[] args) {int n = 30;         Random rand = new Random();//新建一个随机类         boolean[]  bool = new boolean[n];         int randInt = 0...

2017-06-19 21:44:15 646

原创 Hibernate crud操作

Hibernate crud 操作1.添加操作 save调用session中的save操作2.查询操作 get调用session里面的get方法3.修改操作 update先用get查询 , 在调用session中的update操作修改数据4.删除操作先用get查询,在调用session中的delete方法

2017-06-17 21:08:57 291

原创 Hibernate 核心 api

hibernate 核心 apiconfiguration1.代码(1)到src下面找到名称hibernate.cfg.xml配置文件,创建对象,把配置文件放到对象里面(加载核心配置文件)SessionFactory(重点)1.使用configuration对象创建sessionFactory对象(1)创建sessionFactory过程中做的事情:-- 根据核心配

2017-06-13 17:25:33 257

原创 hibernate 配置文件详解

hibernate 配置文件详解hibernate映射配置文件1. 映射配置文件名称和位置没有固定要求2. 映射文件中,标签name属性值写实体类相关内容(1)class标签name属性值实体类全路径(2)id标签和property标签name属性值  实体类属性名称3. id标签和property标签,column属性可以省略(1)不写值和name属性值一样

2017-06-12 22:16:16 215

原创 hibernate 和java类 往 mysql 传 数据乱码

今天用hibernate 往 mysql中传数据 出现了  中文乱码在网上找了好久,最终解决了......在配置hibernate.cfg.xml文件中配置数据库信息中配置数据库地址链接时    同时在后边加上编码信息jdbc:mysql:///hibernate_day01?useUnicode=true&characterEncoding=UTF-8

2017-06-12 21:57:37 183

原创 搭建 hibernate 环境

搭建hibernate环境第一步:导入hibernate的jar包因为使用hibernate时候 , 有日志输出,hibernate本身没有日志输出的jar包,导入其他日志的jar包并且导入mysql驱动jar包第二步:创建实体类使用hibernate时候 , 不需要自己手动创建表,hibernate帮把表创建第三步:配置实体类和数据

2017-06-11 21:28:42 255

原创 jstl url标签

1. c:redirect  标签 表示 重定向 用于页面跳转。2.c:import 标签表示引入一个页面。3.c:param标签用来传值给下一个页面。

2017-06-10 20:44:48 407

原创 html css 常用标签

一:html标签二:css标签1.cursor : 属性用来改变鼠标样式的。

2017-06-07 21:08:40 294

原创 jstl 细节操作

1.c:forEach  循环   HashMap  和 set

2017-06-06 22:25:11 182

原创 jstl 迭代标签

迭代标签的使用:1. foreach标签 :用来进行循环  取代for循环items属性:代表要循环的那个集合,用EL表达式从域对象中取出来。var属性:代表建立一个变量,在这里循环中使用,例如:for增强中 定义的变量。begin属性:代表从几开始循环。end属性:代表到几循环结束。step:代表循环一个增加几个数。  例如:for循环中的 i++  就是每次增加一个

2017-06-06 16:38:19 3047

原创 jstl 条件标签

1. c:if 的使用用来判断条件的   , 没有else  是单分支的 。  判断条件在 EL表达式中写 , 一般都可以判断2. c:choose  和 c:when  和  c:otherwise  配合使用   是多分支的  类似switchc:choose 作为父节点 c:when 作为子节点  并且可以有多个 判断条件c:otherwise 类似 swit

2017-06-06 11:16:49 614

原创 struts jstl标签

今天学习了 jstl标签 中的 c:out   c:setc:remove c:catch1. c:out 就是输出  输出域对象中的键值对   优先级:pageContext > request > session >application也可以用EL表达式直接输出域对象中的值  ${ }  ;2. c:set 就是往域对象中放值 , var 是名  value是值  scope

2017-06-05 21:54:29 192

空空如也

空空如也

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

TA关注的人

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