- 浏览: 18729 次
- 性别:
- 来自: 北京
最新评论
文章列表
写在前面的话:此文只能说是java多线程的一个入门,其实Java里头线程完全可以写一本书了,但是如果最基本的你都学掌握好,又怎么能更上一个台阶呢?如果你觉得此文很简单,那推荐你看看Java并发包的的线程池(Java并发编程与技术内幕:线程池深入理解),或者看这个专栏:Java并发编程与技术内幕。你将会对Java里头的高并发场景下的线程有更加深刻的理解。本文主要讲了java中多线程的使用方法、线程同步、线程数据传递、线程状态及相应的一些线程函数用法、概述,还有被经常问的线程安全和非安全等在这之前,首先让我们来了解下在操作系统中进程和线程的区别: 进程:每个进程都有独立的代码和数据空间(进程上下文 ...
一、dubbo是什么
dubbo是一个分布式框架,效力于提供高性能和透明化的RPC(远程过程调用协议)远程服务调用方案,以及SOA(面向服务的架构)服务治理方案。
二、dubbo有何特点
1、远程通讯:提供透明化的远程方法调用,提供多协议支持(dubbo、rmi、hessian、http、webservice、thrift、memcached、redis协议)
2、集群容错:软负载均衡,失败容错,地址路由,动态配置等集群支持。
3、自动发现:基础注册中心目录服务,使服务消费方能动态的查找服务提供方,支持平滑减少或增加机器。
三、为什么要使用dubbo
1、MVC、RP ...
- 2017-09-14 16:03
- 浏览 254
- 评论(0)
/**
* Created by BingZhong on 2017/7/29.
*
* 基于Redis实现的分布式锁
*/
public final class RedisLockHelper {
private static Logger logger = LoggerFactory.getLogger(RedisLockHelper.class);
/**
* redis操作帮助类,可以是其他封装了redis操作的类
*/
private RedisHelper redisHelper;
public static fina ...
- 2017-09-13 15:16
- 浏览 329
- 评论(0)
package rmd_pms_web;
/**
* Created by wdj on 2017/6/21.
*/
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Random;
/**
* 身份证验证的工具(支持15位或18位省份证)
* 身份证号码结构:
...
- 2017-09-13 15:12
- 浏览 241
- 评论(0)
elasticsearch 查询(match和term)
es中的查询请求有两种方式,一种是简易版的查询,另外一种是使用JSON完整的请求体,叫做结构化查询(DSL)。
由于DSL查询更为直观也更为简易,所以大都使用这种方式。
DSL查询是POST过去一个json,由于post的请求是json格式的,所以存在很多灵活性,也有很多形式。
这里有一个地方注意的是官方文档里面给的例子的json结构只是一部分,并不是可以直接黏贴复制进去使用的。一般要在外面加个query为key的机构。
match
最简单的一个match例子:
查询和"我的宝马多少马力"这个查询语句 ...
- 2017-09-01 15:31
- 浏览 274
- 评论(0)
Java 操作ES实例解析
集群的连接
作为Elasticsearch节点
实例化一个节点的客户端是获得客户端的最简单的方式。这个Client可以执行elasticsearch相关的操作。
import static org.elasticsearch.node.NodeBuilder.*;
// on startup
Node node = nodeBuilder().node();
Client client = node.client();
// on shutdown
node.close();
当你启动一个node,它就加入了elasticsearch集群。 ...
- 2017-09-01 15:25
- 浏览 372
- 评论(0)
Elasticsearch 安装
前提是要先安装Java运行环境;在此不累赘了。。。
curl -O https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.5.1.tar.gz
tar zxvf elasticsearch-1.5.1.tar.gz
cd elasticsearch-1.5.1/
./bin/elasticsearch
bin/elasticsearch -d #(后台运行)
启动后,打开浏览器,访问IP:9200,就可以看到信息了。
Elasticsearch- ...
- 2017-09-01 15:06
- 浏览 357
- 评论(0)
不用学习新的语言,只有前端现有的知识就可以做AR了。而且是在我们熟悉的Web环境中,不用APP就可以做到。
1. 什么是A-Frame
这个框架的命名跟移动4G的“和”有得一拼,结果都是完美错过所有关键词。
A 会被浏览器忽略 - 是连词符,frame又有太多歧义。如果打出来 aframe 还会被浏览器“智能”拆分成 a frame 变成“一个框架”。
这就导致查资料不容易,沙里淘金的感觉,不过也可能是本身资料就少的缘故。
2017年05月02日更新,孤陋寡闻了,搜索时用引号包含关键词,代表全匹配搜索,搜“A-Frame”可以得到准确的结果。
A-Frame是一个可以在HT ...
- 2017-08-21 10:37
- 浏览 323
- 评论(0)
package rmd_pms_web;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
/**
* @Description: 两个list对比,查出增加,删除的数据然后去重
* @date 2017年8月17日
*/
public class Test {
public static void main(String[] arg ...
- 2017-08-17 10:26
- 浏览 979
- 评论(0)
BeanUtils提供对Java反射和自省API的包装。其主要目的是利用反射机制对JavaBean的属性进行处理。一个JavaBean通常包含了大量的属性,很多情况下,对JavaBean的处理导致大量get/set代码堆积,增加了代码长度和阅读代码的难度。
使用PropertyUtils.copyProperties()拷贝一个bean中的属性到另一个bean中,第一个参数是目标bean,第二个参数是源bean。
例一
Book srcBook = new Book();
srcBook.setName("Java");
Book destBook = new Book ...
- 2017-08-14 17:49
- 浏览 738
- 评论(0)
package cn.edu.hbcit.util;
/**
* <p>Description: Properties文件操作</p>
*
* <p>Copyright: Copyright (c) 2009</p>
*
*/
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException; ...
- 2017-08-14 17:46
- 浏览 301
- 评论(0)
什么是BeanUtils工具
BeanUtils工具是一种方便我们对JavaBean进行操作的工具,是Apache组织下的产品。
BeanUtils工具一般可以方便javaBean的哪些操作?
1)beanUtils可以便于对javaBean的属性进行赋值。
2)beanUtils可以便于对javaBean的 ...
- 2017-08-14 17:37
- 浏览 352
- 评论(0)
需求如下:
由于给商品做促销活动,添加促销活动时设置促销开始时间,到时间后自动把该数据状态由未开始更新为进行中,这时想到了MySql event时间触发器。
1、基本概念
mysql5.1版本开始引进event概念。event既“时间触发器”,与TRIGGERS的事件触发不同,event类似与linux crontab计划任务,用于时间触发。通过单独或调用存储过程使用,在某一特定的时间点,触发相关的SQL语句或存储过程。
2、适用范围
对于每隔一段时间就有固定需求的操作,如创建表,删除数据等操作,可以使用event来处理。
3、基本语法
开启定时器:要使event起 ...
- 2017-08-04 13:47
- 浏览 504
- 评论(0)
一、CONCAT()函数
CONCAT()函数用于将多个字符串连接成一个字符串。使用数据表Info作为示例,其中SELECT id,name FROM info LIMIT 1;的返回结果为+----+--------+| id | name|+----+--------+|1 | BioCyc |+----+--------+
1、语法及使用特点:CONCAT(str1,str2,…)返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。可以有一个或多个参数。
2、使用示例:SELECT CONCAT(id, ‘,’, name) AS con FROM i ...
- 2017-07-31 16:40
- 浏览 292
- 评论(0)
来自:http://www.blogjava.net/zJun/archive/2006/06/28/55511.html
Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。1. 配置文件Log4J配置文件的基本格式如下:
#配置根Logger
log4j.rootLogger = [ level ] , appenderName1 , appenderName2 , …
#配置日志信息输出目的地Appender
log ...
- 2017-07-27 09:33
- 浏览 224
- 评论(0)