- 博客(22)
- 资源 (24)
- 收藏
- 关注
原创 MyISAM和InnoDB执行引擎的区别,为什么MyISAM查询效率高,B树和B+树的区别
1. MyISAM和InnoDB的区别①MyISAM查询效率高,InnoDB查询效率低;②MyISAM不支持事务和外键,而InnoDB支持;③MyISAM是非聚集索引,InnoDB是聚集索引;④InnoDB支持行级锁。⑤MyISAM对应着3个物理文件:.frm表结构文件,.myi表索引文件,.myd表数据文件。而InnoDB对应2个物理文件:.frm表结构文件,.ibd表数据和索引文件2. 为什么MyISAM查询效率高?①索引存储方式不一样,MyISAM通过索引找到数据文件中
2021-06-24 15:11:24 890 2
原创 MySQL通过存储过程使用循环结构循环创建数据,以及批量数据的导入导出
1. 创建数据为了实现批量数据的导入导出,首先需要创建大量的数据,通过循环结构搭配存储过程实现循环插入,但是这种方式相当慢,博主插入1万条数据,花费了5分钟54秒的时间。需要注意的两点:①不管是循环结构还是分支结构等,都需要在begin-end结构中,而begin-end结构只能用在函数、存储过程内;②为了区分函数或存储过程和普通SQL语句的结束,需要通过delimiter为函数或存储过程单独指定结束符。2. 批量数据的导入导出命令导出的out.sql文件内容如下所示。.
2021-06-24 11:56:53 539
原创 MySQL事务的四种隔离级别,mysql中的不可重复读和幻读的区别,Repeatable read可重复读隔离级别下怎么不存在幻读问题?
1. 事务的隔离级别1.1 read uncommited:读未提交。一个事务读到了另一个事务未提交的脏数据,称之为脏读。1.2 read commited:
2021-06-13 14:00:30 423
原创 Spring核心部分之AOP,aspectJ框架实现AOP,切入点表达式
1. 面向切面编程(Aspect Oriented Programming,AOP)以切面为核心,确定切面的执行时间以及执行位置。1.1 qie
2021-06-11 00:21:00 337
原创 @Configuration注解有什么用,@Configuration和@Component注解的区别
1. @Configuration注解有什么用@Configuration注解的作用就是使用@Bean注解创建对象
2021-06-10 14:50:05 5739
原创 Spring注解的使用步骤,@Component注解创建的对象名称,常用注解Component、Repository、Service以及Controller的区别
1. pom.xml文件加入spring依赖
2021-06-10 10:26:21 5248
原创 Spring的控制反转以及依赖注入,控制反转使程序具有高拓展性。
1. 控制反转(Inversion of Control, IOC)将对象的创建、赋值、管理交给容器(Spring),技术实现是依赖注入(Dependency Injection, DI)
2021-06-09 20:03:31 201 1
原创 Spring常见问题
1.Element 'beans' cannot have character [children], because the type's content type is element-only.z
2021-06-09 19:53:10 248
原创 mybatis中getMapper是怎么通过动态代理得到dao接口的实现类并执行mapper文件sql语句的
提示1:本文需在掌握动态代理基础后浏览,如果动态代理需要回顾可以看我的另一篇博客提示2:本文以我之前写的工程为模板进行讲解,工程结构及代码可以看我的另一篇博客1. 说在前头2. sqlSessionFactoryBuilder的build()过程:解析mybatis配置文件得到拥有Configuration属性的DefaultSqlSessionFactory对象3. sqlSession.getMapper过程...
2021-06-08 21:23:44 406 1
原创 反射中getDeclaredConstructors和getConstructors两个方法的区别,然后setAccessible什么时候用,作用是什么?
1.getDeclaredConstructors和getConstructors的区别
2021-06-08 11:09:27 2358 1
原创 什么是代理模式?代理模式有什么用?通过一个小程序分析静态代理和动态代理。自己简单实现动态代理。JDK动态代理和CGLIB动态代理的区别。
1. 代理模式有什么用①功能增强,在实现目标功能的基础上,又增加了额外功能。就像生活中的中介一样,他跟两边客户会有私下交流一样。
2021-06-07 00:42:53 554 1
原创 There is no getter for property named ‘col‘ in ‘class String‘,不是说一个参数不需要@Param注解吗?#{}和${}的区别
1. 当一个String类型的参数作为sql语句的where条件可以正常运行2. 当一个String类型的参数不作为sql语句的where条件,而表示一个表名或列名,报错:Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL serv...
2021-06-06 20:59:40 118
原创 Mybatis工作流程,附带mybatis的mapper文件和config配置文件模板。mapper文件和dao接口的关系——xml中的namespace和sql标签id命名要求。
1. Mybatis工作流程1.1 使用MySQL创建数据库并生成一个表,如下图。
2021-06-06 15:08:49 527 2
原创 ThreadLocal怎么实现线程隔离的?可见性问题?为什么要重新定义一个threadLocalHashCode?为什么有内存泄露?弱引用又是什么?
1. ThreadLocal实现线程隔离的使用场景线程1的if代码块要执行的话,那么flag.get()的值必须是false;同理线程2的if代码块要执行的话,flag.get()的值必须是true。也就是说线程1要得到线程2对flag变量操作的值,线程2要得到线程1操作的值。最终没有任何结果输出,说明两个线程没有得到对方修改的内容。有些小伙伴就说了,各自线程得不到对方操作的内容不是很正常吗?这就是可见性问题啊。确实,由于共享数据存在可见性问题,线程间的数据不能得到很好的同步,也会出现上述场景。
2021-06-05 17:43:23 1422
原创 java源码编译为字节码的流程
1. 词法和语法分析1.1 词法分析:将源代码的字符流转为Token集合,关键字、变量名、字面量和运算符都可成为Token,比如“int i = a”
2021-06-04 22:31:03 2380 1
原创 Java常用分析工具Jps、Jstat、Jinfo、Jstack以及Jconsole的简单介绍和使用
1. JVM Process Status(Jps)可以列出正在运行的虚拟机进程,并得到进程的本地虚拟机唯一ID(Local Virtual Machine )
2021-06-04 12:20:30 1159 4
原创 浅谈Java虚拟机JVM的垃圾回收机制
1. 什么是垃圾要回收垃圾,那么垃圾是什么?简单的逻辑就是不会再被使用的内存对象呗。2那怎么判断一个对象会否再被使用呢?
2021-06-02 17:03:15 118 1
原创 Concurrent包下的常用并发类和普通类之间的区别
1. ConcurrentHashMap和HashMap以及Hashtable之间的区别2. ConcurrenLinkedQueue
2021-06-01 15:19:03 270
原创 简单分析及总结BlockingQueue接口下七个常用类
1. BlockingQueue下主要有五个类ArrayBlockingQueue、LinkedBlockingQueue、DelayQueue、PriorityBlockingQueue以及SynchronousQueue。1.1 ArrayBlockingQueue内部结构还是一个Object数组,只不过相对ArrayList来说,使用了ReentrantLock而已,如下图。1.2 LinkedBlockingQueue内部是头尾、单向链表,而LinkedList是头尾、双向节点,结果
2021-06-01 13:37:41 200
AirSim项目需要的rpclib库文件
2020-09-20
OpenFace专家数据cen_data.rar
2020-09-07
CRC算法,动态存储
2018-08-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人