
java 学习研究
阿奇XS
人贪安逸易失志,马遇软地易失蹄。(微信号:benyzhous)
展开
-
Quartz cron表达式(quartz中时间表达式)
cron表达式(quartz中时间表达式)关键字: cron表达式(quartz中时间表达式)Quartz使用类似于Linux下的Cron表达式定义时间规则,Cron表达式由6或7个由空格分隔的时间字段组成,如表1所示:表 1 Cron表达式时间字段 Cron表达式的时间字段除允许设置数值外,还可使用一些特殊的字符,提供列表、范围、通配符等功能,细说如下:原创 2009-10-20 15:28:00 · 2433 阅读 · 3 评论 -
Hystrix 使用与分析
转载请注明出处哈:http://hot66hot.iteye.com/admin/blogs/2155036一:为什么需要Hystrix?在大中型分布式系统中,通常系统很多依赖(HTTP,hession,Netty,Dubbo等),如下图: 在高并发访问下,这些依赖的稳定性与否对系统的影响非常大,但是依赖有很多不可控问题:如网络连接缓慢,资源繁忙,暂时不转载 2016-01-28 16:40:49 · 9944 阅读 · 0 评论 -
REST服务介绍
RESTful service是一种架构模式,近几年比较流行了,它的轻量级web服务,发挥HTTP协议的原生的GET,PUT,POST,DELETE。 REST模式的Web服务与复杂的SOAP和XML-RPC对比来讲明显的更加简洁,越来越多的web服务开始采用REST风格设计和实现。例如,Amazon.com提供接近REST风格的Web服务进行图书查找;雅虎提供的Web服务也是REST风格的。RE转载 2016-01-28 09:26:36 · 854 阅读 · 0 评论 -
Java字符串找出4个字节长度的字符
不解释,直接上代码: 由于Iteye代码贴四个字节的UTF-8字符出错,特能图的方式发布几个特殊字符: Java代码 public class Byte4Check { public static void main(String args[]) throws UnsupportedEncodingException {原创 2015-09-11 16:39:07 · 4817 阅读 · 0 评论 -
quartz 关联多个 JobDetail和SimpleTrigger 多任务调度
import java.util.Date;import org.quartz.JobDetail;import org.quartz.Scheduler;import org.quartz.SchedulerFactory;import org.quartz.SimpleTrigger;import org.quartz.impl.StdScheduler原创 2009-10-21 16:01:00 · 10832 阅读 · 2 评论 -
全文检索引擎Solr系列—–全文检索基本原理
场景:小时候我们都使用过新华字典,妈妈叫你翻开第38页,找到“坑爹”所在的位置,此时你会怎么查呢?毫无疑问,你的眼睛会从38页的第一个字开始从头至尾地扫描,直到找到“坑爹”二字为止。这种搜索方法叫做顺序扫描法。对于少量的数据,使用顺序扫描是够用的。但是妈妈叫你查出坑爹的“坑”字在哪一页时,你要是从第一页的第一个字逐个的扫描下去,那你真的是被坑了。此时你就需要用到索引。索引记录了“坑”字在哪一页,你转载 2015-04-01 10:53:14 · 4800 阅读 · 0 评论 -
Maven Jrebel 多模块热部署方案
Maven Jrebel 多模块热部署方案原创 2015-03-24 19:10:11 · 16343 阅读 · 6 评论 -
2016年会成为Java EE微服务年吗?
原文 http://www.infoq.com/cn/news/2016/02/javaee-microservices进入2016年时间还不是很长,让我们回顾下去年年底的一个预言。去年12月,来自C2B2的Steve Millidge 预测 ,2016年将会成为Java EE微服务年。在一定程度上,这是基于 Steve在JavaOne上的演讲 ,他在演讲中详细地讨论了这个主题。转载 2016-02-16 11:47:05 · 1206 阅读 · 0 评论 -
秒杀系统架构分析与实战
1 秒杀业务分析正常电子商务流程(1)查询商品;(2)创建订单;(3)扣减库存;(4)更新订单;(5)付款;(6)卖家发货秒杀业务的特性(1)低廉价格;(2)大幅推广;(3)瞬时售空;(4)一般是定时上架;(5)时间短、瞬时并发量高;2 秒杀技术挑战假设某网站秒杀活动只推出一件商品,预计会吸引1万人参加活动,也就说最大并发请求数是10000,秒杀系统需要面对的技术挑转载 2016-02-16 17:16:40 · 916 阅读 · 1 评论 -
URLParser:很实用的URL参数解析器(JAVA代码中方便获取QueryString中的get参数)
很实用的URL参数解析器(JAVA代码中方便获取QueryString中的get参数)package com.kaishustory.quick.commons.text;import java.io.UnsupportedEncodingException;import java.net.URLDecoder;import java.util.HashMap;import原创 2017-05-25 23:15:54 · 19352 阅读 · 0 评论 -
JVM上的随机数与熵池策略
在apache-tomcat官方文档:如何让tomcat启动更快 里面提到了一些启动时的优化项,其中一项是关于随机数生成时,采用的“熵源”(entropy source)的策略。他提到tomcat7的session id的生成主要通过java.security.SecureRandom生成随机数来实现,随机数算法使用的是”SHA1PRNG”private String secureRa转载 2017-05-02 19:21:42 · 900 阅读 · 0 评论 -
API接口签名验证
系统从外部获取数据时,通常采用API接口调用的方式来实现。请求方和接口提供方之间的通信过程,有这几个问题需要考虑:1、请求参数是否被篡改;2、请求来源是否合法;3、请求是否具有唯一性。今天跟大家探讨一下主流的通信安全解决方案。参数签名方式这种方式是主流。它要求调用方按照约定好的算法生成签名字符串,作为请求的一部分,接口提供方验算签名即可知是否合转载 2016-12-18 01:14:23 · 3486 阅读 · 0 评论 -
开放api接口签名验证
不要急,源代码分享在最底部,先问大家一个问题,你在写开放的API接口时是如何保证数据的安全性的?转载 2016-10-19 16:04:44 · 1380 阅读 · 1 评论 -
Java多线程编程中Future模式的详解
Java多线程编程中,常用的多线程设计模式包括:Future模式、Master-Worker模式、Guarded Suspeionsion模式、不变模式和生产者-消费者模式等。这篇文章主要讲述Future模式,关于其他多线程设计模式的地址如下:关于其他多线程设计模式的地址如下:关于Master-Worker模式的详解: Java多线程编程中Master-Worker模式的详解关于Gua转载 2016-05-01 22:09:38 · 686 阅读 · 0 评论 -
maven仓库--私服(Nexus的配置使用)
maven--私服的搭建(Nexus的使用)和注意的问题私服是什么私服,私有服务器,是公司内部Maven项目经常需要的东东,不总结一下,不足以体现出重视。Nexus是常用的私用Maven服务器,一般是公司内部使用。下载地址是http://www.sonatype.org/nexus/go。默认端口8081,这里我选择最新版nexus-2.5.0-04。常用功能转载 2016-03-28 22:15:23 · 772 阅读 · 0 评论 -
maven中snapshot快照库和release发布库的区别和作用
在使用maven过程中,我们在开发阶段经常性的会有很多公共库处于不稳定状态,随时需要修改并发布,可能一天就要发布一次,遇到bug时,甚至一天要发布N次。我们知道,maven的依赖管理是基于版本管理的,对于发布状态的artifact,如果版本号相同,即使我们内部的镜像服务器上的组件比本地新,maven也不会主动下载的。如果我们在开发阶段都是基于正式发布版本来做依赖管理,那么遇到这个问题,就需要升级组转载 2016-03-28 22:10:21 · 540 阅读 · 0 评论 -
Java8 Lambda表达式教程
1. 什么是λ表达式 λ表达式本质上是一个匿名方法。让我们来看下面这个例子: public int add(int x, int y) { return x + y; }转成λ表达式后是这个样子: (int x, int y) -> x + y;参数类型也可以省略,Java编译器会根据上下文推断出来:转载 2016-02-22 11:09:56 · 652 阅读 · 0 评论 -
简单的java缓存实现
提到缓存,不得不提就是缓存算法(淘汰算法),常见算法有LRU、LFU和FIFO等算法,每种算法各有各的优势和缺点及适应环境。转载 2015-03-24 01:21:15 · 1443 阅读 · 0 评论 -
java获取原子钟时间并改变本地时间
package dtm.tools;import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net原创 2009-11-26 11:29:00 · 14877 阅读 · 2 评论 -
抽象类实现接口的意义
接口是强制性的,他的所有方法都要实现但是抽象类不是比如说一个接口,你只用到其中的一两个方法,可是如果直接实现接口需要实现里面的五个方法,这时候你可以先让抽象类实现接口,然后你的类继承接口,就不需要都实现接口的方法了而且接口的抽象层次要更高,是一种契约,抽象类是提供了很多的方法,给你用,没有强制性 ===============================================原创 2010-04-20 17:26:00 · 2319 阅读 · 0 评论 -
java 使用正则来过滤字符串中的特殊字符
// 过滤特殊字符 public static String StringFilter(String str) throws PatternSyntaxException { // 只允许字母和数字 // String regEx = "[^a-zA-Z原创 2009-12-02 17:19:00 · 18767 阅读 · 1 评论 -
java 大部分文件操作实现(1)
package com.intime.util; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.F原创 2009-11-25 17:35:00 · 1281 阅读 · 1 评论 -
Log4j.properties属性文件详解
log4j.rootLogger=DEBUG,CONSOLE,DATABASE,FILElog4j.addivity.org.apache=true# 应用于控制台log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppenderlog4j.appender.CONSOLE.Threshold=INFOlog4j.appender.CONSOL原创 2009-11-26 11:27:00 · 1187 阅读 · 0 评论 -
java对世界各个时区(TimeZone)的通用转换处理方法
package com.quartz.simple;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.GregorianCalendar;import java.util.TimeZone;import java原创 2009-10-23 11:56:00 · 7244 阅读 · 0 评论 -
Java按指定行数读取文件
import java.io.File; import java.io.FileReader; import java.io.IOException; import java.io.LineNumberReader; public class ReadSelectedLine{ // 读取文件指定行。 static void read原创 2009-10-22 14:45:00 · 2334 阅读 · 0 评论 -
Quartz任务调度模型实例
#首先导入:quartz-all-1.6.5.jar、commons-collections-3.2.jar、commons-logging-1.1.jar、log4j-1.2.15.jarimport java.text.ParseException;import org.quartz.CronTrigger;import org.quartz.JobDetail;impor原创 2009-10-21 13:53:00 · 2880 阅读 · 0 评论 -
hibernate + oracle 映射主键问题
<br />1.hibernate + oracle 映射主键问题 Copy to clipboard Posted by: ybbkd2 Posted on: 2005-07-16 11:23 我先设置主键class_ID 为 : cls.setClassName("专访"); cls.setClassNotes("专访专用栏目"); cls.setClassIntr("打造企业,诉说故事"); 保存时错误提示: Hibernate: select hibernate_sequence.nextval f原创 2010-06-14 01:40:00 · 1265 阅读 · 0 评论 -
java中Queue和BlockingQueue的区别
<br />内容主要来自jdk的api,大家可参考jdkapi<br />1.BlockingQueue:支持两个附加操作的 Queue,这两个操作是:检索元素时等待队列变为非空,以及存储元素时等待空间变得可用。<br />2.BlockingQueue 不接受 null 元素。<br />3.BlockingQueue 可以是限定容量的。<br />4.BlockingQueue 实现是线程安全的。Queue不是线程安全的。因此可以将Blockingqueue用于用于生产者-使用者队列。<br />根据A原创 2010-06-19 13:10:00 · 3591 阅读 · 0 评论 -
Runtime.getRuntime().exec(...)使用方法
Runtime.getRuntime().exec(...)使用方法原创 2015-03-31 12:15:21 · 7551 阅读 · 0 评论 -
生成唯一32位ID编码代码Java(GUID)
JAVA 生成32位永不重复GUID转载 2015-03-24 00:31:55 · 15949 阅读 · 0 评论 -
Mac OS X10.9安装的Python2.7升级Python3.3步骤详解
Mac OS X10.9默认带了Python2.7,不过现在Python3.3.3出来了,如果想使用最新版本,赶紧升级下吧。基本步骤如下第1步:官网下载Python3.3这里面有windows和mac os x下的安装程序,下载那个64位的安装程序第2步:安装下载的img文件,安装完后的目录如下:复制代码代码如下:/Library原创 2015-03-30 00:37:55 · 1108 阅读 · 0 评论 -
Java调用Python脚本
今天遇到Java调用一个Python脚本的问题,纠结了大半天,遇到各种问题。网上搜索的大部分都是用jython,但是我想要调用的python脚本里有import urllib,这个urllib也不是什么第三方扩展库,在python的安装path下的Lib下就有,在python命令行下肯定是能找到的。但是用jython的话,sys的path里面就太少了。转载 2015-03-29 22:59:35 · 2650 阅读 · 0 评论 -
用POI获取行的单元格的信息
<br />http://justdoblogger.com/blog/200910/getfirstcellnum.html原创 2011-05-01 00:21:00 · 1460 阅读 · 0 评论 -
java中四种操作xml方式的比较
<br />同志们在设计系统的时候,通常都会用到解析xml数据,xml简单易用性深受大家喜爱,西面介绍几种java中常用的xml解析方式:<br />1. 介绍<br /> 1)DOM(JAXP Crimson解析器)<br /> DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而DOM被认为是基于树原创 2010-12-14 00:34:00 · 707 阅读 · 0 评论 -
Java开源UML建模
<br /> ArgoUML <br /> 使用java编写的开源UML产品,功能比较全。最受欢迎的UML建模工具。 <br /> <br /> Alma<br /> Alma是一个软件建模分析的工作平台,它读取几种不同的源代码,帮你设计面向对像的模型,修改结构和源代码,输出新的源代码、文档和图表。<br /> <br /> UMLet <br /> UMLet是一个开放源代码轻量级UML建模工具。UMLet能够让你快速建模,并且能够导出各种格式SVG, JPG,原创 2010-12-14 01:10:00 · 816 阅读 · 0 评论 -
Java开源UML建模
<br /> ArgoUML <br /> 使用java编写的开源UML产品,功能比较全。最受欢迎的UML建模工具。 <br /> <br /> Alma<br /> Alma是一个软件建模分析的工作平台,它读取几种不同的源代码,帮你设计面向对像的模型,修改结构和源代码,输出新的源代码、文档和图表。<br /> <br /> UMLet <br /> UMLet是一个开放源代码轻量级UML建模工具。UMLet能够让你快速建模,并且能够导出各种格式SVG, JPG,原创 2010-12-14 01:10:00 · 938 阅读 · 0 评论 -
URLBuilder简单快速构建URL链接
URLBuilder快速构建一个URL结构,使用了Builder建造者模式,大大增加了代码的可读性,并且可以支持参数URL编码。原创 2017-05-25 23:27:54 · 10235 阅读 · 0 评论