JDK Timer实现详解

概述定时器是工程开发中比较常用的工具,本文研究JDK中Timer定时器的实现原理。在JDK中,Timer主要由TimerTask,TimerThread,TaskQueue组成。TimerTaskTimerTask主要用来定义定时时间到来时,需要干什么事情,TimerTask继承自Runnable,所以具体的任务定义在run接口中。Task的状态有如下几种: /** * This t...
阅读(236) 评论(0)

Thrift源码解析(三)传输层协议

传输层协议解析概述Thrift源码解析(二)序列化协议一文中介绍了thrift中传输的数据流怎么序列化,本文介绍数据流怎么传输。如 Thrift源码解析(一)主要类概述一文中的类继承图所示,thrift中所有的传输层协议的基类是TTransport。另外,需要说明的一点是,thrift是基于TCP协议的。基类剖析先看看TTransport这个基类有哪些common的抽象函数: /** *...
阅读(319) 评论(0)

Thrift源码解析(二)序列化协议

概述对于一个RPC框架,定义好网络数据的序列化协议是最基本的工作,thrift的序列化协议主要包含如下几种: TBinaryProtocol TCompactProtocol TJSONProtocol TSimpleJSONProtocol TTupleProtocol(继承自TCompactProtocol) 就如同Thrift源码解析(一)主要类概述的类继承图,上述这些序列化协议都是继承自TP...
阅读(318) 评论(0)

Thrift源码解析(一)主要类概述

thrift简介Thrift是一个跨语言的RPC框架,最初由Facebook于2007年开发,2008年进入Apache开源项目。Thrift通过一个中间语言(IDL, 接口定义语言)来定义RPC的接口和数据类型,然后通过一个编译器生成不同语言的代码(目前支持C++,Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltal...
阅读(217) 评论(0)

atom配置python开发环境

需要安装的插件快捷键配置ctrl + shift + p,搜索key map,修改配置文件如下:# 'atom-text-editor': # 'enter': 'editor:newline' # # 'atom-workspace': # 'ctrl-shift-p': 'core:move-up' # 'ctrl-p': 'core:move-down''atom-text-edi...
阅读(250) 评论(0)

python爬虫获取11选5彩票历史开奖号码

使用BeautifulSoup解析数据,获取11选5历史开奖号码:#!/usr/bin/env python # coding=utf-8from bs4 import BeautifulSoup import urllib2 import datetime class GetElevenSelectFiveNumber(object): def __init__(self, date):...
阅读(184) 评论(0)

is invalid, transitive dependencies (if any) will not be available解决方案

问题描述maven项目在编译的时候报如下WARNING: [WARNING] The POM for com.winwill.test:0.0.1-SNAPSHOT is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details 翻译一下:...
阅读(583) 评论(0)

NoSQL简介

NoSQL是“Not only sql”的简称,泛指非关系型的数据库。 随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的 web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据...
阅读(221) 评论(0)

slf4j的优势与使用原理

slf4j的全称是Simple Loging Facade For Java,即它仅仅是一个为Java程序提供日志输出的统一接口,并不是一个具体的日志实现方案,就比如JDBC一样,只是一种规则而已。所以单独的slf4j是不能工作的,必须搭配其他具体的日志实现方案,比如apache的org.apache.log4j.Logger,jdk自带的java.util.logging.Logger等等。 s...
阅读(273) 评论(0)

log4j配置详解

Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局)。这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出。综合使用这三个组件可以轻松地记录信息的类型和级别,并可以在运行时控制日志输出的样式和位置。LoggerLoggers组件被分为五个级别: DEBUG INFO WARN ERROR FATAL 各个级别的顺序是这样那个的:...
阅读(177) 评论(0)
105条 共11页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:86647次
    • 积分:1614
    • 等级:
    • 排名:千里之外
    • 原创:95篇
    • 转载:7篇
    • 译文:3篇
    • 评论:4条
    我的新浪微博
    博客专栏