首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
,chaser
获赞
13
粉丝
1
关注
0
看过 TA
2
男
门头沟学院
2020
Java
IP属地:北京
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑,chaser吗?
发布(93)
评论
刷题
,chaser
关注TA,不错过内容更新
关注
2019-08-17 10:40
门头沟学院 Java
【常见面试算法】统计完全二叉树的节点数
问题 给出一个完全二叉树,求出该树的节点个数。 说明: 完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。 示例: 输入: 1 / \ 2 3 / \ / 4 5 6 输出: 6 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/count-complete-tree-nodes 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出...
0
点赞
评论
收藏
分享
2019-08-17 09:52
门头沟学院 Java
【Java多线程】ThreadPoolExecutor
参考 https://www.cnblogs.com/fixzd/p/9253203.html https://www.cnblogs.com/trust-freedom/p/6681948.html#label_3_6 1、线程池是做什么的 /** * An {@link ExecutorService} that executes each submitted task using * one of possibly several pooled threads, normally configured * using {@link Executors} fa...
0
点赞
评论
收藏
分享
2019-08-17 08:49
门头沟学院 Java
【常见面试算法】全排列、子集
全排列和子集都是非常常见的DFS面试问题,因此把他俩放到一起来说,同时分析一下他们的不同,加强对回溯法和出递归条件的判断理解。 全排列II 全排列要考虑数组有重复的情况,因此我们要先对原数组进行一个排序(不排序也可以,但是需要牺牲空间,用一个set来保存结果)。 我们看原题: 输入一个字符串,打印出该字符串中字符的所有排列。 例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 如果无重复,则题解为: class Solution { public Li...
0
点赞
评论
收藏
分享
2019-08-16 15:14
已编辑
门头沟学院 Java
【JVM】final关键字
1. final关键字的语义 final关键字主要用在三个地方:变量、方法、类。 对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。 当用final修饰一个类时,表明这个类不能被继承。final类中的所有成员方法都会被隐式地指定为final方法。 使用final方法的原因有两个。第一个原因是把方法锁定,以防任何继承类修改它的含义;第二个原因是效率。在早期的Java实现版本中,会将final方法转为内...
0
点赞
评论
收藏
分享
2019-08-16 13:15
已编辑
门头沟学院 Java
【JVM】内部类的加载时机
我们需要有一个前提的认知:在Java中,类都是主动使用的时候才会加载的! 我们定义下面的两个测试类: public class testInnerStaticClass { static class Inner { static int i = 1; static { System.out.println("静态内部类的静态代码块"); } public Inner() { System.out.println("静态内部类的构造方法...
0
点赞
评论
收藏
分享
2019-08-16 10:06
已编辑
门头沟学院 Java
【MySQL】(转载)惊!史上最全的select加锁分析
作者:孤独烟 出处: http://rjzheng.cnblogs.com/ 引言 大家在面试中有没遇到面试官问你下面六句Sql的区别呢 select * from table where id = ? select * from table where id < ? select * from table where id = ? lock in share mode select * from table where id < ? lock in share mode select * from table where id = ? for updat...
0
点赞
评论
收藏
分享
2019-08-17 17:17
已编辑
门头沟学院 Java
【网络】Cookie,Session和Token
zhuanzai 转载 https://www.cnblogs.com/moyand/p/9047978.html 发展史 1、很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, 不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的HTTP协议, 就是请求加响应, 尤其是我不用记住是谁刚刚发了HTTP请求, 每个请求对我来说都是全新的。这段时间很嗨皮 2、但是随着交互式Web应用的兴起,像在线购物网站,需要登录的网站等等,马上就面临一个问题,那就是要管理会话,必须记住哪些人登录系统, 哪些人往自己的购物车中放商品, 也...
0
点赞
评论
收藏
分享
2019-08-15 10:08
已编辑
门头沟学院 Java
【网络】HTTP相关面试题整理
什么是无状态协议?怎么解决HTTP协议无状态? 无状态协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息。 也就是说,当客户端一次HTTP请求完成以后,客户端再发送一次HTTP请求,HTTP并不知道当前客户端是一个”老用户“。 可以使用Cookie来解决无状态的问题,Cookie就相当于一个通行证,第一次访问的时候给客户端发送一个Cookie,当客户端再次来的时候,拿着Cookie(通行证),那么服务器就知道这个是”老用户“。 cookie的用处 · ...
0
点赞
评论
收藏
分享
2019-08-15 09:00
已编辑
门头沟学院 Java
【网络】TCP协议
报文头 基于TCP/IP的四层协议的信息封装如下所示: 其中,TCP报文头部如下: 16位端口号:标示该段报文来自哪里(源端口)以及要传给哪个上层协议或应用程序(目的端口)。进行tcp通信时,一般client是通过系统自动选择的临时端口号,而服务器一般是使用知名服务端口号或者自己指定的端口号。 32位序号:表示一次tcp通信过程(从建立连接到断开)过程中某一次传输方向上的字节流的每个字节的编号。假定主机A和B进行tcp通信,A传送给B一个tcp报文段中,序号值被系统初始化为某一个随机值ISN,那么在该传输方向上(从A到B),后续的所有tcp报文断中的序号值都会被设定为ISN加上...
0
点赞
评论
收藏
分享
2019-08-15 09:07
已编辑
门头沟学院 Java
【网络】Web页面的请求过程
1、DHCP(动态主机配置协议)配置主机信息 假设主机最开始没有 IP 地址以及其它信息,那么就需要先使用 DHCP 来获取。 主机生成一个 DHCP 请求报文,并将这个报文放入具有目的端口 67 和源端口 68 的 UDP 报文段中。 该报文段则被放入在一个具有广播 IP 目的地址(255.255.255.255) 和源 IP 地址(0.0.0.0)的 IP 数据报中。 该数据报则被放置在 MAC 帧中,该帧具有目的地址 FF:FF:FF:FF:FF:FF,将广播到与交换机连接的所有设备。 连接在交换机的 DHCP 服务器收到广播帧之后,不断地...
0
点赞
评论
收藏
分享
2019-08-14 22:47
已编辑
门头沟学院 Java
【常见面试算法】数组中第k大的数
给定一个数组A,要求找到数组A中第K大的数字。对于这个问题,解决方案有不少,此处我只给出三种: 方法1: 对数组A进行排序,然后遍历一遍就可以找到第K大的数字。该方法的时间复杂度为O(N*logN) 方法2: 利用简单选择排序法的思想,每次通过比较选出最大的数字来,比较上K次就能找出第K大的数字来。该方法的时间复杂度为O(N*K),最坏情况下为O(N^2)。 方法3: 这种方法是本文谈论的重点,可以利用快排的思想,首先快排每次执行都能确定一个元素的最终的位置,如果这个位置是n-k(其中n是数组A的长度)的话,那么就相当于找到了第K大的元素。设确定的元素位置m...
0
点赞
评论
收藏
分享
2019-08-14 17:18
已编辑
门头沟学院 Java
【网络】TCP粘包、拆包
转载自 https://mp.weixin.qq.com/s?__biz=MzI4Njg5MDA5NA==&mid=2247484306&idx=1&sn=a305e8e7da212c44c233a04ec328cdd2&chksm=ebd74293dca0cb856896abe4d729c15dc4c328699c543b7a60b8650d7c3ed52a418d7103ab13&scene=21###wechat_redirect 3.1什么是拆包粘包?为什么会出现? 在进行Java NIO学习时,可能会发现:如果客户端连续...
0
点赞
评论
收藏
分享
2019-08-14 17:03
已编辑
门头沟学院 Java
【Java多线程】并发工具之Semaphore
转载自 https://www.jianshu.com/p/0090341c6b80 前言 JDK的并发包中提供了几个非常有用的工具类,这些工具类给我们在业务开发过程中提供了一种并发流程控制的手段,本文会基于实际应用场景介绍如何使用Semaphore,以及内部实现机制。 Semaphore是什么 Semaphore也叫信号量,在JDK1.5被引入,可以用来控制同时访问特定资源的线程数量,通过协调各个线程,以保证合理的使用资源。 Semaphore内部维护了一组虚拟的许可,许可的数量可以通过构造函数的参数指定。 访...
0
点赞
评论
收藏
分享
2019-08-14 17:02
已编辑
门头沟学院 Java
【Java多线程】并发工具之CyclicBarrier
转载自 https://www.cnblogs.com/jinggod/p/8494193.html 前言 JDK中为了处理线程之间的同步问题,除了提供锁机制之外,还提供了几个非常有用的并发工具类:CountDownLatch、CyclicBarrier、Semphore、Exchanger、Phaser; CountDownLatch、CyclicBarrier、Semphore、Phaser 这四个工具类提供一种并发流程的控制手段;而Exchanger工具类则提供了在线程之间交换数据的一种手段。 简介 CyclicBarrier 的字面意思是可循环使用...
0
点赞
评论
收藏
分享
2019-08-14 16:34
门头沟学院 Java
【Java多线程】并发工具之CountDownLatch
转载自 https://www.cnblogs.com/jinggod/p/8492067.html 前言 JDK中为了处理线程之间的同步问题,除了提供锁机制之外,还提供了几个非常有用的并发工具类:CountDownLatch、CyclicBarrier、Semphore、Exchanger、Phaser; CountDownLatch、CyclicBarrier、Semphore、Phaser 这四个工具类提供一种并发流程的控制手段;而Exchanger工具类则提供了在线程之间交换数据的一种手段。 简介 CountDownLatch 允许一个或...
0
点赞
评论
收藏
分享
1
2
3
4
5
6
7
关注他的用户也关注了:
牛客网
牛客企业服务