- 博客(40)
- 收藏
- 关注
原创 【数据库】查询越来越慢,是你做了这3个反向优化?
例如,在某些情况下,我们可能会根据一个类型字段进行查询,但如果该类型字段的重复值较多,使用该字段作为索引可能并不高效。有的时候,我们会直觉上觉得,常量值查询条件放在前面,查询条件确定,肯定会更快,剩下的条件都是变量,后面再进一步筛选的。通过避免上述常见的索引失效情况,并采取相应的优化措施,我们可以有效地提高数据库查询的效率,提升系统的整体性能。此外,还可以考虑创建覆盖索引来覆盖常用的查询字段,进一步提高性能。然而,如果查询条件中的列顺序与联合索引的顺序不匹配,会导致索引失效,从而无法利用索引查询。
2024-04-18 09:36:21 409
原创 【数据库】为什么要添加一个与业务无关的主键?
有人说,我就有强迫症,就喜欢表里面的字段,都是有业务意义的,遇到上面问题,我再把年级id也加到里面,形成新的联合主键(学校id,班级id,学生id,年级id),这时候通常需要先删除原来的主键,然后再添加新的联合主键。这个过程不仅繁琐,而且可能会导致数据不一致或错误,并且实际的生产环境,删除主键再新添加主键会阻塞读写操作,导致系统崩溃,这是不可接受的。你是否想过,为什么mysql要设置一个自增的主键,或者使用uuid生成一个和业务无关的主键id,在数据库设计中,主键是用来唯一标识每一行数据的关键。
2024-04-16 10:12:30 428
原创 windows 上安装thrift 教程
1,首先下载thrift 下载地址http://www.apache.org/dyn/closer.cgi?path=/thrift/0.12.0/thrift-0.12.0.exe2,因为thrift是C++编写的,所以如果想正常使用,还需要配置一些c++的环境。官网上给了三种安装Thrift的方式,下面我介绍一些官网推荐的第一种。通过Visual Studio C ++从源安装(推荐)...
2019-09-30 10:12:46 598
原创 String,stringBuffer,StringBuilder区别和详细例子
String,stringBuffer,StringBuilder阅读文章提问题,问题作为索引。0,String定义初始化为null,会有什么影响?1,为什么有了String类型,还需要StringBuffer和StringBuilder?2,String和StringBuffer和StringBuilder区别?3,Stringbuffer和StringBuilder的底层是什么数据结...
2019-09-29 17:28:36 714
原创 分别使用netty和Java nio 和 websocket 实现多人聊天室
Netty 是一款异步的事件驱动的网络应用程序框架,支持快速地开发可维护的高性能的面向协议的服务器和客户端。Java nio : 新的还是非阻塞的NIO 最开始是新的输入/输出(New Input/Output)的英文缩写,但是,该Java API 已经出现足够长的时间了,不再是“新的”了,因此,如今大多数的用户认为NIO 代表非阻塞 I/O(Non-blocking I/O),而阻塞I/O(b...
2019-09-26 13:51:08 1002
原创 ClassLoader详情
某网站提供了Javadoc中文版,Google译文和百度译文。阅读ClassLoader类的文件时候发现两个文档说法不一。所以干脆自己啃一啃英文。公众号:一起写程序类加载器是一个对象,负责加载class文件。类加载器是抽象类。给定一个二进制文件名,类加载器应该尝试去定位或产生类的数据结构。然后把二进制文件名作为class文件名,去文件系统中找对应的“class 文件”是常用的做法。每一个C...
2019-09-12 14:25:07 243
原创 mybatis 中 foreach collection的用法
提升自己,想进入大型互联网公司。欢迎关注我的微信公众号 ,搜索微信公众号:"一起写程序" ,会分享系列文章,希望大家能一起学习。foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合。foreach元素的属性主要有 item,index,collection,open,separator,close。item表示集合中每一个元素进行迭代时的别名,inde...
2019-01-09 21:41:39 410
原创 什么时候重写equals方法
提升自己,想进入大型互联网公司。欢迎关注我的微信公众号 ,搜索微信公众号:"一起写程序" ,会分享系列文章,希望大家能一起学习。在使用equals的时候:如果是基本类型的比较,不需要重写equals和hashcode因为都重写了,而在引用类型比较的时候,需要重写equals和hashcode。问题1)== 号和equals区别? 问题1)什么时候需要重写equals和ha...
2019-01-09 21:38:15 3253 1
原创 RESTful详情
提升自己,想进入大型互联网公司。欢迎关注我的微信公众号 ,搜索微信公众号:"一起写程序" ,会分享系列文章,希望大家能一起学习。RESTful?Resource Representational state transfer. 表现层状态转换,指的是资源的表现层状态转换。三部分:资源,表现,状态1,resource资源:是一个实体,比如,视频,文本,图片等。1.1资源的表...
2019-01-01 17:33:20 222
原创 spring mvc 数据绑定
提升自己,想进入大型互联网公司。欢迎关注我的微信公众号 ,搜索微信公众号:"一起写程序" ,会分享系列文章,希望大家能一起学习。目录问题)数据绑定?... 1问题1)方法参数选择Integer包装类还是int类型?... 1问题2)数组的数据绑定?... 2问题3)简单对象绑定,和多层对象绑定?... 2问题4)多对象,相同的参数名称?... 3问题5)list的...
2018-12-31 19:55:09 193
原创 mysql数据库优化—扛得住的mysql详情
提升自己,想进入大型互联网公司。欢迎关注我的微信公众号 ,搜索微信公众号:"一起写程序" ,会分享系列文章,希望大家能一起学习。目录问题1)数据库优化哪个占比最大?... 1问题2)索引不是越多越好,而是建立有效的索引,才是好的。... 1问题3)mysql是基于文件的。不同mysql版本优化器有差别。... 1问题4)哪些sql是要优化的,通过看日志... 2问题5...
2018-12-30 19:32:04 494
原创 sql慢查询日志的分析工具?
欢迎关注微信公众号,想进入大型互联网公司的或提升自己能力的,搜索微信公众号:“一起写程序” ,会分享系列文章,面试题等,希望大家能一起学习。工具一:mysqldumpslowMyslqdumpslow是安装mysql的时候自动安装的。 通过myslqdumpslow –h 查看的帮助。提示信息。工具二:pt-query-disgest安装pt-query-digest:...
2018-12-28 21:48:18 1397
原创 循环队列-详细总结
1)为什么会有循环队列?为充分利用向量空间,克服"假溢出"现象的方法是。假溢出:在顺序存储的队列中存在假溢出。队列:rear进入,front出(尾进头出/先进后出)顺序存储结构的队列假溢出:2)循环队列的定义?最后的指针不是null,而是指向头指针,就叫做循环队列。或 将向量空间想象为一个首尾相接的圆环,并称这种向量为循环向量我们规定循环队列属性:最后留出一个空位置。Rear指向的是
2017-12-10 22:19:51 1558
原创 链表的算法面试题总结
1、单链表的创建和遍历 2、求单链表中节点的个数(太简单,就不写了) 3、查找单链表中的倒数第k个结点(剑指offer,题15) 4、查找单链表中的中间结点 5、合并两个有序的单链表,合并之后的链表依然有序【出现频率高】(剑指offer,题17) 6、单链表的反转【出现频率最高】(剑指offer,题16) 7、从尾到头打印单链表(剑指offer,题5) 8、判断单链表是否有环
2017-12-10 22:06:09 336
原创 自定义标签的执行过程和自定义标签处理器类的生命周期
问题:自定义标签的执行过程? http://localhost:8080/day14/definedLables.jsp 如何访问到自定义标签? 前提: tomcat服务器启动时,加载到每个web应用,加载每个web应用的WEB-INF目录下的所有文件!!!例如。web.xml, tld文件!!!1)访问definedLables.jsp资源2)tomcat服务器把j
2017-04-26 10:31:35 556
原创 jsp核心标签库详情例子
Jstl:Java standard tag libarary --Java标准标签库。 1) 导入jstl支持的jar包(标签背后隐藏的java代码)注意:使用javaee5.0的项目自动导入jstl支持jar包2)使用taglib指令导入标签库taglib uri="tld文件的uri名称" prefix="简写" %>3)在jsp中使用标签核心标
2017-04-26 10:25:12 611
原创 session的详情和cookie的不足
问题1)cookie的不足,为什么会有session?1)cookie会话,只能发送字符串。(很多时候我们需要传递对象。)2)一个Cookie最大是4kb3)Cookie数据内容只能是英文。 问题2)session的工作原理和cookie的对比?1,Cookie是将数据发送到浏览器保存。 Session会话数据保存在服务器,浏览器发送jsessionid到服务器,获
2017-04-20 12:02:31 448
原创 Java中转发和重定向区别
作用上的区别:转发和重定向的效果是一样的、重定向跳转范围大,转发只能在本web project下。转发代码:ServletContext conss =this.getServletContext();RequestDispatcher req = conss.getRequestDispatcher("/index.html");req.forward(request,res
2017-04-15 16:04:35 491
原创 将字节流转换成字符流详细例子
转换流:将字节流转换字符流 (1)输入字节流转换输入字符流的 转换的方法:将输入字节流转换成输入字符流:inputStreamReader();辅助:(一般字符流按照行读,或者读入都用BufferedReader)BufferedReader 可以中的readLine可以一行一行的读。而read()只能一个字符读。 案例1:程序:从控制台输入字符,按行输出?(1)s...
2017-04-14 16:46:51 6998
原创 http报文结构解析
欢迎关注微信公众号,想进入大型互联网公司的或提升自己能力的,搜索微信公众号:“一起写程序” ,会分享系列文章,面试题等,希望大家能一起学习。 1,http的协议结构详解? 问题1:请求报文和响应报文的区别?请求报文和响应报文唯一的区别就是,请求报文是请求行,响应报文是状态行。 问题2:请求报文和响应报文都是由哪三部分组成的?请求报文:请求行,首部行,信息主体...
2017-03-18 21:00:20 2102
原创 java小知识点(1)
1,当返回值是void时候,return是结束程序的意思(无论执行到哪,都结束)。2,java中对+的重载?在c或者c++中,+是数值的相加。而在java中加号还表示连接字符串的作用。问题:什么时候是加法什么时候是连接字符串呢?连接字符串:如果表达式以字符串开头,那么后面的+就是链接。例子:public class staticTest {public st
2016-10-12 21:28:32 287
原创 为什么设计泛型?
1,为什么设计泛型?难道是以前的数据类型不够用吗?问题:在设计的过程中经常会用到容器类,容器类代码都一样只是数据类型不同,如果能够让一种类型容纳所有类型,就可以实现代码重用,但是没有一种类型可以容纳所有类型,为了解决容器的问题,就需要设计泛型。最主要的原因是要创建容器类。 2,泛型的定义?泛型是不确定的类型。泛型是类型的参数。 3,引用类型做方法参数,泛型(通用)和接口
2016-10-12 21:27:40 457
原创 为什么要设计接口内部类?要解决什么问题?
1,为什么要设计接口内部类?要解决什么问题?在接口当中,不允许方法体的存在,但是为了让实现该接口的类可以使用方法体,可以在接口中定义内部类(内部类可以继承本接口,或者其他接口),接口中定义的内部类的类型,自动是public static类型。 抽象类也可以存在方法体。2,内部类实现本接口。内部类是静态的。所以可以直接访问。interface outInterface{v
2016-10-12 21:26:18 531
原创 为什么设计静态嵌套类?它要解决什么样的问题?
1,为什么设计静态嵌套类?它要解决什么样的问题?设计内部类的主要目的是为了实现接口和扩展(写自己的方法)。匿名内部类就是为了实现接口或者抽象类(无法写自己的方法。写了也无法被调用),而设计的。所有内部类有的时候不需要和外部类进行相互访问。为了方便,我们直接将内部类定义成static, 2,嵌套类无论嵌套多少层,内部的总是可以访问所有外部的成员和方法。
2016-10-12 21:25:02 371
原创 为什么要设计内部类?它要解决什么问题?它的特点是什么?
1,为什么要设计内部类,它解决了什么问题?设计的目的是什么?如果想让一个类继承多个接口(可以多继承接口)继承多个抽象类是做不到。但是在设计比较复杂的时候需要继承多个接口或者抽象类,总不能全部功能写在一个类当中,所以为了实现继承多个接口或者抽象类,就设计了内部类。问题:实现多继承又有什么用呢?有什么样的问题,必须是要求多继承的吗?如果是单继承,一个复杂的功能,只能引进来一个类来帮助,这个
2016-10-12 21:23:26 1028
原创 什么叫运行时才确定调用那个(对象或者方法)?
运行时才确定调用那个?难道是随机的调用吗,当然不是。而是参数变了,调用的方法也变了。重载是在编译时候,就确定调用那个方法了所以不是重载。而是在运行时输入不同的参数,调用不同的方法。回调就是在于它的灵活性:在运行的时候,才决定调用什么方法。问题:所谓的在运行时才决定调用什么方法,难道我是随机调用方法吗》当然不是,那所谓的运行时指的是什么?就是参数的不同,引用指向的对象不同
2016-10-12 21:14:09 857
原创 spring IOC详细解释
1,存在的问题?FX(foreign exchange)例子:一个第三方(外汇)新闻客户端FX,它要实时的获得新闻。订阅新闻,然后通过批处理程序定时的到指定的新闻服务器抓取最新的外汇新闻,接着将这些新闻存入本地数据库。最后从数据库调出数据显示在前台界面。 代码:public class FXnewProvider {private FxNewsListener
2016-09-27 22:57:36 355
原创 intent向页面传递数据
1,intent向下一个页面传递数据方式?发送:通过putExtra(“key”,”value”);方法将数据发送到指定的activity。Intent intent =new Intent(MainActivity.this,SecondActivity.class);intent.putExtra("key","this is MainActivity to secon
2016-09-18 17:56:46 475
原创 Intent跳转页面的几种方式
Intent跳转页面的方式?1,直接跳转第一个参数是上下文:也就是从哪跳。第二个参数是:跳到那。Intent intent =new Intent(MainActivity.this,SecondActivity.class);startActivity(intent); 2,匹配action和category条件才跳转。从MainActivity跳转到Seco
2016-09-18 17:53:09 1486
原创 最容易理解的java回调函数例子
(2,什么是回调函数?1,为什么要用回调函数?)请忽略这两个问题。我很讨厌我问一个问题,然后先给我来一堆的定义,或者解释。(就像我问别人什么是微分?别人给我一堆概念,(心里飘过。。),我还不如自己看书找定义呢,还需要你告诉我。)我正是因为看不明白定义,所以想让别人帮我简化一下,找到什么是理解这个定义的关键。(也就是你是怎么理解这个定义的,怎么从复杂逻辑到简单逻辑)。我明白简单逻辑之后,再自
2016-09-10 23:08:25 882
原创 java观察着observer模式---商品价格变动通知客户
通过一个熟悉的流程,来体验一下什么是observe模式。问题起源:我们在网上买东西,没钱买的时候经常先加到购物车当中。购物车中的商品如果打折,会及时的通知用户。对于设计者来说,我们自然会提问几个问题。(我们可以想象到商品上面安装了某个监听器,会及时的通知我们)问题:商品:是那件商品折扣通知给用户?通知那些用户?将商品加到购物车当中的用户(把谁通知给谁)通知用户那些内容呢?
2016-09-10 22:47:08 1592
原创 最容易理解的java回调函数例子
(2,什么是回调函数?1,为什么要用回调函数?)请先忽略这两个问题。我很讨厌我问一个问题,然后先给我来一堆的定义,或者解释。(就像我问别人什么是微分?别人给我一堆概念,(心里飘过。。),我还不如自己看书找定义呢,还需要你告诉我。)我正是因为看不明白定义,所以想让别人帮我简化一下,找到什么是理解这个定义的关键。(也就是你是怎么理解这个定义的,怎么从复杂逻辑到简单逻辑)。我明白简单逻辑之后,再
2016-09-10 22:43:02 526 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人