第一次被虐-java面试 1. 自我介绍;2. 介绍Spring;3. 排序算法有哪些,以及它的时间复杂度;4.线程池的作用;5.网络的协议;http是哪一层的协议;UDP和TCP协议的区别;6.写SQL代码;7.介绍servlet;8.创建线程的方式;9.面向对象的三大特性;10.反射机制;11.进程与线程之间的区别,进程之间怎么进行通信;12.手撕快速排序算法第一次面试凉凉了,真是很感谢面试官坚持面了30-40分钟。...
JVM的内部结构简要介绍 主要记录一些对jvm内存模型以及垃圾回收机制的理解。下图为jvm的一个简易结构图。JRE(Java Runtime Environment) ,它为Java提供了运行环境,其中重要的一环就是通过JVM将字节码解释成可执行的机器码。JRE由JVM,Java运行时类库,动态链接库等组成。JVM是Java Virtual Machine(Java虚拟机)的缩写,在运行时环境,JVM会将...
剑指offer试题编程练习44(java) 删除链表中重复的结点 题目:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5思路:首先明确该链表是一个排序链表,也就是说若出现重复的结点,则这些结点在链表中必定相邻;还需要明确的一点是只要出现重复的结点,则相同的结点都删除;该题我觉得最主要的问题...
剑指offer试题编程练习43(java) 从二叉搜索树中查找出第k小的结点 题目:给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。思路:已知该树为一棵二叉搜索树,二叉搜索树的左节点值<根节点值<右结点值,题目中要找到第三小的结点,则可采用中序遍历的方式对该二叉树进行遍历,当查找到第k个结点时返回。注意k值不能小于等于0.import java.util.List;...
maven的下载与安装(Windows) 前言: 安装Maven 3,需要安装jdk1.7及以上版本具体步骤如下: 1、进入官网:http://maven.apache.org/download.cgi,如下图红框部分 其中: apache-maven-3.5.4-bin.zip是压缩包,解压到安装路径即可 apache-maven-3.5.4-sr...
window下启动Redis闪退问题解决 我下载的是免安装版的window版redis,解压后如下:刚解压开直接双击redis-server.exe启动redis或者在命令提示符中找到路径启动,但当第二次使用的时候,发现双击redis-server闪退,在命令提示符启动也报错(该错误其实由于电脑内存不足影响的),我百度了好多解决方式,但是都没用,最后终于找到一个适合自己电脑上redis的解决方式,仅供参考,如下:第一步:在解压的r...
剑指offer试题编程练习42(java) 按层打印二叉树(广度优先遍历二叉树) 题目:从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。思路:利用队列数据结构来存储结点,每次存入一层的结点。import java.util.ArrayList;import java.util.Queue;import java.util.LinkedList;/*public class TreeNode { int val = 0; Tree...
redis的数据结构及相关命令 redis的数据结构* redis存储的是:key,value格式的数据,其中key都是字符串,value有5种不同的数据结构* value的数据结构:1) 字符串类型 string2) 哈希类型 hash : map格式3) 列表类型 list : linkedlist格式。支持重复元素4) 集合类型 set : 不允许重复元素5) 有序集合类型 s...
剑指offer试题编程练习41(java) 按之字形打印二叉树 题目:请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。思路: 该问题为一个广度优先遍历问题,按题意所说,在遍历时要分奇数层和偶数层,利用队列数据结构来保存二叉树结点,通过对奇偶层的判断来决定元素是从列表的后面插入还是前面插入。import java.util.ArrayList;import...
Linux上常用网络操作 1、主机名配置hostname 查看主机名hostname xxx 修改主机名重启后无效如果想要永久生效,可以修改/etc/sysconfig/network文件,使用vim编辑命令进行修改。2、IP地址配置ifconfig 查看(修改)ip地址(重启后无效)ifconfig eth0 192.168.12.22 修改ip地址如果想要永久生效修改/etc...
Linux的权限命令 1、文件权限每个文件前面所对应的这些字符串表示文件的权限,由十个字符组成,分为四个部分。第一位表示文件类型 - 表示文件 d 表示文件夹 l 表示链接第二部分表示当前用户具有该文件的权限 r : read 读 w : write 写 x : excute 执行以下部分相同第三部分表示当前组内其他...
Vi和Vim编辑器 1、Vim编辑器在Linux下一般使用vi编辑器来编辑文件。vi既可以查看文件也可以编辑文件。三种模式:命令行、插入、底行模式。切换到命令行模式:按Esc键;切换到插入模式:按i 、o、a键;i 在当前位置前插入I 在当前行首插入a 在当前位置后插入A 在当前行尾插入o 在当前行之后插入一行O 在当前行之前插入...
Linux常用命令 1、列出文件列表:ls llls(list)是一个非常有用的命令,用来显示当前目录下的内容。配合参数的使用,能以不同的方式显示目录内容。格式:ls[参数] [路径或文件名]在linux中以.开头的文件都是隐藏文件ls 列出当前目录下所包含的文件及文件夹 ls -a 显示所有文件或目录(包含隐藏文件) ls -l (缩写成ll) 与ls命令显示的...
剑指offer试题编程练习40(java) 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。import java.util.ArrayList;public class Solution { public ArrayList<Integer> FindNumbersWithSum(int [] array,int sum) { ...
剑指offer试题编程练习39(java) 输出所有和为S的连续正数序列 输出所有和为S的连续正数序列(至少包含两个数)。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序。思路:利用穷举法的思想。根据条件“至少包含两个数”,可以确定得到的序列中最大值可达到S/2+1,首先将第一个元素加入结果序列,S=S-i;依次往后找j=i+1,判断S-j的大小,若大于0则加入结果序列;若等于零将结果序列加入返回序列,退出内层循环,i++,重复上述操作;若小于零,退出内层...
剑指offer试题编程练习38(java) 判断一棵二叉树是否是对称的 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。思路:根据https://blog.csdn.net/Ferlan/article/details/82975543/*public class TreeNode { int val = 0; TreeNode left = null; TreeNode...
剑指offer试题编程练习37(java) 根据二叉树中序遍历查找某个结点的下个结点 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。思路:首先要搞清楚二叉树的中序遍历顺序为左子树->根节点->右子树。接下来要考虑该结点的位置,若该结点有右子树则查找右子树的最后一个左节点,若无左节点则返回该右结点;若该结点无右子树则查找其父节点,若该结点为父节点的左子树则返回该父结点,否则继续往上...
剑指offer试题编程练习36(java) 找出数组中只出现一次的数字 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。思路:利用Map数据结构来进行处理,熟悉Map数据结构怎么存取数据。//num1,num2分别为长度为1的数组。传出参数//将num1[0],num2[0]设置为返回结果import java.util.Map;import java.util.HashMap;public class S...