- 博客(38)
- 收藏
- 关注
原创 并发面试题
HashMap和ConcurrentHashMap和HashTableHashMap、HashTable、ConcurrentHashMap区别答:首先三者都实现了Map接口,存储都是 Key、Value 的键值对。HashMap是线程不安全的,HashTable、ConcurrentHashMap是线程安全的。HashMap:存在多个线程同时修改同一数据得情况,所以非线程安全HashTable:线程安全的。HashTable的每一个方法都加Synchronize锁,直接锁住了方法,方法
2022-05-19 23:57:45 220
原创 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 215
原创 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 208
原创 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 378
原创 接口文档生成和管理解决方案:Smart-Doc+Torna
今天给大家推荐的是接口文档生成和管理解决方案:Smart-Doc+Torna通过Smart-Doc生成接口文档并推送到Torna接口文档管理平台上。用户(前端、后端人员、外部人员)通过文档管理平台查看、编辑接口文档等。推荐理由:Smart-Doc真的是零注解、零学习成本、只需要写标准JAVA注释Torna是开源文档管理平台,拿到即用,自带了很多文档管理的功能:用户管理、权限管理等Smart-Doc + Torna实现文档全流程自动化(最重要的一点,非常的方便)开源地址:Smart-Doc
2022-05-05 12:34:26 1166 2
原创 MySQL查询优化详解
MySQL查询优化详解查询执行路径mysql 客户端/服务端通信查询缓存查询优化处理查询执行引擎返回客户端mysql 客户端/服务端通信Mysql客户端与服务端的通信方式是“半双工”;全双工:双向通信,发送同时也可以接收半双工:双向通信,同时只能接收或者是发送,无法同时做操作单工:只能单一方向传送半双工通信:在任何一个时刻,要么是有服务器向客户端发送数...
2019-12-11 10:03:14 250
原创 定位慢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 208
原创 存储引擎
存储引擎介绍插拔式的插件方式存储引擎是指定在表之上的,即一个库中的每一个表都可以指定专用的存储引擎不管表采用什么样的存储引擎,都会在数据区,产生对应的一个frm文件(表结构定义描述文件,mysql 8.0版本之后 没有该文件)CSV存储引擎数据存储以CSV文件特点不能定义没有索引、列定义必须为NOT NULL、不能设置自增列 —> 不适用大表或者数据的在线处理C...
2019-12-11 10:02:08 122
原创 MySQL 索引及B+树
MySQL 索引及B+树什么是索引?索引是为了加速对表中数据行的检索而创建的一种分散存储的 数据结构为什么用索引索引能极大的减少存储引擎需要扫描的数据量索引可以把随机IO变成顺序IO索引可以帮助我们在进行分组、排序等操作时,避免使 用临时表为什么用B+树普通的树,当数据的id 一直是增量的时候,树的什么就一直增加,从而失去了索引的意义使用平衡二叉树,可以避免普通树...
2019-12-11 10:01:33 332
原创 代理模式
代理模式为其他对象提供一种代理,以控制对这个对象的访问。使用场景保护目标对象增强目标对象静态代理显式声明被代理对象使用场景代理类,只代理 一个被代理类定义一个person接口public interface Person { void findLove();}被代理类public class Son implements Person { @...
2019-11-24 17:16:38 109
原创 原型模式
原型模式用一个已经创建的实例作为原型,通过克隆 获得一个新对象使用场景类的初始化消耗资源过多new产生的一个对象需要非常繁琐的过程循环体中生产大量对象时,可读性下降构造函数比较复杂浅克隆适用场景克隆出来的对象和原对象中的 属性地址 一样public class Prototype implements Cloneable { private int age; ...
2019-11-19 00:40:49 133
原创 使用数组实现队列
使用数组实现队列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 94
原创 单例模式
单例模式使用场景全局只有一个实例。确保一个类在任何情况下都绝对只有一个实例,并提供一个全局访问点。饿汉式优点:线程安全,能够确保 任何时候访问都是同一个实例缺点:不管是否使用这个实例,只要类加载了,就会初始化实例,这样造成空间浪费。public class HungrySingle { private static HungrySingle hungrySingle = ...
2019-11-17 00:38:28 100
原创 工厂模式
工厂模式使用场景一个基类有很对子类,并且子类对象创建过程复杂,将对象创建的过程放在工厂中,如果使用对象的时候,直接从工厂中获取。优点:不用管复杂的创建逻辑,同时实现创建和使用的解耦作用。缺点:一旦基类发生改变,所有子类都需要改变。简单工厂模式适用场景工厂类负责创建的对象较少的场景,并且工厂的创建方法需要传递参数培训机构有很多课程,包括Java课程、Python课程等:课程的...
2019-11-15 22:11:33 101
原创 ForkJoin的使用
ForkJoin的使用第一种 无返回值的使用:异步处理线程第一步:定义一个task,继承RecursiveTask,用于分组 和 每个线程对每个组的处理逻辑@Component@Slf4jpublic class TaskForkJoin extends RecursiveTask<Void> { /** * 阀值,每组的大小 */ pr...
2019-11-10 16:03:20 189
原创 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 838
原创 JMeter简单使用
第一步 新建线程组右键 > 添加 > 线程 >线程组第二步 配置线程组参数第一种:设置线程数和执行次数线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。Ramp-Up Period(in seconds)准备时长:设置的虚拟用户数需要多长时间全部启动。如果线程数为10,准备时长为2,那么需要2秒钟启动10个线程,也...
2019-11-04 00:11:15 236
原创 访问SpringBoot应用配置无权限
访问SpringBoot应用配置无权限在地址栏中访问类型/beans时,无权限,需要在application.properties中配置management.security.enabled=false属性
2018-10-21 00:39:08 965
原创 Hibernate多对多操作
多对多映射配置以用户和角色为例演示 第一步创建实体类,用户和角色 第二步让两个实体类之间互相表示(1)一个用户里面表示所有角色,使用set集合(2)一个角色有多个用户,使用set集合 第三步配置映射关系(1)基本配置(2)配置多对多关系- 在用户里面表示所有角色,使用set标签 - 在角色里面表示所有用户,使用set标签
2017-09-24 19:16:05 210
原创 Hibernate的一对多操作
一对多映射配置(重点)以客户和联系人为例:客户是一,联系人是多 第一步创建两个实体类,客户和联系人 第二步让两个实体类之间互相表示(1)在客户实体类里面表示多个联系人- 一个客户里面有多个联系人 (2)在联系人实体类里面表示所属客户- 一个联系人只能属于一个客户 第三步配置映射关系(1)一般一个实体类对应一个映射文件(2)把映
2017-09-24 19:11:25 309
原创 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 189
原创 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 179
原创 Hibernate的一级缓存
Hibernate的一级缓存什么是缓存1 数据存到数据库里面,数据库本身是文件系统,使用流方式操作文件效率不是很高。(1)把数据存到内存里面,不需要使用流方式,可以直接读取内存中数据(2)把数据放到内存中,提供读取效率 Hibernate缓存1 hibernate框架中提供很多优化方式,hibernate的缓存就是一个优化
2017-07-08 21:06:41 218
原创 实体类对象状态
实体类对象状态实体类对象有三种1. 瞬时态:对象里面没有id值 , 对象与session没有关联。2. 持久态:对象有id值, 对象与session关联。3. 托管态:对象没有id值,对象与session没有关联。
2017-07-08 21:00:05 406
原创 随机出 不一样的 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 658
原创 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 303
原创 Hibernate 核心 api
hibernate 核心 apiconfiguration1.代码(1)到src下面找到名称hibernate.cfg.xml配置文件,创建对象,把配置文件放到对象里面(加载核心配置文件)SessionFactory(重点)1.使用configuration对象创建sessionFactory对象(1)创建sessionFactory过程中做的事情:-- 根据核心配
2017-06-13 17:25:33 267
原创 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 219
原创 hibernate 和java类 往 mysql 传 数据乱码
今天用hibernate 往 mysql中传数据 出现了 中文乱码在网上找了好久,最终解决了......在配置hibernate.cfg.xml文件中配置数据库信息中配置数据库地址链接时 同时在后边加上编码信息jdbc:mysql:///hibernate_day01?useUnicode=true&characterEncoding=UTF-8
2017-06-12 21:57:37 192
原创 搭建 hibernate 环境
搭建hibernate环境第一步:导入hibernate的jar包因为使用hibernate时候 , 有日志输出,hibernate本身没有日志输出的jar包,导入其他日志的jar包并且导入mysql驱动jar包第二步:创建实体类使用hibernate时候 , 不需要自己手动创建表,hibernate帮把表创建第三步:配置实体类和数据
2017-06-11 21:28:42 262
原创 jstl url标签
1. c:redirect 标签 表示 重定向 用于页面跳转。2.c:import 标签表示引入一个页面。3.c:param标签用来传值给下一个页面。
2017-06-10 20:44:48 422
原创 jstl 迭代标签
迭代标签的使用:1. foreach标签 :用来进行循环 取代for循环items属性:代表要循环的那个集合,用EL表达式从域对象中取出来。var属性:代表建立一个变量,在这里循环中使用,例如:for增强中 定义的变量。begin属性:代表从几开始循环。end属性:代表到几循环结束。step:代表循环一个增加几个数。 例如:for循环中的 i++ 就是每次增加一个
2017-06-06 16:38:19 3092
原创 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 624
原创 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 198
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人