- 博客(25)
- 资源 (5)
- 收藏
- 关注
原创 JAVA基础面试题
基础面试题 Java基础实例方法和静态方法有什么不一样?Java中的异常有哪几类?分别怎么使用?常用的集合类有哪些?比如List如何排序?ArrayList和LinkedList内部的实现大致是怎样的?他们之间的区别和各自适应的场景是什么?内存溢出是怎么回事?ClassLoader有什么用?==和equals的区别?hashCode方法的作用?Object类中有哪些方法?列举3个以上。NIO是什么?适用于何种场景?HashMap数据结构、扩展策略,Hash冲突攻击如何防范,如何实现线
2020-05-13 10:49:03 483 1
原创 算法-从尾到头打印链表[简单]
输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]限制:0 <= 链表长度 <= 10000分析:// 231// 2// 32// 132···javapublic int[] reversePrint(ListNode head) {if (head == null) {return new int[0];}int i = 1;int[] newi = new int[i]
2020-05-19 08:10:54 149
原创 如何遍历一棵二叉树?
private Object treeSearch(Tree tree, String key) { if (tree == null || tree.key == key) { return tree; } else if (tree.right >= key) { return treeSearch(tree.right, key); } else { return treeS.
2020-05-17 21:27:53 248
原创 算法题目-课程表2
课程表现在你总共有 n 门课需要选,记为 0 到 n-1。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1]给定课程总量以及它们的先决条件,返回你为了学完所有课程所安排的学习顺序。可能会有多个正确的顺序,你只要返回一种就可以了。如果不可能完成所有课程,返回一个空数组。示例 1:输入: 2, [[1,0]]输出: [0,1]解释: 总共有 2 门课程。要学习课程 1,你需要先完成课程 0。因此,正确的课程顺序为 [0,
2020-05-17 17:39:20 468
原创 NIO模型,select/epoll的区别,多路复用的原理
NIO模型select/epoll的区别多路复用的原理什么是多路复用?Selector简称多路复用,Selector会不断轮询注册在其上的Channel事件,如果有事件发生,Channel就会处于就绪状态,会被Select轮询出来,然后通过SelectorKey可以获取就绪的Channel集合,并进行后续的操作。Selector的数据结构?保存在哪里?Selector.select()是否可以并发执行?...
2020-05-17 10:34:12 643
原创 硬链接和软链接的区别?
硬链接:与普通文件没什么区别,访问的时候指向文件硬盘地址软链接:快捷方式,可以快速访问目标资源,保存了目标文件的绝对路径参考文档:https://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-links/index.htmlhttps://blog.csdn.net/Y_Hanxiao/article/details/83986797...
2020-05-15 17:34:51 186
原创 MySQL InnoDB的特点?
事务型数据库的首选引擎,支持ACID事务,支持行级锁定。InnoDB是为处理巨大数据量时的最大性能设计。InnoDB存储引擎完全与MySQL服务器整合,InnoDB存储引擎为在主内存中缓存数据和索引而维持它自己的缓冲池。InnoDB存储它的表&索引在一个表空间中,表空间可以包含数个文件(或原始磁盘分区)。这与MyISAM表不同,比如在MyISAM表中每个表被存在分离的文件中。InnoDB 表可以是任何尺寸,即使在文件尺寸被限制为2GB的操作系统上。InnoDB默认地被包含在MySQL二进制分发中。W
2020-05-14 09:06:35 412
原创 如何查看JVM的内存使用情况?
1、查看运行时的内存区域jmap -heap 15172、查看运行时的对象分布jmap -histo 1517由于输出比较常,建议用head截取以下jmap -histo 1517 |head -n 103、使用jmap生成堆内存转储快照jmap -dump:live,format=b,file=dump.hprof 1517如何分析dump文件?执行:jhat dump.hprof访问:ip:7000...
2020-05-14 08:07:52 6162
原创 ArrayList和LinkedList内部的实现大致是怎样的?他们之间的区别和各自适应的场景是什么?
说一说他的底层实现,就知道使用场景了ArrayList:数组实现,根据下标可以快速定位,删除数据的时候,数组会移动,效率较低LinkedList:链表实现,删除数据效率很高,对于集合修改比较频繁的地方建议使用...
2020-05-13 21:49:48 439
原创 Spring IOC的生命周期,(init-method,InitializingBean接口方法afterPropertiesSet的 先后顺序)等
1、创建bean的实例(构造器、静态工厂方法)2、依赖注入3、初始化4、创建成功,可以调用5、销毁如下图:init-method,InitializingBean接口方法afterPropertiesSet的调用发生在初始化阶段调用顺序是:先调用InitializingBean的afterPropertiesSet方法,再调用init-method方法源码如下:参考文档:https://www.cnblogs.com/chinda/p/6491490.html...
2020-05-13 14:38:08 790 1
原创 Spring事务的传播属性是怎么回事?它会影响什么?
事务的传播属性(Propagation)REQUIRED ,这个是默认的属性Support a current transaction, create a new one if none exists.如果存在一个事务,则支持当前事务。如果没有事务则开启一个新的事务。被设置成这个级别时,会为每一个被调用的方法创建一个逻辑事务域。如果前面的方法已经创建了事务,那么后面的方法支持当前的事务,如果当前没有事务会重新建立事务。MANDATORYSupport a current transaction
2020-05-13 14:11:23 578
原创 发现CPU 100%,如何排查?
步骤一:先找出java进程,有多种方式,jsp,ps,都可以,最常用的是top -c,可以按照cpu的消耗排列出对应的进程top -c步骤二top -Hp 1517,找出最消耗CPU的线程步骤三将找到的十进制的PID,专程十六进制,推荐网站:https://tool.lu/hexconvert/步骤四查找对应的堆栈信息,执行以下命令jstack 1517 |grep -C10 686...
2020-05-13 14:02:49 519
Spring_Microservices_in_Action_v8_MEAP
2019-01-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人