- 博客(15)
- 资源 (2)
- 收藏
- 关注
转载 Xms Xmx PermSize MaxPermSize 区别
Xms Xmx PermSize MaxPermSize 区别 Eclipse崩溃,错误提示: MyEclipse has detected that less than 5% of the 64MB of Perm Gen (Non-heap memory) space remains. It is strongly recommended that you exit and
2016-07-27 12:13:40 397
原创 lvs 负载均衡Centos7
老大让我搭一个基于lvs负载均衡的测试,表示鼓捣一天没鼓捣出来,发现网上的大都是基于centos6 内核2.6来配置的,但是现在centos7 3.10内核 的还真没几个。照着其中一个弄了一下。lvs安装成功,但是KeepAlived在安装的时候,在make那一步总是报什么冲突一大片的错误,上网查也没有有效的解决办法。后来就绕过KeepAlived 直接进行配置lvs。可是网上没有这样的例子,所以
2016-07-22 10:27:32 1307
转载 spring mvc的基本使用和struts2的区别
使用springMVC也可以代替struts2,当然只是代替业务分发的功能,struts2的一些其他功能它是没有的,不然要struts2有什么用。 下面我用springMVC代替struts2去整合hibernate实现简单的员工查询功能。 使用springMVC有两个配置文件需要配置,一个是applicationContext.xml、另一个是web.xml,在application
2016-07-19 10:10:45 2514
转载 CopytOnWriteArrayList
Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现的并发容器,它们是CopyOnWriteArrayList和CopyOnWriteArraySet。
2016-07-05 12:26:17 1269
原创 String字符串常量相加和new对象
今天无易中看一个学习视频,明白了String字符串中一个小小的东西。 如:public void test(String key1,String key2){ String a=key1+key2; String b=key1+key2; System.out.println(a==b); } public static void main(String[] args){ new A
2016-07-05 11:23:31 1504 1
转载 Semaphore
Semaphore为并发包中提供用于控制某资源同时可以被几个线程访问的类 实例代码: [java] view plain copy print? // 允许2个线程同时访问 final Semaphore semaphore = new Semaphore(2); ExecutorService
2016-07-04 23:08:36 205
转载 BlockingQueue
BlockingQueue也是java.util.concurrent下的主要用来控制线程同步的工具。 BlockingQueue有四个具体的实现类,根据不同需求,选择不同的实现类 1、ArrayBlockingQueue:一个由数组支持的有界阻塞队列,规定大小的BlockingQueue,其构造函数必须带一个int参数来指明其大小.其所含的对象是以FIFO(先入先出)顺序排序的。
2016-07-04 22:30:12 243
转载 TreeMap与红黑树
TreeMap的实现是红黑树算法的实现,所以要了解TreeMap就必须对红黑树有一定的了解,其实这篇博文的名字叫做:根据红黑树的算法来分析TreeMap的实现,但是为了与Java提高篇系列博文保持一致还是叫做TreeMap比较好。通过这篇博文你可以获得如下知识点: 1、红黑树的基本概念。 2、红黑树增加节点、删除节点的实现过程。 3、红黑
2016-07-04 21:54:24 423
转载 Java中的ReentrantLock和synchronized两种锁定机制的对比
多线程和并发性并不是什么新内容,但是 Java 语言设计中的创新之一就是,它是第一个直接把跨平台线程模型和正规的内存模型集成到语言中的主流语言。核心类库包含一个 Thread 类,可以用它来构建、启动和操纵线程,Java 语言包括了跨线程传达并发性约束的构造 —— synchronized 和 volatile 。在简化与平台无关的并发类的开发的同时,它决没有使并发类的编写工作变得更繁琐,只是使它
2016-07-04 21:43:31 664
转载 HashMap实现原理
1. HashMap概述: HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 2. HashMap的数据结构: 在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本
2016-07-04 21:40:06 198
转载 HashSet的实现原理
1.HashSet概述: HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持。它不保证set 的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用null元素。HashSet中不允许有重复元素,这是因为HashSet是基于HashMap实现的,HashSet中的元素都存放在HashMap的key上面,而value中的值都是统一的一个private static
2016-07-04 21:37:20 311
转载 executorService线程池
示例 [java] view plain copy print? import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorServ
2016-07-04 21:31:22 246
转载 理解ThreadLocal
ThreadLocal是什么 早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。 当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影
2016-07-04 21:27:04 193
转载 HashMap与ConcurrentHashMap的区别
从JDK1.2起,就有了HashMap,正如前一篇文章所说,HashMap不是线程安全的,因此多线程操作时需要格外小心。 在JDK1.5中,伟大的Doug Lea给我们带来了concurrent包,从此Map也有安全的了。 ConcurrentHashMap具体是怎么实现线程安全的呢,肯定不可能是每个方法加synchronized,那样就变成了HashTable
2016-07-04 21:21:58 261
转载 Atomic浅谈
一、何谓Atomic? Atomic一词跟原子有点关系,后者曾被人认为是最小物质的单位。计算机中的Atomic是指不能分割成若干部分的意思。如果一段代码被认为是Atomic,则表示这段代码在执行过程中,是不能被中断的。通常来说,原子指令由硬件提供,供软件来实现原子方法(某个线程进入该方法后,就不会被中断,直到其执行完成) 在x86 平台上,CPU提供了在指令执行期间对总线
2016-07-04 21:20:55 575
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人