自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不很正派的专栏

每一次敲击都是对它的热爱

  • 博客(112)
  • 资源 (7)
  • 收藏
  • 关注

原创 Mysql 死锁问题

1.Mysql中的隔离级别RC与RR1.1. 数据库事务ACID特性数据库事务的4个特性:原子性(Atomic): 事务中的多个操作,不可分割,要么都成功,要么都失败; All or Nothing.一致性(Consistency): 事务操作之后, 数据库所处的状态和业务规则是一致的; 比如a,b账户相互转账之后,总金额不变;隔离性(Isolation): 多个事务之间就...

2018-08-06 00:29:16 197

原创 学会提问

第1章:学会提出好问题批判性地聆听和阅读,即对自己耳闻目见对一切进行系统的评判理想地效果是经常提出问题将成为你身份地标记和存在宣言,而不仅仅是你从书中学到的一套本领批判性思维的涵盖内容:1.有一套相互关联、环环相扣的关键问题的意识2.恰如其分地提出和回答关键问题的能力3.积极主动地利用关键问题的强烈愿望有两种思维方式:1.海绵式思维,其优点有:1.1吸收外部世界...

2018-07-30 08:41:36 387

转载 转:深网 | 中国手机往事:因为雷军、罗永浩们,中国才告别山寨机

小米成立之初,联想、OPPO等都不看好。 罗永浩和锤子的两次危机关头,刘强东都帮了他。 刘作虎曾因一加2囤货太多卖不出去,天天自责,下发内部邮件反思自己的错误。 乐视危机发生前几个月,贾跃亭并没有觉得哪里不对,还给锤子借了1亿。 小米曾与屏幕供应方三星闹矛盾,最后雷军出面才化解。 小米开创的互联网手机模式被学习和借鉴,只不过结局迥异,荣耀、一加等公司开花结果,魅族、锤子和360手机等公司...

2018-07-09 23:06:41 742

原创 第5条:避免创建不必要的对象

最好能重用对象而不是在每次需要的时候就创建一个相同功能的新对象。如果对象是不可变(immutable),它就始终可以被重用String s = new String("stringette");每次执行上面的语句都会创建一个新的String实例。因为”stringette”本身就是一个String实例,这和构造器创建出来的新对象功能方面完全相同。如果频繁调用这一方法,就会创建成千上...

2018-07-08 19:22:48 105

原创 第4条:通过私有构造器强化不可实例化的能力

对只有静态方法和域的类,主要用于把基本类型的值或数据类型上的相关方法组织起来(Math,Arrays),可以通过Collections的方法把实现特定接口的对象上的惊天方法组织起来,可以利用这种类把final类上的方法组织起来,以取代扩展该类的做法。此工具类是不希望被实例化的,实例化对他么有任何意义。然后我们如果不提供构造器,jvm会自己提供,那还是会被实例化,那么我们只要在类中提供一个私有的构造...

2018-07-08 15:51:26 103

原创 关于蚂蚁花呗无法使用的问题

关于无法使用花呗买家无法在您店铺使用花呗付款有以下原因:一、店铺原因:1.卖家需开通订购花呗服务;刚订购请关注24小时生效;花呗准入要求是实时校验的,如果出现当下不符合使用要求(如店铺升级过户导致支付宝账号变更,或已订购成功店铺和支付宝账号存在违规情况等)也会无法使用2.商品类目和店铺主营不是以下类目:腾讯QQ专区;网络游戏点卡;成人用品/避孕/计生用品;移动/联通/电信充值中心;...

2018-07-05 00:24:32 11095 1

原创 第3条:用私有构造器或者枚举类型强化Singleleton属性

0换句话尽快

2018-07-04 09:07:27 268

原创 谷歌浏览器插件surfingkeys快捷键记录

输入gi——跳到第一个输入框i——选择输入框打开链接f——在当前页面打开某个链接af——在新标签页打开某个链接C——在新标签页后台打开某个链接,此时页面仍处于之前的连接上滚动gg——滚动到顶部G——滚动至底部e——向上滚动一页d——向下滚动一页j——向下滚动k——向上滚动h——向左滚动l——向右滚动标签页g0——跳到第一个标签页...

2018-06-30 18:50:57 4486

原创 数据流过程中一定大小窗口的topK问题

我们经常在大数据问题中遇到topK,但这里我们讨论的是在数据流的场景下数据中的topK,本人将在下面提出一些设计方式。示意图如下: 数据流流入处理模块,模块中初始化了最小堆和最大堆,维护两个堆之间的关系和大小,保证模块中为最近一段时间内一定数量的数据,再通过堆的性质,获取这些数据中的topK。代码实现如下:import java.util.Comparator;import j...

2018-06-27 02:11:13 493

原创 第2条:遇到多个构造器参数时要考虑用构建器

静态工厂和构造器有个共同的局限性:它们都不能很好地扩展到大量的可选参数。考虑用一个类表示包装食品外面显示的营养成份标签。这些标签中有几个域是必需的:每份的含量、每罐的含量以及每份的卡路里,还有超过20个可选域:总脂肪量、饱和脂肪量、转化脂肪、胆固醇、钠等等。大多数产品都只有几个可选域中会有非零的值。对于这样的类,应该用哪种构造器或者静态方法来编写呢?程序员一向习惯采用telescoping c...

2018-06-26 00:00:27 110

原创 第1条:考虑用静态工厂方法代替构造器

通常我们创建对象的方法有两种:使用类公有的构造器使用类的静态方法返回一个实例对象静态方法的优点:1.静态工厂方法与构造器不同的第一大优势在于,它们有名称静态工厂方法的名字由自己命名,而构造方法必须与类名相同。//使用构造器方法获取到一个素数BigInteger prime = new BigInteger(int, int ,Random);//使用静态工厂方法Bi...

2018-06-25 22:28:11 458

转载 google site 网站搜索功能

语法格式site : 网址 关键词 或者 关键词 site : 网址 注意事项: 1、site:后边跟的冒号必须是英文的“:”,中文的全角冒号“:”无用 2、url前不能带http:// 3、url后边不能带斜杠“/”,其实是哪里都不能带/ 4、url中不要用www,除非你有特别目的, 用www会导致错过网站内的内容,因为很多网站的频道是没有www的。其他说明1、关键词...

2018-06-21 23:06:50 10122

原创 世界上最简单的会计书-笔记

达雷尔·穆利斯,朱迪丝·奥洛夫. “世界上最简单的会计书。”第一章:现金、原始投资、资产、负债、应付票据、所有者权益、资产负债表、存货、盈利、费用现金:指可流动形式的货币原始投资:它是指为使项目完全达到设计生产能力,开展正常经营而投入的全部现实资金资产:会计学上的资产(英文:Asset),指一企业透过交易或非交易事项所获得之经济资源,能以货币衡量,并预期未来能提供效益者。资产,...

2018-06-21 23:04:26 3692

原创 IntelliJ IDEA 使用 TOMCAT 中文乱码的各种问题

工程乱码打开File-Setting, 找到File Encodings这个选项,把encoding设置成你工程的编码即可,一般是UTF-8,如下图(红框的地方),然后重新rebuild一下,基本就行了执行main函数时,控制台乱码同样是打开setting,找到 Build,Execution,Deployment > Compiler > Java Compile...

2018-06-18 12:36:34 92522 31

原创 MySQL 8.0报错:ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded

报错信息:error 2059: Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory 原因:...

2018-06-17 21:46:58 3625 1

原创 常用函数strcpy strcat strcmp strlen memcpy memset

strcpystrcpy是拷贝字符串,以’\0’为标志结束 strcpy的原型为//这里不考虑源字符串长度比目标字符串长度长的情况char* strcpy(char * dst, const char * src){ assert((dst != NULL) && (src != NULL)); char * cp = dst; while ( *cp++

2018-02-01 00:06:23 1072

原创 C++ String 类的简单实现

String类里面主要包含构造,拷贝构造,析构,赋值,比较,字符串相加,获取长度及子串等方法。#include <iostream>#include <cstring>using namespace std;class String{public: // 默认构造函数 String(char *str = NULL); // 复制构造函数 String(Stri

2018-01-31 00:06:12 2782 2

转载 必须使用【初始化列表】初始化数据成员的情况

类对象的构造顺序是这样的: 1.分配内存,调用构造函数时,隐式/显示的初始化各数据成员; 2.进入构造函数后在构造函数中执行一般赋值与计算。使用初始化列表有两个原因: 原因1.必须这样做:《C++ Primer》中提到在以下三种情况下需要使用初始化成员列表: 情况一、需要初始化的数据成员是对象的情况(这里包含了继承情况下,通过显示调用父类的构造函数对父类数据成员进行初始化);

2018-01-29 22:31:17 2285

转载 STL中vector,Map,Set的实现原理

vectorvector的数据安排以及操作方式,与array非常类似,两者唯一的区别是空间运用的灵活性,array是静态空间,一旦配置了就不能改变,如果你想要大一点的空间,就必须首先配置一块新空间,然后将原来的元素一一复制进来,再把原来的空间释放给系统。但是vector是动态空间,随着元素的增加,它的内部机制会自行扩充空间以容纳新元素,因此vector的运用对于内存的合理利用与运用的灵活性有很大的帮

2018-01-29 00:01:42 4024

转载 SGI-STL内存池实现原理

STL之父Alexander Stepanov离开HP之后就去了SGI(Silicon Graphics Computer System, Inc),然后和Matt Austern这些STL大牛一起搞了SGI STL。它也是HP STL的一个继承版本。它属于开放源码,因此你可以修改和销售它。SGI STL被GCC(linux下的C++编译器)所采用,你可以在GCC的Include子目录下找到所有头文

2018-01-28 16:40:59 639

转载 TCP相关技术:重发机制

重发机制TCP协议是一个可靠的协议。它通过重新发送(retransmission)来实现TCP片段传输的可靠性。简单的说,TCP会不断重复发送TCP片段,直到片段被正确接收。接收方(receiver)可以通过校验TCP片段头部中checksum区域来检验TCP片段是否出错。我们已经接触过了IP协议详解的checksum算法。TCP片段的checksum算法与之类似。IP协议的checksum只校验头

2018-01-28 14:37:08 2110

转载 TCP三次握手四次挥手详解

TCP三次握手所谓三次握手(Three-way Handshake),是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。三次握手的目的是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号并交换 TCP 窗口大小信息.在socket编程中,客户端执行connect()时。将触发三次握手。第一次握手: 客户端发送一个TCP的SYN标志位置1的包指明客户打算连接的服务器的端口,

2018-01-27 10:44:17 294

转载 以太网帧,IP,TCP,UDP首部结构

1.以太网帧的格式2.IP报头格式IP是TCP/IP协议簇中最为重要的协议。所有的TCP,UDP, ICMP和IGMP数据都以IP数据报格式传输。IP提供的是不可靠、无连接的协议。普通的IP首部长为20个字节,除非含有选项字段。4位版本:目前协议版本号是4,因此IP有时也称作IPV4.4位首部长度:首部长度指的是首部占32bit字的数目,包括任何选项。由于它是一个4比特字段,因此首部长度最长为60个

2018-01-24 22:03:57 1334

转载 TCP与UDP之间的区别

TCP和UDP区别 / TCP UDP 是否连接 面向连接 面向非连接 传输可靠性 可靠的 不可靠的 应用场合 传输大量的数据 少量数据 速度 慢 快OSI 和 TCP/IP 模型在传输层定义两种传输协议:TCP(或传输控制协议)和 UDP(或用户数据报协议)。UDPUDP 与 TCP 的主要区别在于 UDP 不一定提供可靠的数据传输。事实

2018-01-24 21:33:46 363

原创 C11 标准新特性

C11标准是C语言标准的第三版(2011年由ISO/IEC发布),前一个标准版本是C99标准。相比C99,C11有哪些变化呢1、 对齐处理alignof(T)返回T的对齐方式,aligned_alloc()以指定字节和对齐方式分配内存,头文件定义了这些内容。alignof( 类型标识 ) 返回 std::size_t 类型值。 返回由类型标识所指示的类型的任何实例所要求的对齐字

2018-01-21 18:08:08 8863

转载 二叉查找树(BST)

什么是二叉查找树二叉查找树(Binary Search Tree)又叫二叉排序树(Binary Sort Tree),它是一种数据结构,支持多种动态集合操作,如 Search、Insert、Delete、Minimum 和 Maximum 等。二叉查找树要么是一棵空树,要么是一棵具有如下性质的非空二叉树:若左子树非空,则左子树上的所有结点的关键字值均小于根结点的关键字值。若右子树非

2018-01-13 18:44:02 683

转载 C/C++内存管理详解

内存管理是C++最令人切齿痛恨的问题,也是C++最有争议的问题,C++高手从中获得了更好的性能,更大的自由,C++菜鸟的收获则是一遍一遍的检查代码和对C++的痛恨,但内存管理在C++中无处不在,内存泄漏几乎在每个C++程序中都会发生,因此要想成为C++高手,内存管理一关是必须要过的,除非放弃C++,转到Java或者.NET,他们的内存管理基本是自动的,当然你也放弃了自由和对内存的支配权,还放弃了C+

2018-01-08 23:42:59 159

转载 C++中宏与内联函数的优缺点

宏为什么要使用宏呢?因为函数的调用必须要将程序执行的顺序转移到函数所存放在内存中的某个地址,将函数的程序内容执行完后,再返回到转去执行该函数前的地方。这种转移操作要求在转去执行前要保存现场并记忆执行的地址,转回后要恢复现场,并按原来保存地址继续执行。因此,函数调用要有一定的时间和空间方面的开销,于是将影响其效率。 而宏只是在预处理的地方把代码展开,不需要额外的空间和时间方面的开销,所以调用一个宏比

2018-01-07 18:38:37 981

转载 C++ 中内存对齐原理及作用

struct/class/union内存对齐原则有四个:1).数据成员对齐规则:结构(struct)(或联合(union))的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员存储的起始位置要从该成员大小或者成员的子成员大小(只要该成员有子成员,比如说是数组,结构体等)的整数倍开始(比如int在32位机为4字节, 则要从4的整数倍地址开始存储),基本类型不包括struct/clas

2018-01-07 16:54:46 2594

转载 C++中的类型转换(static_cast、const_cast、dynamic_cast、reinterpret_cast)

1. c强制转换与c++强制转换c语言强制类型转换主要用于基础的数据类型间的转换,语法为:(type-id)expression//转换格式1type-id(expression)//转换格式2c++除了能使用c语言的强制类型转换外,还新增了四种强制类型转换:static_cast、dynamic_cast、const_cast、reinterpret_cast,主要运用于继承关系类间的强制转化,语

2018-01-06 22:30:26 1181

转载 C++不要在构造函数和析构函数中调用虚函数

这里先运行个示例代码:#include<iostream> using namespace std;class Base {public: Base() { cout << "Base::Base()" << endl; fun(); //fun_();//编译错误 } virtual void fun() {

2018-01-02 22:03:09 1187

转载 C++中垃圾回收机制中几种经典的垃圾回收算法

前言垃圾收集器是一种动态存储分配器,它自动释放程序不再需要的已分配的块,这些块也称为 垃圾 。在程序员看来,垃圾就是不再被引用的对象。自动回收垃圾的过程则称为 垃圾收集(garbage collection) 。在一个支持垃圾收集的语言中,程序显式地申请内存,但从不需要显式的释放它们。垃圾收集器会定期识别垃圾块,并将垃圾块放回空闲链表中。显然,C语言的malloc包不是一个带GC功能的分配器,程序员

2018-01-01 20:46:23 5861

转载 C++中构造函数和析构函数抛出异常问题

一. 抛出异常1.1 抛出异常(也称为抛弃异常)即检测是否产生异常,在C++中,其采用throw语句来实现,如果检测到产生异常,则抛出异常。该语句的格式为: throw 表达式;如果在try语句块的程序段中(包括在其中调用的函数)发现了异常,且抛弃了该异常,则这个异常就可以被try语句块后的某个catch语句所捕获并处理,捕获和处理的条件是被抛弃的异常的类型与catch语句的异常类型相匹配。由于C+

2018-01-01 14:45:44 4028

转载 C++中虚析构函数和纯虚函数的作用

一. 虚析构函数为了能够正确的调用对象的析构函数,一般要求具有层次结构的顶级类定义其析构函数为虚函数。因为在delete一个抽象类指针时候,必须要通过虚函数找到真正的析构函数。class Base{public: Base(){} virtual ~Base(){}};class Derived: public Base{public: Derived(){}; ~

2017-12-26 23:38:10 3465 1

转载 C++中类对象的内存布局以及虚函数表生成

类对象内存布局计算l 空类、单一继承的空类、多重继承的空类所占空间大小为:1(字节,下同);l 一个类中,虚函数本身、成员函数(包括静态与非静态)和静态数据成员都是不占用类对象的存储空间的;l 因此一个对象的大小≥所有非静态成员大小的总和;l 当类中声明了虚函数(不管是1个还是多个),那么在实例化对象时,编译器会自动在对象里安插一个指针vPtr指向虚函数表VTable;l 虚承继的情况:由

2017-12-24 23:59:16 1401

转载 Android 实现webview的封装示例

xml文件,相对布局,包含一个WebView和一个关闭按钮RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/webViewLayout" android:layout_width="match_parent" android:layout

2017-12-19 21:48:11 4630

转载 C++中动态类型与动态绑定、虚函数、运行时多态的实现

动态类型与静态类型静态类型是指不需要考虑表达式的执行期语义,仅分析程序文本而决定的表达式类型。静态类型仅依赖于包含表达式的程序文本的形式,而在程序运行时不会改变。通俗的讲,就是上下文无关,在编译时就可以确定其类型。动态类型是指由一个左值表达式表示的左值所引用的最终派生对象的类型。例:如果一个静态类型为“类 B ”的指针p 指向一个继承于 B的类 D 的对象,则表达式 *p 的动态类型为“D”。引用按

2017-12-17 22:52:43 719

转载 C++中动多态实现之虚函数与虚表指针

1、静多态与命名倾轧,动多态与虚函数:(1)概述: 我们知道,C++的多态有静多态(Static polymorphism)与动多态(Dynamic polymorphism)之分,静多态是依靠函数重载(function overloading)实现的,而且这种依靠函数重载的多态的实现是采用命名倾轧(关于命名倾轧可参考:C++函数重载与重载原理:命名倾轧 )的方式,是在编译阶段就已经完成了的;而动

2017-12-16 15:43:03 561

转载 C/C++中new与malloc的区别

1. 申请的内存所在位置new操作符从自由存储区(free store)上为对象动态分配内存空间,而malloc函数从堆上动态分配内存。自由存储区是C++基于new操作符的一个抽象概念,凡是通过new操作符进行内存申请,该内存即为自由存储区。而堆是操作系统中的术语,是操作系统所维护的一块特殊内存,用于程序的内存动态分配,C语言使用malloc从堆上分配内存,使用free释放已分配的对应内存。那么自由

2017-12-08 23:09:05 245

转载 C/C++中const使用详解

C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性。一、Const作用 NO. 作用 说明 参考 1 可以定义const常量 const int Max = 100; 2 便于进行类型检查 const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查,而对后者只进行字符替换,没有类型安全检查,并且在字符替换

2017-12-05 16:42:05 435

QRCode二维码编码解码工具(C++)

完整的能够实现将文本文件编码为二维码图片或将二维码图片解码为文本的小工具。 基于zxing的解码库,libqrcode的编码库,开源可根据需求修改。 vs工程、c++编写,命令行下输入参数即可实现转化,移植性强。 支持中文,生成的结果文本中显示无误。

2016-12-07

QRCode 二维码编码、解码工具

完整的能够实现将文本文件编码为二维码图片或将二维码图片解码为文本的小工具。 基于zxing的解码库,libqrcode的编码库,开源可根据需求修改。 vs工程、c++编写,命令行下输入参数即可实现转化,移植性强。 亲测可用支持中文,生成的结果文本中显示无误。

2016-12-08

android 2048 游戏源代码

经测试无bug,代码结构清晰,注释详细,同时用SQLite编写了回退按钮,界面简单,风格统一。欢迎批评指正。

2014-10-24

stanley博士的家小游戏源码

stanley博士的家 1、2 swf格式,拖到浏览器就可以玩,解密类小游戏,有兴趣的可以试试。

2016-11-27

Base64 编解码工具

Base64编码解码实用工具,提供相关接口,测试无误。

2016-12-20

QR码标准文件2006

qr_code-iso-iec_18004_2006 想研究QR码的标准文件,能够详细了解其生成原理及特点

2016-11-19

sourceinsight 破解版

破解版sourceinsight,阅读源码的必备工具。

2017-08-23

空空如也

空空如也

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

TA关注的人 TA的粉丝

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