自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 多CPU ,多核和进程以及多线程之间的关系

今天开始,这个专题主要讲解 java 并发编程系列,从操作系统的进程、CPU、线程等底层开始, 到java 并发工具类,线程、线程池,并发容器、CAS、AQS等原理、源码和使用均做深入的解析。今天讲 进程、线程和CPU 之间的关系 。1、基础概念 什么是进程和线程 ? 进程是程序运行资源分配的最小单位 。进程是操作系统进行资源分配的最小单位,其中资源包括:CPU、内存空间、 磁盘 IO 等,同一进程中的多条线程共享该进程中的全部系统资源,而进程和进程 之间是相互独立的。进程是具有一定独立...

2021-08-13 16:18:29 2603

原创 理解Linux文件系统之inode

一、inode是什么?理解inode,要从文件储存说起。文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八个 sector组成一个 block。文件数据都储存在"块"中,那么很显然,我们还必须找到一个地方储存文件的元信息

2021-06-09 15:15:16 862 1

原创 缓冲区大小不同_inode、文件描述符与文件指针的差异

inode和文件描述符、文件指针差异在linux中,内核通过inode来找到每个文件,但一个文件可以被许多用户同时打开或一个用户同时打开多次。这就有一个问题,如何管理文件的当前位移量,因为可能每个用户打开文件后进行的操作都不一样,这样文件位移量也不同,当然还有其他的一些问题。所以linux又搞了一个文件描述符(file descriptor)这个东西,来分别为每一个用户服务。每个用户每次打开一个文件,就产生一个文件描述符,多次打开就产生多个文件描述符,一一对应,不管是同一个用户,还是多个用户。该文件描述

2021-06-09 15:11:22 262

原创 使用 db2diag 工具来分析 db2diag 日志文件

供数据库和系统管理员使用的主日志文件为管理通知日志。db2diag日志文件旨在供 IBM 软件支持机构用于进行故障诊断。管理通知日志消息也以标准化消息格式记录到db2diag日志文件。db2diag工具用于对db2diag日志文件中的大量信息进行过滤和格式化。过滤db2diag日志文件记录可缩短诊断问题时查找所需记录的时间。示例 1:按数据库名称过滤db2diag日志文件如果实例中有若干数据库,并且您只希望显示与数据库“SAMPLE”有关的信息,那么可以按如下所...

2021-06-08 09:15:41 1482

原创 理解db2 COMMIT 和 CHECKPOINT机制

COMMIT AND CHECKPOINT.Whenever an Insert, Update or Delete statement is successfully executed, DB2 writes two types of log records, Undo Record and Redo Record.For the sake of simplicity log records such as Begin UR, End UR, Two Phase Commit etc. have

2021-06-08 08:55:28 807

原创 微众银行的金融级消息服务平台建设实践和思考

近年来,随着微服务架构的流行,分布式消息引擎在物联网、分布式事务、实时计算和大规模缓存同步等场景中的应用日益增多。本文将分享微众银行基于RocketMQ构建消息服务平台的实践,并通过添加诸多高级特性来解决消息收发过程中遇到的各种问题,通过此文,您将了解到:金融行业服务架构的演进历程微众银行的消息服务架构基于RocketMQ定制的消息高级特性银行应用架构的演进历史不管是银行的系统还是其他一些传统企业的系统,他们在最早的时候都使用到了服务总线,即ESB或者某种形式存在于SOA架构中,目的是把所有的服

2021-06-08 08:48:05 325

原创 一文搞懂 db2 的锁(表锁、行锁、共享锁、排他锁)

锁,很好理解,每个人都在自己的房屋上安装有锁,你拥有了锁,房屋只有你能独占,别人不能访问。数据库中的锁也一样,只不过更加细分。db2 中基本的锁有两类:排他锁(X锁),也叫写锁,当某行数据正在被修改时,其他进程不能再读取或修改共享锁(S锁),也叫读锁,当某行数据正在被读取时,其他进程修改db2 事务的隔离锁的这种机制都是为事务隔离来服务的,这里就不得不说下什么是事务,事务就是数据库管理系统执行过程一组数据库操作,是一个逻辑单位,事务就是要保证一组数据库操作,要么全部成功,要么全部失败。可以简单地这

2021-06-08 08:37:11 4247 1

原创 DB2数据库锁超时问题的分析与排查

前言DB2的锁管理机制一直为DB2应用开发人员和DBA所诟病。对其锁机制不理解的直接后果就是导致锁超时和死锁的发生。所以监控并分析锁超时和死锁,应是每个DB2 DBA的居家必备生存技能。本文记录了公司生产环境数据库发生锁超时后的分析、处理过程,如有表述不当之处,欢迎指正。数据库环境DB2 pureScale V10.5 FP5。问题背景我司生产环境某数据库每天下午15:40~15:50会报锁超时。经查明,问题发生时间正好是每日集中跑批时间。DB2锁超时设置为了能抓到锁超时的Req

2021-06-08 08:36:01 3043

原创 python 及常用库安装方法

python库安装方法:方法一:setpu.py1.下载库压缩包,解压,记录下路径:*:/**/……/2.运行cmd,切换到*:/**/……/目录下3.运行setup.py build4.然后输入python,进入python模块,验证是否安装成功方法二:1.Win + R 打开运行窗口,输入cmd回车2.找到pip安装路径——x:\Pythonxx\Scripts3. 在命令行中切换至该目录cdx:\Pythonxx\Scripts4.输入 pip insta...

2021-06-04 13:38:01 1511 1

记录完整的一次tuxedo 的安装

安装tuxedo91 on AS4 U5一、所需软件Os:as4 u5服务器可以不选必须安装vi和开发工具tux_9.1.txt(license文件)tuxedo91_32_SLES_9_x86.bin(软件包,最好选择此版本的)二、软件安装1.选择控制台安装(非图形方式)[bea@mail 9.1]$ lstux_9.1.txttux_9.1.txt.bak.txttuxedo91_32_SLES_9_x86.bin[bea@mail 9...

2021-06-04 13:36:11 716

原创 windows下Python安装pymysql

# 安装pymysql命令# 从github 下载pymysql 安装包 # 下载地址:https://github.com/PyMySQL/PyMySQL# 解压下载文件,不用打开python交互界面,cd到解压文件所在目录 # 运行pythonsetup.py install# 打开python交互界面,# 运行 import pymysql,如果不报错,说明安装成功!下面是安装截图如:我的下载文件解压位置为:C:\Users\ideayl\Downloads\PyMySQL-...

2021-06-04 13:33:53 335

Python+MySQL数据库操作(PyMySQL)

以下是可用的Python数据库接口 -Python数据库接口和API的列表。需要为要访问的每种数据库下载一个单独的DB API模块。 例如,如果需要访问Oracle数据库和MySQL数据库,则必须同时下载Oracle和MySQL数据库模块。DB API为尽可能使用Python结构和语法处理数据库提供了最低标准。API包括以下内容:导入API模块。 获取与数据库的连接。 发出SQL语句和存储过程。 关闭连接Python具有内置的SQLite支持。 在本节中,我们将学习使用MySQL的相关概念.

2021-06-04 13:31:21 552

原创 Python Excel解析

Python解析Excel时需要安装两个包,分别是xlrd(读excel)和xlwt(写excel),安装方法如下:读取excel前需要先引入该模块(import xlrd)。但是需要注意的是,用xlrd读取excel表时,返回的xlrd.Book类型,是只读的,不能对其进行操作。下面介绍一下读取Excel的流程及使用的一些函数:1、打开Excel文件并读取数据xlrd.open_workbook(filename)filename是要读取的excel表名,当然要加上表所在目录的路径。

2021-06-04 13:29:22 6462

原创 python的最全库文件

https://www.lfd.uci.edu/~gohlke/pythonlibs/

2021-06-04 13:27:32 172

转载 5分钟带你了解Kafka的技术架构

点击上方关注我,选择“置顶或者星标”大家都知道 Kafka 是一个非常牛逼的消息队列框架,阿里的 RocketMQ 也是在 Kafka 的基础上进行改进的。对于初学者来说,一开始面对这么一个庞然大物会不知道怎么入手。那么这篇文章就带你先了解一下 Kafka 的技术架构,让你从全局的视野认识 Kafka。了解了 Kafka 的整体架构和消息流程之后,脑海里就会有一个大致的结构,这时候再去学习每个部分就容易得多了。我们先来看一下 Kafka 的整体架构图:Kafka 的架构图...

2021-06-04 13:20:11 165

原创 程序员如何接私活

01、朋友介绍02、个人品牌03、外包平台04、一点忠告

2021-06-04 13:14:36 131

原创 google go 语言介绍

这是一篇为熟悉c或c++语言的开发人员提供的介绍go语言的基础教程。本文不是综合性的语言指南,而更接近于语言规范。在你阅读本教程后,你可以继续阅读“如何更有效率的编写Go程序”这篇文章,更深入的了解这门语言应该如何被使用。同时,这里还提供了一个Go语言的三天教程:[url=http://golang.org/doc/GoCourseDay1.pdf]第一天[/url],[url=http://golang.org/doc/GoCourseDay2.pdf]第二天[/url],[url=http://gola

2021-06-04 11:13:50 347

原创 最全全国地区代码

全国地区代码表天津市地区代码 地区名称 1100 天津市 辽宁省地区代码 地区名称 2210 沈阳市 2210 法库县 2210 康平县 2210 辽中县 2210 新民市 2220 大连市 2222 普兰店市 2223 庄河市 2224 瓦房店市 2225 长海县 2230 鞍山市 2231 台安县 2232 海城市 2240 抚

2021-06-03 09:15:28 16778 1

原创 C++类模板与模板类深入详解

1、在c++的Template中很多地方都用到了typename与class这两个关键字,而且有时候二者可以替换,那么是不是这两个关键字完全一样呢?事实上class用于定义类,在模板引入c++后,最初定义模板的方法为:template<class T>,这里class关键字表明T是一个类型,后来为了避免class在这两个地方的使用可能给人带来混淆,所以引入了typename这个关键字,它的作用同class一样表明后面的符号为一个类型,这样在定义模板的时候就可以使用下面的方式了: t...

2021-06-03 08:41:20 505

原创 堆栈的内存管理

堆 & 栈的区别一 英文名称堆和栈是C/C++编程中经常遇到的两个基本概念。先看一下它们的英文表示:堆――heap栈――stack二 从数据结构和系统两个层次理解在具体的C/C++编程框架中,这两个概念并不是并行的。深入到汇编级进行研究就会发现,栈是机器系统提供的数据结构,而堆是由C/C++函数库提供的。这两个概念可以从数据结构和系统两个层次去理解:1、从数据结构层次理解,栈是一种先进后出的线性表,只要符合先进后出的原则的线性表都是栈。至于采用的存储方式(实现方式)是顺序存储(顺

2021-06-03 08:39:51 678 1

原创 C++运行时分配内存和编译时分配内存的区别

内存分配方式简介在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。栈,在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。自由存储区,就是那些由malloc等分配的内存块

2021-06-03 08:38:24 341 2

原创 db2 SEQUENCE

db2 SEQUENCE 1、create CREATE SEQUENCE <sequence-name> AS data-type 默认 As Integer START WITH <numeric-constant> ...

2021-06-02 15:30:29 1299

原创 DB2 删除大数据量表方法

1.远程访问脚本

2021-06-02 15:27:47 1202

原创 core dump 分析

环境变量设置可以通过 /etc/security/limits 文件对各用户的基本配置参数包括 core 大小进行限制。或者通过 ulimit 更改当前环境下的 core 大小限制。默认情况下,应用进程生成 core dump 时都使用文件名 core。为了避免同一工作目录下的进程 core 相互覆盖,可以定义环境变量 CORE_NAMING=true,然后启动进程,这样将生成名为 core.pid.ddhhmmss 的文件。可以使用 file core 命令查看 core 是哪个进程产生的。.

2021-06-02 15:17:23 3238

原创 DB2活动日志满的原因、分析、处理与规避

日志使用下图显示了并发事务条件下,日志使用的示意有3个并发的程序Process 1、Process 2、Process 3。每一个程序都有两个事务。蓝块代表SQL语句,红块代表commit操作,绿块代表rollback操作。每一个向下的箭头都代表日志缓冲区的数据被刷新到日志磁盘上(默认是每一次提交操作都会导致日志缓冲被刷新到磁盘上)。在T1时刻,事务A commit,日志缓冲区被刷新到磁盘上。在T2时刻,事务B commit,日志缓冲区被刷新到磁盘上,此时日志X使用完,但由于X中的.

2021-06-02 15:12:37 592

原创 C++编译过程与内存空间

为什么需要知道C/C++的内存布局和在哪可以可以找到想要的数据?知道内存布局对调试程序非常有帮助,可以知道程序执行时,到底做了什么,有助于写出干净的代码。本文的主要内容如下:源文件转换为可执行文件 可执行程序组成及内存布局 数据存储类别 一个实例 总结源文件转换为可执行文件源文件经过以下几步生成可执行文件:1、预处理(preprocessor):对#include、#define、#ifdef/#endif、#ifndef/#endif等进行处理 2、编译(compiler):将..

2021-06-02 15:07:12 227

转载 kafka消息中间件-快速学习

为什么需要消息队列  周末无聊刷着手机,某宝网APP突然蹦出来一条消息“为了回馈老客户,女朋友买一送一,活动仅限今天!”。买一送一还有这种好事,那我可不能错过!忍不住立马点了去。于是选了两个最新款,下单、支付一气呵成!满足的躺在床上,想着马上有女朋友了,竟然幸福的失眠了……  第二天正常上着班,突然接到快递小哥的电话:  小哥:“你是xx吗?你的女朋友到了,我现在在你楼下,你来拿一下吧!”。  我:“这……我在上班呢,可以晚上送过来吗?“。  小哥:“晚上可不行哦,晚上我也下班了呢!”。  于

2021-06-02 15:05:42 279

原创 Linux下程序运行中替换动态链接库引起崩溃详解

笔者在工作过程中,遇到过好多次未停止进程的情况下,直接替换了动态库,导致程序崩溃产生coredump的场景。一直也没有深究过其原因,最近准备总结一下,搜索了很多资料,总结一下。具体场景是:在Linux服务器上。可执行程序A,dlopen方式打开了动态链接库B.so,调用了B库中的函数进行业务处理。未关闭程序A的情况下,用xftp替换了一个新版本的B.so到服务器上。结果A业务上再次调用到B中的函数时,触发了coredump。为了简化问题,这边用一个demo程序来进行问题的说明。下面是可执行程序dlope

2021-06-02 15:02:35 690 1

原创 redis的下载与安装(linux版)

redis的下载与安装(linux版)1.下载路径https://redis.io/download2.上传到linux并且解压3.进入解压之后的redis,并且make && make install4.安装成功之后,进入Redis的src目录启动服务端:./redis-server启动客户端:./redis-cli启动之后输入 ping 回复pong 表明成功----------------------------------...

2021-06-02 15:00:57 1122

原创 select、poll、epoll之间的区别(大厂面试)

(1)select==>时间复杂度O(n)它仅仅知道了,有I/O事件发生了,却并不知道是哪那几个流(可能有一个,多个,甚至全部),我们只能无差别轮询所有流,找出能读出数据,或者写入数据的流,对他们进行操作。所以select具有O(n)的无差别轮询复杂度,同时处理的流越多,无差别轮询时间就越长。(2)poll==>时间复杂度O(n)poll本质上和select没有区别,它将用户传入的数组拷贝到内核空间,然后查询每个fd对应的设备状态,但是它没有最大连接数的限制,原因是它是基于链表来存.

2021-06-02 14:56:05 127 1

原创 linux: 五种IO模型(IO多路复用)

阻塞和非阻塞侧重状态。阻塞调用是指调用后对方一直没有给你回复,你一直等着,什么事都不能干。非阻塞调用指在调用后一直没有给你回复,你每一段时间就问一次,你在这期间可以干别的。同步和异步侧重方式。同步:甲方请求一次,乙方应答一次”这样的有序序列处理业务,只有当“一次请求一次应答”的过程结束才可以发生下一次的“一次请求一次应答”,那么就说他们采用的是同步。异步:如果甲方只要有需要,就会发送请求,不管上次请求有没有得到乙方应答。而乙方只要甲方有请求就会接受,不是等这次请求处理完毕再接受甲方新请求

2021-06-02 14:50:36 271 1

空空如也

空空如也

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

TA关注的人

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