- 博客(18)
- 收藏
- 关注
原创 HashMap数据结构
存储结构hashmap底层是以数组方式进行存储。将key-value对作为数组中的一个元素进行存储。key-value都是Map.Entry中的属性。其中将key的值进行hash之后进行存储,即每一个key都是计算hash值,然后再存储。每一个Hash值对应一个数组下标,数组下标是根据hash值和数组长度计算得来。由于不能的key有可能hash值相同,即该位置的数组中的元素出现两个,对于这种情况,hashmap采用链表形式进行存储。下图描述了hashmap的存储结构图...
2021-06-30 11:00:43 210
原创 Exist
SQL中EXISTS的用法比如在Northwind数据库中有一个查询为SELECT c.CustomerId,CompanyName FROM Customers cWHERE EXISTS(SELECT OrderID FROM Orders o WHERE o.CustomerID=c.CustomerID)这里面的EXISTS是如何运作呢?子查询返回的是OrderId字段,可是外面的查询要找的是CustomerID和CompanyName字段,这两个字段肯定不在OrderID里面啊,这是如何
2020-06-18 11:07:08 209
原创 solr
1.solr 安装部署安装 Tomcat,解压缩即可。解压 solr,官网 http://lucene.apache.org/solr/把 solr 下的dist目录solr-4.10.3.war(我用的是这个版本)部署到 Tomcat\webapps下(去掉版本号)。解压缩 war 包,可以启动 Tomcat解压,可以用压缩软件解压把solr下example/lib/ext 目录下的所有的 jar 包,添加到 solr 的工程中(\WEB-INF\lib目录下)。创建一个 solrhome
2020-05-15 14:58:14 158
原创 面试题2020
1.分布式系统的幂等性问题?就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。举个最简单的例子,那就是支付,用户购买商品使用约支付,支付扣款成功,但是返回结果的时候网络异常,此时钱已经扣了,用户再次点击按钮,此时会进行第二次扣款,返回结果成功,用户查询余额返发现多扣钱了,流水记录也变成了两条2.如何设计接口才能做到幂等呢?单次支付请求,也就是直接支付了,不需要额外的数据库操作了,这个时候发起异步请求创建一个唯一的ticketId,就是门票,这张门票只能使
2020-05-12 16:36:58 231
原创 消息中间件
1.ActiveMQ安装服务器运行后,我们可以直接访问到activeMQ的界面:队列模式测试:生产者1.创建工厂连接对象,需要制定ip和端口号ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(“tcp://192.168.156.44:61616”);2、使用连接工厂创建一个连接对象Conn...
2020-05-05 22:00:23 202
原创 SpringMVC
1.介绍SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,属于 SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用 Spring 进行 WEB 开发时,可以选择使用 Sprin...
2020-05-05 16:25:47 128
原创 Spring知识点梳理
1. Spring 框架核心IOC(控制反转)控制对象创建的角色由程序员反转为Spring IoC容器Spring IoC容器本质上就是创建类的实例的工厂,并且对类的实例进行管理。Spring IoC容器需要通过Bean工厂来实现,在Spring框架中,主要有两个工厂接口:BeanFactory接口和ApplicationContext接口(实现了BeanFactory接口...
2020-05-05 14:05:04 331
原创 Redis 学习总结
1 Redis 介绍什么是redisRedis是用C语言开发的一个开源的高性能键值对(key-value)内存数据库。它提供五种数据类型来存储值:字符串类型(String)、散列类型(hash)、列表类型(list)、集合类型(set)、有序集合类型(zset)它是一种NoSQL数据库什么是NoSQLNoSQL,即Not-Only SQL(不仅仅是SQL),泛指非关...
2020-05-02 15:24:34 209
原创 Mysql知识总结
Mysql知识总结mysql架构1.1 逻辑架构图1Connectors指的是不同语言中与SQL的交互Management Serveices & Utilities:系统管理和控制工具Connection Pool: 连接池管理缓冲用户连接,线程处理等需要缓存的需求。负责监听对 MySQL Server 的各种请求,接收连接请求,转发所有连 接请求到线程管理模...
2020-05-02 10:58:33 602 1
原创 Linux下设置mysql不区分大小写
一、通过命令查看mysql是否是区分大小写的show variables like ‘%case_table%’;lower_case_table_names=1(说明是不区分大小写的)lower_case_table_names=0(如上图为0说明区分大小写的)二、修改lower_case_table_names的值为1(1)我用的是宝塔面板所以直接修改配置信息即可在 [mysq...
2019-12-17 12:48:20 114
原创 Linux/CentOS下安装MySql RPM Bundle
一、下载对应的版本的MySql安装文件 1、下载路径 https://dev.mysql.com/downloads/mysql/ 2、选择对应的Linux版本和x86/x64位的安装文件 查看Linux的版本信息可以参考:查看CentOS/Linux的版本信息 我下载的是:mysql-5.7.20-1.el6.x86_64.rpm-bundle.tar 3、解压...
2019-12-14 17:27:15 259
原创 跨域资源共享 CORS 详解
一、简介CORS需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,IE浏览器不能低于IE10。整个CORS通信过程,都是浏览器自动完成,不需要用户参与。对于开发者来说,CORS通信与同源的AJAX通信没有差别,代码完全一样。浏览器一旦发现AJAX请求跨源,就会自动添加一些附加的头信息,有时还会多出一次附加的请求,但用户不会有感觉。因此,实现CORS通信的关键是服务器。只要服务器实现了...
2019-11-13 14:39:34 99
原创 浅谈IO,NIO,AIO
学习地址:https://www.cnblogs.com/xiaoxi/p/6525396.html在《Unix网络编程》一书中提到了五种IO模型,分别是:阻塞IO、非阻塞IO、多路复用IO、信号驱动IO以及异步IO。1. 阻塞IO模型最传统的一种IO模型,即在读写数据过程中会发生阻塞现象。当用户线程发出IO请求之后,内核会去查看数据是否就绪,如果没有就绪就会等待数据就绪,而用户线程就会处...
2019-11-08 11:14:27 142
原创 Java 代码优化:使用构造函数和使用一个个setter的效率差别
在对Java代码进行优化的时候,想方设法的要提高整体的效率,使用JProfiler看代码的时间占比,然后,看看哪些部分是可以优化的,减少运行时间的。下面有这么几个方向。1,能使用构造函数一步到位的,就尽量使用构造函数,而不是使用一个个setter函数2,能使用数组的,就使用数组。替代list,数组是真的快。3,for循环的时候,使用for i循环针对list接口的集合,不使用for each...
2019-07-19 14:44:10 104
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人