java基础学习
刀刀狗0102
一个喜欢敲代码的zhazha
展开
-
时间点的类Date和日历表示的类GregorianCalendar
1、表示时间点的类Date在java.util.Date中获得当前时间点:System.out.println("当前时间" + new Date());将时间点转化为字符串:String s = new Date().toString();2、日历表示使用的类GregorianCalendar在java.util.GregorianCalendar中GregorianCa原创 2015-10-10 21:28:22 · 838 阅读 · 0 评论 -
java日志系统详解(发展史)
原文链接: http://ieye.iteye.com/blog/1924215Java日志系统确实比较丰富,常用的有log4j、JUL、logback等等,同时伴随着日志系统的发展,出现了日志框架commons-logging和slf4j。简短地描述下日志发展,最先出现的是apache开源社区的log4j,这个日志确实是应用最广泛的日志工具,成为了java日志转载 2016-10-16 19:03:01 · 3470 阅读 · 0 评论 -
java Thread学习(新类库CountDownLatch+CyclicBarrier+DelayQueue)
新类库的构件CountDownLatch:用来同步一个或多个任务,强制它们等待其它任务的一组操作完成CyclicBarrier:用来同步一组任务,当所有任务都进入等待时,唤醒所有线程。也可以在唤醒前执行一个Rannable,执行完后,唤醒所有线程。DelayQueue:一个有序队列,而且设置延迟期,只有延迟期满后才能从队列中取出。CountDownLatch同步辅助类–锁存器,完成一组其它操原创 2016-10-16 18:55:45 · 508 阅读 · 0 评论 -
BlockingQueue、PriorityBlockingQueue
一、概述:BlockingQueue作为线程容器,可以为线程同步提供有力的保障。二、BlockingQueue定义的常用方法1.BlockingQueue定义的常用方法如下: 抛出异常特殊值阻塞超时插入add(e)offer(e)put(e)offer(e, time, unit)转载 2016-10-16 17:03:12 · 1706 阅读 · 0 评论 -
java Thread学习(线程间协作)
线程件协作线程之间除了使用锁同步两个任务的行为外,还需要进行协作,例如任务A必须在B完成后才能执行。wait()和notify()/notifyAll()wait()会去等待外部信号,并且在等待时将自身挂起。等待notify()信号唤醒。 wait()挂起的时候,会释放对象锁,这导致其他的线程可以使用synchronized方法,产生改变,将被挂起的线程唤醒。wait()/wait(t):使用w原创 2016-10-14 19:56:51 · 634 阅读 · 0 评论 -
java Thread学习(终结任务)
Thread终结任务TimeUnit类java.util.concurrent.TimeUnit枚举类。用来代替Thread.sleep()方法。指定了休息时间的粒度DAYS:天HOURS:小时MINUTES:分钟SECONDS:秒MILLISECONDS:毫秒MICROSECONDS:微妙NANOSECONDS:纳秒线程状态新建:线程被创建的时候处于这种状态,分配资源+初始化。线原创 2016-10-13 19:38:08 · 658 阅读 · 0 评论 -
java Thread学习(基础)
Thread学习定义一个任务 实现Runnable接口,重写run()方法。继承Thread类,重写run()方法。 java //extends Thread public class LiftOff extends Thread{ protected int countDown = 10; private static int taskCount= 0; private fin原创 2016-10-12 10:50:12 · 461 阅读 · 0 评论 -
java Thread学习(共享资源)
Thread2共享资源java中的同步机制有两种:同步块(方法)和volatile变量。锁:所提供了两种特性:互斥和可见性。互斥(原子性):只允许一个线程持有某种锁。所以可以对共享的数据协调访问。Java内存模型中原子性变量操作是read、load、assign、use、store、write,大致可以认为基本数据类型(long/double除外)访问读写是具有原子性的。可见性:保证在锁的期间对原创 2016-10-12 16:25:22 · 607 阅读 · 0 评论 -
java注解基础
Annotation基础注解:也成为元数据,提供了用来完整描述程序的信息。通过注解为程序打上一种标记。之后可以通过程序去检查注解,然后判断是什么注解,然后对应着干相应的事。Java SE5中的注解:@Override元注解:用来自定义注解的注解。@Target(),表示该注解的位置。默认表示任意位置,使用ElementType中的属性指定位置(CONSTRUCTOR构造器、FIELD属性、METH原创 2016-10-11 15:14:23 · 389 阅读 · 0 评论 -
JAVA中IO结构图
Java中IO结构总图:Java 流在处理上分为字符流和字节流。字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符、字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组。Java 内用 Unicode 编码存储字符,字符流处理类负责将外部的其他编码的字符流和 java 内 Unicode 字符流之间的转换。而类 InputS转载 2016-10-10 17:00:13 · 1955 阅读 · 2 评论 -
java正则用法
正则表达式java.util.regex正则的包 + 常用的正则规则Pattern类和Matcher类。首先使用Pattern.compile(regex)编译正则,返回一个Pattern对象,然后可以使用matcher(input)对输入串进行匹配,返回Matcher对象。Matcher包含了对匹配情况的各种操作Pattern包含了一个static boolean matchers(regex原创 2016-10-09 15:54:18 · 821 阅读 · 0 评论 -
String的使用
String使用String不可变,每一次修改都是创建了一个新的StringString重载了’+’,所以可以使用+连接多个字符串。在JVM执行的时候是在一个语句中建立一个StringBuilder,然后append后面的字符串,最后toString()。可变的字符串:StringBuilder / StringBuffer(线程安全) ,使用append添加字符串无意识的递归。在toStr原创 2016-10-09 14:02:58 · 342 阅读 · 0 评论 -
Arrays.sort()总结
Arrays.sort()中只有数组参数 int[] array = {5, 6, -1, 4}; Arrays.sort(array); 这种是默认的排序,按照字典序(ASCII)的顺序进行排序。Arrays.sort()中数组参数和排序方法使用提供的方法 String[] str = {“abc”, “aaa”, “abc”}; Arrays.sort(str, Stri原创 2016-06-03 11:22:08 · 20067 阅读 · 2 评论 -
深入Java集合学习系列:HashMap的实现原理
转载自:http://www.cnblogs.com/xwdreamer/archive/2012/06/03/2532832.html参考文献引用文献:深入Java集合学习系列:HashMap的实现原理,大部分参考这篇博客,只对其中进行稍微修改自己曾经写过的:Hashmap实现原理1. HashMap概述: HashMap是基于哈希表的Map接口的非同步转载 2016-10-19 15:22:25 · 446 阅读 · 0 评论