人无信不立,业不勤不精
Active Object[接收异步消息的对象]一:Active Object的参与者--->客户端线程(发起某种操作请求处理)--->代理角色(工头)--->实际执行者(工人)--->主动对象接口(工人和工头)--->生产端线程(加工产品的线程)--->存放生产请求的队列(存放请求的队列)--->...
Thread-Specific-Storage[线程保管箱]一:Thread-Specific Storage的参与者--->记录日志的线程(ClientThread)--->负责获取不同线程记录日志(Log)--->负责将日志写入文件的类(TsLog) 二:Thread-Specifi...
用在多线程,同步变量。 线程为了提高效率,将某成员变量(如A)拷贝了一份(如B),线程中对A的访问其实访问的是B。只在某些动作时才进行A和B的同步。因此存在A和B不一致 的情况。volatile就是用来避免这种情况的。
Two-phapse-Termination[A终止B线程]一:Two-phapse-Termination的参与者--->A线程--->B线程 二:Two-phapse-Termination模式什么时候使用--->当A线程需要B线程终止时三:Two-phapse-Termination思考 ---> 优雅的终止线程 (1)安全地终止(安全性)==>即使收到终止请求,也不会马上结束线程,而是表示收到终止请求的标识。
Future pattern[订单取货模式]一:Future pattern的参与者--->Client(客户需求)--->Host(蛋糕门店)--->Data(票据和蛋糕的接口)--->Future(蛋糕票据)--->ReaData(制作蛋糕过程) 二:Future pattern模式...
Worker pattern[工作模式]一:Worker pattern的参与者--->Client(委托人线程)--->Channel(通道,里边有,存放请求的队列)--->Request(工作内容的包装)--->Worker(工人线程) 二:Worker pattern模式什么时候使...
Thread-Per-Message【这个工作交给你模式】一:Thread-Per-Message的参与者--->Client(委托人)--->host(中介开线程)--->hepler(真正工作的工人) 二:Thread-Per-Message模式什么时候使用--->提升响应时间,降低...
Read-Write Lock Pattern【读写】一:Read-Write Lock Pattern的参与者--->读写锁--->数据(共享资源)--->读线程--->写线程 二Read-Write Lock Pattern模式什么时候使用---> * 为了多线线程环境下保护数据安全,我们必须避免的冲突 * 一个线程读取,另一个线程写入的read-write conflick * 一个线程写入,另一个线程写入的write-write conflick * 一个线程读取,另一个线程也在读取不会产生冲突 * * 当线程想要获取读取锁定时: * -->已经有线程在执行写入,则等待。
Producer-Consumer【生产消费者模式】一:Producer-Consumer pattern的参与者--->产品(蛋糕)--->通道(传递蛋糕的桌子)--->生产者线程(制造蛋糕的线程)--->消费者线程(吃掉蛋糕的线程) 二:Producer-Consumer pattern模式什么时候使用--->大量生产+大量消费的模式三:Producer-Consumer pattern思考--->【生产消费者模式】,肩负保护数据安全性使命的是通道参与者。
Balking【返回模式】timed【超时模式】一:balking pattern的参与者--->GuardedObject(被警戒的对象)--->该模式的角色:模拟修改警戒对象的线程,当警戒条件达到执行具体操作的线程,参与者(被警戒的参与者) 二:balking pattern模式什么时候使用--->不需要刻意去执行什么操作的时候(比如说自动保存)--->不想等待警戒条件成立时。
Guarded Suspension【生产消费者模式】一:guarded suspension的参与者--->guardedObject(被防卫)参与者 1.1该参与者拥有一个被防卫的方法(getRequest),如果警戒条件达成,则执行。
Immutable pattern【坚不可摧模式】一:immutable pattern的参与者--->immutable(不变的)参与者 1.1:immutable参与者是一个字段的值都无法更改的类。
Single Threaded Execution Pattern【独木桥模式】一:single threaded execution pattern的参与者--->SharedResource(共享资源)二:single threaded execution pattern模式什么时候使用--->多线程程序设计时--->数据可被多个线程访问的时候--->共享资源状态可能变化的时候--->需要确保数据安全性的时候三:single threaded execution pattern思考--->synchronized一见到它,势必保护着什么公共资源的数据。
多线程程序的评量标准--->安全性【不损坏对象】 (1)不损坏对象是一种比喻手法,就是数据的一致性。比如银行的扣款操作,并发扣款,账户不会出现负数的余额。--->生存性【进行必要的处理】 (1)指也许不是现在,但一定会进行的必要处理。
一:单例模式的优点 --->单例类只能有一个实例 --->单例类必须自己创建自己的唯一实例。 --->单例类必须给所有其他对象提供这一实例。
一:抽象工厂模式的优点 --->抽象工厂模式是对象的创建模式,它是工厂方法模式的进一步推广。 --->假设一个子系统需要一些产品对象,而这些产品又属于一个以上的产品等级结构。
一:工厂方法模式的优点 --->工厂方法模式是类的创建模式,又叫做虚拟构造子(Virtual Constructor)模式或者多态性工厂(Polymorphic Factory)模式。
Java的网络类可以让你通过网络或者远程连接来实现应用。而且,这个平台现在已经可 以对国际互联网以及URL资源进行访问了。Java的URL类可以让访问网络资源就像是访问你本地的文件夹一样方便快捷。我们通过使用Java的URL类 就可以经由URL完成读取和修改数据的操作。
一:简单工厂模式的优点 --->在阎宏博士的《JAVA与模式》一书中开头是这样描述简单工厂模式的:简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式。
CronTrigger CronTriggers往往比SimpleTrigger更有用,如果您需要基于日历的概念,而非SimpleTrigger完全指定的时间间隔,复发的发射工作的时间表。 CronTrigger,你可以指定触发的时间表如“每星期五中午”,或“每个工作日9:30时”,甚至“每5分钟一班9:00和10:00逢星期一上午,星期三星期五“。
我遇到这样的问题,本地部署时抛出异常java.lang.OutOfMemoryError:GC overhead limit exceeded导致服务起不来,查看日志发现加载了太多资源到内存,本地的性能也不好,gc时间消耗的较多。
HTTPS简介 HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据。
mybase 是个人知识管理软件,国内用他的人很多,尤其是程序员。我也是mybase的忠实使用者,有大量的积累。 以前一直用Windows,mybase使用完全没有问题,后来转投ubuntu阵营了,就遇到了问题,如何在linux上继续使用mybase呢?如何 继续以前的积累呢?在linux上使用过一些类似的东东,比如basket或者wikipad都不是很好用。
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法sed命令行格式为: sed [-nefri] ‘command’ 输入文本 常用选项: -n∶使用安静(silent)模式。
简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
原文:http://blog.csdn.net/zxl315/article/details/10879927 介绍Quartz Quartz是一个开源的任务调度系统,它能用来调度很多任务的执行。
原 来配置的Quartz是通过spring配置文件生效的,发现在非集群式的服务器上运行良好,但是将工程部署到水平集群服务器上去后改定时功能不能正常运 行,没有任何错误日志,于是从jar包、JDK版本、cronExpression到服务器类型,甚至查到了服务器操作系统的类型,都没能找到解决的办 法,后来才知道是集群惹的祸! 详细步骤如下: 1、 按照Quartz集群工作原理 图:表示了每个节点直接与数据库通信,若离开数据库将对其他节点一无所知 在数据库中建表。
Spring定时任务的几种实现 近日项目开发中需要执行一些定时任务,比如需要在每天凌晨时候,分析一次前一天的日志信息,借此机会整理了一下定时任务的几种实现方式,由于项目采用spring框架,所以我都将结合 spring框架来介绍。
在JavaEE系统中,我们会经常用到定时任务,比如每天凌晨生成前天报表,每一小时生成汇总数据等等。我们可以使用java.util.Timer结合java.util.TimerTask来完成这项工作,但时调度控制非常不方便,并且我们需要大量的代码。
quartz2.2.1集群调度机制调研及源码分析 原文地址:http://demo.netfoucs.com/gklifg/article/details/27090179 引言quartz集群架构调度器实例化调度过程触发器的获取触发trigger:Job执行过程:总结:附: 引言 quratz是目前最为成熟,使用最广泛的java任务调度框架,功能强大配置灵活.
编译器 Java是编译型语言,按照编译的时期不同,编译器可分为: 前端编译器:其实叫编译器的前端更合适些,它把*.java文件转变成*.class文件,如Sun的Javac、Eclipse JDT中的增量式编译器ECJ; JIT编译器:虚拟机的后端运行期编译器(Just In Time C...
命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令。 启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filename 打开vim并创建名为filename的文件 文件命令 打开单个文件 vim file 同时打开多个文件 vim file1 file2 file3 ... 在vim窗口中打开一个新文件 :open file 在新窗口中打开文件 :split file 切换到下一个文件 :bn 切换到上一个文件 :bp 查看当前打开的文件列表,当前正在编辑的文件会用[]括起来。
HTTP 状态响应码 意思详解/大全 HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。它由 RFC 2616 规范定义的,并得到RFC 2518、RFC 2817、RFC 2295、RFC 2774、RFC 4918等规范扩展。
字母 日期或时间元素 表示 示例 G Era 标志符 Text AD y 年 Year 1996 ; 96 M 年中的月份 Month July ; Jul ; 07 w 年中的周数 Number 27 W 月份中的周数 Numbe...
hi,all 最近抽时间把JVM运行过程中产生的一些线程进行了整理,主要是围绕着我们系统jstack生成的文件为参照依据。 前段时间因为系统代码问题,造成性能瓶颈,于是就dump了一份stack出来进行分析。
在DB2数据库中, 是通过行级锁和表级锁协调作用来提供较好的并发性, 同时保证数据库中数据的安全。 在DB2中缺省情况下使用行级锁(当然需要IS/IX锁配合),只有当出现锁资源不足, 或者是用命令指定使用表级锁的情况下, 才会在应用连接中使用表级锁。
加锁是在操作数据时进行了,不能事后加锁。 例: begin tran insert 表 with(TABLOCKX) --加锁 (字段列表) values(值列表) commit tran 其他锁的示...
SSH是一种以安全、加密方式连接远程主机或服务器的方法。SSH服务器接受从有SSH的客户机的连接,允许操作者象在本地一样地登录系统。你可以用SSH从远程运行shell和X程序。 (1)安装SSH服务器 加入Universe和Multiverse源后,用新立得安装ssh和openssh-server: ubuntu默认并没有安装ssh服务,如果通过ssh链接ubuntu,需要自己手动安装ssh-server。
1、db2可以通过SYSIBM.SYSDUMMY1、SYSIBM.DUAL获取寄存器中的值,也可以通过VALUES关键字获取寄存器中的值。 SELECT 'HELLO DB2' FROM SYSIBM.SYSDUMMY1;--HELLO DB2 SELECT 'HELLO DB2' FROM SYSIBM.DUAL;--HELLO DB2 VALUES 'HELLO DB2';--HELLO DB2 2、CURRENT DATE获取当前日期;CURRENT TIME获取当前时间;CURRENT TIMESTAMP获取当前时间戳(含年、月、日、时、分、秒)。
http://www.07net01.com/电脑玩物 http://www.07net01.com/2014/09/68186.html 安装qq 一开始,我在ubuntu14.04下安装的QQ版本是WineQQ2013SP6-20140102-Longene, 但后来发现这个版本QQ在linux下问题很多,比如不能用键盘输入密码,QQ表情使用失灵, 有些不兼容等,最重要的是我发现它及其的占用CPU,令我很不爽(有图为证): 于是我便用sudo dpkg –purge 命令卸载了它,这里我推荐使用wine-qqintl版本,也就是国际版。
一、JDK1.6下载 目前JDK最新版本是JDK1.6,到http://java.sun.com/javase/downloads/index.jsp可以下载JDK1.6。 二、JDK1.6安装 JDK的安装非常简单,只需要按照向导一步一步进行即可。
eclipse Kepler + Jboss7.1 参考引用文档: http://www.tekdigest.com/how-to-install-jboss-tools-in-eclipse.
在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。关键词 distinct用于返回唯一不同的值。 表A: 示例1 select distinct name from A 执行后结果如下: 示例2 select distinct na...
1、概述 2、原始表 3、简单Group By 4、Group By 和 Order By 5、Group By中Select指定的字段限制 6、Group By All 7、Group By与聚合函数 8、Having与Where的区别 9、Compute 和 Compute By 1、概述 “Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理。
用途说明 zip文件是一种常用的压缩文件格式,WinZip、WinRar等压缩软件都支持zip文件格式,就连java的jar包也是zip格式 的,Firefox插件xpi文件也是zip格式的。Linux在zip文件上的支持也是很周到的,它提供了zip、unzip和zcat等命令来支持。
zip -r myfile.zip ./* 将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. 2.unzip unzip -o -d /home/sunny myfile.
http://jingyan.baidu.com/article/60ccbceb18624464cab197ea.html http://jingyan.baidu.com/article/76a7e409bea83efc3b6e1507.html
linux目录结构的最顶端是/目录 我们一般都称为root目录。 linux有四种文件类型,分别是普通文件,目录文件,连接文件,特殊文件,可以用file来识别。 普通文件:文本文件 二进制文件 图像文件 音频视频文件等 可用cat less more vi emacs来查看修改内容 或者用mv改名或移动 用rm删除 用cp复制 目录文件:包括文件名 子目录名 指针等 可以使用mkdir rmdir创建和删除 使用mv改名和移动 使用cp复制 使用 链接文件:指向同一索引节点的目录条目,用ls来查看就是用l开头 用->指向所连接的文件。
tar命令 可以用来压缩打包单文件、多个文件、单个目录、多个目录。 Linux打包命令_tar tar命令可以用来压缩打包单文件、多个文件、单个目录、多个目录。 常用格式: 单个文件压缩打包 tar czvf my.
目录 一、解析Linux应用软件安装包 二、了解包里的内容 三、搞定使用tar打包的应用软件 四、搞定使用rpm打包的应用软件 五、搞定使用deb打包的应用程序 一、解析Linux应用软件安装包(回目录) 通常Linux应用软件的安装包有三种: tar包,如software-1.2.3-1.tar.gz。