
Java基础
文章平均质量分 82
一只特立独行的SB猴子
程序猿暖男一枚。。。
展开
-
java中的关键字transient,这篇文章你再也不发愁了
https://baijiahao.baidu.com/s?id=1636557218432721275&wfr=spider&for=pc转载 2020-08-16 21:39:28 · 129 阅读 · 0 评论 -
jdk1.7中HashMap死循环分析
在多线程环境下,使用HashMap进行put操作会引起死循环,导致CPU利用率接近100%,HashMap在并发执行put操作时会引起死循环,是因为多线程会导致HashMap的Entry链表形成环形数据结构,一旦形成环形数据结构,Entry的next节点永远不为空,就会产生死循环获取Entry。那么这个死循环是如何生成的呢?我们来仔细分析下。HashMap扩容流程原理引发死循环,是在HashMap的扩容操作中。正常的扩容操作是这个流程。HashMap的扩容在put操作中会触发扩容,主要是原创 2020-07-30 16:27:41 · 334 阅读 · 0 评论 -
Java的浅拷贝与深拷贝
首先我们知道Java的Object类中有个clone()的方法,中文名字叫做克隆,当我们一个对象调用clone()方法时, 因为该方法默认使用的是浅拷贝,首先我们看下什么是浅拷贝?先看下面几段代码书包类:public class SchoolBag { private int size; private String color; public Scho...原创 2020-02-28 16:50:56 · 129 阅读 · 0 评论 -
剖析JDK8中Arrays.sort底层原理及其排序算法的选择
写这篇文章的初衷,是想写篇Java和算法的实际应用,让算法不再玄乎,而Arrays.sort是很好的切入点,即分析Java的底层原理,又能学习里面的排序算法思想。希望能给在座各位在工作中或面试中一点帮助!转载请注明出处:Michael孟良点进sort方法: // Use Quicksort on small arrays if (right - left &l...转载 2019-12-12 10:10:40 · 278 阅读 · 0 评论 -
使用wait和notifyAll出现异常java.lang.IllegalMonitorStateException
在线线程中调用wait方法的时候 要用synchronized锁住对象,确保代码段不会被多个线程调用。加上了synchronized解决了次异常;原创 2019-10-21 00:26:27 · 560 阅读 · 0 评论 -
HashMap底层结构
https://www.cnblogs.com/chengxiao/p/6059914.htmlhttps://mp.weixin.qq.com/s/oV37e9erNtIsA7kzHuhy4ghttps://mp.weixin.qq.com/s?__biz=MzIxMjE5MTE1Nw==&mid=2653192000&idx=1&sn=118cee6d1c67e...转载 2018-09-17 22:52:53 · 246 阅读 · 0 评论 -
static关键字的四种用法
https://www.cnblogs.com/dotgua/p/6354151.html?utm_source=itdadao&utm_medium=referral转载 2018-10-07 22:35:47 · 193 阅读 · 0 评论 -
SpringMVC中以实体类属性is开头的字段返回JSON问题
最近在开发中发现把实体类属性is开头的字段 转Json的问题,会把is自动去掉,例如:isParent 会变成 parent为了解决这个问题,只需;1.在get方法上面加入@JsonProperty(value = "isParent")注解2.手动修改get方法名为getIsParent3.手动修改set方法为setIsParent;public class NodeInf...原创 2019-01-07 15:37:56 · 1336 阅读 · 0 评论 -
设计模式学习之策略模式
https://blog.youkuaiyun.com/u012124438/article/details/70039943/#commentBox转载 2018-09-17 20:51:48 · 155 阅读 · 0 评论 -
数组和链表区别?为什么链表查找慢?数组查找快?为什么连续内存就方便查找?
面试官怒怼(也是我太紧张,没说清楚,这里总结,其实也要说到CPU的一些东西,平时没注意)数组与链表的优缺点;数组: 优点:使用方便 ,查询效率 比链表高,内存为一连续的区域 缺点:大小固定,不适合动态存储,不方便动态添加 链表: 优点:可动态添加删除 大小可变 ,内存可能是不连续内存,链式存储。 缺点:只能通过顺次指针访问,查询效率低链表和数组的本质差异1 在访问方...原创 2018-09-12 10:59:47 · 8926 阅读 · 0 评论 -
java线程
java多线程转载 2018-08-09 15:20:27 · 117 阅读 · 0 评论 -
Java多线程(线程池Executor框架之ThreadPoolExcutor&ScheduledThreadPoolExecutor浅析)多线程编程(三)
1、Executor框架浅析 首先我们得明白一个 问题,为什么需要线程池?在java中,使用线程来执行异步任务时,线程的创建和销毁需要一定的开销,如果我们为每一个任务创建一个新的线程来执行的话,那么这些线程的创建与销毁将消耗大量的计算资源。同时为每一个任务创建一个新线程来执行,这样的方式可能会使处于高负荷状态的应用最终崩溃。所以线程池的出现为解决这个问题带来曙光。我们将在线程池中创建若干条...转载 2018-08-14 14:57:29 · 634 阅读 · 0 评论 -
Java多线程(Callable&Future&FutureTask)多线程编程(四)
通过前面几篇的学习,我们知道创建线程的方式有两种,一种是实现Runnable接口,另一种是继承Thread,但是这两种方式都有个缺点,那就是在任务执行完成之后无法获取返回结果,那如果我们想要获取返回结果该如何实现呢?还记上一篇Executor框架结构中提到的Callable接口和Future接口吗?,是的,从JAVA SE 5.0开始引入了Callable和Future,通过它们构建的线程,在任务...原创 2018-08-14 15:54:47 · 156 阅读 · 0 评论 -
LinkedBlockingQueue 与 ArrayBlockingQueue的区别
1、LinkedBlockingQueue (1)、首先来看看LinkedBlockingQueue类继承了那些类和实现了那些接口基于链接节点的可选限定的blocking queue 。 这个队列排列元素FIFO(先进先出)。 队列的头部是队列中最长的元素。 队列的尾部是队列中最短时间的元素。 新元素插入队列的尾部,队列检索操作获取队列头部的元素。 链接队列通常具有比基于阵列的队列更高...原创 2018-08-15 14:38:31 · 1829 阅读 · 0 评论 -
Java多线程(概念&创建启动&中断&守护线程&优先级&线程状态)多线程编程(一)
1、什么是线程以及多线程与进程的区别 在现代操作在运行一个程序时,会为其创建一个进程。例如启动一个QQ程序,操作系统就会为其创建一个进程。而操作系统中调度的最小单位元是线程,也叫轻量级进程,在一个进程里可以创建多个线程,这些线程都拥有各自的计数器,堆栈和局部变量等属性,并且能够访问共享的内存变量。处理器在这些线程上高速切换,让使用者感觉到这些线程在同时执行。因此我们可以这样理解:...原创 2018-08-13 11:13:25 · 172 阅读 · 0 评论 -
Java位运算符
java位运算符转载 2018-08-08 17:59:46 · 159 阅读 · 0 评论 -
java多线程(同步&线程间通信详解&消费者生产者模式&死锁&Thread.join()) 多线程编程(二)
本章将讨论如下多线程问题: 1、线程同步问题的产生什么是线程同步问题,我们先来看一段卖票系统的代码,然后再分析这个问题:package com.test.java8.Thread;/** * @author wuyj * @email wuyj298@163.com * @date 2018年08月13 11:21 */public class TicketTh...原创 2018-08-13 17:16:13 · 234 阅读 · 0 评论 -
window 命令行运行的java 和 javac 显示的版本不同
1.问题描述 最近在学习发现在window下的命令行窗口运行 java -version 显示的是1.8的版本, 而运行 javac -version 显示的版本确实1.7版本。而我的环境变量中只配置了1.7的jdk(虽然我也安装了1.8,之前也配置过1.8的jdk)。如下:2.解决问题方法方法一 把Path关于java的配置提到最前面。 方法二 ...原创 2018-08-24 10:52:45 · 1759 阅读 · 2 评论 -
Spring Boot 中配置文件bootstrap 和 application的区别
1、spring boot 有以下两种配置文件: * bootstrap(.yml 或者 properties) * application(.yml 或者 properties)2、bootstrap 和 application 的区别: 在spring boot的官方文档中没有找到,而在spring cloud 的官方文档中找到了bootstrap和applicati...转载 2018-07-24 09:49:40 · 5956 阅读 · 5 评论