- 浏览: 41913 次
- 性别:
- 来自: 深圳
最新评论
-
ivan19861025:
步入低谷的浪神 写道大神,能不能把你的包截图看看,都不知道哪个 ...
drools 学习之旅 <一> -
步入低谷的浪神:
大神,能不能把你的包截图看看,都不知道哪个文件是放在哪个包里面 ...
drools 学习之旅 <一> -
ivan19861025:
ivan19861025 写道Saro 写道提醒一下,Simp ...
Java并发编程-生成唯一序列号 -
ivan19861025:
Saro 写道提醒一下,SimpleDateFormat不是线 ...
Java并发编程-生成唯一序列号 -
ivan19861025:
dieslrae 写道你就没考虑过集群环境?集群有什么问题呢? ...
Java并发编程-生成唯一序列号
文章列表
JAVA并发编程-多线程(2) 优雅退出JVM
- 博客分类:
- Java
这里我不知道如何解释优雅一词
先看如下代码:
public class DaemonThread {
public static void main(String[] args) {
final Thread t = new Thread() {
@Override
public void run() {
System.out.println("线程working, 并休息20秒");
try {
Thread.sleep(1000 * 20);
} catch (InterruptedExcept ...
JAVA并发编程-多线程(1)
- 博客分类:
- Java
在JAVA中线程分为用户线程和守护线程. 用户线程会阻止 JVM的正常停止, 而守护线程不会.
所有守护线程一般用于重要性不是很高的任务, 如JVM的GC线程就是守护线程.
使用JAVA Thread类的setDameon(true)即可设置为守护线程
public class DaemonThread {
public static void main(String[] args) {
Thread t = new Thread(){
@Override
public void run() {
System.out.println(&qu ...
Java并发编程-生成唯一序列号
- 博客分类:
- Java
所用到的并发编程库
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.locks.ReentrantReadWriteLock;
package com.league.idgenerate;
/**
*
* ID生成器接口, 用于生成全局唯一的ID流水号
*
* @author Ivan.Ma
*/
public interface IdGenerator {
/**
* 生成下一个不重复的流水号
* @return
...
先说一下我们的场景:
假如我们现在要给网站举办活动(奖励额外积分), 活动规则如下:
规则如下: 订单原价金额在
100以下, 不加分
100-500 加100分
500-1000 加500分
1000 以上 加1000分
我们可能这样编码:
package com.league.drools.pojo;
import java.util.Date;
public class Order {
private Date bookingDate;//下单日期
private int amout;//订单原价金额
priva ...
插件安装分为两种方式
这里以安装 elasticsearch-head 为示例
1. 在线安装
cd bin
./plugin -install mobz/elasticsearch-head
将会自动下载插件并安装,适用于网络连接正常的情况.
2. 离线安装
因为在我机器上无法连接github, 所以我采用了这种方式
先在局域网另一台机器192.168.0.84下载插件,
插件地址: https://codeload.github.com/mobz/elasticsearch-head/zip/master
下载完成后使用HFS工具暴露地址: http: ...
1. 安装
Elasticsearch 安装非常简单, 下载, 解压, 启动, 搞定
wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.1.zip
unzip elasticsearch-1.7.1.zip
cd elasticsearch-1.7.1/bin
./elasticsearch
启动日志如下, 表示成功
[2015-09-02 09:55:28,779][INFO ][http ] [Eleggua] bound_ad ...
在关系型数据库中, 我们一般都有用户名,密码登陆, 那么 cassandra如何配置后, 必须使用用户名密码登陆呢.
很简单, 修改配置文件 cassandra.yaml
vim confg/cassandra.yaml
authenticator: PasswordAuthenticator
authorizer: CassandraAuthorizer
重新启动cassandra, 再次使用./cqlsh 192.168.0.101,此时登陆失败,系统提示如下:
$./cqlsh 192.168.0.101
Connection error: ('Unable ...
一、环境准备
我这里准备两个节点,192.168.0.101, 192.168.0.102
二、安装
分别在192.168.0.101,192.168.0.102上安装,安装步骤如 cassandra 学习之旅<一>,
修改conf/cassandra.yaml红色部分IP
seed_provider:
# Addresses of hosts that are deemed contact points.
# Cassandra nodes use this list of hosts to find each other and lear ...
1、安装
1.1、下载地址
1.2、Linux下安装
以下命令使用root用户执行,以下为单机版
新建cassandra用户
groupadd cassandra
useradd -s /bin/bash -g cassandra -d /opt/cassandra cassandra
解压并赋给cassandra权限
tar -zxvf apache-cassandra-2.2.0-bin.tar.gz -C / ...
见sso-server readme.txt
AES
package com.sf.core.sgs.utils;
import java.security.Key;
import java.security.NoSuchAlgorithmException;
import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.spec.SecretKeySpec;
import org.apache.commons.codec.binary.Hex;
public class AESCoder {
p ...
import groovy.lang.GroovyClassLoader;
import java.lang.reflect.Method;
public class GroovyUtils {
public static void main(String[] args) {
StringBuffer scriptBuff = new StringBuffer();
String enter = "\r\n";
scriptBuff.append("class HelloWorld {").append(ente ...
public static JSONObject parseJson(String json){
return JSON.parseObject(json);
}
public static Map<String,Object> toMapFromJsonString(String json){
return JsonUtils.toMap(JsonUtils.parseJson(json));
}
/**
* 将JSONObjec对象转换成Map-List集合
* @param json
* @return
*/
...
public class ExpressionUtils {
public static Object getValue(Object model, String expression){
return getValue(model, expression, false);
}
public static Object getValue(Object model, String expression, boolean throwEx){
StandardEvaluationContext context= new StandardEvaluationCon ...