java
文章平均质量分 60
大仙带你飞
活到老,学到老!
展开
-
随机对象生成器-EasyRandom
如何使用?引入maven依赖<dependency> <groupId>org.jeasy</groupId> <artifactId>easy-random-core</artifactId> <version>4.3.0</version> <exclusions> <!-- 跟 SpringAOP 引入的 objenesis 有冲突,要排除 --&g原创 2021-08-26 11:07:30 · 2174 阅读 · 0 评论 -
解决TOP-K问题:快速选择排序算法
1. 思想 Quick select算法通常用来在未排序的数组中寻找第k小/第k大的元素。 Quick select和Quick sort类似,核心是partition。 1. 什么是partition? 从数组中选一个数据作为pivot,根据每个数组的元素与该pivot的大小将整个数组分为两部分: 左半部分,都比pivot大,右半部分,都比pivot小 。 2. 用分治思路实现排序 pivotIndex 是pivot在数组的下标 pivotInde...原创 2021-08-05 16:23:02 · 687 阅读 · 0 评论 -
深入分析Java中的关键字static
在平时开发当中,我们经常会遇见static关键字。这篇文章就把java中static关键字的使用方法的原理进行一个深入的分析。先给出这篇文章的大致脉络:首先,描述了static关键字去修饰java类、方法、变量、代码块的方法然后,从底层分析static关键字,接下来,给出static的一些使用场景和案例最后,对static进行一个总结,包括和普通变量的区分。OK,开始今天的文章。一、static关键字的基本用法1、static关键字基本概念我们可以一句话来概括:方便在没有创建对象的情况下原创 2021-08-05 16:14:00 · 480 阅读 · 0 评论 -
Maven Helper插件查找和排除JAR包的依赖关系
前言 :起一个新的项目经常会有maven依赖冲突,有时候很难找到jar依赖关系,这个时候就很想有一个靠谱的软件帮助我们了,maven helper就是很好的工具。正文:基于Maven依赖创建的Spring项目,经常会引入多方的依赖JAR包,而多方的依赖JAR包中也会依赖其它相关的JAR包,很容易造成JAR包之间冲突。解决的工具 Maven Helper:1、在idea中安装Maven Helper插件:2、安装完重启idea,会发现打开对应的pom.xml文件会多了一个...原创 2021-03-09 13:52:30 · 793 阅读 · 0 评论 -
Java基础之—反射(非常重要)
反射是框架设计的灵魂(使用的前提条件:必须先得到代表的字节码的Class,Class类用于表示.class文件(字节码))一、反射的概述JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象.转载 2021-03-04 11:48:05 · 247 阅读 · 1 评论 -
如何实现一个高效的单向链表逆序输出?
示例:以逆序A->B->C->D为例,图示如下java实现public void reverseLinkList() { //逆序输出链表的所有内容if (head == null || head.getNext() == null) { //当链表只有一个头节点或者只有一个结点,逆序还是原来的链表,所以直接返回 return;} else { Node p = head.getNext(); Node q = head.getNext().getNext()原创 2021-01-19 19:55:02 · 302 阅读 · 0 评论 -
java的HashMap知多少
首先,我们需要知道HashMap的底层实现是数组、链表、红黑树。HashMap 根据键的 hashCode 值存储数据,大多数情况下可以直接定位到它的值,因而具有很快 的访问速度,但遍历顺序却是不确定的。 HashMap 最多只允许一条记录的键为 null,允许多条记 录的值为 null。HashMap 非线程安全,即任一时刻可以有多个线程同时写 HashMap,可能会导 致数据的不一致。如果需要满足线程安全,可以用 Collections 的 synchronizedMap 方法使 H原创 2021-01-17 18:56:42 · 144 阅读 · 0 评论 -
浅谈Java 垃圾回收机制与几种垃圾回收算法
一、如何确定某个对象是“垃圾”?我们先了解一个最基本的问题:如果确定某个对象是“垃圾”?既然垃圾收集器的任务是回收垃圾对象所占的空间供新的对象使用,那么垃圾收集器如何确定某个对象是“垃圾”?通过什么方法判断一个对象可以被回收了。在java中是通过引用来和对象进行关联的,也就是说如果要操作对象,必须通过引用来进行。那么很显然一个简单的办法就是通过引用计数来判断一个对象是否可以被回收。不失一般性,如果一个对象没有任何引用与之关联,则说明该对象基本不太可能在其他地方被使用到,那么这个对象就成为可被回收的对原创 2021-01-17 13:02:55 · 248 阅读 · 0 评论