自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

行人事,知天命

用十年做好一件事

  • 博客(36)
  • 资源 (21)
  • 收藏
  • 关注

原创 Java RMI远程对象调用

RMI调用RMI(即Remote Method Invoke 远程方法调用)。在Java中,只要一个类extends了java.rmi.Remote接口,即可成为存在于服务器端的远程对象,供客户端访问并提供一定的服务。JavaDoc描述:Remote 接口用于标识其方法可以从非本地虚拟机上调用的接口。任何远程对象都必须直接或间接实现此接口。只有在“远程接口”(扩展 java.rmi.Remote 的

2017-04-26 22:35:33 722

原创 Java动态编译

JDK6.0引入了新的编译API新API功能简介JDK 6 提供了在运行时调用编译器的 API,后面我们将假设把此 API 应用在 JSP 技术中。在传统的 JSP 技术中,服务器处理 JSP 通常需要进行下面 6 个步骤 1. 分析 JSP 代码; 2. 生成 Java 代码; 3. 将 Java 代码写入存储器; 4. 启动另外一个进程并运行编译器编译 Java 代码; 5. 将类文件

2017-04-24 21:12:10 437

原创 Kafka分区与group

Kafka 分区与group1.原理图 2.原理描述 一个topic 可以配置几个partition,produce发送的消息分发到不同的partition中,consumer接受数据的时候是按照group来接受,kafka确保每个partition只能同一个group中的同一个consumer消费,如果想要重复消费,那么需要其他的组来消费。Zookeerper中保存这每个topic下的每个pa

2017-04-24 16:29:45 33262 4

原创 Java平台的脚本

Java可以通过脚本引擎来调用脚本语言,比如JavaScript,Groovy等 脚本引擎 脚本引擎是一个可以执行用某种特定语言编写的脚本的类库。当虚拟机启动的时候,它会发现可用的脚本引擎。获取引擎并执行JavaScript脚本public class ScriptStudy { public static void main(String[] args) throws Script

2017-04-23 22:30:37 940

原创 Java安全之消息摘要

什么是消息摘要 消息摘要(Message Digest)又称为数字摘要(Digital Digest)。它是一个唯一对应一个消息或文本的固定长度的值,它由一个单向Hash加密函数对消息进行作用而产生。如果消息在途中改变了,则接收者通过对收到消息的新产生的摘要与原摘要比较,就可知道消息是否被改变了。因此消息摘要保证了消息的完整性。 消息摘要采用单向Hash 函数将需加密的明文”摘要”成一串128b

2017-04-22 15:11:52 1585

原创 Java类加载器

产生JDK1.0 概念将字节码加载到虚拟机加载器的种类系统加载器 其他加载器系统加载器引导类加载器 用来加载Java的核心库,使用原生代码实现的,并不继承java.lang.ClassLoader扩展类加载器 用来加载Java的扩展库。Java虚拟机会提供一个扩展库目录。该类加载这个目录的Java类系统类加载器 根据Java的classpath加载Java类。一般Java应用的类都是由

2017-04-22 12:27:10 416

原创 Java本地方法

什么是本地方法在Java中,有些方法涉及到与操作系统交互,获取和使用操作系统的硬件或软件的资源,单纯的用Java实现要么实现很困难,或者不能实现,这时候就要使用本地方法,本地方法就是用其他语言写的方法,然后在JVM中调用本地方法的定义本地方法在很多类中都有所见,比如Object类的clone方法protected native Object clone() throws CloneNotSuppor

2017-04-21 00:08:06 1967

原创 Java多线程探究-读写锁ReentrantReadWriteLock

读写锁实际是一种特殊的自旋锁,它把对共享资源的访问者划分成读者和写者,读者只对共享资源进行读访问,写者则需要对共享资源进行写操作。这种锁相对于自旋锁而言,能提高并发性,因为在多处理器系统中,它允许同时有多个读者来访问共享资源,最大可能的读者数为实际的逻辑CPU数。写者是排他性的,一个读写锁同时只能有一个写者或多个读者(与CPU数相关),但不能同时既有读者又有写者读写锁的场景 如果很多线程从一个数

2017-04-16 14:14:13 738

原创 Java多线程探究-阻塞队列

Java 中的阻塞队列 BlockingQueue 方法以四种形式出现,对于不能立即满足但可能在将来某一时刻可以满足的操作,这四种形式的处理方式不同:第一种是抛出一个异常,第二种是返回一个特殊值(null 或 false,具体取决于操作),第三种是在操作可以成功前,无限期地阻塞当前线程,第四种是在放弃前只在给定的最大时间限制内阻塞。下表中总结了这些方法: BlockingQueue接口主要有

2017-04-14 23:26:39 379

原创 Flink实现WordCount

import org.apache.flink.api.common.functions.FlatMapFunction;import org.apache.flink.api.java.DataSet;import org.apache.flink.api.java.ExecutionEnvironment;import org.apache.flink.api.java.tuple.Tup

2017-04-14 15:29:02 4264

原创 Java多线程探究-死锁例子

Java死锁例子public class ThreadSyn2 implements Runnable { private static Object obj1 = new Object(); private static Object obj2 = new Object(); /** * @param args */ public static voi

2017-04-14 10:19:14 560

原创 Java多线程探究-死锁原因

进程死锁及解决办法 一、要点提示(1) 掌握死锁的概念和产生死锁的根本原因。(2) 理解产生死锁的必要条件--以下四个条件同时具备:互斥条件、不可抢占条件、占有且申请条件、循环等待条件。(3) 记住解决死锁的一般方法,掌握死锁的预防和死锁的避免二者的基本思想。(4) 掌握死锁的预防策略中资源有序分配策略。(5) 理解进程安全序列的概念,理解死锁与安全序列的关系。(6

2017-04-14 10:14:49 781

转载 Java多线程探究-关键字volatile解析

volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。  volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们

2017-04-13 11:31:05 562

原创 Java多线程探究-线程局部变量ThreadLocal

TheadLocal可以为各个线程提供各自的实例。例如SimpleDateFormat是非线程安全的 假设有一个静态变量 public static final SimpleDateFormat dateFormat = new SimpleDateFormat(‘yyyy-MM-dd); 如果两个线程都执行下列操作: String dateStamp = dateFormat.format

2017-04-12 22:43:46 5545

原创 Java多线程探究-线程属性

线程优先级Java中,每一个线程都有一个线程优先级。默认情况下,一个线程继承它的父线程的优先级。 设置优先级,使用Thread的setPriority方法 优先级的范围为Thread.MIN_PRIORITY 到 Thread.MAX_PRIORITY 这两个代表1到10,setPriority的参数必须在1到10之间,否则会抛异常,Thread.NORM_PRIORITY为5 当线程

2017-04-12 20:18:16 753

原创 Java多线程探究-Lock对象锁条件变量

Lock锁的条件变量 设想这样的一种情况,现在有一个盘子,一个线程负责往盘子里放一个苹果,一个线程从盘子取一个苹果,如何保证线程A放一个苹果,线程B就把这个苹果取了,不会出现已经放了好几个了,线程B才一个一个的取,现在限定一个条件,盘子里每次只能放一个苹果,由于两个线程随机执行,不能保证线程A刚放了苹果,线程B就刚好取了。如果用通用的思想的话怎么做呢应该是加条件判断,线程A每次放的时候,判断盘

2017-04-12 18:08:50 3264

原创 Java多线程探究-Lock锁对象

Lock是JDK1.5后提供的对象锁 看一下Lock类的类图 Lock的使用class MyRunnable implements Runnable { private int ticket = 100; private Lock myLock = new ReentrantLock(); @Override public void run() {

2017-04-12 15:37:09 788

原创 Java多线程探究-线程异常逃逸

线程逃逸 在Thread的run方法中,Java是不允许抛出受检异常的,所以必须由自己捕获,但是对于一些运行时的异常,难免有时候完全捕获到,继而传递到上一层,导致不可预料的程序终止,所以需要在上一层捕获来看看我们到底不能捕获未受检异常 异常类class MyRunnable implements Runnable { private int ticket = 10000;

2017-04-12 14:45:24 3945

原创 Java多线程探究-线程状态

1.new(新建)当创建一个线程以后,还没有执行start方法,这时候这个线程的状态就是new,该线程并没有开始执行2.Runnable(可运行)调用start方法以后,该状态的线程位于可运行线程池中,等待CPU的时间来运行3.Running(运行)可用行的线程获得了CPU时间片,运行代码4.Blocked(阻塞)线程因为某种原因放弃了CPU使用权,暂时停止运行,直到线程进入runnable状态,才

2017-04-11 19:05:22 650

原创 Java多线程探究-synchonrized原理分析

为了学习synchonrized,现在用javap 查看一下类的字节码1. 同步代码块public void salseTicket1() { synchronized (this) { if (ticket > 0) { System.out.println("线程 " + Thread.currentThread().

2017-04-11 16:13:40 1544

原创 Java多线程探究-线程同步

什么是线程同步 线程同步是解决多个线程同时对同一数据进行操作,而导致的数据破坏 就像前面我写的卖票的例子,就出现了卖出-1的票,这样就出现了问题线程同步的方式1. synchronized关键字1. 同步方法在方便声明上加入synchronized,这样,这个方法就是同步了,每次只有一个线程可以执行方法的代码,如果这个线程没有离开方法,那么 其他线程只能处于阻塞状态,这样就保证了一次只

2017-04-11 13:24:10 469

原创 Java多线程探究-多线程安全问题

接着Java多线程买票的程序来说class MyRunnable implements Runnable{ private int ticket =100; public void run() { while(true){ if(ticket>0){ System.out.println(Thread.cu

2017-04-10 23:50:03 517

原创 Java多线程探究-创建多线程

何为线程 每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。进程也可能是整个程序或者是部分程序的动态执行。线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行。也可以把它理解为代码运行的上下文。所以线程基本上是轻量级的进程,它负责在单个程序里执行多任务。通常由操作系统负责多个线程的调度和执行 线程是程序中一个单一的顺序控制流程.在单个程序中同时运行多个线程完成不同

2017-04-10 23:22:36 389

转载 CentOS安装Python2.7

CentOS下面Python在升级到2.7.6的时候,没有找到安装包直接安装,只能通过源代码编译的方式来安装Python 2.7.6版本。这篇是编译和安装Python2.7.6的过程记录。CentOS系统中安装了development tools。要编译安装Python,执行下面代码:$ pushd /usr/local/src$ sudo mkdir python$ sudo c

2017-04-10 16:35:43 1268

原创 pip安装pkg_resources.DistributionNotFound: pip==9.0.1

执行pip命令报错Traceback (most recent call last): File "./pip", line 5, in <module> from pkg_resources import load_entry_point File "/opt/soft/distribute-0.7.3/pkg_resources.py", line 2989, in <modul

2017-04-10 13:40:44 38890 1

原创 Elasticsearch系列篇之Delete document

删除一个document需要指定index,type,idcurl -XDELETE http://localhost:9200/twitter/tweet/1Routing 当创建index的时候如果指定了routing,那么在删除的时候要同时指定文档的id和routing,如果routing不匹配,光是id匹配也不会删除curl -XDELETE http://localhost:9200/t

2017-04-08 18:56:41 16520

原创 Elasticsearch系列篇之Get document

GET 一条document根据document的id获取一条JSON格式的文档。curl -XGET http://localhost:9200/twitter/tweet/0返回结果:{ "_index" : "twitter", "_type" : "tweet", "_id" : "0", "_version" : 1, "found": true,

2017-04-08 17:50:44 1627

原创 azkaban 创建工作流

azkban的特点就是可以创建工作流,每个工作流可以包含多个job,这些job之间可以有多种依赖关系,azkaban可以根据他们的依赖关系进行任务调度创建工作流创建job每个job以文件形式存在,后缀名为.job#first jobtype=command #job的类型,这里是命令类型command=echo "Hello World" #这个job执行linux命令,输出Hello Wo

2017-04-08 16:54:28 6805 2

原创 azkaban配置

azkaban web server配置1. 主要配置 参数 说明 默认 azkaban.name azkaban网页UI显示名称 Local azkaban.label 对azkaban的描述 My Local Azkaban azkaban.color Azkaban UI的颜色设置 FF3601 web.resource.dir 页面的CS

2017-04-08 15:46:42 6048

原创 azkaban安装使用

什么是azkaban Azkaban是一款基于Java编写的任务调度系统 任务调度 任务调度:有四个任务脚A、B、C、D,其中任务A与任务B可以并行运行,然后任务C依赖任务A和任务B的运行结果,任务D依赖任务C的运行结果,此时整个过程可以等效为一个有向无环图,而给所有的任务运行定一个运行规则就可以理解为任务调度AzKaban组成 1.MySQL数据库 2.azkaban-s

2017-04-07 18:38:07 3915

原创 cglib动态代理学习

CGLIB是一个强大的高性能的代码生成包。它广泛的被许多AOP的框架使用,例如Spring AOP和dynaop,为他们提供方法的interception(拦截)。最流行的OR Mapping工具hibernate也使用CGLIB来代理单端single-ended(多对一和一对一)关联(对集合的延迟抓取,是采用其他机制实现的)。EasyMock和jMock是通过使用模仿(mock)对象来测试java

2017-04-07 16:51:37 896

原创 azkaban java.lang.StackOverflowError thrown from the UncaughtExceptionHandler in thread "main"

执行/bin/azkaban-web-start.sh报错报错:Exception: java.lang.StackOverflowError thrown from the UncaughtExceptionHandler in thread "main"解决办法: 在Azkaban-web-server 的conf目录下创建文件夹conf/log4j.properties: 写入一下内容

2017-04-07 13:29:29 8244

原创 Elasticsearch系列篇之创建document

Elasticsearch中,一条index被成为一条document,每条document以json格式存在创建一条记录(document) 添加一条记录到twitter的user type中,id=1curl -XPOST -uadminName:daiyutage 'http://localhost:9200/twitter/user/1' -d'{ "username":"xiaom

2017-04-05 16:51:37 3717

原创 Elasticsearch系列篇之Get Index

Elasticsearch Get Index 查询index的信息 默认会返回此index的所有信息,包括setting,mappingscurl -XGET http://localhost:9200/twitter?pretty查看结果 返回的json包含aliases,mappings,settings,warmers可以指定返回的指标 下面的命令只返回setting的部分curl

2017-04-05 15:58:48 2455

原创 Elasticsearch系列篇之删除索引

Elasticsearch删除索引Elasticsearch可以删除索引,但是不能像数据库一样直接删除type,如果想要删除type有两种方式 a.删除index,这样会把所有该index的所有的type都会删除 b.重新创建一个新的type,使用新的type,这种方式安全一点 如果一个index下面只有一个type,那么就可以直接删除index 如果一个index下面有多个type

2017-04-05 14:32:53 48769

原创 Elasticsearch系列篇之创建索引

Elasticsearch的index类似于关系型数据库的库的概念,在保存数据前,要先创建索引 使用curl命令创建 创建一个新的索引,并设置分片数和副本数 创建一个twitter的索引, 设置为3个分片,2个副本,默认5个分片,1个副本curl -XPUT http://localhost:9200/twitter -d'{ "settings" : { "inde

2017-04-05 14:17:49 22513

azkaban2.5安装包

azkaban2.5安装包,不需要编译,解压配置就可以了

2017-04-07

eclipse hadoop插件 2.x版本

eclipse的hadoop版本,注意是2.x以上的,不适合1.x版本,2.x版本的插件需要手动编译,这个是编译好的.

2016-12-19

邮件发送工具

易语言写的邮件发送工具,源码

2013-06-13

全局键盘钩子

全局键盘钩子代码,可以屏蔽任何键

2013-06-10

锁机精灵终极版

锁机工具 在离开电脑时可以锁住屏幕

2013-06-10

VC++修改DNS

vc++修改DNS服务器地址

2013-05-29

新年祝福程序

C 语言写的新年祝福程序

2013-02-20

通讯录管理系统

通讯录管理系统

2013-02-20

进制转换器

进制转换器

2013-02-06

软件卸载助手

软件卸载助手, 仿windows程序卸载。

2013-01-21

内存监视器

内存监视工具 ,可以查看内存使用率等状态。。

2013-01-21

手机号码归属查询

VC写的手机号码归属地查询软件, 支持电信移动联通各号段,通过网络数据库查询最新的号码段

2013-01-21

天气预报查询

MFC 写的天气预报 可查询全国任一一个城市的天气状况

2013-01-21

桌面模拟钟表

VC写的桌面钟表,有表盘 ,秒针走动的声音。。模拟真实的钟表。。。

2013-01-21

注册表编程 快捷方式美化

VC 写的一个小工具,去除和恢复桌面快捷方式小箭头,是注册表编程的一个很好的例子。

2012-12-29

俄罗斯方块

vc++ 写的俄罗斯方块游戏,界面友好,有炫丽的背景,以及不同颜色的立体方块,有升级功能,等级选择,分数记录,暂停等,功能比较全面,利用双缓冲的思想。......

2012-12-23

贪吃蛇经典游戏

MFC 写的贪吃蛇,支持暂停,速度变化,升级,分数记录等功能。比较完备的贪吃蛇。

2012-12-23

VC 写的任务管理器

vc 写的仿windows任务管理器。

2012-12-06

天际网络收音机

vc++ 写的一个网络收音机,界面美观,操作方便。。

2012-10-10

天天倾听音乐播放器

Mfc 写的音乐播放器,界面美观,支持换肤,可以保存列表,随即,循环,顺序播放等等。。

2012-10-05

MFC 写的音乐播放器

Mfc 写的Mp3播放器,支持换肤,保存播放列表等功能,界面美观。适合新手研究。。

2012-10-05

空空如也

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

TA关注的人

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