JAVA
文章平均质量分 86
Hatoandaburedo
这个作者很懒,什么都没留下…
展开
-
二叉树深度遍历(DFS)与广度遍历(BFS)代码实现
文章目录思路文章参考代码深度遍历(DFS)广度遍历(BFS)Node类遍历方法接口main方法类思路文章参考Java实现深度优先遍历和广度优先遍历代码深度遍历(DFS)package tree;import java.util.Stack;/** * 深度优先遍历二叉树 * @author wangdongyu * */public class DFSIterator ...原创 2019-12-23 18:56:35 · 372 阅读 · 0 评论 -
Java快速排序代码(递归+非递归)
文章目录讲解快排思路比较好的文章链接代码递归非递归讲解快排思路比较好的文章链接快速排序—(面试碰到过好几次)最通俗易懂的快速排序算法详解代码递归package quicksort;import java.util.Arrays;public class QuickSortDiGui { public static int getPartion(int[] arr, int l...原创 2019-12-23 17:40:43 · 554 阅读 · 0 评论 -
Stream流使用groupingBy+mapping实现对分组之后的对象集合转化为对象的某个属性的集合
JAVA8实战对此的介绍片段:Java8的Stream为我们提供了方便的分组收集器groupingBy,利用这个收集器我们可以很方便的根据某个对象集合的每个元素的某个属性的值来进行分组。普通用法进行分组之后,会将整个对象集合分成我们选定的属性的值的数量个组别。也即是说,如果我们选定的是对象集合AList中每个元素对象的属性A进行分组,A一共存在1,2,3三个值,那么,最终AList就...原创 2019-04-24 18:12:34 · 30322 阅读 · 3 评论 -
JAVA反射简介与使用示例
JAVA中的反射,所说的意思就是我们可以在程序运行期间内,动态获取某一个Class对象的所有信息,包括修饰符(modifiers),属性(fields),方法(methods)等。举个例子就好比家里的防盗门,各种Class对象就是来敲门的各种人,当我们获取到一个未知其内容的Class对象的时候,就好比有一个没有预约的人来敲门,此时我们无法感知门外面的人是谁,他有可能是物业,有可能是外卖小哥,也...原创 2018-12-30 13:06:10 · 232 阅读 · 0 评论 -
Java开发中的23种设计模式详解
转载地址:Java开发中的23种设计模式详解一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式...转载 2018-12-07 16:15:06 · 146 阅读 · 0 评论 -
JAVA中子类和父类各种属性和代码块的加载顺序
这是面试或笔试中经常出现的一个问题:就是当子类继承父类之后,初始化子类,那么子类和父类各部分的加载顺序是怎样的?答案是,顺序如下:1. 父类的静态代码块 & 静态属性。(存在多个静态代码块 / 静态属性的话按照编写顺序由上至下依次执行)2. 子类的静态代码块 & 静态属性。(存在多个静态代码块 / 静态属性的话按照编写顺序由上至下依次执行)3. 父类的非静态代码块 ...原创 2018-12-09 13:51:04 · 710 阅读 · 0 评论 -
多线程的执行流程以及各个状态描述
在编程工作中,我们经常会用到或听到多线程三个字,多线程编程的好处就是可以让多个任务进行并发,从而更加充分利用CPU,减少CPU的无效等待时间。多线程的执行流程图如下:接下来我们会映照上图介绍多线程执行过程中经历的五种状态:1. 新建状态:新建状态就是我们通过new关键字实例化出一个线程类的对象时的状态。public class IsAThread extends Thre...原创 2018-12-12 21:22:19 · 10134 阅读 · 0 评论 -
synchronized的类锁和对象锁
首先,我们需要先了解什么是JAVA内置锁:在JAVA中,任何对象都能够用作保证代码同步执行的锁,这个锁称为内置锁。当程序运行到被内置锁保护的代码时,就会获取锁。运行完被锁保护的代码时,就会释放锁。JAVA的内置锁是线程间互斥的,也就是说,同一时间只有一个线程能获得锁。例如有A,B两个线程,A首先执行了被锁保护的代码段,那么A拿走了锁,当B将要执行被锁保护的代码段时,因为锁已经被A拿走了,所...原创 2018-12-08 11:56:24 · 613 阅读 · 0 评论 -
Arrays.asList方法返回的List进行增删时出现UnsupportedOperationException原因分析
当我们想将一个数组转为List列表时,很容易就会把目光聚焦于Arrays工具类提供的一个方法asList,当我们开心的调用了Arrays.asList方法将数组转为List之后,看起来一切风平浪静:随后,我们希望向这个strList中添加一个字符串"d":这是肿么肥四!让我们进入Arrays.asList方法内部一探究竟:原来Arrays.asList返回的ArrayL...原创 2018-11-29 18:03:10 · 656 阅读 · 0 评论 -
org.apache.catalina.connector.ClientAbortException:null
参考文章:org.apache.catalina.connector.ClientAbortException: null谈谈request和response的页面跳转 使用如下代码时:ServletOutputStream outputStream = response.getOutputStream();outputStream.write(new byte[]{}...原创 2018-10-25 15:56:29 · 3639 阅读 · 0 评论 -
org.apache.solr.common.SolrException: Request-URI Too Large(solr query操作因为参数过多导致uri过长错误)
原文链接:org.apache.solr.common.SolrException: Request-URI Too Large 采用post提交url提交方式有两种,一种是get方式,一种是post方式sol查询的时候添加个参数 QueryResponse qr = solr.query(this.getSolrQuery(ids),METHOD.POST); ...转载 2018-10-17 17:45:46 · 864 阅读 · 0 评论 -
hashCode与equals的作用与区别及应当注意的细节
原文链接:从一道面试题彻底搞懂hashCode与equals的作用与区别及应当注意的细节 最近去面试了几家公司,被问到hashCode的作用,虽然回答出来了,但是自己还是对hashCode和equals的作用一知半解的,所以决定把它们研究一下。以前写程序一直没有注意hashCode的作用,一般都是覆盖了equals,缺没有覆盖hashCode,现在发现这是埋下了很多潜在的Bug!今...转载 2018-10-15 18:05:50 · 173 阅读 · 0 评论