
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
最近线上出了个问题,用户明明没有投票,却提示已投票,我查询数据,刚开始没有查出数据,后来却查出数据了,以为没有问题,后来以为是插入的时候通过int类型插入,导致varchar类型的索引没有添加这条索引(天真的想法),再后来看到查出来的数据和我查询的数据并不一致,最后一位不太相同,知道应该是发生了mysql隐式转化问题。接下来就来研究下不加引号或者加引号的情况。

简介GEO,geographic的缩写,即地理信息。该类型,就是元素的二维坐标,在地图上就是经纬度。redis基于该类型,提供了经纬度设置,查询,范围查询,距离查询,经纬度hash等操作。两极无法添加,一般会下载城市数据,直接通过java程序一次性导入。有效的经度从-180°到180°。有效的纬度从-85.05112878°到85.05112878°。当坐标位置超出指定范围时,该命令会返回一个错误
Redis 的 I/O 多路复用程序函数有 select、poll、epoll、kqueue。select 作为备选方案,由于其在使用时会扫描全部监听的文件描述符,并且只能同时服务 1024 个文件描述符,所以是备选方案。I/O 多路复用模型是利用 select、poll、epoll 函数可以同时监察多个流的 I/O 事件的能力,在空闲的时候,会把当前线程阻塞掉。

用数组实现的有界阻塞队列。此队列按照先进先出(FIFO)的原则对元素进行排序。默认情况下不保证访问者公平的访问队列,所谓公平访问队列是指阻塞的所有生产者线程或消费者线程,当队列可用时,可以按照阻塞的先后顺序访问队列,即先阻塞的生产者线程,可以先往队列里插入元素,先阻塞的消费者线程,可以先从队列里获取元素。通常情况下为了保证公平性会降低吞吐量。

常用集合在多线程下的问题:代码:public class TestCopyOnWriteArrayList {public static void main(String[] args) {List list = new ArrayList();for (int i = 0; i < 100; i++) {new Thread(() -> {list.add(UUID.randomUU

首先,客户端发起http请求,经过3次握手后,建立起TCP连接;http请求里存放WebSocket支持的版本号等信息,如:Upgrade、Connection、WebSocket-Version等;然后,服务器收到客户端的握手请求后,同样采用HTTP协议回馈数据;最后,客户端收到连接成功的消息后,开始借助于TCP传输信道进行全双工通信。
1. 如何打破双亲委派模型我们知道类的加载方式默认是双亲委派,如果我们有一个类想要通过自定义的类加载器来加载这个类,而不是通过系统默认的类加载器,说白了就是不走双亲委派那一套。即:自定义类加载器 ,重写loadclass方法。典型的打破双亲委派模型的框架和中间件有tomcat与osgiSPI机制绕开loadclass 方法。当前线程设定关联类加载器当然这里要注意一下,Object.class这是对
1.zadd:添加元素到有序集合中格式:ZADD key [NX|XX] [CH] [INCR] score member [score member …]添加时可以指定多个分数/成员(score/member)对。 如果指定添加的成员已经是有序集合里面的成员,则会更新改成员的分数(scrore)并更新到正确的排序位置。如果key不存在,将会创建一个新的有序集合(sorted set)并将分数/成
JDK自带的工具第三方工具Local:console连接一个正在本地系统运行的JVM,并且执行程序的和运行Jconsole的需要是同一个用户。Jconsole使用文件系统的授权通过RMI连接器连接到平台的MBean服务器上。这种从本地连接的监控能力只有Sun的JDK具有Remote:使用下面的URL通过RMI连接器连接到一个JMX代理,。JConsole为建立连接,需要在环境变量中设置mx.rem

Producer: 消息生产者,就是投递消息的程序Connection:producer/consumer 和 broker 之间的 TCP 连接。Channel信道:如果每一次访问 RabbitMQ 都建立一个 Connection,在消息量大的时候建立 TCP Connection 的开销将是巨大的,效率也较低。
