自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (2)
  • 收藏
  • 关注

原创 spring源码解析(二)

IOC容器的初始化包括BeanDefinition的Resource定位载入注册我们可以看到定位和载入过程中接口调用。 Spring在实现中是把三个过程分开并使用不同的模块来完成,这样方便用户剪裁和扩展。 1: BeanDefinition的资源定位由ResourceLoader通过Resource接口完成。 比如文件系统中定义信息可以用:FileSystemResource,Clas

2017-04-26 09:21:56 416

原创 spring源码解析(一)

spring依赖注入源码解析

2017-04-24 14:18:49 627

原创 Exchanger线程拷贝

import java.util.ArrayList;import java.util.List;import java.util.Random;import java.util.concurrent.Exchanger;/** * Created by yuanyong on 17/2/8. */public class ThreadLocalTest { public

2017-02-10 11:11:51 233

原创 RecursiveTask

多线程并行计算/** * Created by yuanyong on 17/2/8. */import java.util.concurrent.ForkJoinPool;import java.util.concurrent.Future;import java.util.concurrent.RecursiveTask;public class CountTask ext

2017-02-10 11:08:35 3601 1

原创 生产者消费者模式

import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.LinkedBlockingDeque;import java.util.concurrent.locks.Condition;import java.util.concu

2017-02-10 10:52:22 254

原创 ReentrantLock

一道经典的Java多线程编程题

2017-02-07 16:36:16 186

转载 模板方法模式

1. 概述  定义一个操作中的算法的骨架,而将步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义算法的某些特定步骤。2. 模式中的角色  2.1 抽象类(AbstractClass):实现了模板方法,定义了算法的骨架。  2.2 具体类(ConcreteClass):实现抽象类中的抽象方法,已完成完整的算法。3. 模式解读  3.1

2016-11-29 14:41:15 238

转载 java代理机制

Table of Contents1 引言2 常见的代理3 代理模式UML图4 代理模式实例5 java动态代理5.1 java动态代理UML图6 代理模式与装饰者模式的区别6.1 装饰者模式UML图6.2 形象说明1 引言我们书写执行一个功能的函数时,经常需要在其中写入与功能不是直接相关但很有必要的代 码,如日志记录,信息发送,安全

2016-11-29 14:18:47 220

原创 tomcat解析(二)

Tomcat启动废话不多说先上图:类图如下:时序图如下:Catalina是整个Tomcat的管理类,它里面的三个方法load,start,stop分别管理整个服务器的生命周期。代码如下:(1)验证是否初始化:通过反射实例化Catalina,初始化资源,装入load。org.apache.catalina.startup.Bootstrap pub

2016-11-10 16:30:15 286

原创 tomcat解析(一)

Tomcat中最顶层的容器叫Server,代表整个服务器,Server中包含至少一个Service,用于具体提供服务。Service主要包含两部分:Connector和Container。Connector用于处理连接相关的事情,并提供Socket与request、response的转换,Container用于封装和管理Servlet,以及具体处理request请求。一个Tomcat中只有一个Se

2016-11-08 14:40:44 292

转载 join方法的理解

thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程。比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B。t.join();      //使调用线程 t 在此之前执行完毕。t.join(1000);  //等待 t 线程,等待时间是1000毫秒 先上一段JDK中代码:Java代码

2016-09-19 14:06:27 5134 2

原创 存数海量数据时的一个途径

import java.util.BitSet;/** * java.util.BitSet 研究(存数海量数据时的一个途径) * java.util.BitSet可以按位存储。 计算机中一个字节(byte)占8位(bit),我们java中数据至少按字节存储的, * 比如一个int占4个字节。 如果遇到大的数据量,这样必然会需要很大存储空间和内存。 如何减少数据占用存储空间

2014-11-21 16:06:22 440

原创 linux基础指令

$LANG 查看 LANG=zh_CN.UTF-8  ||en_USecho $LANG

2014-08-22 17:45:14 332

原创 策略模式(headfirst设计模式学习笔记)

策略模式定义了算法族,分别封装起来,让他们可以相互替换,此模式让算法的变化独立于使用算法的客户。

2014-07-25 15:48:19 656

原创 不同的寻址方式灵活运用(di,si)

si和di是8086cpu中和必须功能最相近的寄存器,si和di不能给凤城二个8位寄存器来使用。下面3组指令实现了相同的功能。1: mov bx,0mov ax,[bx]   ;ax=16*ds+bx2:mov si,0mov ax,[si]    ;ax=16*ds+si3:mov di,0mov ax,[di] ;ax=16*ds+di4:mov b

2014-07-15 10:33:56 1173

原创 包含多个段的程序

assume cs:abcabc segmentdw 0123H,0456H,0789H,0ABCH,0DEFH,0FEDH,0CBAH,0987Hdw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0start:mov ax,csmov ss,axmov sp,30hs:add ax,cs:[bx]add bx,2loop s

2014-07-15 09:33:49 395

原创 使用[bx+idata]的方式进行数组处理

使用[bx+idata]的方式进行数组处理在cidesg中写代码,将datasg中定义的第一个字符串转化为大写,第二个字符串转化为小写。assume cs:codesg,ds:datasgdatasg segment db:'Baic' db:'MinIx'datasg endscodesg segmentstart: *****code endsend start

2014-07-14 17:00:11 534

原创 [bx]和loop指令

assume cs:abcabc segmentmov ax,2mov cx,11s:add ax,axloop smov ax,4c00Hint 21Habc endsend

2014-07-10 17:28:00 457

转载 我不问+你不说=误解

王子出去打猎,留狗在家看护婴儿。王子回来后,看见血染被毯,却不见婴儿。而狗呢,一边舔着嘴边的鲜血,一边高兴地望着他。王子大怒,抽刀刺入狗腹。狗惨叫一声,惊醒了睡熟在血迹斑斑的毯子下面的婴儿。这时,王子才发现屋角躺着一条死去的恶狼。很多事情你看到的、

2014-07-10 17:11:26 454

转载 如何学习?

如何学习?文章作者:小虫  最近看到一些报名汇编语言学习的人抱怨汇编难学和题太难,有的则退出了。下面发表一些本人对学习的看法供正在学习汇编语言的朋友们借鉴和讨论。 1、学习首先要选择正确的,否则就会变得徒劳和有害。 2、选择了就要坚持下去,不达目标绝不罢休。   学习过程中不可能永远那么顺利,大多时间是在与困难和问题周旋,在不断的努力和拼搏中度过的。不要

2014-07-10 17:02:47 298

转载 汇编揭秘C中的参数传递

汇编揭秘C中的参数传递文章作者:怕冷的北极熊  很多学习汇编的朋友想必对C也比较了解,因为在当前大学的课程体系里,它很有可能就是你接触到的第一门编程语言。由于对计算机的理解不够,学习时必定会遇到各种问题。有些问题是你通过思考就可以解决的,而更多的问题则是你无从思考,就好像它天生就是这样,你只要记住就OK了。然而这样的学习方式是机械的,更是没有创造力的。只有真正理解了C语言,你才有能

2014-07-10 16:59:07 601

原创 通过ds寄存器操作内存

8086是16位cpu,有16根数据线,所以可以一次传输

2014-07-09 14:58:36 500

原创 8086cup给出物理地址

运算器一次最多可以处理16位的数据寄存器最大宽度为16位寄存器和运算器的通路为16位8086是16位结构的cpu,也就是说8086内部,能一次性处理传输,占时储存的信息最大长度是16位,内存单元的地址在送上地址总线之前,必须在cpu中处理,传输,占时存放,对于16位cpu,能一次性处理,传输。占时存放16位的地址。8086cuo有20位地址总线,cup采用一种用内部2个16位地址合

2014-07-09 10:30:30 883

原创 寄存器

寄存器对于汇编程序员来说,cpu中的主要部件是寄存器,寄存器是cpu中程序员可以用指令读写的部件,程序员可以通过改变各种寄存器内容实现cpu控制。不同的cpu,寄存器的个数,结构是不相同的,8086cup有14个寄存器。AX,BX,CX,DX,SI,DI,SP,BP,CS,SS,DS,ES,PSW8086cup所有寄存器都是16位,可以存放2个字节。AX,BX.CX,DX这4个寄存器通

2014-07-08 17:52:43 678

原创 java 线程超时时间

public static void main(String[] args) { String failReason = null; Future f=new FutureTask(new Callable() { @Override public Object call() throws Exception { // TODO Auto-generated met

2014-07-07 13:54:34 595

原创 各类储存芯片基础

主板每台pc都有主板,主板有核心器件和一些主要的器件,这些器件通过总线相连。接口卡计算机系统中,所有程序可以控制的设备,必须受到cpu的控制,cup对他们不可以直接控制,这些设备进行工作是插在扩展插槽的接口卡上,扩展槽通过总线和cpu相连,接口卡可以通过总线通cpu相连。cpu可以直接控制接口卡,实现了cpu对外围设备的间接控制。各类储存芯片1台pc机中,装有多个储存芯片,这些

2014-07-04 10:39:32 999

原创 总线逻辑基础

cup是计算机的核心,它控制整个计算机的运作并计算。想让cpu工作,就必须向它提供指令和数据,数据和指令在存储器存放。类似大脑的记忆。指令和数据是应用上的概念,在内存或磁盘没有任何区别都是二进制信息。储存单元存储器划分若干个储存单元,每个储存单元都是0开始序号。假如一个存储器有128个储存单元编号从0-127、一个存储器有128个储存单元,那么它可以储存128位(128

2014-07-03 17:54:54 1019

原创 Semaphore

一个计数信号量。从概念上讲,信号量维护了一个许可集。如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可。每个release() 添加一个许可,从而可能释放一个正在阻塞的获取者。但是,不使用实际的许可对象,Semaphore 只对可用许可的号码进行计数,并采取相应的行动。操作系统的信号量是个很重要的概念,在进程控制方面都有应用。Java 并发库 的Semaphore 可

2014-06-24 10:15:42 352

原创 使用CountDownLatch启动和停止线程

package File;import java.util.concurrent.CountDownLatch;public class Indexer { Indexer(){}; public long timeTasks(int nThreads,final Runnable stak) throws InterruptedException{ final CountDow

2014-06-20 17:40:37 1627

转载 java创建哈夫曼树和实现哈夫曼编码

import java.util.*;public class HuffmanTree{ public static class Node { E data; double weight; Node leftChild; Node rightChild; public Node(E data , double weight) { this.data = dat

2014-05-05 14:43:54 6046

原创 java数据结构 七 栈(链式储存结构)

package com;/** 栈(链式储存结构) */public class LinearlinkStack { Entry linkStack; public LinearlinkStack(){ linkStack =new Entry(); } class Entry{ Object date; Entry next; } public

2014-05-04 16:41:01 557

原创 java数据结构 六 栈共享(顺序储存结构)

package com;/** 栈共享(顺序储存结构) */public class LinearTable { static int MAXSIZE=11; int top; int top2=MAXSIZE; Object[] objArray=new Object[MAXSIZE]; /** * * @param stackNumber 辨别栈1,栈2

2014-05-04 15:28:24 372

原创 java数据结构 五(栈)

package com;/** 栈 */public class LinearTable { static int MAXSIZE=5; int top; Object[] objArray=new Object[MAXSIZE]; public void push(Object ob){ if(top==(MAXSIZE-1)){ throw new Ind

2014-05-04 15:06:35 336

原创 java数据结构 四(双向链表)

package com;/** 双向链表 * 插入删除快,读取慢, * 让每个元素知道下个元素位置(内存地址) */public class LinearTable { Entry table; public LinearTable(){ table =new Entry(); } class Entry{ Object date; Entry nex

2014-05-04 14:35:30 404

原创 java数据结构 三(静态链表-游标实现)

package com;/** 静态链表-游标实现 * 数组操作代替指针 * 让每个元素知道下个元素位置(内存地址) */public class LinearTable { static int MAXSIZE=1000; table[] tableList=new table[MAXSIZE]; class table{ Object date; int

2014-05-04 13:38:24 737

原创 java数据结构 二(单链表)

package com;import java.util.HashMap;/** 单链表 * 插入删除快,读取慢, * 让每个元素知道下个元素位置(内存地址) */public class LinearTable { Entry table; public LinearTable(){ table =new Entry(); } class Entry{

2014-04-30 16:58:27 554

原创 mac Cannot Update Macports Port Tree

---> Updating MacPorts base sources using rsyncrsync: failed to connect to rsync.macports.org: Operation timed out (60)rsync error: error in socket IO (code 10) at /SourceCache/rsync/rsync42/rsync/

2014-04-21 16:14:30 762

原创 java数据结构 一(线性表循序储存结构)

package com;import java.util.ArrayList;/** * 线性表循序储存结构 * @author Hadoop * */public class LinearTable { Object data[]; int length; LinearTable(int size){ data=new Object[size]; } pu

2014-04-17 16:08:00 473

原创 PDF转图片(完美实现)

本想依赖第三方jar包,但是对中文处理不是

2014-04-16 14:52:02 646

原创 简单链表操作

// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include#include#define TSIZE 50#define FMAX 2struct film{ char title[TSIZE]; int ranting; struct film * next;}*

2014-04-11 16:24:46 357

wineBotter mfc42

mac wineBotter 缺失正确的mfc42.dll wine: Call from 0x7bc45498 to unimplemented function MFC42.DLL.6928, aborting wine: Unimplemented function MFC42.DLL.6928 called at address 0x7bc45498 (thread 0009), starting debugger...

2016-07-06

PDF转图片代码实例(完美实现)

本想依赖第三方jar包,但是对中文处理不是很好,通过朋友提示,最终完美解决。

2014-04-16

空空如也

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

TA关注的人

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