- 浏览: 30453 次
- 性别:
- 来自: 北京
最新评论
文章列表
CountDownLatch的用法
- 博客分类:
- 多线程
CountDownLatch,一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。
主要方法
public CountDownLatch(int count);
public void countDown();
public void await() throws InterruptedException
构造方法参数指定了计数的次数
countDown方法,当前线程调用此方法,则计数减一
awaint方法,调用此方法会一直阻塞当前线程,直到计时器的值为0
例子
Java代码
单例模式("懒加载")性能优化方案
- 博客分类:
- java 基础
单例模式是23种设计模式之一,是比较简单的一种设计模式,它的目的是无论调用多少次,都返回同一个对象,它的特点是构造器私有化。
它分为两种结构,一种是懒汉式的,一种是饿汉式的,它们各有优缺点,我们先从饿汉式看起,代码如下:
?
1
2
3
4
5
6
7
8
public class Single {
private static Single single = new Single();
private Single() {
}
在Java5之后,并发线程这块发生了根本的变化,最重要的莫过于新的启动、调度、管理线程的一大堆API了。在Java5以后,通过Executor来启动线程比用Thread的start()更好。在新特征中,可以很容易控制线程的启动、执行和关闭过程,还可以很容易使用线程池的特性。
一、创建任务
任务就是一个实现了Runnable接口的类。
创建的时候实run方法即可。
二、执行任务
通过java.util.concurrent.ExecutorService接口对象来执行任务,该接口对象通过工具类java.util.concurrent.Executors的静态方 ...
1.controller层@Value("#{configProperties['jdbc.jdbcUrl']}")
@Controller
@RequestMapping("/value")
public class ValuePropertyController extends ApplicationController{
@Value("#{configProperties['jdbc.jdbcUrl']}")
private String jdbcUrl;
@RequestMa ...
利用锁机制生成唯一序列号
- 博客分类:
- java 基础
package com.ezubo.global.util;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
/**
* 利用锁机制 不适用于分布式场景
* Created by on 2015-12-29.
*/
public class Generator3 {
private static Lock l ...
利用原子类生成唯一序列号
- 博客分类:
- java 基础
package com.ezubo.global.util;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.concurrent.atomic.AtomicLong;
/**
* 利用原子类生成序列号 不适合分布式场景
* Created by on 2015-12-29.
*/
public class Generators2 {
private static AtomicLong no = new AtomicLong(1L);
pri ...
利用单例模式生成序列号
- 博客分类:
- java 基础
package com.ezubo.global.util;
import org.apache.commons.lang3.time.DateFormatUtils;
import java.text.SimpleDateFormat;
import java.util.Date;
/**利用单例模式生成序列号 不适合分布式系统
* Created by on 2015-12-29.
*/
public class Generators {
private static final String DATE_FORMAT = "yyyyMMd ...
util工具类--用于补零或者人民币格式
- 博客分类:
- java 基础
package com.ezubo.global.util;
import java.math.BigDecimal;
import java.text.DecimalFormat;
/**
* Created by yyy on 2015-12-28.
*/
public class FormatUtil {
public static final String RMB_FORMAT = "##,000.00";
/**
* num -- 数字
* length -- 补充位数
* @p ...
spring boot 初探
- 博客分类:
- spring boot
spring boot零配置,模块化开发,一直以来吸引这众多人的眼球
spring boot依赖pom文件:
1.pom.xml配置
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.0.M5</version>
</parent>
...
springmvc参数类型转换三种方式
- 博客分类:
- springmvc
SpringMVC绑定参数之类型转换有三种方式:
1. 实体类中加日期格式化注解
@DateTimeFormat(pattern="yyyy-MM-dd hh:MM")
private Date creationTime;
2.在Controller类的方法中加入一段代码
/**
* 在controller层中加入一段数据绑定代码
* @param webDataBinder
*/
@InitBinder
public void initBinder(We ...
spring mvc处理方法支持如下的返回方式:ModelAndView, Model, ModelMap, Map,View, String, void。下面将对具体的一一进行说明: ModelAndView
Java代码
@RequestMapping("/show1")
public ModelAndView show1(HttpServletRequest request,
HttpServletResponse response) throws Exception {
Mo ...
Spring中配置Log4j
- 博客分类:
- log日志
以前都是直接用log4j,重来没自已配置过,学习一下如何在spring环境中配置log4j。
第一步:添加log4j的相关包,这个步骤对于spring环境可以省了,应该已经有了。
第二步:在spring的环境中添加log4j的配置。
[html] view plaincopy
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>应 ...
centos7下安装编译nodejs
- 博客分类:
- nodejs
nodejs版本:Node v4.1.2
确认服务器有nodejs编译及依赖相关软件,如果没有可通过运行以下命令安装。
yum -y install gcc gcc-c++ openssl-deve
2.下载NodeJS源码包并解压。
tar -zxvf node-v4.1.2.tar.gz
cd node-v4.1.2
3.配置、编译、安装。
./configure --prefix=/usr/local/node
make && make install
4.接下来配置Node环境
vim /etc/profile
#set ...
最详细的Log4j使用教程
- 博客分类:
- log日志
日志是应用软件中不可缺少的部分,Apache的开源项目log4j是一个功能强大的日志组件,提供方便的日志记录。在apache网站:jakarta.apache.org/log4j 可以免费下载到Log4j最新版本的软件包。
一、入门实例
1.新建一个JAva工程,导入包log4j-1.2.17.jar,整个工程最终目录如下
2、src同级创建并设置log4j.properties
### 设置###
log4j.rootLogger = debug,stdout,D,E
### 输出信息到控制抬 ###
log4j.appender.stdout = org.apa ...
使用Google官方的rpm包安装谷歌浏览器。方法如下:
配置yum
首先需要修改yum的更新源,进入“/etc/yum.repos.d”目录下,新建"google.repo"文件,或者直接修改目录下的“CentOS-Base.repo”,在文件内追加如下参数:
32 位系统,复制以下内容并保存
[google]
name=Google- i386
baseurl=http://dl.google.com/linux/rpm/stable/i386
enabled=1
gpgcheck=1
gpgkey=https://dl- ...