java基础
super_ccc
这个作者很懒,什么都没留下…
展开
-
java方法重载(慎用重载)
1.什么是方法重载 方法名字相同,参数类型或者参数个数不同2.下面我们先看下面这段代码 public class CollectionClassifier { public static String classify(Set s) { return "set"; } public static String classify(Lis原创 2016-07-07 18:39:24 · 2034 阅读 · 0 评论 -
JAVA锁---------------------CLH锁和MCS锁
参考:http://ifeve.com/java_lock_see2/一:CLH锁实现package com.eden.coreLearn.thread.lock;import java.util.concurrent.TimeUnit;import java.util.concurrent.atomic.AtomicReferenceFieldUpdater;impor原创 2016-07-16 16:57:09 · 398 阅读 · 0 评论 -
JAVA锁---------------------Ticket自旋锁
参考:http://ifeve.com/java_lock_see2/一:ticket自旋锁上节讲了自选锁,自旋锁中常用的有三类,TicketLock ,CLHlock 和MCSlock,本节主要谈谈ticket自旋锁概念:ticket锁也是自旋锁的一种,只是它是一种能保证顺序的自选锁,是公平锁实现:package com.eden.coreLearn.thread.lock;原创 2016-07-14 20:55:27 · 679 阅读 · 0 评论 -
JAVA锁---------------------自旋锁
最近在看并发方面的知识,然后就看到锁这一块了,发现锁这一块的概念太多了,今天就简单的谈谈自旋锁。一.自旋锁概念:自旋锁就是当线程获取不到资源时,不是进入阻塞状态,而是让当前的线程不停的在执行空循环,直到循环条件被其他线程改变,进入临界区实现package com.eden.coreLearn.thread.lock;import java.util.concurrent.Tim原创 2016-07-14 20:36:22 · 245 阅读 · 0 评论 -
JAVA ABA问题
转自:http://blog.hesey.net/2011/09/resolve-aba-by-atomicstampedreference.html在运用CAS做Lock-Free操作中有一个经典的ABA问题:线程1准备用CAS将变量的值由A替换为B,在此之前,线程2将变量的值由A替换为C,又由C替换为A,然后线程1执行CAS时发现变量的值仍然为A,所以CAS成功。但实际上这时的转载 2016-07-14 17:31:25 · 507 阅读 · 0 评论 -
JUC (Java Util Concurrency) 基础内容概述
1. JUC概况以下是Java JUC包的主体结构:Atomic : AtomicIntegerLocks : Lock, Condition, ReadWriteLockCollections : Queue, ConcurrentMapExecuter : Future, Callable, ExecutorTools : CountDownLatch, CyclicBar转载 2016-07-14 16:16:31 · 343 阅读 · 0 评论 -
java并发常见问题
1.java中有几种方法可以实现一个线程?继承Thread实现Runnable线程池ExecutorService2.如何停止一个正在运行的线程?使用共享变量public class StopThread { private static volatile boolean stopRequested = false; public stati原创 2016-07-13 20:09:29 · 296 阅读 · 0 评论 -
spel表达式解析
public interface Expression { /** * 根据表达式串、参数解析表达式并返回指定类型 * * @param T 返回类型 * @param expr 表达式串 * @param args 参数列表 * @return T 返回对象 */ public T eval(Class原创 2016-01-29 18:30:57 · 2071 阅读 · 0 评论 -
java操作大文件复制
1.大文件的复制可以用java nio中的channel-to-channel传输,Channel-to-channel传输是可以极其快速的,特别是在底层操作系统提供本地支持的时候。某些操作系统可以不必通过用户空间传递数据而进行直接的数据传输。对于大量的数据传输,这会是一个巨大的帮助。 2.代码/* * Copyright 2016 Zhongan.com All right原创 2016-02-05 14:49:40 · 1435 阅读 · 0 评论 -
spring读写文件
/** * @Title: SpringTest.java * @Package com.dingwang.Test * @Description: TODO * @author dingwang * @date 2015年9月11日 下午2:21:53 * @version V1.0 */package com.dingwang.Test;原创 2015-09-28 16:42:34 · 1060 阅读 · 0 评论 -
java对List去重并且保持集合中的原有顺序
1.去重可以利用java中的Set集合2.保持顺序Set中的LinkedHashSet就是有序的3.代码package com.eden.ClassLoaderTest;import java.util.ArrayList;import java.util.Iterator;import java.util.LinkedHashSet;import java.util原创 2016-03-28 23:19:43 · 8859 阅读 · 3 评论 -
单例的序列化与反序列化
一:背景 单例在序列化时,仅仅实现序列化接口(implements Serializable)是没有用的,它在反序列化时,会每次都去创建一个新的实例。二:如何解决 声明所有的实例域都是瞬时的(transient) ,且提供一个readResolve()方法。三:测试代码 package com.eden.coreLearn.javacore;原创 2016-06-28 20:19:40 · 415 阅读 · 0 评论 -
synchronized与static synchronized 的区别
转自:http://www.cnblogs.com/shipengzhi/articles/2223100.html1.synchronized与static synchronized 的区别 synchronized是对类的当前实例进行加锁,防止其他线程同时访问该类的该实例的所有synchronized块,注意这里是“类的当前实例”, 类的两个不同实例就没有这种约束了。那么转载 2016-07-18 20:42:12 · 336 阅读 · 0 评论