![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
巴哥面试
一个为面试的中年油腻程序员!
展开
-
@PostConstruct
原文地址@PostConstruct注解好多人以为是Spring提供的。其实是Java自己的注解。Java中该注解的说明:@PostConstruct该注解被用来修饰一个非静态的void()方法。被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次。PostConstruct在构造函数之后执行,init()方法之前执行。Construc...转载 2020-01-15 20:20:16 · 138 阅读 · 1 评论 -
ExceptionHandler运行机制分析
原文地址ExceptionHandler是如何触发的ExceptionHandler是spring里面的一个注解,非常方便去掉try...catch这类冗余难看的代码,有利于代码的整洁和优美。还能统一处理异常,是个非常好的技巧。下面以我写的一个最简单的工程来说明ExceptionHandle是如何工作的。一共4个类:1、springboot的启动类DemoApplication...转载 2020-01-12 14:20:39 · 658 阅读 · 0 评论 -
Collections.emptyList() 和 Collections.EMPTY_LIST的区别
/** * 调用方法list.isEmpty(),list.size()方法,返回值都一致 * Collections.emptyList()返回的是范型的空集合,内部调用的Collections.EMPTY_LIST做范型转换 * Collections.EMPTY_LIST返回的是空集合 * Collec...原创 2020-01-10 10:48:48 · 467 阅读 · 1 评论 -
ReflectionToStringBuilder的使用分析与优化
原文地址昨天看视频无意间看到这个工具,终于不用重写toString方法了。相对于toString方法,代码简洁 , 无须任何配置, Model 属性变化 , 无需修改 toString缺陷:安全性问题 , 反射私有属性值也会暴露 .为了防止暴露,我们可以重写accept方法,剔除不想暴露的属性。改进:利用ToStringBuilder弥补(通过 ReflectionToStri...转载 2020-01-10 10:29:15 · 388 阅读 · 0 评论 -
StringUtils在commons-lang3和commons-lang中的区别
Java中的jar包,commons.lang和commons.lang3的区别?鉴于lang3 不完全兼容之前的版本 所以重开一个路径避免冲突 ,lang3 完全支持1.5以上的特性StringUtils在commons-lang3和commons-lang中的区别原文地址最近经常需要对String做一些判断和处理,于是就用到了Apache提供的StringUtils这个工具类,...转载 2020-01-09 14:29:42 · 2809 阅读 · 0 评论 -
假设字符串类似这样的aba和aab,abc和bca就相等,现在随便给你二组字符串,请编程比较他们看是否相等
public static equals(String s1,String s2){if (s1.length() != s2.length()) return false;if (s1.equals(s2)) return true; if (s1 == s2) return true;char[] ca1 = s1.toCharArray();char[] ca2 = s2.t...转载 2020-01-04 13:10:11 · 1210 阅读 · 0 评论 -
用List实现栈和对列
栈实现栈功能:后进先出,进栈,出栈,返回栈元素;package com.test.thread;import java.util.LinkedList;import java.util.Stack;public class MyStack { /* 声明容器 */ private LinkedList<Object> stack = new Link...转载 2020-01-04 12:47:10 · 158 阅读 · 0 评论 -
判断一个链表是否有环
如何判断一个单链表是否有环,若有环,找出环的入口?下图是一个有环链表设置两个链表指针fast, slow,初始值都指向链表头结点,然后两个指针都往后走,不同的是slow每次前进一步,即前进一个节点。fast每次前进两步,如果存在环,两个指针必定相遇。因为只有存在环的情况,我们才可能出现走的快的指针能再次遇到慢的指针。并且还有一点就是,若该链表存在环,则在慢指针还没走完一整个环的...转载 2020-01-04 12:06:20 · 98 阅读 · 0 评论 -
两个单链表相交,找出第一个交点
目录题目理解解法题目给两个单链表,如何判断两个单链表是否相交?若相交,则找出第一个相交的节点理解解这道题之前,我们需要首先明确一个概念:如果两个单链表有共同的节点,那么从第一个共同节点开始,后面的节点都会重叠,直到链表结束因为两个链表中有一个共同节点,则这个节点里的指针域指向的下一个节点地址一样,所以下一个节点也会相交,依次类推。所以,若相交,则两个链表呈“Y”...转载 2020-01-04 11:09:26 · 1337 阅读 · 0 评论 -
将数组中最小的数输出<Java>
【题目要求】:编写Java程序,将数组中最小的数输出。【题目分析】:思想一:采用冒泡排序由小到大,则最小的数在首位,输出首位即可。 思想二:调用方法 思想三:for循环嵌套if条件句,输出最小值【编程实现】:思想一:public class Test2 { public static void main(String[] args) { int ar...转载 2020-01-03 17:07:23 · 602 阅读 · 0 评论 -
HashMap与HashTable
HashMapHashMap底层是一个Entry[]数组;当发生hash冲突的时候,hashMap是采用链表的方式来解决;在对应的数组位置存放链表的头节点;新加入的节点会从头节点加入;超过阀值(默认8),单链表就会转为红黑树,提高检索速度;HashMap扩容的条件是:当size大于threshold时,对HashMap进行扩容(threshold=容量*加载因子)默认加载因子为0.75...转载 2020-01-03 14:00:33 · 86 阅读 · 0 评论 -
==与equals与hashCode
==a==b比较的是两个对象的引用,equals方法默认使用==进行比较;基本数据类型之间的比较应该用过==,比较的是他们的值;引用类型用==比较时,比较的是他们在内存中的存放地址;所以,除非是同一个new出来的对象,比较的结果为true,否则为false;对象是存放在堆中的,栈中存放的是对象的引用(地址),可见“==”是对栈中的值进行比较;如果要比较堆中的对象的内容是否相同,就需...转载 2020-01-03 13:17:31 · 123 阅读 · 0 评论 -
原子操作类AtomicInteger
目录为什么需要原子操作类如果使用volatile修饰变量呢使用AtomicIntegerCAS指令incrementAndGet()方法JUC包原子类的类型及方法为什么需要原子操作类原子操作,是指一个操作是不可分割,不可中断的;在java中的运算操作,例如自增或自减,若没有进行额外的同步操作,在多线程环境下操作就是线程不安全的;(n++解析为n=n+1,明显这个...转载 2020-01-03 10:36:46 · 161 阅读 · 0 评论 -
多线程
什么情况下需使用多线程有连续的操作,并耗时较长 为了等待网络或文件响应等,需要耗费大量时间运行为什么使用多线程从用户角度,是为了得到更好的系统服务;从服务角度,是为了使任务尽快完成,能更有效的利用系统资源。什么是线程一个程序可以同时执行多个任务,通常每个任务就是一个线程。(线程间共享变量)开启线程方式实现Runnable接口,或者继承Thread类(通过...转载 2019-12-05 12:00:44 · 115 阅读 · 0 评论 -
Java数据结构
数组数组是一种连续存储线性结构,元素类型相同,大小相等。通过使用整型索引来访问它们的元素,长度不会改变。数组的优点: 存取速度快 数组的缺点: 事先必须知道数组的长度 插入删除元素很慢,效率低 空间通常是有限制的 需要大块连续的内存块链表n个节点离散分配,彼此通过指针相连,每个节点只有一个前驱节点,每个节点只有一个后续节点,首节点没有前驱节点,尾节点没有后续节点。...转载 2019-12-01 16:03:45 · 73 阅读 · 0 评论 -
Java概念性
面向对象面向对象是一种编程规范,是基于万物皆对象这一哲学观点。所谓面向对象就是将我们的程序模块化,对象化,把具体事物的特征属性及动作放到一个类里面来。在现实生活中,任何物体都可以归类为一类事物的实例。面试对象的编程,是以对象为中心,以消息为驱动面向过程面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现。面向对象设计原则https://b...原创 2019-12-09 00:12:48 · 109 阅读 · 1 评论