自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 资源 (20)
  • 收藏
  • 关注

转载 WSGI是什么

转发自:https://segmentfault.com/a/1190000003069785WSGI是什么WSGI的全称是Web Server Gateway Interface,翻译过来就是Web服务器网关接口。具体的来说,WSGI是一个规范,定义了Web服务器如何与Python应用程序进行交互,使得使用Python写的Web应用程序可以和Web服务器对接起来。WSGI一开始是在PEP

2016-03-31 17:37:26 418

转载 线程池实例:使用Executors和ThreadPoolExecutor

线程池负责管理工作线程,包含一个等待执行的任务队列。线程池的任务队列是一个Runnable集合,工作线程负责从任务队列中取出并执行Runnable对象。java.util.concurrent.executors 提供了 java.util.concurrent.executor 接口的一个Java实现,可以创建线程池。下面是一个简单示例:首先创建一个Runable 类:WorkerT

2016-03-30 09:53:02 1317

转载 Java线程中yield与join方法的区别

长期以来,多线程问题颇为受到面试官的青睐。虽然我个人认为我们当中很少有人能真正获得机会开发复杂的多线程应用(在过去的七年中,我得到了一个机会),但是理解多线程对增加你的信心很有用。之前,我讨论了一个wait()和sleep()方法区别的问题,这一次,我将会讨论join()和yield()方法的区别。坦白的说,实际上我并没有用过其中任何一个方法,所以,如果你感觉有不恰当的地方,请提出讨论。Jav

2016-03-30 09:32:27 403

转载 servlet是线程安全的吗?

servlet是线程安全的吗?这个问题,在网上没有看到一个确切的答案,所以我们来分析一下: 首先什么是线程安全? 引用概念:如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。那么我们都知道servlet是多线程的,同时一个servlet实现类只会有一个实例对象,也就是

2016-03-29 11:34:19 482

转载 Java 线程池的原理与实现

简单介绍    创建线程有两种方式:继承Thread或实现Runnable。Thread实现了Runnable接口,提供了一个空的run()方法,所以不论是继承Thread还是实现Runnable,都要有自己的run()方法。    一个线程创建后就存在,调用start()方法就开始运行(执行run()方法),调用wait进入等待或调用sleep进入休眠期,顺利运行完毕或休眠被中断或运

2016-03-29 11:28:46 418

转载 JAVA LinkedList和ArrayList的使用及性能分析

JAVA LinkedList和ArrayList的使用及性能分析,这篇文章也是以JAVA List的总结。第1部分 List概括List的框架图List 是一个接口,它继承于Collection的接口。它代表着有序的队列。AbstractList 是一个抽象类,它继承于AbstractCollection。undefinedAbstractList实现

2016-03-29 11:14:57 457

转载 eclipse设置打印GC

首先建立评估体系,将workspace里所有的项目close掉,关闭eclipse。优化的用例就是启动eclipse,open一个项目,eclipse会自动build这个项目,保证没有感觉到明显的卡,也就是没有full GC。 开始: eclipse.ini里加入打印gc情况的参数: -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -verbose:gc

2016-03-27 15:29:53 4175

原创 C++中的动态绑定

首先说明一下C++中的静态绑定和动态绑定静态绑定:在编译时刻,根据变量的静态类型(变量声明为基类还是派生类)来决定调用哪个函数,用基类声明的,就调用基类的方法,用派生类声明的就调用派生类的方法。动态绑定:在运行时刻,根据变量实际指向的对象类型(该变量指向基类还是派生类)来决定调用哪个函数。C++中对普通函数时采用静态绑定的,对虚函数是采用动态绑定的。可以看下面的例子。 另外C++对虚函数有几

2016-03-27 12:04:55 1809

转载 什么是C++虚函数、虚函数的作用和使用方法

我们知道,在同一类中是不能定义两个名字相同、参数个数和类型都相同的函数的,否则就是“重复定义”。但是在类的继承层次结构中,在不同的层次中可以出现名字相同、参数个数和类型都相同而功能不同的函数。例如在例12.1(具体代码请查看:C++多态性的一个典型例子)程序中,在Circle类中定义了 area函数,在Circle类的派生类Cylinder中也定义了一个area函数。这两个函数不仅名字相同,而且参

2016-03-27 11:26:03 445

转载 JVM性能调优入门 调优策略

文/MountainKing(简书作者)原文链接:http://www.jianshu.com/p/c6a04c88900a著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。两个基本原则:1、将转移到老年代的对象数量降到最少。2、减少Full GC的执行时间。目标是Minor GC时间在100ms以内,Full GC时间在1s以内。主要调优参数:

2016-03-24 13:03:35 986

转载 也谈BIO | NIO | AIO (Java版)

关于BIO | NIO | AIO的讨论一直存在,有时候也很容易让人混淆,就我的理解,给出一个解释:BIO | NIO | AIO,本身的描述都是在Java语言的基础上的。而描述IO,我们需要从两个层面:编程语言实现原理底层基础从编程语言层面BIO | NIO | AIO 以Java的角度,理解,linux c里也有AIO的概念(库),这些概念不知道什么原因被炒火起来,这里只从

2016-03-24 11:58:56 328

转载 Java:多线程,线程同步,同步锁(Lock)的使用(ReentrantLock、ReentrantReadWriteLock)

关于线程的同步,可以使用synchronized关键字,或者是使用JDK 5中提供的java.util.concurrent.lock包中的Lock对象。本文探讨Lock对象。synchronized与java.util.concurrent.locks.Lock 的相同点:Lock能完成synchronized所实现的所有功能;主要不同点:Lock有比synchronized更精确的线程语义

2016-03-24 10:34:32 630

转载 Java NIO 和 IO 的区别详解

Java NIO为jdk1.4提供了新的API,本文主要来比较一下Java中NIO和IO的区别,Java初学者可以了解一下。下表总结了Java NIO和IO之间的主要差别,我会更详细地描述表中每部分的差异。IO NIO面向流 面向缓冲阻塞IO 非阻塞IO无 选择器面向流与面向缓

2016-03-24 10:09:17 435

转载 触发Full GC执行的情况 JVM对象分配规则

除直接调用System.gc(不被建议调用)外,触发Full GC执行的情况有如下四种。1.旧生代空间不足旧生代空间只有在新生代对象转入及创建为大对象、大数组时才会出现不足的现象,当执行Full GC后空间仍然不足,则抛出如下错误:java.lang.OutOfMemoryError: Java heap space 为避免以上两种状况引起的Full GC,调优

2016-03-22 17:15:48 734

转载 java异常分类

Java中异常的分类所有异常,都继承自java.lang.Throwable类。Throwable有两个直接子类,Error类和Exception类。ExceptionException则可使从任何标准Java库的类方法,自己的方法以及运行时任何异常中抛出来的基类型。异常可分为执行异常(RuntimeException)和检查异常(Checked Exceptions)

2016-03-22 11:06:09 471

转载 ARP和RARP协议工作原理

ARP和RARP协议工作原理MAC地址与IP地址是计算机网络通信中非常重要的两类地址,缺一不可。因为在OSI/RM网络层以上是通过IP地址进行寻址的,而在OSI/RM网络层以下则是通过MAC地址进行寻址的。可以说是两类地址各司其职,共同完成一个完整的计算机网络通信。当然在一些网络通信中,还可能有传输层的"端口"号参与到IP寻址中。1.ARP工作原理前面介绍到,ARP协议是用于由节点IP

2016-03-22 10:50:12 11215

转载 java锁的种类及研究

背景锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) 。这些已经写好提供的锁为我们开发提供了便利,但是锁的具体性质以及类型却很少被提及。自旋锁自旋锁是采用让当前线程不停地的在循环体内执行实现的,当循环的条件被当前线程改变时其他前程才能进入临界区。 自旋锁流程:获取自旋锁时,如果没有任何线程保持该锁,那么将立即得到锁

2016-03-20 22:53:29 353

转载 MySQL通信协议

MySQL通信协议MySQL实现了四种通信协议TCP/IP协议,通常我们通过来连接MySQL,各种主要编程语言都是根据这个协议实现了连接模Unix Socket协议,这个通常我们登入MySQL服务器中使用这个协议,因为要使用这个协议连接MySQL需要一个物理文件,文件的存放位置在配置文件中有定义,值得一提的是,这是所有协议中最高效的一个Share

2016-03-20 22:03:15 1327

原创 Java用wait() notify()实现线程间通信

博客 线程间协作:wait、notify、notifyAll讲了这几个方法的使用,这篇博客举例说明。要解决的问题是: 实现两个线程A,B,A打印5个奇数,B打印5个偶数,交替进行,如此循环50次。要点: 1. 在同一个类中实现打印奇数和打印偶数的方法,并且这两个方法都需要被synchronized修饰,因为wait() notify()只能在synchronized修饰的代码块中运行。 2.

2016-03-20 11:46:10 512

原创 用PriorityQueue解决选择最小的K个数问题

Java 中的PriorityQueue是一个基于优先级堆的无界优先级队列。优先级队列的元素按照其自然顺序进行排序,或者根据构造队列时提供的 Comparator 进行排序,具体取决于所使用的构造方法。优先级队列不允许使用 null 元素。依靠自然顺序的优先级队列还不允许插入不可比较的对象(这样做可能导致 ClassCastException)。此队列的头是按指定排序方式确定的最小元素。如果多

2016-03-19 15:26:28 5307

转载 MySQL 四种事务隔离级的说明

很早之前写的文章,重新回顾和学习下:按照SQL:1992 事务隔离级别,InnoDB默认是可重复读的(REPEATABLE READ)。MySQL/InnoDB 提供SQL标准所描述的所有四个事务隔离级别。你可以在命令行用--transaction-isolation选项,或在选项文件里,为所有连接设置默认隔离级别。例如,你可以在my.inf文件的[mysqld]节里类似如下设置该选项:

2016-03-17 15:36:23 352

转载 Innodb中的事务隔离级别和锁的关系 美团技术博客

前言:我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁这种方式。同时数据库又是个高并发的应用,同一时间会有大量的并发访问,如果加锁过度,会极大的降低并发处理能力。所以对于加锁的处理,可以说就是数据库对于事务处理的精髓所在。这里通过分析MySQL中InnoDB引擎的加锁机制,来抛砖引玉,让读者更好的理解,在事务处理中数据库到底做了什么。#一次封锁or两

2016-03-17 15:18:02 1262

转载 共享锁与排他锁理解

共享锁(S锁):如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能加排他锁。获准共享锁的事务只能读数据,不能修改数据。排他锁(X锁):如果事务T对数据A加上排他锁后,则其他事务不能再对A加任任何类型的封锁。获准排他锁的事务既能读数据,又能修改数据。简要说明为什么会发生死锁?解决死锁的主要方法是什么?若干事务相互等待释放封锁,就陷入无限期等待状态,系统就进入死锁解决死

2016-03-17 15:04:23 2166

转载 脏读、不可重复读 共享锁、悲观锁 和 事务五种隔离级别

一、脏读、不可重复读、幻读1、脏读:脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。例如:  张三的工资为5000,事务A中把他的工资改为8000,但事务A尚未提交。  与此同时,  事务B正在读取张三的工资,读取到张三的工资为8000。  随后,  事务A发生异常,而回滚了事

2016-03-17 14:30:03 1486

转载 了解CMS(Concurrent Mark-Sweep)垃圾回收器

1.总体介绍: CMS(Concurrent Mark-Sweep)是以牺牲吞吐量为代价来获得最短回收停顿时间的垃圾回收器。对于要求服务器响应速度的应用上,这种垃圾回收器非常适合。在启动JVM参数加上-XX:+UseConcMarkSweepGC ,这个参数表示对于老年代的回收采用CMS。CMS采用的基础算法是:标记—清除。2.CMS过程: 初始标记(STW initial mar

2016-03-17 13:15:27 380

转载 HTTP 1.1与HTTP 1.0的比较

HTTP 1.1与HTTP 1.0的比较一个WEB站点每天可能要接收到上百万的用户请求,为了提高系统的效率,HTTP 1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都需要与服务器建立一个TCP连接,服务器完成请求处理后立即断开TCP连接,服务器不跟踪每个客户也不记录过去的请求。但是,这也造成了一些性能上的缺陷,例如,一个包含有许多图像的网页文件中并没有包含真正的图像数据内容,而只是

2016-03-17 12:39:39 349

转载 Mysql分页语句limit

1、Mysql的limit用法在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了这样一个功能。SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一

2016-03-15 23:37:22 1099

转载 SQL基础-->数据库事务(TRANSACTION)

--======================--SQL基础-->数据库事务--====================== 一、数据库事务    数据库事务是指作为单个逻辑工作单元执行的一系列操作,可以认为事务就是一组不可分割的SQL语句   二、数据库事务的ACID属性    原子性(atomic)       事务必须是原子工作单元;对于其数据修改,要么

2016-03-15 23:25:24 446

转载 线程间协作:wait、notify、notifyAll

在 Java 中,可以通过配合调用 Object 对象的 wait() 方法和 notify()方法或 notifyAll() 方法来实现线程间的通信。在线程中调用 wait() 方法,将阻塞等待其他线程的通知(其他线程调用 notify() 方法或 notifyAll() 方法),在线程中调用 notify() 方法或 notifyAll() 方法,将通知其他线程从 wait() 方法处返回。Ob

2016-03-15 23:03:31 429

转载 多线程环境下安全使用集合 API

在集合 API 中,最初设计的 Vector 和 Hashtable 是多线程安全的。例如:对于 Vector 来说,用来添加和删除元素的方法是同步的。如果只有一个线程与 Vector 的实例交互,那么,要求获取和释放对象锁便是一种浪费,另外在不必要的时候如果滥用同步化,也有可能会带来死锁。因此,对于更改集合内容的方法,没有一个是同步化的。集合本质上是非多线程安全的,当多个线程与集合交互时,为了使它

2016-03-15 22:24:35 367

转载 synchronized 关键字

在并发编程中,多线程同时并发访问的资源叫做临界资源,当多个线程同时访问对象并要求操作相同资源时,分割了原子操作就有可能出现数据的不一致或数据不完整的情况,为避免这种情况的发生,我们会采取同步机制,以确保在某一时刻,方法内只允许有一个线程。采用 synchronized 修饰符实现的同步机制叫做互斥锁机制,它所获得的锁叫做互斥锁。每个对象都有一个 monitor (锁标记),当线程拥有这个锁标记时才能

2016-03-15 21:15:27 294

转载 JVM 类加载器介绍及其双亲委托机制

1、类加载器:类加载器用来把类加载到Java虚拟机中。从JDK1.2版本开始,类的加载过程采用父亲委托机制,这种机制能更好的保证Java平台的安全。在此委托机制中,除了Java虚拟机自带的根类加载器之外,其余的类加载器都有且只有一个父加载器。当Java程序请求加载器loader1加载Sample类是,loader1类首先委托自己的父加载器去加载Sample类,若父加载器能加载,则由父加载器完成

2016-03-15 16:47:01 1221

转载 Java内存分配机制 垃圾回收 GC Root

这里所说的内存分配,主要指的是在堆上的分配,一般的,对象的内存分配都是在堆上进行,但现代技术也支持将对象拆成标量类型(标量类型即原子类型,表示单个值,可以是基本类型或String等),然后在栈上分配,在栈上分配的很少见,我们这里不考虑。  Java内存分配和回收的机制概括的说,就是:分代分配,分代回收。对象将根据存活的时间被分为:年轻代(Young Generation)、年老代(Old Ge

2016-03-15 15:59:34 1845

转载 C指针解析 右左法则----复杂指针解析

首先看看如下一个声明: int* ( *( *fun )( int* ) )[10]; 这是一个会让初学者感到头晕目眩、感到恐惧的函数指针声明。在熟练掌握C/C++的声明语法之前,不学习一定的规则,想理解好这类复杂声明是比较困难的。 C/C++所有复杂的声明结构,都是由各种声明嵌套构成的。如何解读复杂指针声明?右左法则是一个很著名、很有效的方法。不过,右左法则其实并不是C/

2016-03-14 14:22:56 462

原创 Hbase基本操作示例

Hadoop Hbase通过行关键字、列(列族名:列名)和时间戳的三元组确定一个存储单元(cell),即由{row key, column family, column name, timestamp} 可以唯一确定一个存储值,即一个键值对:{row key, column family, column name, timestamp} -> value下面演示了Hbase

2016-03-12 22:00:47 739

转载 Hive SQL的编译过程_美团技术点评

Hive是基于Hadoop的一个数据仓库系统,在各大公司都有广泛的应用。美团数据仓库也是基于Hive搭建,每天执行近万次的Hive ETL计算流程,负责每天数百GB的数据存储和分析。Hive的稳定性和性能对我们的数据分析非常关键。在几次升级Hive的过程中,我们遇到了一些大大小小的问题。通过向社区的咨询和自己的努力,在解决这些问题的同时我们对Hive将SQL编译为MapReduce的过程有了比

2016-03-12 21:09:02 1548

转载 数据库设计准则(第一、第二、第三范式说明)

I、关系数据库设计范式介绍1.1 第一范式(1NF)无重复的列       所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式(1NF)中表的每一行只包含一个实例的信息。简而言之,

2016-03-12 11:01:19 523

转载 分布式锁的三种实现方式

首先说明一下什么是分布式锁,维基百科的说明为:分布式锁,是控制分布式系统之间同步访问共享资源的一种方式。在分布式系统中,常常需要协调他们的动作。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰来保证一致性,在这种情况下,便需要使用到分布式锁。写在前面在进行大型网站技术架构设计以及业务实现的过程中,多少都会遇到

2016-03-12 10:31:57 10990

转载 ConcurrentHashMap 的实现原理

概述我们在之前的博文中了解到关于 HashMap 和 Hashtable 这两种集合。其中 HashMap 是非线程安全的,当我们只有一个线程在使用 HashMap 的时候,自然不会有问题,但如果涉及到多个线程,并且有读有写的过程中,HashMap 就不能满足我们的需要了(fail-fast)。在不考虑性能问题的时候,我们的解决方案有 Hashtable 或者Collections.synch

2016-03-11 20:45:28 521

转载 LinkedHashMap 的实现原理

LinkedHashMap 概述HashMap 是无序的,HashMap 在 put 的时候是根据 key 的 hashcode 进行 hash 然后放入对应的地方。所以在按照一定顺序 put 进 HashMap 中,然后遍历出 HashMap 的顺序跟 put 的顺序不同(除非在 put 的时候 key 已经按照 hashcode 排序号了,这种几率非常小)JAVA 在 JDK1.4 以后提供了

2016-03-11 19:39:19 345

go学习笔记

完整版 带书签完整版 带书签完整版 带书签完整版 带书签完整版 带书签

2018-04-14

Kubernetes权威指南 pdf 带书签

Kubernetes权威指南 第2版 [龚正][电子工业出版社][2016.09][506页][14166741

2017-12-16

实战Java高并发程序设计 pdf

实战Java高并发程序设计 [葛一鸣,郭超编著][电子工业出版社][2015.10][339页][13897056]

2017-11-29

Java程序性能优化 让你的Java程序更快、更稳定 pdf [葛一鸣编著][清华大学出版社][2012.10][400页][13093953]

Java程序性能优化 让你的Java程序更快、更稳定 [葛一鸣编著][清华大学出版社][2012.10][400页][13093953]

2017-11-29

云计算网络珠玑 pdf 完整版 part2 注意还有part1

云计算网络珠玑 李俊武电子工业出版社 part2 这个是第二部分,要跟第一部分放在一起解压

2016-11-06

云计算网络珠玑 完整版 pdf part1 注意还有part2

云计算网络珠玑 李俊武著 电子工业出版社 注意:分成了两个压缩文件(我只有70M上传权限),放在一起,解压一个就好, part2也在我的资源列表中

2016-11-06

图说设计模式 Graphic Design Patterns

总结的很好的设计模式,原地址:http://design-patterns.readthedocs.io/zh_CN/latest/index.html

2016-08-27

深入理解Java虚拟机 JVM高级特性与最佳实践

[周志明著][机械工业出版社][2013.06][433页]

2016-08-17

虚拟化技术原理与实现 pdf

虚拟化技术原理与实现 广小明等编著电子工业出版社

2016-05-30

计算机组成原理课后答案_第二版_唐朔飞_课后答案[1-10]

计算机组成原理课后答案_第二版_唐朔飞_课后答案.pdf

2016-01-08

微型计算机接口技术及应用 _刘乐善_课后答案[1-6章].khda

微型计算机接口技术及应用 (刘乐善 著) 华中科技大学出版社 课后答案

2016-01-08

中文情感分析 酒店评论预料

为了弥补国内在中文情感挖掘方面的语料的匮乏,谭松波收集整理了一个较大规模的酒店评论语料。语料规模为10000篇。语料从携程网上自动采集,并经过整理而成。为了方便起见,语料被整理成4个子集: 1.ChnSentiCorp-Htl-ba-2000: 平衡语料,正负类各1000篇。 2.ChnSentiCorp-Htl-ba-4000: 平衡语料,正负类各2000篇。 3.ChnSentiCorp-Htl-ba-6000: 平衡语料,正负类各3000篇。 4.ChnSentiCorp-Htl-unba-10000: 非平衡语料,正类为7000篇。

2015-11-16

linux mysql-connector-java-5.1.36.tar.gz

一个平台无关的mysql jar包,具有平台无关系,主要用于linux中,恩,linux下的

2015-07-11

Java编程思想第4版

高清 高清,pdf 可以复制粘贴,从淘宝买的

2012-04-01

Head first java

中文高清版 喜欢的下载吧,对于初学者很有用

2012-04-01

时间片轮转法作业调度 MFC课程设计

一个不错的MFC课程设计 自己做的,大家自己看着用吧

2012-03-21

java 课程设计 个人理财管理系统

一个不错的java设计 家庭理财管理系统

2012-03-20

MFC类库中文手册

MFC类库中文手册

2011-12-21

VC++6.0 简体中文版 msdn

VC++6.0 简体中文版 msdn ,很简易的mfc使用手册

2011-06-22

空空如也

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

TA关注的人

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