- 浏览: 498571 次
- 性别:
- 来自: 上海
最新评论
-
abc08010051:
张延龙地盘 写道多实例下就不行了吧是的,多实例直接上分布式锁
java高并发下的唯一性验证 -
张延龙地盘:
多实例下就不行了吧
java高并发下的唯一性验证 -
a12345531:
s3.getResourceUrl(bucketName, k ...
Amazon AWS S3 上传文件 并获取公用url -
544483342:
楼主请问WorkerEventHandler和EventHan ...
disruptor(一) 单一生产者和WorkPool消费者源码阅读 -
544483342:
请问楼主使用的是什么UML工具啊?
disruptor(一) 单一生产者和WorkPool消费者源码阅读
文章列表
1 在使用Jenkins进行构建的时候,报invocationtargetexception,是因为jenkins的版本 和maven的版本不兼容,
maven 3.0.4, maven 3.0.5对当前最新版本的jenkins没有兼容问题,maven 2.2.2和jenkins有兼容性的问题,构建的时候会报invocationtargetexception
2 使用intellij idea提供的maven视图中集成的maven命令,lifecycle整个周期的操作均没有错误,但是在cmd命令下,当前路径为项目根路径,使用mvn clean, mvn compile, mvn p ...
在使用基于注解的spring mvc时,使用情况如下:
@Controller
@RequestMapping("/test")
public class TestController {
@RequestMapping(value="/index/{userId}", params="username")
public ModelAndView index(@PathVariable("userId") String userId,
...
不知你是否意识到,围绕着什么才是实现异构的应用到应用通信的“正确”方式,一场争论正进行的如火如荼:虽然当前主流的方式明显地集中在基于SOAP、WSDL和WS-*规范的Web Services领域,但也有少数人用细小但洪亮的声音主张说更好的方式是REST,表述性状态转移(REpresentational State Transfer)的简称。在本文中,我不会涉及争论的话题,而是尝试对REST和RESTful HTTP应用集成做实用性的介绍。以我的经验,有些话题一旦触及就会引来众多的讨论,当涉及到这方面话题的时候,我会深入详细地阐述。
REST关键原则
大部分对REST的介绍是以其正式的定义和 ...
最近在用aws的s3做云存储,把文件上传上去,在数据库中记录对应的url,下面是示例代码:
public static String uploadToS3(File tempFile, String remoteFileName) throws IOException {
PropertiesUtil propertiesUtil = new PropertiesUtil("s3.properties");
//首先创建一个s3的客户端操作对象(需要amazon提供的密钥)
AmazonS3 ...
最近在项目中想使用相对路径存放上传的apk包,所以研究了一下相对路径创建File的相关知识
1 参考以前的代码,写下如下代码:
public static void main(String[] args) throws IOException {
File parentFile = new File("/intelStore/apk/test");
if (!parentFile.exists()) {
parentFile.mkdir();
}
System.out.println(p ...
喜欢用guava的原因之一就是喜欢guava的编码风格,guava的fluent风格的api使用起来非常清爽,其中内部实现就使用了Builder模式
1 在使用不可变集合ImmutableList时,可以直接初始化:
ImmutableList<String> strings = Im ...
场景:当在一个方法中, 你需要返回几个对象,这几个对象的类型一致,你可以返回一个数组;如果几个对象的类型不同呢,当然你可以返回一个Object[]数组,可是这样在使用结果数组的时候,就需要强转对象的类型,会导致类型不安全;也可以定义一个dto,当多个场景下需要使用的不同,需要定义多个dto,这样会类爆炸,而且重用率极低;在非常接近Java语言的Scala里有元组的定义:val t = (1, 3.14, "Fred"),就是一个不同类型的数据放到一个线性集合里,在Java里我们可以模拟出一个类似的结构,以适合上面的场景
demo:
abstract ...
对于Java中null的缺点和如何处理,大家讨论了很多遍,guava给出的解决方法是Optional<T>
public static Optional<String> getYourName () {
return Optional.of("malone");
}
public static void main (String[] args) {
Optional<String> result = getYourName();
if (! ...
最近看别人在谈项目中时间处理的问题,jdk提供的Date好多方法都废弃了,现在基本上都是统一用Calendar来处理,用过Calendar处理日期的想必都有感觉,Calendar是一个笨重的东西,计算时间的时候更是劣势尽显,代码冗余很高,现在推荐一个非常好的时间处理类库:Joda Time
1 使用到的jar包
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
...
guava 提供了非常强大的字符串处理操作
1 Joiner
以前肯定遇到过这样的场景,为了sql查询,把一个List<Integer>集合拼接成一个字符串,用逗号隔开,看一下Joiner如何实现的:
public static void main (String args[]) {
List<Integer> list = Lists.newArrayList(1,2,3,4,5);
Joiner joiner = Joiner.on(",").skipNulls();
...
java中所有的类都继承了Object类,当有需求时, 会重写equals, hashCode, toString方法,guava提供了Objects类简化了这些操作
1 equals
jdk要求对equals的重写要符合一下几点:
1. 自反性reflexive:任何非空引用x,x.equals(x)返回为true;
2. 对称性symmetric:任何非空引用x和y,x.equals(y)返回true当且仅当y.equals(x)返回true;
3. 传递性transitive:任何非空引用x和y,如果x.equals(y)返回true,并且y ...
最近在学习使用guava, 一个非常优秀的开源项目,是对jdk一个非常有力的补充,我看上guava的是能使代码更简洁,良好的代码风格
首先来介绍一下com.google.common.base包中的常用类
1 Function
guava提供了类函数式的编程 ...
1 原子性
除了long型字段和double型字段外,java内存模型确保访问任意类型字段所对应的内存单元都是原子的。这包括引用其它对象的引用类型的字 段。此外,volatile long 和volatile double也具有原子性 。(虽然java内存模型不保证non-volatile long 和 non-volatile double的原子性,当然它们在某些场合也具有原子性。)(译注:non-volatile long在64位JVM,OS,CPU下具有原子性)
当在一个表达式中使用一个non-long或者non-double型字段时,原子性可以确保你将获得这个字段的初始值或 ...
1 spring 整合 cxf 服务端
所以jar可以从cxf的lib下面添加所有
首先web.xml配置文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi ...
本文转载自:http://blog.chinaunix.net/uid-122937-id-215995.html
1.中断概述 在多线程编程中经常会遇到需要中止线程的情况,比如启动多个线程去数据库中搜索,如果有一个线程返回了结果,其他线程就可以取消了。中断线程的三个相差函数 1.通过成员方法Thread.interrupt()来设置中断状态为true 2.通过成员方法Thread.isInterrupted()来获取中断状态 3.通过静态方法Thread.interrupted()来获取中断状态,并且清除中断状态( ...