自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 使用springboot+dubbo+zookeeper构建搭建生产者平台

使用springboot+dubbo+zookeeper构建搭建生产者平台引入 maven pom文件 org.springframework.boot spring-boot-starter-parent 1.5.8.RELEASE org.springframework.boot spring-boot-starter

2017-11-14 16:02:12 674

原创 synchronized

synchronized下面两种写法是等效的 推荐使用t2 尽量锁住最小的同步单位 synchronized void t(){ } void t2(){ synchronized(this){ }}这两种也是等效的 static synchronized void t(){ } static void t1()

2017-11-07 13:30:57 218

原创 dubbo源码 学习笔记(六)

使用注解来进行暴露服务和引用服务生产者public class ProviderAnnotation { public static void main(String[] args) throws IOException { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContex

2017-11-01 21:11:45 217

原创 dubbo源码 学习笔记(五)

dubbo  接口 Validator字dubbo的过滤器中 自带了一个javax.validation的验证器服务端配置service.setValidation("jvalidation");xml的配置方式 引入jar包 javax.validation validation-api 1.0.0.GA

2017-10-27 16:13:53 307

原创 dubbo源码 学习笔记(四)

dubbo 通讯协议之injvmpublic class Provider1 { public static void main(String[] args) throws IOException { ApplicationConfig app = new ApplicationConfig("provider"); List registries = new ArrayL

2017-10-26 10:49:38 260

原创 dubbo源码 学习笔记(三)

不使用spring配置 的 dubbo例子生存者public class Provider { public static void main(String[] args) throws IOException { ApplicationConfig app = new ApplicationConfig(); app.setName("provider");

2017-10-25 17:15:06 653

原创 dubbo源码 学习笔记(二)

dubbo源码中提供一个demo其中包含3个项目:api  provider consumerapi中定义了一个接口 供其他两个引用public interface DemoService { String sayHello(String name);}在provider中提供了上面接口的一个实现public class DemoService

2017-10-25 14:48:10 180

转载 dubbo源码 学习笔记(一)

首先从github把dubbo源码下载,导入到eclipse中dubbo主要由这几个模块构成dubbo-admin:管理平台dubbo-cluster:负责集群,负载均衡dubbo-common:公共包dubbo-config:配置管理dubbo-container:容器dubbo-filter:过滤器dubbo-monitor:监控dubbo-regist

2017-10-25 14:23:31 203

原创 动态设置线程栈大小

在做一些算法开发的时候 我们经常在使用递归的时候 经常会遇到堆栈溢出,通常我们会想到设置jvm的参数来增加线程栈大小,但是这种会造成每个线程的栈都变的很大,此处介绍一个在代码中扩大线程栈大小。public Thread(ThreadGroup group, Runnable target, String name, long stackSize)

2017-10-24 14:26:46 3037

原创 短信接口防刷攻略

目前大部门互联网公司都会用到短信接口,但是目前短信端口很容易被不法分子拿去当作短信轰炸机,造成公司和个人的损失。针对如此,我们会采用一系列安全措施来限制别人来刷。1、限制手机号的发送频率缺点:可以被利用同时发给不同手机2、现在请求端的ip访问频率缺点:可以被动态代理服务器攻击3、验证码优点:此方法基本上可以防止短信接口被刷,目前也有政府,银行等项目采用此方法确定:用

2017-10-24 10:09:52 2612 2

原创 类初始化步骤

public class Instace1 {static{System.out.println(1);}{System.out.println(2);}public Instace1() {System.out.println(3);}{System.out.println(4);}public static void

2017-10-23 17:10:09 334

原创 单例工厂SingletonFactory

public class SingletonFactory { @SuppressWarnings("rawtypes") private static Map instaces = new ConcurrentHashMap(); @SuppressWarnings("rawtypes") private static Map> weakReferenceInstaces = new C

2017-10-13 10:57:25 5254 1

原创 使用synchronized产生死锁

public void sync() { final Object object1 = new Object(); final Object object2 = new Object(); Executor executor = Executors.newFixedThreadPool(2); executor.execute(new Runnable() { public

2017-10-12 17:09:13 1619

原创 使用lock 产生死锁

public void lock(){ final Lock lock1 = new ReentrantLock(); final Lock lock2 = new ReentrantLock(); Executor executor = Executors.newFixedThreadPool(2); executor.execute(new Runnable() { pu

2017-10-12 16:56:44 1371

原创 ReadWriteLock 读写锁测试

static final ReadWriteLock lock = new ReentrantReadWriteLock(true); static Executor executor = Executors.newFixedThreadPool(4); public static void main(String[] args) { //创建双读双写的线程 executor.exe

2017-10-12 16:32:28 743

原创 字符串替换

static String commond(String str, Map args) { Pattern p = Pattern.compile("\\$\\{(.*?)\\}"); Matcher m = p.matcher(str); List strs = new ArrayList(); List rep = new ArrayList<>(); while (m.f

2017-10-12 11:51:23 229

原创 ThreadLocal 及其应用

public class SyncSimpleDateFormat extends SimpleDateFormat { /** * * */ private static final long serialVersionUID = 1L; private ThreadLocal local = new ThreadLocal(); private String patte

2017-10-11 15:47:59 282

原创 volatile关键字的测试

public class VolatileTest { volatile int x = 1; Executor executor = Executors.newFixedThreadPool(4); public static void main(String[] args) { new VolatileTest().run(); } void run(){ ex

2017-10-11 14:27:06 667 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除