自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我心依旧,明月长歌

美人一笑倾城国,不舍生死下银河。

  • 博客(55)
  • 资源 (3)
  • 问答 (2)
  • 收藏
  • 关注

原创 SQL中JOIN操作详解

JOIN = [LEFT JOIN] | [RIGHT JOIN] | [INNER JOIN] | [FULL JOIN]关于左连接和右连接总结性的一句话:左连接WHERE只影响右表,右连接WHERE只影响左表。LEFT JOINselect * from tbl1 Left Join tbl2 where tbl1.ID = tbl2.ID左连接后的检索结果是显示tbl1的...

2018-11-14 10:06:26 800 1

转载 生活随笔:第一次见家长注意事项

快要见家长了,赶紧补一波注意事项~~~男生版1、去女友家拜访,到她家附近时不可以再挽着她的手,因为她的邻居会品头论足一番。2、进家后,不要对她太随便、太亲热,她的家人在观察着你的一举一动,以免给人留下不好的印象。3、不可不时看手表,否则她的家人会认为你不愿意呆在她家。4、离去时不可一踏出门就露出松懈姿态,因为背后她的家人们还在观察你。5、还应注意一点,去女友家做正式拜访的前...

2018-06-24 01:46:18 1681

原创 对蚂蚁金服面试中几个题目的浅析

本文对今天蚂蚁金服面试中的几个问题进行简单阐述分析,望批评指正。搜索DAG问题问题描述:给定一个图,寻找出里面所有的有向无环图(DAG)。问题分析:有向无环图在图论中,如果一个有向图无法从某个顶点出发经过若干条边回到该点,则这个图是一个有向无环图(DAG图)。解题思路给定一个图,如下:该图包括多个DAG有向无环图。于是,对于整个算法,我们使用两个阶段来完成:...

2018-06-19 20:41:01 6551 1

转载 面试指导:海量数据处理面试题攻略

海量数据第一部分:从set/map谈到hashtable/hash_map/hash_setset/map/multiset/multimaphash_set/hash_map/hash_multiset/hash_multimap第二部分:处理海量数据问题的六把钥匙钥匙一:分而治之/Hash映射 + Hash统计 + 堆/快速/归并排序1、海量日志数据,提取出某日访问百度次数...

2018-06-03 15:58:08 489

原创 Linux epoll模型详解及源码分析

一、epoll简介epoll是当前在Linux下开发大规模并发网络程序的热门选择,epoll在Linux2.6内核中正式引入,和select相似,都是IO多路复用(IO multiplexing)技术。按照man手册的说法,epoll是为处理大批量句柄而做了改进的poll。Linux下有以下几个经典的服务器模型:1、PPC模型和TPC模型PPC(Process Per Co...

2018-06-03 15:50:50 25148 6

原创 TCP TIME_WAIT状态解析及问题解决

TCP四次挥手过程相关参数优化调整总结TCP四次挥手过程TCP在建立连接时需要握手,同理,在关闭连接的时候也需要握手。具体如下所示:由于TCP连接是双向的,所以在关闭连接的时候,两个方向各自都需要关闭。先发FIN包的一方执行的是主动关闭,后发送FIN包的一方执行的是被动关闭。主动关闭的一方会进入TIME_WAIT状态,并且在此状态停留2MSL时长。对于M...

2018-06-03 15:42:13 16141

转载 架构文摘:消息队列设计精要

消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发的Notify、MetaQ、RocketMQ等。本文不会一一介绍这些消息队列的所有特性,而是探讨一下自主开发设计一个消息队列时,你...

2018-06-03 15:37:57 393

原创 数据库技术:MySQL数据库锁技术浅析

一、锁的概述数据库管理系统(DBMS)中并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。举例说明并发操作带来的数据不一致性问题:现有两处火车票售票点,同时读取某一趟列车车票数据库中车票余额为X。两处售票点同时卖出一张车票,同时修改余额为X -1写回数据库,这样就造成了实际卖出两张火车票而数据库中的记录却只少了一张。产生这种情况的原因...

2018-06-03 15:21:55 401

转载 系统架构实战:支付平台的架构设计

互联网平台架构日益成为互联网发展的基石,对于 Java 开发者和架构师而言,只有在了解架构背后的原理后,才能写出更高质量的代码,才能设计出更好的方案,才能在错综复杂的平台架构下产出价值,才能在各种场景下快速发现问题、快速定位问题、快速解决问题。本场 Chat 会带领大家从支付平台架构设计评审入手,讲解设计评审的核心要点,为读者带去现实中的案例,帮助读者理解设计评审的重要性、核心要点和最佳实现。...

2018-06-03 15:10:27 837

原创 技术原理:MySQL数据库事务浅析

在SQL编程中,事务编程已然成为必不可少的一个组成部分。一、事务概述事务可以由一条非常简单的SQL语句组成,也可以由一组复杂的SQL语句组成。事务是访问并更新数据库中各种数据项的一个程序执行单元。事务能保证数据库从一种一致状态转换为另一种一致状态。在数据库提交工作时,可以确保其要么对所有修改都已经保存,要么对所有修改操作都不保存。事务(Transaction)是由一系列对系统中数据进行...

2018-06-01 16:24:23 566

转载 架构文摘:LSV负载均衡技术笔记

一、LVS介绍在本部分,我们将介绍Linux服务器集群系统——LVS(Linux Virtual Server)项目的产生背景和目标,并描述LVS服务器集群框架及目前提供的软件,列举LVS集群系统的特点和一些实际应用。1、背景当今计算机技术已进入以网络为中心的计算时期。由于客户/服务器模型的简单性、易管理性和易维护性,客户/服务器计算模式在网上被大量采用。同时,Internet的飞...

2018-06-01 15:56:34 1922

转载 数据库技术:关系型数据库设计总结

关系型数据库简介关系数据库由由埃德加·科德(IBM)在1969年左右提出。自推出后就成为商业应用的主要数据库模型(与其他数据库模型,如分级、网络或对象模型相比)。如今已有许多商业关系数据库管理系统(RDBMS),如Oracle,IBM DB2和Microsoft SQL Server等;也有许多免费的开源关系数据库,如MySQL,mSQL(mini-SQL)和嵌入式JavaDB(Apache ...

2018-06-01 13:59:51 6176

转载 架构文摘:Linux负载均衡总结性说明

在常规运维工作中,经常会运用到负载均衡服务。负载均衡分为四层负载和七层负载,那么这两者之间有什么不同?一、什么是负载均衡负载均衡(Load Balance)建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。负载均衡有两方面的含义:首先,大量的并发访问或数据流量分担到多台节点设备上分别处...

2018-04-10 11:37:45 254

转载 运维调试笔记:python中pip下载速度慢问题解决

在python开发时,我们经常使用pip来安装相应的python库,但是国外的源下载速度实在太慢,而且经常出现下载后安装出错问题。要解决该问题,可以把pip安装源替换成国内镜像,可以大幅提升下载速度,还可以提高安装成功率。国内pip源注意:新版ubuntu要求使用https源!!!清华大学:https://pypi.tuna.tsinghua.edu.cn/simple...

2018-03-26 18:54:26 1520 1

原创 Java虚拟机:内存管理与执行引擎

一、Java技术体系Sun官方所定义的Java技术体系包括以下几个组成部分:Java程序设计语言各种硬件平台上的Java虚拟机Class文件格式Java API类库来自商业机构和开源社区的第三方类库JDK(Java Development Kit) —— 包括Java程序设计语言、Java虚拟机、Java API类库。JDK是用于支持Java程序开发的最小环境。JRE(...

2018-03-26 13:45:13 893

原创 运维调试记录:Ubuntu14.04下部署Opendaylight Nitrogen集群

建议参考官网教程:Setting Up Clustering一、实验环境主机节点系统版本: Ubuntu 14.04 (64bit)odl@mpodl:~$ uname -aLinux mpodl 4.2.0-27-generic #32~14.04.1-Ubuntu SMP Fri Jan 22 15:32:26 UTC 2016 x86_64 x86_64 x86...

2018-03-21 13:31:49 1177

转载 架构文摘:分布式系统Session一致性问题解析

一、问题的提出1. 什么是Session?用户使用网站的服务,需要使用浏览器与Web服务器进行多次交互。HTTP协议本身是无状态的,需要基于HTTP协议支持会话状态(Session State)的机制。具体的实现方式是:在会话开始时,分配一个 唯一的会话标识(SessionID),并通过Cookie将这个标识告诉浏览器,以后每次请求的时候,浏览器都会带上这个会话标识SessionID...

2018-03-20 19:05:30 894

原创 Java并发编程:Java内存模型

一、Java内存模型基础1. 两个关键问题2. Java内存模型的抽象结构3. 指令序列的重排序4. 并发编程模型的分类5. happens-before二、指令重排序1. 数据依赖性2. as-if-serial语义3. 重排序对多线程的影响三、顺序一致性内存模型1、数据竞争与顺序一致性2、顺序一致性内存模型3. 同步程序的顺序一致性效果四、vol...

2018-03-19 06:24:12 814

原创 Java并发编程:底层实现机制

一、volatile的应用1. volatile的定义与实现原理2. volatile的使用优化二、synchronized的应用1. 锁的实现原理2. 锁的对比2.1 偏向锁2.2 轻量级锁2.3 锁的对比三、原子操作的实现原理1. 术语2. 处理器如何实现原子操作3. Java如何实现原子操作四、小结Java代码在编译后会变成Java字...

2018-03-18 15:02:23 345

原创 Docker技术笔记:Docker入门浅尝

简介本文将用Docker的方式来构建一个应用APP。过去,如果要开发一个Python应用APP,所需做的第一件事就是在开发机上安装Python运行时环境。在这种情形下,开发机的环境必须与APP所要求的环境一致,同时还需要与生产环境相匹配。通过使用Docker,可以将一个可移植的Python运行时环境作为一个image获取,而无需安装。然后,就可以基于Python运行时环境image,将...

2018-03-18 13:48:41 248

原创 Docker技术笔记:Ubuntu安装Docker CE

安装环境操作系统:Ubuntu Xenial 16.04 (LTS)Go语言版本:1.9.4配置Ubuntu更新源(清华大学)$ sudo vim /etc/apt/sources.list# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main rest...

2018-03-18 13:47:47 667

原创 Docker技术剖析:Docker背后的内核知识

Docker本质上是运行在宿主机上的进程,它通过namespace实现了资源隔离,并通过cgroups实现了资源限制,同时通过写时复制(copy-on-write)实现了高效的文件操作。一、通过namespace实现资源隔离Linux内核中提供了6种namespace隔离的系统调用,分别完成对文件系统、网络、进程间通信、主机名、进程号以及用户权限的隔离。具体如下所示: ...

2018-03-18 13:45:16 4158 1

原创 Maven项目管理工具参考知识

本笔记主要记录关于Maven知识体系的一些Pages和Tips!一、Maven入门手册阅读内容:Maven Getting Started Guide 和 The Philosophy of Maven 以及 The History of Maven该文主要涉及的主要知识点包括:什么是Maven如何配置Maven项目如何对Maven应用进行编译/测试/安装快照(SNA...

2017-06-22 17:35:18 462

原创 运维调试记录:Opendaylight铍版本开发环境搭建流程

一、系统环境Ubuntu 14.04 LTSCPU:双核内存:4GB二、步骤详解1. 安装JAVA开发环境OpenDaylight requires Java 7 JDK for Lithium . For Beryllium, a Java 8 JDK may be required.过程:Ubuntu 14.04的软件源中暂不支持java 8,因此,首先解决该问...

2017-06-22 17:31:48 1142

原创 运维调试记录:Ubuntu下通过PPA方式安装Java 8并自动配置环境变量

Install OpenJDK 8 in Ubuntu: For 14.10 and later just run apt-get install openjdk-8-jdkOracle JAVA 8 Stable release has been released on Mar,18 2014 and available to download and install on o...

2016-04-11 20:32:59 1597

转载 运维调试记录:C++ compile error: default argument given for parameter

问题:编译C++代码时出现错误提示如下:> g++ *.cppfileTest.cpp:17:117: error: default argument given for parameter 1 of ‘MyClass::fileTest(const string&, std::string, std::string, std::string)’ [-fpermiss...

2016-04-05 12:37:33 12237

转载 GDB程序调试工具参考知识

GDB概述GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成下面四个方面的功能:启动你的程序,可以按照你的自定义的要求随心所欲的运...

2016-04-01 18:38:08 5323 2

转载 C语言中柔性数组解析

在讲述柔性数组之前,我们首先介绍一下不完整类型(incomplete type)。不完整类型是这样一种类型,它缺乏足够的信息例如长度去描述一个完整的对象。 incomplete types ( types that describe objects but lack information needed to determine their sizes).C与C++关于不完整类型的语...

2016-02-21 22:42:23 578

转载 深入理解Netfilter和iptables

本系列博文主要侧重于分析Netfilter的实现机制、原理和设计思想层面的东西,同时包括从用户态的iptables到内核态的Netfilter的交互过程和通信手段等。至于iptables的入门用法方面的东西,网上随便一搜罗就有一大堆,我这里不浪费笔墨了。很多人在接触iptables之后就会这么一种感觉:我通过iptables命令配置的每一条规则,到底是如何生效的呢?内核又是怎么去执行这些规则匹...

2016-02-19 14:18:03 2034 1

转载 PyProjects:Python项目大集合

A list of practical projects that anyone can solve in any programming language (See solutions). These projects are divided in multiple categories, and each category has its own folder.To get started...

2016-01-27 20:56:28 1258

转载 Linux中Ctrl+C,Ctrl+Z,Ctrl+D说明

Ctrl+C:送SIGINT信号,默认进程会结束,但是进程自己可以重定义收到这个信号的行为。 Ctrl+Z:送SIGSTOP信号,进程只是被停止,再送SIGCONT信号,进程继续运行。 Ctrl+D:不是发送信号,而是表示一个特殊的二进制值,表示 EOF。有些信号不能被屏蔽,比如中断,还应该有杀死进程的信号,要不然内核怎么做操作系统中的老大。实际上,SIGKILL和SIGS...

2015-05-05 15:15:48 2503 1

原创 运维调试记录:Ubuntu16.04安装MySQL和Python库MySQLdb步骤

一、安装MySQL服务器和客户端执行以下命令: sudo apt-get install mysql-server-5.7 mysql-client-5.7 sudo apt-get install libmysqlclient-dev libmysqld-dev二、Python安装MySQLdb库执行以下命令: sudo apt-get install py...

2015-05-05 13:18:05 3038

转载 运维调试记录:Ubuntu启动到字符界面和图形界面

1. 设置ubuntu14.04启动到字符界面修改Grub配置文件: /etc/default/grub> 将配置语句> GRUB_CMDLINE_LINUX_DEFAULT = "quiet splash" > 修改为> GRUB_CMDLINE_LINUX_DEFAULT = "quiet splash text"运行Shell命令: > ...

2015-05-05 12:53:03 797

原创 运维调试记录:Mininet: Cannot find required executable controller

问题当我运行mininet时,出现以下问题: ***Creating network ***Adding controller ***Adding hosts: h1 h2 h3 h4 h5 ***Adding switches: s1 ***Adding links: (h1, s1) (h2, s1) (h3, s1) (h4, ...

2015-04-24 14:44:14 6092

原创 运维调试记录:无法远程连接MySQL数据库

问题描述出于兴趣,本人在Windows和Ubuntu系统上均安装了MySQL服务器和客户端。现在有这样一些预备信息:Windows系统的IP地址: 192.168.5.196Ubuntu系统的IP地址:192.168.5.228现在我试图在Windows上远程连接Ubuntu终端主机。首先,在远程Ubuntu主机上配置MySQL访问权限,具体过程如下: mysql&g...

2015-04-22 11:32:16 1688 2

转载 技术原理:C语言中函数指针数组浅析

发现问题问题分析示例代码发现问题今天,在阅读Linux内核中关于socket的源代码时,遇到了下面一段代码:struct proto_ops { int family; struct module *owner; int (*release) (struct socket *sock); int (*bind) (struct socket *so

2015-04-01 22:53:25 851

转载 运维调试记录:Win7中文件或目录损坏且无法读取

问题表现出现“文件或目录损坏且无法读取”这个问题的原因可能为不正常插拔,表现症状为:文件或目录损坏且无法读取磁盘属性为RAW格式,且容量为0解决方法DOS下有个磁盘修复的命令——chkdsk,可以用它来修复“主文件索引表”(MFT): 格式为:chkdsk x: /f x : 为损坏的盘符 /f : 参数指修复磁盘错误 更多参数说明及操作说明请...

2015-03-03 10:47:08 2252

原创 运维调试记录:QSqlDatabase: QMYSQL driver not loaded

在Qt 5.3中使用数据库连接时,弹出下面的错误:QSqlDatabase: QMYSQL driver not loadedQSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7从上面的错误可以看出,错误发生在MySQL数据库驱动并未加载。对于这种错误一般有两种解决方案:第一种:无My...

2015-01-21 17:31:13 6794

原创 技术原理:Python中range和xrange对比

range    函数说明:range([start,] stop [, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列。range示例:>>> range(5)[0, 1, 2, 3, 4]>>> range(1,5)[1, 2, 3, 4]>>> range(0,6,2)[0, 2, 4]xrange    函数说明

2015-01-14 23:22:18 977

原创 QObject成员函数connect()函数

1:首先要链接的两个类必须继承于QObject,同时添加 Q_OBJECT。2:在qt中QObject::connect中填写的signal和slot函数,一定要填写参数类型。    因为类中的函数可以,也就是,重载函数名一样,参数不一样,如果QObject::connect中的函数没有参数类型,则无法正确连接。3:QObject::connect中的signal 和 slot 函数一

2015-01-06 11:03:48 4009

MacDown应用(macOS下的MarkDown编辑器)

MacDown应用(macOS下的MarkDown编辑器),欢迎大家下载,承诺绝对没有病毒和后门问题。

2018-08-02

Linux内核进程切换

Linux内核中进程切换ppt文档,主要介绍Linux内核中进程切换时进行了哪些操作。

2014-12-16

学生选课管理系统(C++实现)

C++写的学生选课管理系统,用文件保存学生信息,未涉及到数据库。

2014-07-18

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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