-
5. sharding-jdbc源码之结果合并
编程教程2021-01-18
单表查询之结果合并 接下来以执行SELECT o.* FROM t_order o where o.user_id=10 order by o.order_id desc limit 2,3分析下面这段Java代码是如何对结果进行合并的: result = new ShardingResultSet(resultSets, new MergeEngine(resultSets, (SelectStatem
-
为什么要进行URL编码
编程教程2021-01-18
我们都知道Http协议中参数的传输是key=value这种简直对形式的,如果要传多个参数就需要用符号对键值对进行分割。 如?name1=value1name2=value2,这样在服务端在收到这种字符串的时候,会用分割出每一个参数,然后再用=来分割出参数值。 针对name1=value1name
-
JVM的垃圾回收机制 总结(垃圾收集、回收算法、垃圾回收器)
编程教程2021-01-18
一、 技术背景你要了解吧 按照套路是要先装装X,谈谈JVM垃圾回收的前世今生的。说起垃圾回收(GC),大部分人都把这项技术当做Java语言的伴生产物。事实上,GC的历史比Java久远,早在1960年Lisp这门语言中就使用了内存动态分配和垃圾回收技术。设计和优化C++
-
7. sharding-jdbc源码之group by结果合并(2)
编程教程2021-01-18
通过 6. sharding-jdbc源码之group by 结果合并(1) 的分析可知,如果要走 GroupByMemoryResultSetMerger ,那么需要这样的SQL:SELECT o.status, count(o.user_id) count_user_id FROM t_order o where o.user_id=10 group by o.status order by count_user_
-
浅谈Java两种并发类型——计算密集型与IO密集型
编程教程2021-01-18
在Java并发编程方面,计算密集型与IO密集型是两个非常典型的例子,这次大象就来讲讲自己在这方面的内容,本篇比较基础,只适合刚入门的童鞋,请各种牛人不喜勿喷。 计算密集型 计算密集型,顾名思义就是应用需要非常多的CPU计算资源,在多核CPU时代,我们要
-
php Session的本质
编程教程2021-01-18
有一点我们必须承认,大多数web应用程序都离不开session的使用。这篇文章将会结合php以及http协议来分析如何建立一个安全的会话管理机制。我们先简单的了解一些http的知识,从而理解该协议的无状态特性。然后,学习一些关于cookie的基本操作。最后,我会一步
-
ajax的优缺点有哪些
编程教程2021-01-18
什么是ajax? ajax代表异步JavaScript和XML。异步一词意味着用户无需等待服务器回复。 AJAX不是编程或脚本语言,没有新发明,也没有单独的Web服务,模块或插件。它是一组相互关联的技术,如javascript,dom,xml,html,css等。 Ajax实现使用JavaScript函数
-
【死磕Java并发】—–J.U.C之阻塞队列:LinkedBlockingDeque
编程教程2021-01-17
前面的BlockingQueue都是单向的FIFO队列,而LinkedBlockingDeque则是一个由链表组成的双向阻塞队列,双向队列就意味着可以从对头、对尾两端插入和移除元素,同样意味着LinkedBlockingDeque支持FIFO、FILO两种操作方式。 LinkedBlockingDeque是可选容量的,在
-
分布式事务中间件 Fescar - RM 模块源码解读
编程教程2021-01-17
Photo by Hannes Wolf on Unsplash 前言 在SOA、微服务架构流行的年代,许多复杂业务上需要支持多资源占用场景,而在分布式系统中因为某个资源不足而导致其它资源占用回滚的系统设计一直是个难点。我所在的团队也遇到了这个问题,为解决这个问题上,团队采用
-
谈下我拿校招sp的面经
编程教程2021-01-17
18届本科,现已入职头条算法工程师。说一下我当时拿sp的面经(校招本硕学历,正常情况下sp就是极限,当然我见过SSP,那是骨骼惊奇背景极好(ACM世界决赛有牌?)一进来就级别高一级)。面试这个东西最重要的还是对面试官胃口,这点可通过多看面经来把握。还有