Java
baigp
这个作者很懒,什么都没留下…
展开
-
java Queue中 remove/poll/take, add/offer/put, element/peek区别
项目中用到了 BlockingQueue,使用take()方法获取阻塞队列的头部元素,突然想起 队列还有个 poll 方法也是返回头部元素,特意查了查两个方法的区别,有个帖子总结的不错,特转载以记录。原贴地址:java Queue中 remove/poll/take, add/offer/put, element/peek区别方法 作用 差别 remove 删除队列里面指定元素 有则删除返回 true,没有则返回 false poll 移除并返问队列头部的元素转载 2020-10-28 17:02:57 · 718 阅读 · 0 评论 -
java 1.8的线程池
java 1.8的线程池FixedThreadPoolSingleThreadExecutorCachedThreadPoolScheduledThreadPoolFixedThreadPool创建一个具有固定线程数的线程池,当创建的线程达到最大数量后,就不再创建新的线程。当所有的线程都在使用时,新提交的任务会阻塞在队列中,直至有线程空闲出来。package com.dfire.monitor.service.impl.poolTest;import java.text.SimpleDateFor原创 2020-07-22 17:27:57 · 675 阅读 · 0 评论 -
java8 stream().map().collect()用法
知识小记,原文转载地址:https://www.cnblogs.com/ngy0217/p/11080840.html有一个集合:List<User> users = getList(); //从数据库查询的用户集合现在想获取User的身份证号码;在后续的逻辑处理中要用;常用的方法我们大家都知道,用for循环,List<String> idcards=new ArrayList<String>();//定义一个集合来装身份证号码for(int i=转载 2020-06-08 14:32:41 · 621 阅读 · 0 评论 -
Java中的 CountDownLatch工具类
最近在公司项目中遇到 CountDownLatch 工具类,特意查了查相关的资料,特做此记录,有些内容为网络摘取。CountDownLatch 简介:CountDownLatch 是一个同步工具类,在Java 1.5中被引入,用来协调多个线程之间的同步,位于java.util.cucurrent 包下。CountDownLatch 的原理:CountDownLatch 能够使一个...原创 2020-04-29 15:10:33 · 342 阅读 · 0 评论 -
Spring注解——同一接口有多个实现类,如何注入?@Resource、@Autowired、@Qualifier
先写一个场景,举例说明:1、接口:IAnimalpublic Interface IAnimal{ ......}2、实现类:DogImpl ,实现了IAnimal接口。@Service("dogImpl")public class DaoImpl impliments IAnimal{ ...}3、业务类:AnimalControllerpublic class Anima...原创 2018-07-10 15:24:27 · 49496 阅读 · 9 评论 -
(转载)Maven使用之packaging类型
原文地址:点击打开链接项目的打包类型:pom、jar、war项目中一般使用maven进行模块管理,每个模块下对应都有一个pom文件,pom文件中维护了各模块之间的依赖和继承关系。项目模块化可以将通用的部分抽离出来,方便重用;修改一部分代码不再是build整个项目,缩短了build时间;此外各模块都有自己的pom文件,结构更清晰。使用maven进行模块划分管理,一般都会有一个父级项目,pom文件除了...转载 2018-06-05 16:39:11 · 4153 阅读 · 1 评论 -
Spring AOP浅析
支持原创,原文地址:点击打开链接AOPAOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。OOP引入封装、继承、多态等概念来建立一种对象层次结构,用于模拟公共行为的一个集合。不过OOP允许开发者定义纵向的关系,但并不适合定义横向的关系,例如日志功能。日志代码往往横向地散...转载 2018-05-23 15:20:05 · 150 阅读 · 0 评论 -
hash、hashCode、hashMap和 hashTable浅析
Hash,一般直接音译成“哈希”,按真正含义译作“散列”比较合适。通过散列算法,把任意长度的输入,转换成固定长度的输出,输出就叫做散列值(hashCode)。这种转换是一种压缩映射,也就是说,散列值所占用的空间通常远小于输入值所占用的空间,不同的输入可能会有相同的散列值。散列的目的,在于尽量分散数据的存储位置,使数据散列在不同的哈希桶(bucket)中。hashCode:是一串固定长度的整型的数字...原创 2018-04-23 15:30:37 · 1966 阅读 · 2 评论 -
Java多线程中wait, notify and notifyAll的使用
原文:http://blog.csdn.net/luoweifu/article/details/46664809 讲得很透彻,留档学习。本文为翻译文章,原文地址:http://www.journaldev.com/1037/java-thread-wait-notify-and-notifyall-example在Java的Object类中有三个final转载 2017-11-03 16:53:44 · 204 阅读 · 0 评论 -
Java基础-多线程-①线程的创建和启动
原文路径:多线程-线程的创建和启动Java基础-多线程-①线程的创建和启动简单阐释进程和线程对于进程最直观的感受应该就是“windows任务管理器”中的进程管理: (计算机原理课上的记忆已经快要模糊了,简单理解一下):一个进程就是一个“执行中的程序”,是程序在计算机上的一次运行活动。程序要运行,系统就在内存中为该程序分配一块独立的内存空间,载入程序代码转载 2017-11-02 14:38:00 · 200 阅读 · 0 评论 -
Java GC、新生代、老年代
Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象。 在 Java 中,堆被划分成两个不同的区域:新生代 ( Young )、老年代 ( Old )。 新生代 ( Young ) 又被划分为三个区域:Eden、From Survivor、To Survivor。 这样划分的目的是为了使 JVM 能够更好的管理堆内存中的对象,包括转载 2017-07-23 23:43:27 · 344 阅读 · 0 评论 -
java堆、栈、方法区、常量池
1:栈 在函数中定义的一些基本类型的变量数据和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当该变量退出该作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。 每个线程包含一个栈区,每个栈中的数据(原始类型和对象引用)都是私有的,其他栈不能访问。栈分为3个部分:转载 2017-06-01 17:07:21 · 397 阅读 · 0 评论