Java
MOKE_XR
职场新人。
平时学习与博文主要以 Java 相关技术为主。
邮箱:1510543036@qq.com
展开
-
Java 中线程池的原理与源码浅析
在 并发编程 中,我们只介绍了几种常用的线程池,以及它们的使用,那线程池是如何管理一组线程的呢?介绍先来看下关系图:图片来源网络从图中我们可以看出,之前我们学习的几个常用的线程池 CachedThreadPool、FiedThreadPool 等都是通过 Executors 调用创建的: ExecutorService pool = Executors.newCachedThreadP...原创 2019-09-22 13:56:29 · 721 阅读 · 0 评论 -
Java8新特性之Stream API
概述Stream API 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。同时它提供串行和并行两种模式进行汇聚操作,并发模式能够充分利用多核处理器的优势,使用fork/join并行方式来拆分任务和加速处理过程。总得来说,Stream API 就是提供了一种高效且易于使用的处理数据的方式。注:需要会使用 Lambda 表达...原创 2019-07-25 18:32:29 · 1052 阅读 · 0 评论 -
Java8新特性之Lambda表达式和方法引用
Lambda表达式Lambda表达式是 Java 8 新特性中的一种新的语法形式,首先我们先来看下它的例子:(String s) -> System.out.println(s)格式:参数列表 -> 函数主体(可有返回类型 / 抛出异常)我们可以将 Lambda 表达式理解为是一个函数,这个函数的特点是匿名(没有名称)且可传递(作为方法参数)的。而可传递是如何表现的...原创 2019-07-25 15:33:45 · 335 阅读 · 0 评论 -
学习总结BIO,NIO,AIO
文章目录BIO,NIO,AIO 的概念BIO介绍实现NIO介绍BIO,NIO,AIO 的概念Java 中的 BIO、NIO和 AIO 理解为是 Java 语言对操作系统的各种 IO 模型的封装。同步阻塞IO(BIO): 用户进程发起一个IO操作以后,必须等待IO操作的真正完成后,才能继续运行;同步非阻塞IO(NIO): 用户进程发起一个IO操作以后,可做其它事情,但用户进程需要经常询问...原创 2019-05-05 22:14:54 · 763 阅读 · 0 评论 -
集合框架总结
源码分析导航ArrayList:https://blog.csdn.net/MOKEXFDGH/article/details/88575150LinkedList:https://blog.csdn.net/MOKEXFDGH/article/details/88615783HashMap:https://blog.csdn.net/MOKEXFDGH/article/details/88...原创 2019-03-20 11:36:19 · 224 阅读 · 0 评论 -
ConcurrentHashMap源码分析
文章目录ConcurrentHashMap简介源码分析属性构造方法put 方法ConcurrentHashMap简介HashMap: 线程不安全,在并发环境下,扩容时可能会形成环形链表(1.8之前),导致在 get 操作时,cpu空转。HashTable: 相比 HashMap 不允许 key 和 value 为空,且是线程安全的。但所有的 get、put 方法都加上了 synchron...原创 2019-03-19 21:05:41 · 285 阅读 · 0 评论 -
HashMap源码分析
文章目录HashMap简介底层数据结构JDK 1.8 之前JDK 1.8 之后源码分析属性节点类构造方法put 方法get 方法resize 方法HashMap简介基于哈希表的 Map 接口实现,用于存放键值对JDK1.8之前由数组(主体)、链表(解决哈希冲突)组成,而1.8之后当链表长度大于8时,会将链表转为红黑树,以减少搜索时间。红黑树详解:地址底层数据结构JDK 1.8...原创 2019-03-18 21:41:25 · 583 阅读 · 0 评论 -
LinkedList源码分析
文章目录LinkedList简介源码解析内部私有节点类构造方法常用方法LinkedList简介是实现了 List 接口和 Deque 接口的双端链表底层使用链表结构使其能高效的进行插入和删除操作不是线程安全的,如果想使其变为线程安全的,可以使用 Collections 中的 synchronizedList 方法: List list = Collections.synchro...原创 2019-03-17 11:12:56 · 278 阅读 · 0 评论 -
ArrayList源码分析
文章目录ArrayList 简介源码解析继承实现属性构造方法扩容机制常用方法其它方法迭代器arraycopy和copyOf区别ArrayList 简介ArrayList 的底层是数组队列(动态数组),其容量能动态增长。继承了 AbstractList,实现了List,具备了相应的增删改查等操作。实现了 RandomAcces 接口,使得该集合支持随机访问。实现 Cloneable 接...原创 2019-03-15 15:13:42 · 253 阅读 · 0 评论 -
JavaEE知识回顾
文章目录Servlet生命周期GET 与 POST 请求的区别转发、重定向和刷新JSP 和 Servlet 的关系JSP九大内置对象,七大动作,三大指令实现会话跟踪的技术参考:地址Servlet作用:Servlet 用于负责接收用户的请求(HttpServletRequest),并在 doGet() 或 doPot() 中做相应的处理,并通过HttpServletResponse 响应给...原创 2019-03-06 21:24:38 · 299 阅读 · 0 评论 -
Java基础回顾
文章目录Java基础面向过程与面向对象的区别JVM、JDK 和 JRE 的区别重写和重载的区别面向对象三大特性String、StringBuffer 和 StringBuilder 的区别自动装箱和拆箱接口和抽象类的区别== 与 equals 的区别hashCode 与 equals按值传递线程与进程的区别常见关键字总结Java基础面向过程与面向对象的区别面向过程优点:因为不需要经常实例...原创 2019-03-05 21:40:19 · 503 阅读 · 0 评论 -
java基础知识补充3
文章目录BeanFactory配置文件使用方法Dao应用Service应用Servlet3.0注解替代配置文件(web.xml)异步处理对上传的支持动态代理newProxyInstanceClassLoaderInvocationHandler动态代理的实用类加载器概述类加载器的代理模式(委托机制)自定义类加载器(了解)Tomcat的类加载器BeanFactoryBeanFactory是一个...原创 2019-02-06 19:41:38 · 375 阅读 · 0 评论 -
java基础知识补充2
文章目录基础补充2.0泛型通配符注解反射泛型反射注解BaseDao基础补充2.0泛型1.泛型的使用: class A<T> { private T bean;//泛型可在成员变量上使用 public T fun(T t) {}//泛型可以在类中的方法上(返回值和参数类型)使用! public void fun2() {//泛型还可以在局部变量的引用类型...原创 2019-02-05 15:00:17 · 225 阅读 · 0 评论 -
Java基础知识补充
myeclipse的使用debugdebug的调试模式(断点调试模式):通过设置一个断点(双击行号,可有多个断点)可以使程序运行(debug as)停止在某一行,然后可以向下单步执行且可以观察变量值,用于调试程序单步执行:step over(快捷键为F6)当前断点调试结束:resume(快捷键为F8,若后面没有断点则程序直接运行结束)debug查看方法源代码:在方法调用处设置断点,...原创 2018-12-01 21:24:26 · 255 阅读 · 0 评论 -
数组、ArrayList、List、LinkedList的区别
数组、ArrayList、List、LinkedList的区别 一、数组数组在内存中是连续存储的,所以它的索引速度非常快,而且赋值与修改元素也很简单。1、一维数组声明一个数组:int[] array = new int[5];&amp;amp;amp;amp;amp;amp;nbs...转载 2018-05-17 11:57:15 · 255 阅读 · 0 评论 -
Java基础学习笔记(完整版)
弱弱的大学党也想学一下写写博客,记录下自己的学习足迹。 虽然也许记录的东西都很浅显,但也希望有人能撇到我的博客,揪揪我笔记的错误或者补充下我没有注意到的知识点。 注:第一次写,排版可能比较辣眼睛,还望多多包涵。 / /大概也许估计也没人会看ಥ_ಥ 目前情况 暂定学习路线: 基础√-接口√-常用类√-GUI√-异常处理√-集合框架√-IO流–HTML-CSS-JavaScrip...原创 2018-05-12 15:46:15 · 3877 阅读 · 5 评论