12 2017 档案

摘要:Java NIO的通道类似流,但又有些不同: 既可以从通道中读取数据,又可以写数据到通道。但流的读写通常是单向的。 通道可以异步地读写。 通道中的数据总是要先读到一个Buffer,或者总是要从一个Buffer中写入。 正如上面所说,从通道读取数据到缓冲区,从缓冲区写入数据到通道。 Channel的实 阅读全文
posted @ 2017-12-31 21:31 heapStark 阅读(248) 评论(0) 推荐(0)
摘要:Java NIO 由以下几个核心部分组成: Channels Buffers Selectors 虽然Java NIO 中除此之外还有很多类和组件,但是,Channel,Buffer 和 Selector 构成了核心的API。其它组件,如Pipe和FileLock,只不过是与三个核心组件共同使用的工 阅读全文
posted @ 2017-12-31 19:48 heapStark 阅读(223) 评论(0) 推荐(0)
摘要:jdk8提供了很多新特性,可以看作在语言层面1.5之后的最重要更新,提供的主要特性如下: 1.Lambda表达式 2.Stream函数式操作流元素集合 3.接口新增:默认方法与静态方法 4.方法引用,与Lambda表达式联合使用 5.引入重复注解 6.类型注解 7.最新的Date/Time API 阅读全文
posted @ 2017-12-30 21:18 heapStark 阅读(392) 评论(0) 推荐(0)
摘要:Objec类有11个方法,有两个protected的方法,其中一个为clone方法(另一个为finalize)。 该方法的签名是: protected native Object clone() throws CloneNotSupportedException; 因为每个类直接或间接的父类都是Ob 阅读全文
posted @ 2017-12-30 19:30 heapStark 阅读(515) 评论(0) 推荐(0)
摘要:在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。它在某些情况下比synchronized的开销 阅读全文
posted @ 2017-12-30 14:35 heapStark 阅读(145) 评论(0) 推荐(0)
摘要:引言&优点 合理利用线程池能够带来三个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用 阅读全文
posted @ 2017-12-29 21:52 heapStark 阅读(139) 评论(0) 推荐(0)
摘要:优点: 相比于静态代理,动态代理避免了开发人员编写各个繁锁的静态代理类,只需简单地指定一组接口及目标类对象就能动态的获得代理对象。 下面是代理模式详解:https://www.cnblogs.com/java-my-life/archive/2012/04/23/2466712.html 使用代理模 阅读全文
posted @ 2017-12-29 10:43 heapStark 阅读(125) 评论(0) 推荐(0)
摘要:(一) @RestController 以及 @RequestBody spring的这两个注解都需要使用对应的 message-converters 实现 pojo到字符串的转换, 需要配置实现了 GenericHttpMessageConverter 接口的实现类GenericHttpMessa 阅读全文
posted @ 2017-12-28 17:11 heapStark 阅读(247) 评论(0) 推荐(0)
摘要:官方文档:https://docs.spring.io/spring/docs/4.3.13.RELEASE/spring-framework-reference/htmlsingle/#cache 对应的XML配置文件: 对应的实现: 增加 ”cacheNames“ 需要注意的是不同返回类型的方法 阅读全文
posted @ 2017-12-27 22:09 heapStark 阅读(222) 评论(0) 推荐(0)
摘要:(一)CountDownLatch CountDownLatch 的作用和 Thread.join() 方法类似,可用于一组线程和另外一组线程的协作。例如,主线程在做一项工作之前需要一系列的准备工作,只有这些准备工作都完成,主线程才能继续它的工作。这些准备工作彼此独立,所以可以并发执行以提高速度。在 阅读全文
posted @ 2017-12-27 21:23 heapStark 阅读(205) 评论(0) 推荐(0)
摘要:早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。 当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本, 阅读全文
posted @ 2017-12-27 20:47 heapStark 阅读(172) 评论(0) 推荐(0)