java基础
文章平均质量分 97
程序员小强
大家好我是程序员小强,相互学习,共同进步
展开
-
[基础篇]-java8之Map遍历5种方式
准备测试数据private static Map<String, Object> map = new HashMap<>();static { map.put("1001", "value1"); map.put("1002", "value2"); map.put("1003", "value3"); map.put("1004", 1004); map.put("1005", 1005);}1.通过Map.entrySet遍历原创 2020-08-09 18:07:08 · 16062 阅读 · 0 评论 -
[基础篇]-java8之List全面操作指南
List集合是开发中常用的集合之一,本文主要讲解List集合之各种操作与转换。大致包含以下内容:遍历(5种方式)排序(普通排序、单/多属性排序)转Map分组去重(对象属性去重)提取过滤(单条件、多条件)取值(平均值、最大/最小值、求和)前期准备/** * 测试类 * @author 程序员小强 */@Datapublic class Student { /** * id */ private int id; /**原创 2020-08-09 18:05:07 · 13032 阅读 · 4 评论 -
[基础篇]-Java线程池全介绍
1.什么是线程池线程池就是提前创建若干个线程,若有任务需要处理,线程池里的线程就会处理任务,处理完之后线程并不会被销毁,而是等待下一个任务。减少频繁创建和销毁线程消耗系统资源。2.为什么要用线程池频繁创建、销毁 线程。会对系统资源的极大浪费。如果无限制地创建,不仅会消耗系统资源,还会降低系统稳定性。因此,实际开发会使用线程池来管理、复用线程。3.使用线程池的优点降低资源消耗: 重复利用线程,减少创建和销毁造成的消耗。提升响应速度: 任务到达,不需要创建,立即执行。提高可管理型: 线程是CPU原创 2020-07-29 21:35:42 · 5452 阅读 · 0 评论 -
[基础篇]-Java线程池全介绍
1.什么是线程池线程池就是提前创建若干个线程,若有任务需要处理,线程池里的线程就会处理任务,处理完之后线程并不会被销毁,而是等待下一个任务。减少频繁创建和销毁线程消耗系统资源。2.为什么要用线程池频繁创建、销毁 线程。会对系统资源的极大浪费。如果无限制地创建,不仅会消耗系统资源,还会降低系统稳定性。因此,实际开发会使用线程池来管理、复用线程。3.使用线程池的优点降低资源消耗: 重复利用线程,减少创建和销毁造成的消耗。提升响应速度: 任务到达,不需要创建,立即执行。提高可管理型: 线程是CPU原创 2020-07-18 20:20:49 · 5724 阅读 · 0 评论 -
Java中Synchronized的使用
在编程中,经常需要用到同步,这里讲一下synchronized关键字的相关知识1.使用方式修饰一个代码块,被修饰的代码块称为同步代码块,作用范围是大括号{}括起来的代码;修饰一个方法,被修饰的方法称为同步方法,其作用范围是整个方法;修改一个静态方法,作用范围是整个静态方法;修改一个类,作用范围是synchronized后面括号括起来的部分。2.使用示例修饰代码块注:this 表...原创 2019-04-05 21:25:58 · 23192 阅读 · 3 评论 -
Java 重入锁 ReentrantLock使用实战
1.简述ReentrantLock 是一个可重入的互斥(/独占)锁,又称为“独占锁”。其可以完全替代 synchronized 关键字。JDK 1.5.0 引入的,其性能远好于 synchronized,但 JDK 1.6.0 开始,JDK 对 synchronized 做了大量的优化,使得两者差距并不大。但其提供了超出synchonized的其他高级功能(例如,中断锁等候、条件变量等),并且...原创 2019-04-06 16:44:32 · 7084 阅读 · 0 评论 -
Java 8常用新特性Lambda表达式与Stream API使用实例
Java8 新增了很多特性,本文主要介绍使用:Lambda 表达式 − Lambda允许把函数作为一个方法的参数。Stream API −新添加的Stream API(java.util.stream) 函数式编程风格的引入。更多的新特性可以参阅官网:What’s New in JDK 8前置准备创建一个测试类/** * @author 码农猿 */public class ...原创 2019-04-07 16:27:20 · 6507 阅读 · 0 评论