自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 问答 (3)
  • 收藏
  • 关注

原创 Redis常用命令

String set --设置字符 set hello world setnx --设置key对应的值。如果key存在,则返回0,且设置不生效。 setnx hello new_world setex --设置key对应的值。且设置其失效时间。 setex hello2 10 'i will be expi

2016-12-30 20:48:54 314

转载 深入理解Java内存模型之系列篇

深入理解Java内存模型(一)——基础并发编程模型的分类在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体)。通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。在共享内存的并发模型里,线程之间共享程序的公共状态,线程之间通过写-读内存中的公共状态来

2016-12-27 20:26:51 359

转载 垃圾收集器(二)

1、Serial收集器曾经是虚拟机新生代收集的唯一选择,是一个单线程的收集器,在进行收集垃圾时,必须stop the world,它是虚拟机运行在Client模式下的默认新生代收集器。2、Serial Old是Serial收集器的老年代版本,同样是单线程收集器,使用标记整理算法。3、ParNew收集器是Serial收集器的多线程版本,许多运行在Server模式下的虚拟机中首选的新生

2016-12-26 23:05:40 257

原创 垃圾收集器(一)

引用计数法很多地方判断一个对象是否存活的算法是给对象中添加一个引用计数器,每当有一个地方引用它时,计数器就+1;档引用失效时,计数器-1;任何时刻计数器为0的对象就是不可能在被使用。但是主流Java虚拟机没用选用引用计数器算法来管理内存,其中最主要的原因是它很难解决对象之间相互循环引用的问题。(示例代码参考周志明 《深入理解java虚拟机 62p》)可达性分析法在主流的商用程序语言的主

2016-12-26 22:03:59 218

原创 JAVA内存区域

运行时数据区域程序计数器程序计数器是一块很小的内存空间,它可以看做是当前线程执行的字节码的行号指示器。JAVA虚拟机栈与程序计数器一样,java虚拟机栈也是线程私有的,他的生命周期与线程相同。虚拟机栈藐视的是java方法执行的内存模型:每个方法在执行的同时都会创建一个栈帧用于存储局部变量表、操作数栈、动态链接、方法出口等信息。每一个方法从调用知道执行完成的过程,就对应着一个 栈帧在

2016-12-26 21:42:52 338

原创 SpringBoot Dubbo ZooKeeper项目(一)

该系列是一个以springboot dubbo zookeeper为技术栈的练习项目。很多东西不懂,还望大家多多指点。开始吧。前提安装好zookeeper最好是集群的,3个节点吧。项目结构user_manager_api -- 提供服务UserManager - 接口,定义了登录,查询更新3个接口UserManagerImpl - 实现User -

2016-12-25 14:20:18 448

原创 Dubbo应用

在朋友的推荐下,最近在看阿里巴巴出的Dubbo项目,这个做一些笔记需求在大规模服务化之前,应用可能只是通过RMI或Hessian等工具,简单的暴露和引用远程服务,通过配置服务的URL地址进行调用,通过F5等硬件进行负载均衡。(1) 当服务越来越多时,服务URL配置管理变得非常困难,F5硬件负载均衡器的单点压力也越来越大。此时需要一个服务注册中心,动态的注册和发现服务,使服务

2016-12-24 19:42:34 377

原创 CompletionService使用

前面说到Callable和Future。 每一个Callable都会返回一个Future.但是如果ExecutorService启动了多个callable,那么我们就需要处理多个Future,这个时候就应该用到CompletionServiceExecutorService exe2 = Executors.newFixedThreadPool(10); CompletionServi

2016-12-18 22:41:21 563

原创 Callable & Future

我们知道创建一个线程可以通过实现Runnable接口和继承Thread类,并重写run方法。但是run方法是不带返回的。而Callable接口同样是用于多线程,并能返回一个FutureExecutorService exe = Executors.newFixedThreadPool(2); Future future =exe.submit(new Callable() {//sub

2016-12-18 22:36:37 281

原创 ThreadPool使用

为什么要用线程池:1.减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务。2.可以根据系统的承受能力,调整线程池中工作线线程的数目,防止因为消耗过多的内存,线程开的越多,消耗的内存也就越大,最后死机)。Java里面线程池的顶级接口是Executor,但是严格意义上讲Executor并不是一个线程池,而只是一个执行线程的工具。真正的线程池接口是ExecutorSer

2016-12-18 22:20:56 475

原创 ThreadLocal使用

Java中的ThreadLocal类允许我们创建只能被同一个线程读写的变量。因此,如果一段代码含有一个ThreadLocal变量的引用,即使两个线程同时执行这段代码,它们也无法访问到对方的ThreadLocal变量。package com.zhuyang.concurrency.threadlocal;import java.util.HashMap;import java.util.M

2016-12-18 22:08:25 331

原创 java Atomic分析

JAVA在java.util.concurrent中提供了对原子操作的包,用来实现一些原子操作。package com.zhuyang.concurrency.atomic;import java.util.concurrent.atomic.AtomicInteger;public class AtomicIntegerTest extends Thread { private s

2016-12-18 21:55:32 359

原创 java多线程Lock Condition生产消费者

直接看代码吧,log写的很清楚了,重点是在Queue.java类Consumer用来消费package com.zhuyang.concurrency.lock.notify;import java.util.List;public class Consumer implements Runnable { private Queue queue; public Consum

2016-12-12 00:46:13 378

原创 java 单例模式

/*** 饿汗式* 饿汗式单例模式虽然免除了多线程所带来的影响,但是该对象是在类加载的时候就放到内存。如果该对象足够大,占用资源较多势必会影响程序的性能。** @author Administrator**/public class Singleton1 {private static final Singleton1 instance = new Singleton1();pr

2016-12-10 21:44:29 272

原创 js闭包和循环

function box(){ var arr = []; for(var i=0;i<5;i++){ arr[i]=function(){ return i; } } return arr;}var b = box();console.log(b.length);for(var i=0;i<b.length;i++){ console

2016-12-10 21:38:58 260

原创 javascript闭包

概念:    闭包就是能读取到其他函数内部变量的函数。创建一个闭包方式:    在一个函数内部创建另一个函数,通过另一个函数访问这个函数的局部变量。function box(){ var user ='Zhu'; return function(){ return user; }}var b = box();console.log(b(

2016-12-10 21:34:39 222

原创 zookeeper配置文件管理

最近在学ZK知识,刚刚入门,写了一个客户端监控节点配置文件内容的小程序。package com.zhuyang.zk.configuration;import java.io.File;import java.io.FileInputStream;import org.apache.zookeeper.AsyncCallback.StringCallback;import org.ap

2016-12-08 22:42:59 691

空空如也

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

TA关注的人

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