自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (2)
  • 收藏
  • 关注

原创 MySQL-插入数据有则更新,无则插入

insert into table_A(id, title, summary) values (2, "xxx", "xxx"), (3,"xxx","xxx") on duplicate key update title=coalesce(values(title), title),summary=coalesce(values(summary), summary)使用insert into ...onduplicatekey update ...。如果插入的数据与主key冲突,则更新对应的主...

2021-06-22 11:01:23 407

原创 Linux内核设计与实现——第4章进程调度

1、多任务系统可以划分为两类:非抢占式多任务(cooperative multitasking)和抢占式多任务(preemptive multitasking)。Linux是抢占式的。2、进程可以被分为I/O消耗型和处理器消耗型。前者指进程的大部分时间用来提交I/O请求或是等待I/O请求。后者是进程把时间大多用在执行代码上。3、 Linux采用两种不同的优先级范围,第一种是用nice值,第...

2019-09-23 15:50:52 194

原创 Linux内核设计与实现——第三章进程管理

最近在Linux的进程,很多文章看了之后并不是很完整,决定潜心看Linux内核的一些设计。1、Linux系统的线程实现非常特别:它对线程和进程并不特别区分。对Linux而言,只不过是一种特殊的进程罢了。2、进程提供两种虚拟机制:虚拟处理器和虚拟内存。3、在现代的Linux内核中,fork()实际上是由clone()系统调用实现的。4、内核把进程的列表存放在叫做任务队列的双向循...

2019-08-24 14:56:55 215

原创 Linux——进程

之前对进程有一定的概念,但是从操作系统,进程的内存空间,进程的调度,以及一些内部的操作的层面,自己并没有很好地把这些知识点给串起来,形成一个完整的流程。这两天比较系统的学习,所以记录一下。比喻 发现计算机很多设计其实都是源于我们人类的行为模式设计的,都是可以在生活中找到类比的例子。 整个计算机可以比如是一个人,大脑是系统内核+CPU,身体各个...

2019-08-18 21:01:06 200

原创 C++ Primer学习

string::size_type sumLength(const string&, const string&);string::size_type largerLength(const string&, const string&);//根据其形参的取值,getFcn函数返回指向sumLength或者largerLength的指针decltype(sum...

2019-08-17 11:05:50 231

原创 Linux——size命令查看二进制文件各个数据段

Linux中size命令,列出elf文件中text,data,bss段的大小。先放一张,Linux系统中C程序的虚拟内存分布图,来自《深入理解计算机系统(第3版)》:其中.data数据段存放的是初始化的全局和静态变量(全局或局部静态),.bss存放的是未初始化的全局和静态变量(全局或局部静态)。起始大小:我们先写最简单的例子看一下一开始各段的大小,再进行对比:int ma...

2019-08-16 09:17:43 4743

原创 memcpy和memmove的区别

昨天栽了个大跟头,需要记录一下,memcpy()和memmove()的区别,之前有了解过这两个的区别,无奈一直没有用到,一下子就把memmove()这个函数给忘掉了。以至于对它一点印象都没有,真的是印证了那句话,不去用就等于没用。1.源码路径网上很多文章对于这些标准库的方法都是大概讲,有些细节给隐藏掉了,我还是习惯找到源码的出处,自己再根据别人的文章去理解。这两个函数在glibc中实现,可...

2019-08-11 16:55:54 218

原创 2019年8月学习日记

2019.08.051.crontab:Linux一个定时守护进程,在固定的间隔时间执行指定的系统指令或 shell script脚本。//1.编辑当前用户的crontab中定时任务crontab -e//crontab中的内容 Edit this file to introduce tasks to be run by cron.## Each task to run ha...

2019-08-06 08:56:30 134

原创 2019年7月学习日记

从今天开始记录自己的学习记录,不然浑浑噩噩,感觉很多东西都没记住2019.07.16 1.ec:一个把libevent2封装了的C++库。 2.evpp: 360的一个高性能的开发开源库,google代码规范的风格,基于libevent2, boost, gtest,glog库开发,值得好好学习,今晚还没编译完成,等编译完成好好研究一下源码。 3.boost::as...

2019-07-16 21:48:00 303

原创 探索malloc和free

近期对malloc和free内部实现进行一个研究,知道malloc是开辟内存,free是释放申请的内存,但是对于里面具体的实现如何一直不知道。知其然,不知其所以然。记录一下探索的过程,很多都不完善,以后有新的发现在修改。以下思考几个问题:malloc是如何申请内存的?内部的结构如何? free只是传递了一个指针而已,如何知道应该释放多大的内存?以及如何释放? Linux的内存管理机制,...

2019-06-22 18:33:21 1518

原创 LeetCode-654. Maximum Binary Tree

最近在leetcode,觉得不刷题的话,思维能力会下降。题目:Given an integer array with no duplicates. A maximum tree building on this array is defined as follow:The root is the maximum number in the array.The left subtre...

2019-04-16 15:57:56 169

原创 C++类、指针和内存的见解

这两天对于指针,类的使用有多一点的发现,故把一些发现写下来,对一些知识点的总结,排版可能不是那么合理,就只是为了以后自己忘了可以看看,毕竟好记性不如烂笔头嘛,哈哈哈哈。1、类声明指针的函数调用1、类的函数无论是静态还是非静态函数都是存放在代码区,所以可以理解为类的函数和每个我们在堆或栈中生成的对象是独立(独立指的是不在同一块内存区),对象在堆或栈内存中存在的空间只是成员变量和虚函数表(也许...

2018-11-02 14:49:45 663

原创 java Split函数

之前有使用过split函数,但是对这个函数并没有很深入的了解。昨天遇到一个坑,问题 如下:int i = "s\\\\|s\\".split("\\\\|s").length;i = ?看到这里有点蒙,不知从何下手,这才通过编译器得出答案。但是还是不理解,基础不行就是这样,做什么事都很吃力。接下来就研究一下它的用法。print函数:public static void prin

2016-10-19 14:29:13 1468

原创 java的继承

对于上一篇《C++的继承和java的继承》,对java的继承又有了多一点的理解。上一篇说了继承之后父类A,子类B重写了父类的同名函数,那么,父类函数在什么时候就重写了呢?答案是,只要后面new B(); A中的函数就会被重写,即在调用B的构造函数时,super()调用A的构造函数时,也已经被重写了。一切只看new 后面的类。public class A { public A() {

2016-10-18 20:28:07 251

原创 Java的回调函数

所谓的回调,就是程序员A写了一段程序(程序a),其中预留有回调函数接口,并封装好了该程序。 程序员B要让a调用自己的程序b中的一个方法,于是,他通过a中的接口回调自己b中的方法。感谢这个博主点击打开链接,写的很好回调接口public interface CallBack { void loginSuccess(); void loginFailed();}相当于Apub

2016-10-07 21:45:36 339

原创 C++的继承和java的继承

上一篇文章写了一个C++的类继承问题,今天遇到了一个类似的java的问题,所以就比较了一下两者在继承方面的属性和方法的情况。一、C++中的继承class A {public: int a = 0; void foo() { printf("a_foo\n"); } virtual void bar() { printf("a_bar\n"); } A() { printf("A构

2016-09-28 23:54:49 560

原创 C++构造函数以及引用的小理解

最近在笔试中遇到了一道有关C++的构造函数的问题。类一直都是比较复杂的,话不多说,上代码int i = 2;class BaseCls{public: //构造函数的顺序:m_nFir = i++;m_nSec = i++; BaseCls() : m_nSec(i++), m_nFir(i++){ cout << "BaseCls构造" << endl; cout <

2016-09-05 20:05:04 452

原创 Android 中 Fragment 的简单使用

Fragment现在使用很广泛,最近在使用中也有了一点了解,知道一些简单的使用,参考网上一些大神的文章,决定自己写一下自己的使用情况。1、首先,Fragment有v4包(android.support.v4.app.Fragment)和app包(android.app.Fragment),v4包兼容到Android 1.6 而 app 支持 Android 3.0之后的。因为3.0之后才有

2016-07-12 21:09:27 386

原创 在LinearLayout里面动态添加ImageView

今天需要用到动态添加控件,之前也没有怎么用过,所以就写一下,防止自己以后使用忘记了大概的用法。由于不同布局有共同的地方也有不同的地方,这里我就只写了LinearLayout的动态添加ImageView,其他控件也是差不多。对于LayoutParams也是有了点了解,大概的作用应该是跟父容器说,我这个控件在你里面的位置应该怎么放,放在哪里,高宽度多大,左右距离等的作用,就是把xml里面的东西

2016-07-10 20:27:57 8971 2

原创 Java——Integer和int比较

Java基础不行啊,今天做了一道题学习了一个基础知识点,就是Integer和int之间的比较问题。我们都知道int是基本的数据类型,而Integer是包装类。记录下来,防止之后忘了,测试数据如下: Integer i01 = 127; Integer i02 = Integer.valueOf(127); int i05 = 127; Integer i07 = new In

2016-04-13 14:57:40 589

原创 Android Studio API23之后使用HttpCLient包

看了教材和网上的一些视频,开发正常都有使用google 安卓自带的HttpURLConnection和Apache的HttpClient两种方法,但是用Android Studio发现HttpClient没有了,原来是Google把HttpClient去掉了,建议开发者使用HttpURLConnection,但是如果想使用HttpClient的话,最简单的方法直接在Moudle下build.gra

2016-02-21 11:19:43 431

Fragment的hide和show切换

Fragment的hide和show切换

2016-07-12

Android不同形状的ImageView

Android不同形状的ImageView

2016-07-11

空空如也

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

TA关注的人

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