自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Thinking in Java(Fourth Edition)学习笔记--并发(concurrency)-21.4终结任务

1.线程四种状态:新建,就绪,阻塞,死亡.其中,就绪状态,只要调度片把时间片分配给线程,线程就可以运行.也就是说,在任意时刻,线程可以运行也可以不运行.这不同于死亡和阻塞状态.2.使用Executor.submit()而不是executor()来启动任务,,就可以获得任务的上下文,submit()将返回Future,可以调用Future.cancel(true)来中断任务(P695-696)...

2020-04-16 10:05:33 153

原创 Thinking in Java(Fourth Edition)学习笔记--并发(concurrency)-21.2基本线程机制

1.任务只需实现Runner接口并编写run()方法,就可以执行任务.每个任务需要着到线程(Thread)上.   注意:线程执行基本是无序的,若要控制顺序,需要使用同步控制2.但是Exector可以为我们管理Thread对象,Exector在客户端和任务执行之间提供了一个间接层.  Executors.newCachedThreadPool(),Executors.newFixedT...

2020-04-15 11:37:21 170

原创 Thinking in Java(Fourth Edition)学习笔记--string(字符串)

1.String对象是不可变的,`String` 类中每一个看起来会修改 `String` 值的方法,实际上都是创建了一个全新的 `String` 对象,以包含修改后的字符串内容。而最初的 `String` 对象则丝毫未动。2.String可能会产生一大堆需要垃圾回收的中间对象,但是编译器会使用StringBuilde进行优化.但是编译器对于循环的优化无法做到最好,会为每一个循环生成一个St...

2020-03-04 17:17:03 214

原创 Thinking in Java(Fourth Edition)学习笔记--exception(异常)

(P249)当抛出异常后,有几件事会随之发生。首先,同 Java 中其他对象的创建一样,将使用 new 在堆上创建异常对象。然后,当前的执行路径(它不能继续下去了)被终止,并且从当前环境中弹出对异常对象的引用。此时,异常处理机制接管程序,并开始寻找一个恰当的地方来继续执行程序。这个恰当的地方就是异常处理程序,它的任务是将程序从错误状态中恢复,以使程序能要么换一种方式运行,要么继续运行下去。(P...

2020-03-03 17:20:01 158

转载 Ubuntu16右上角输入法图标突然消失,而且无法输入中文

Ubuntu16右上角输入法图标突然消失,而且无法输入中文,可能是我刚安装的主题修改了系统配置导致的,我用的是fcitx,搜狗输入法。解决办法:1.清理搜狗输入法(可能不需要这一步)删除用户目录~/.config文件夹内三个以Sogou开头的文件夹,这是搜狗输入法的配置文件夹。2. 彻底卸载fcitxsudo apt remove fcitx1上一条命令卸载不彻底,需要使用...

2019-06-26 16:08:27 1792

转载 宏定义只有一个参数

经常在一些代码中看到,#define 后面接一个参数,比如:#define IN或者#define MUX什么的,一般宏定义后面都会再跟一个参数表示要代替的值,另外就是跟ifndef结合使用的防止多次包含头文件的,只有一个参数。而这里又是什么意思呢?那个是空宏定义,用于标记,便于理解(因为实际运行时改宏变为“空“)最典型的是#define DEBUG#define UNICODE如

2015-01-15 15:22:39 2594

转载 c语言中命名以单下划线(_)和双下划线(__) 开头的意思

以单下划线(_)表明是标准库的变量双下划线(__) 开头表明是编译器的变量

2015-01-15 13:37:54 25689

转载 两段提交协议

两阶段提交协议(two phase commit protocol,2PC)可以保证数据的强一致性,许多分布式关系型数据管理系统采用此协议来完成分布式事务。它是协调所有分布式原子事务参与者,并决定提交或取消(回滚)的分布式算法。同时也是解决一致性问题的一致性算法。该算法能够解决很多的临时性系统故障(包括进程、网络节点、通信等故障),被广泛地使用。但是,它并不能够通过配置来解决所有的故障,在某些情况

2014-10-20 21:51:47 561

转载 三种工厂模式的分析以及C++实现

以下是我自己学习设计模式的思考总结。简单工厂模式简单工厂模式是工厂模式中最简单的一种,他可以用比较简单的方式隐藏创建对象的细节,一般只需要告诉工厂类所需要的类型,工厂类就会返回需要的产品类,但客户端看到的只是产品的抽象对象,无需关心到底是返回了哪个子类。客户端唯一需要知道的具体子类就是工厂子类。除了这点,基本是达到了依赖倒转原则的要求。 假如,我们不用工厂类,只用AbstractP

2014-10-19 15:07:19 482

转载 栈溢出

栈溢出是由于C语言系列没有内置检查机制来确保复制到缓冲区的数据不得大于缓冲区的大小,因此当这个数据足够大的时候,将会溢出缓冲区的范围。

2014-10-09 16:30:29 499

转载 内存区划分、内存分配、常量存储区、堆、栈、自由存储区、全局区[C++][内存管理]

一. 在c中分为这几个存储区1.栈 ——由编译器自动分配释放2.堆 ——一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收3.全局区(静态区)——全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域(C++中已经不再这样划分)。- 程序结束释放4.另外还有一个专门放常量的地方。- 程序结束释

2014-10-01 09:09:40 382

转载 C++ static、const和static const 以及它们的初始化

const定义的常量在超出其作用域之后其空间会被释放,而static定义的静态常量在函数执行后不会释放其存储空间。      static表示的是静态的。类的静态成员函数、静态成员变量是和类相关的,而不是和类的具体对象相关的。即使没有具体对象,也能调用类的静态成员函数和成员变量。一般类的静态函数几乎就是一个全局函数,只不过它的作用域限于包含它的文件中。      在C++中,static静

2014-09-27 10:10:05 347

转载 显式析构函数的陷阱及解决方案(转)

为了理解这个问题,我们必须首先弄明白“堆”和“栈”的概念。堆区(heap) —— 一般由程序员分配释放(如用new申请的内存), 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式          倒是类似于链表。栈区(stack)—— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。        我们构造

2014-09-21 16:00:15 454

转载 句柄类及其使用举例

由于c++不支持对象的动态多态,只有指针或引用支持动态多态。所以,使用一个句柄类(只包含指针数据成员)来支持对象的多态性句柄的使用一般包含如下两种情况:对象的多态性和对象的共同计数源代码如下:#include using namespace std;class point{public:    point():x_cdt(0),y_cdt(0){}   

2014-09-21 15:59:03 941

转载 关于thinking in c++

初学者一般看这本书会比较吃力的第一卷前三章没什么,略看。456三章是面向对象思想基础,不大好理解,看不懂没关系。接着的各个章节都是从各个语法点渗透,慢慢传递思想。个人感觉讲“引用”和“拷贝构造函数“那章比较特别,在其他书里没有类似的东西。另外一个特别的就是讲多态和虚函数那章,也是非常深邃的。(我的是英文版,由于版本的缘故,就不说是第几章了,说内容)其他的部分基本没有什么值得特别提出来的,都是语法基

2014-09-21 15:57:51 485

转载 引用是什么

在学c++的时候 我遇到的第一个问题就是这个引用,引用是什么东西,我的c++启蒙教科书是c++ primer plus,这本书上说的是:引用是已定义变量的别名,可以使用这个引用来表示这个变量;每当看到这句话的时候 我就有一种淡淡的的忧伤感,其实还是不懂, 这句话说的意思是说引用是个名字吗,那么引用占多大内存呢,我把这章从头看到尾 可惜对此只字不提, 由此可见写书者的诚意(至少我看不到),   本文

2014-09-21 15:54:32 621

原创 关于对象和对象指针,涉及指向链表首结点和二叉树根结点的头指针——传指针还是传指针的指针?

C++对象和对象指针很少被讲到,但数据结构中(如链表、二叉树)函数调用时,经常涉及到对象指针,甚至是对象指针的指针。以链表的建立为例,当涉及到要修改链表中的结点时,那么函数参数就必须是对象指针或对象指针的指针。例1、ListNode *Head = NULL;    CreateList(Head);//创建链表    PrintList(Head);//打印链表       

2014-09-21 15:46:22 657

转载 linux系统入门

一、学习Linux的基本要求1. 掌握至少50个以上的常用命令。 2. 熟悉Gnome/KDE等X-windows桌面环境操作 。 3. 掌握.tgz、.rpm等软件包的常用安装方法 4. 学习添加外设,安装设备驱动程序(比如网卡) 5. 熟悉Grub/Lilo引导器及简单的修复操作 。 6. 熟悉Linux文件系统 和目录结构。 7. 掌握vi,gcc,gdb等常用编辑器,编译器,

2014-05-10 21:49:10 424

转载 linux学习曲线

学习linux,首先得看你想用linux做那方面的工作。你可以做一个系统管理员,也可以做一个linux服务器环境开发人员,也可以做网络通信方面的,甚至底层的可以向驱动程序发展。先大概讲一下这些方面都做些什么吧。系统管理不必多说,你得精通linux的命令和脚本,擅长处理各种数据文件,linux的脚本语言很多,shell是一种。系统管理员最主要的工作所管理维护Linux系统的配置环境,所以这项

2014-05-10 21:47:07 1263

原创 js跟java计算文件MD5不一致问题

最近项目中发现js跟java算出的MD5值不一样,经比较发现是js问题。因为在

2014-04-24 11:44:20 5773

转载 js中string转成json格式

转自http://blog.163.com/xiexiaoming05@126/blog/static/6753898520093275828469/  JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。 JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 A

2014-04-18 11:13:11 1336

原创 读取一行数据中以空格(一个或者多个)隔开的个数据

#include #include #include using namespace std;void main(){string str1 = "I am     bbb  333";string str2,str3,str4;istringstream is(str1);is>>str2>>str3>>str4;cout","","}

2014-04-16 14:35:38 4181

原创 solr中一个问题——顺便讨论java中关于中包括main函数以及涉及资源(变量)操作中的类

1、package solrj;import java.util.UUID;import com.rabbitmq.client.ConnectionFactory;import com.rabbitmq.client.Connection;import com.rabbitmq.client.Channel;import com.rabbitmq.client.Queue

2014-04-15 16:18:11 617

转载 solr单机版安装

转自 http://www.abyssss.com/?p=21(如果仅想在单机上测试一下solr的基本功能,直接按照白皮书的方法做就好,非常简单。)网上有很多类似文章,不是太简单就是太复杂,简单的照做通常没用,复杂的又往往有多余的步骤。这里给出的流程比较简单,而且已经在windows,Ubuntu和CentOS各种环境下试过,确认可重复。这是在linux(Ubuntu)

2014-04-10 15:51:55 993

转载 阿里消息中间件

中间件技术及双十一实践·消息中间件篇消息中间件——分布式消息的广播员综述消息中间件是一种由消息传送机制或消息队列模式组成的最典型的中间件技术。通过消息中间件,应用程序或组件之间可以进行可靠的异步通讯来降低系统之间的耦合度,从而提高整个系统的可扩展性和可用性。3.1、NotifyNotify是淘宝自主研发的一套消息服务引擎,是支撑双11最为核心的系统之一,

2014-03-21 18:01:36 1349

转载 中间件技术及双十一实践·数据篇

中间件技术及双十一实践·数据篇0数据层——分布式数据存储的桥梁综述大型互联网架构中,数据存储会面临读写容量瓶颈问题,像淘宝双十一活动,核心数据存储集群读写日访问量可以达到100亿以上,在这种场景下,单机数据库方式必定面临极大挑战,类似的场景也在一些传统使用IOE的企业中成为一种制约业务发展的致命要素。而在阿里集团内,TDDL体系就是解决此种场景的

2014-03-20 15:54:41 893

原创 读写分离

1、为什么读写分离为什么能够提高效率?因为master需要与slave同步,这意味着在master所执行的(写)的所有语句,都会在slave被执行一遍,这不是等于slave与master的负荷与读的效率是一致的吗?A:分摊读取。假如我们有1主3从,不考虑上述1中提到的从库单方面设置,假设现在1分钟内有10条写入,150条读取。那么,1主3从相当于共计40条写入,而读取总数没变,因此平均下来每台

2014-03-20 15:44:18 595

转载 CAP理论与PACELC

转自:Leoncom-《CAP理论与PACELC》CAP理论与PACELCleoncom NoSQL2011-01-07从去年开始接触NoSQL的知识,CAP理论可以说是整个NoSQL运动者的理论指导。CAP理论由UC Berkeley的Eric Brewer教授在2000年提出,并于2002年由MIT的Seth Gilbert & Nancy Ly

2014-03-20 14:49:48 1631

转载 OceanBase架构

最近花了点时间研究了下OceanBase,非常有意思,写点东西记录一下学到的东西。参考文档:https://github.com/alibaba/oceanbase/wiki/OceanBase%E6%9E%B6%E6%9E%84%E4%BB%8B%E7%BB%8DOceanBase的产生背景OceanBase最初是为了解决淘宝网的大规模数据而产生的(数百亿条的记录、数十TB的

2014-03-20 14:38:34 802

转载 使用 Spring Data JPA 简化 JPA 开发

从一个简单的 JPA 示例开始本文主要讲述 Spring Data JPA,但是为了不至于给 JPA 和 Spring 的初学者造成较大的学习曲线,我们首先从 JPA 开始,简单介绍一个 JPA 示例;接着重构该示例,并引入 Spring 框架,这两部分不会涉及过多的篇幅,如果希望能够深入学习 Spring 和 JPA,可以根据本文最后提供的参考资料进一步学习。自 JPA 伴随

2014-03-20 14:37:17 421

空空如也

空空如也

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

TA关注的人

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