SQL查询之执行顺序解析

一直对SQL的理解就处于半生不熟的状态,前段时间阿里面试三面的时候问道让写一个SQL语句,统计每个学生所有成绩平均分大于80分的结果,当时差不多能写出来,但是多少心里没底,索性就想好好温习一下SQL语言,不料发现几篇解释SQL语句执行逻辑顺序的文章,感觉挺有意思,仔细看完觉得困惑减少很多。想来以前...

2019-03-26 21:44:47

阅读数 7

评论数 0

五分钟搞清楚MySQL事务隔离级别

好久没碰数据库了,只是想起自己当时在搞数据库的时候在事务隔离级别这块老是卡,似懂非懂的。现在想把这块整理出来,尽量用最简洁的语言描述出来,供新人参考。 首先创建一个表account。创建表的过程略过(由于InnoDB存储引擎支持事务,所以将表的存储引擎设置为InnoDB)。表的结构如下: ...

2019-03-26 21:43:59

阅读数 12

评论数 0

linux内存映射mmap原理分析

个人分类:linux内核设计与实现 内存映射,简而言之就是将用户空间的一段内存区域映射到内核空间,映射成功后,用户对这段内存区域的修改可以直接反映到内核空间,同样,内核空间对这段区域的修改也直接反映用户空间。那么对于内核空间<---->用户空间两者之间需要大量数据传输...

2019-03-26 21:43:20

阅读数 15

评论数 0

GC详解及Minor GC和Full GC触发条件总结

GC,即就是Java垃圾回收机制。目前主流的JVM(HotSpot)采用的是分代收集算法。与C++不同的是,Java采用的是类似于树形结构的可达性分析法来判断对象是否还存在引用。即:从gcroot开始,把所有可以搜索得到的对象标记为存活对象。 GC机制 要准确理解Java的垃圾回收机制,就要从...

2019-03-26 21:42:19

阅读数 23

评论数 0

一个简单的rpc实现

使用到的技术 1、动态代理 生成 client stub和server stub需要用到 **Java 动态代理技术 **,我们可以使用JDK原生的动态代理机制,可以使用一些开源字节码工具框架 如:CgLib、Javassist等。 2、序列化 为了能在网络上传输和接收 Java对象,我们需要...

2019-03-26 21:32:58

阅读数 9

评论数 0

rpc 框架的学习

RPC概述 RPC(Remote Procedure Call)即远程过程调用,允许一台计算机调用另一台计算机上的程序得到结果,而代码中不需要做额外的编程,就像在本地调用一样。 现在互联网应用的量级越来越大,单台计算机的能力有限,需要借助可扩展的计算机集群来完成,分布式的应用可以借助RPC来完...

2019-03-26 21:27:51

阅读数 13

评论数 0

为什么要用单例模式?

我们在编程中最常用的模式就是单例模式了,然而单例模式都用在什么场合?为什么不用静态方法而要用单例模式呢?要搞清这些问题,需要从静态方法和非静态方法的区别和联系说起。 一、静态方法常驻内存,非静态方法只有使用的时候才分配内存? 一般都认为是这样,并且怕静态方法占用过多内存而建议使用非静态...

2019-03-26 21:14:59

阅读数 55

评论数 0

求数组,左边的数都小于等于它,右边的数都大于等于它

题目 在一个 int 数组里查找这样的数,它大于等于左侧所有数,小于等于右侧所有数。直观想法是用两个数组 a、b。a[i]、b[i]分别保存从前到 i 的最大的数和从后到 i 的最小的数,一个解答:这需要两次遍历,然后再遍历一次原数组,将所有 data[i]>=a[i-1]&...

2019-03-25 23:44:15

阅读数 30

评论数 0

二叉树的镜像

/* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(...

2019-03-25 18:23:17

阅读数 10

评论数 0

Kafka入门三:几种消费方式

1.消费位移确认 Kafka消费者消费位移确认有自动提交与手动提交两种策略。在创建KafkaConsumer对象时,通过参数enable.auto.commit设定,true表示自动提交(默认)。自动提交策略由消费者协调器(ConsumerCoordinator)每隔${auto.commit.i...

2019-03-25 18:03:16

阅读数 116

评论数 0

缺失的第一个正数

个人分类:面试 给出一个无序的正数数组,找出其中没有出现的最小正整数。 样例 如果给出[1,2,0], return3如果给出[3,4,-1,1], return2 挑战 只允许时间复杂度O(n)的算法,并且只能使用常数级别的空间。 分析:把当前数放到该放的位置即可,如1应该放到第0个...

2019-03-25 17:49:52

阅读数 10

评论数 0

数组循环移动的几种做法

题目描述: 设计一个算法,把一个含有N个元素的数组循环右移K位。 解法一: 最容易想到的就是每次将数组中的元素右移一位,循环K次。 #include<iostream> using namespace std; void RightShift(int *arr, i...

2019-03-25 17:30:00

阅读数 23

评论数 0

找出一个无序数组的中位数

要解决这个问题首先要了解什仫是中位数,所谓的中位数就是在一组有序的数字中找到中间的那个数字。如果数字的个数是奇数则直接返回中间的那个数,如果数字的个数是偶数此时这组数据的中位数有两个,取中间两个数的平均值即可。 想法一、不论用什仫排序算法使得该组数据有序,直接取中间值即可。 这种只要你掌握常见的排...

2019-03-25 08:47:40

阅读数 73

评论数 0

数组中一个数出现一次,其余出现3次

class Solution { public: int singleNumber(int A[], int n) { // 将每一位 进右用移动 相加 int result=0; for(int i=0;i<32;++i){ int bits=0; f...

2019-03-25 08:43:16

阅读数 11

评论数 0

有序数组中的个数平方的个数

题目如下: 给你一个有序整数数组,数组中的数可以是正数、负数、零,请实现一个函数,这个函数返回一个整数:返回这个数组所有数的平方值中有多少种不同的取值。举例: nums = {-1,1,1,1}, 那么你应该返回的是:1。因为这个数组所有数的平方取值都是1,只有一种取值 nums = {-...

2019-03-25 08:41:30

阅读数 15

评论数 0

洗牌算法,概率问题

洗牌可以抽象为:给定一组排列,输出该排列的一个随机组合,本文代码中均以字符数组代表该排列 算法1-算法3 都是在原序列的基础上进行交换,算法空间复杂度为O(1) 算法1(错误):随机交换序列中的两张牌,交换n次(n为序列的长度),代码如下: 1 void Shuffle_random...

2019-03-25 08:38:54

阅读数 65

评论数 0

小括号能够产生正确的对数

class Solution { public: int num; vector<string> generateParenthesis(int n) { vector<string> res; ...

2019-03-25 08:38:27

阅读数 18

评论数 0

矩阵有序的搜索

class Solution { public: bool searchMatrix(vector<vector<int> > &matrix, int target) { //从右上角 ...

2019-03-25 08:38:00

阅读数 6

评论数 0

二叉树中寻找一条路径和最大

/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x)...

2019-03-25 08:37:26

阅读数 10

评论数 0

Google面试题 3| 矩阵中的最长上升路径

题目描述 Given an integer matrix, find the length of the longest increasing path. From each cell, you can either move to four directions: left, right, u...

2019-03-25 08:35:46

阅读数 21

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭