java基础学习
文章平均质量分 96
Wenqi_B
To do one thing well!
展开
-
Java基础之泛型
一些术语参数化类的类型(parameterized type):含有类型参数的类型,例如List<String>原生态类型(raw type):没有类型参数的类型,例如List无限制通配符类型(unbounded wildcard type):例如List<?>原生态类型保留的原因:兼容性List, List<Object>, List<String>, List<?>的讨论形如List的原创 2017-08-09 21:26:29 · 352 阅读 · 0 评论 -
Java动态代理解析
代理模式是一个高频使用的设计模式,其原因在于我们可以在不改变被代理类的情况下,提供一个和被代理类一样的代理类,并负责预处理被代理类的方法,过滤或执行被代理类的方法以及后续操作。这里所说的一样是指代理类对象可以替代被代理类对象,实现这种效果有两种,一种是代理类和被代理类实现同一个接口,另一种是代理类直接继承自被代理类,这两种方式在接下来的jdk动态代理和cglib中均有体现。在深入了解动态代理之前,我原创 2017-11-07 19:16:28 · 208 阅读 · 0 评论 -
自顶向下的Java虚拟机
最近看了《深入理解Java虚拟机》这本书,感觉书中的章节写的很零散,如果能够通过一个完整的例子将所有的知识点串联起来,将整个故事讲清楚,无疑对Java虚拟机运作原理的学习有更好的帮助,本文之所以称为自上而下的Java虚拟机是受《计算机网络:自顶向下方法》启发,想要从上层开始讲起,然后逐步了解这些我们习以为常背后Java虚拟机所做的工作,以期这篇总结能够让Java虚拟机运作的脉络更加清晰。 将Jav原创 2017-10-30 21:33:39 · 412 阅读 · 0 评论 -
Java NIO解析
这篇文章先从阻塞与非阻塞,同步与异步之间的定义和关系说起,然后探讨liunx下的5种IO模型,支持非阻塞IO的select/poll/epoll系统调用的基本原理,然后通过Java代码搭建bio方式的服务端,改进服务器在并发场景下bio多线程和线程池的实现方式,最后介绍Java nio来实现一个服务器和多个客户端对话。 阻塞与非阻塞,同步与异步如果从程序调用来讲,阻塞是指我们执行一个函数调用不能立原创 2017-12-03 21:15:03 · 340 阅读 · 0 评论 -
Java中的异步执行Future小结
最近碰到的异步处理的操作比较多,异步就是不等想要的结果返回执行接下来的其他操作,等异步结果返回后直接调用已经注册好的处理方法完成后续操作。异步的思想是非常棒的,相比轮询的方式而言,异步的实现方式无疑是高效并且优雅的。本文介绍了包括Future,AIO和有点类似于单机版的Map-Reduce的fork/join框架。 Guava ListenableFuture使用JDK提供的线程池E...原创 2018-03-31 11:39:47 · 2932 阅读 · 0 评论 -
解析Arrays中sort方法的黑科技
排序问题是算法里面的经典问题,也是计算机学科数据结构课程里面的必修课,面对诸多的如插入排序,快速排序,堆排序,归并排序等等经典排序算法,JDK的实现者是如何选择排序算法的呢?我们经常使用的对数据进行排序的算法Arrays.sort,Collections.sort方法,那么具体它们是如何实现的呢,本文尝试从jdk 1.8的实现源码上进行分析,学习在实际工业环境下对排序算法的使用方法。 概...原创 2018-05-13 22:39:07 · 4913 阅读 · 5 评论