- 博客(45)
- 收藏
- 关注
原创 每天一个linux命令(4):mkdir命令
linux mkdir 命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录。1.命令格式: mkdir [选项] 目录...2.命令功能: 通过 mkdir 命令可以实现在指定位置创建以 DirName(指定的文件名)命名的文件夹或目录。要创建文件夹或目录的用户必须对所创建的文件夹的父文件夹具有写...
2018-07-12 19:10:49
255
原创 Valid Palindrome(验证回文串)
最近没有怎么写博客,大概是有点贪玩吧,不过每天也有在刷题额,比较欣慰的是确实有感觉自己的算法水平有了一定的提升,LeetCode平台大多AC率百分之三四十的题目都可以自己解决啦,所以你们也得加油哦,下面给大家分享一下博主感觉还不错的题目: 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明:本题中,我们将空字符串定义为有效的...
2018-07-11 23:25:15
317
原创 每天一个linux命令(3):pwd命令
Linux中用 pwd 命令来查看”当前工作目录“的完整路径。 简单得说,每当你在终端进行操作时,你都会有一个当前工作目录。在不太确定当前位置时,就会使用pwd来判定当前目录在文件系统内的确切位置。1.命令格式: pwd [选项]2.命令功能: 查看”当前工作目录“的完整路径3.常用参数: 一般情况下不带任何参数 如果目录是链接时: ...
2018-07-11 22:50:24
356
原创 每天一个linux命令(2):cd命令
Linux cd 命令可以说是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用 cd 命令上的,所以,学习Linux常用命令,首先就要学好 cd 命令的使用方法技巧。1. 命令格式: cd [目录名]2. 命令功能: 切换当前目录至dirName3. 常用范例例一:进入系统根目录命令: cd /输出: [root@localhost...
2018-07-08 20:31:15
247
原创 每天一个linux命令(1):ls命令
ls命令是linux下最常用的命令。ls命令就是list的缩写,缺省下ls用来打印出当前目录的清单,如果ls指定其他目录,那么就会显示指定目录里的文件及文件夹清单。 通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限),查看目录信息等等。ls 命令在日常的linux操作中用的很多!1. 命令格式:ls [选项] [目录名]2. 命令...
2018-07-07 21:01:06
252
1
原创 LeetCode 二叉树的最大深度及直径
今天温习了过去解决的一些题目,发现关于二叉树的问题还是蛮有意思的,因为它们有着很多的共同点,而且多是通过递归思维解决,因此也有助于我们的逻辑能力的提升,下面给大家分享两道比较类似的二叉树问题~ 给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,1...
2018-06-24 22:11:40
2023
1
原创 MAC地址及ARP协议的深入理解
今天网络协议部分的阅读搞得自己有点头疼,所以借用一篇博文来巩固学习~ MAC地址:MAC(Media Access Control或者Medium Access Control)地址,意译为媒体访问控制,或称为物理地址、硬件地址,用来定义网络设备的位置。在OSI模型中,第三层网络层负责IP地址,第二层数据链路层则负责 MAC地址。因此一个主机会有一个MAC地址,而每个网络...
2018-06-23 22:14:58
3460
原创 LeetCode 第二高的薪水(SecondHighestSalary )
前段时间通过LeetCode平台学习了很长时间的数据结构和算法,记性不好准备复习一下来着结果把密码给忘了,略坑的是当时注册这个平台的时候没有使用手机号或邮箱,想着忘记密码都是徒劳额,也是阴差阳错,正好在探索的过程中发现了LeetCode新推出的中文版,于是乎重新注册了一个账号顺便复习一手,刚好新推出的中文平台讨论区没有开放,免得自己总是想跑到社区膜拜大佬,对自己的帮助会更大,所以今天...
2018-06-21 17:42:01
309
原创 深入理解ajax
最近看的前端的内容比较多,今天来和大家分享一下ajax的相关知识吧~ 首先介绍一下ajax到底是什么, 它是Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)的英文缩写。ajax 不是新的编程语言,而是一种使用现有标准的新方法。ajax最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内...
2018-06-20 17:14:06
307
原创 spring boot控制层controller详解
Controller的使用@Controller处理http请求@RestControllerSpring4之后新加的注解,原来返回json需要@ResponseBody配合@Controller@RequestMapping配置url映射项目前后台交互的话 无非两种方式一种普通整体页面提交,比如form提交;还有一种局部刷新,或者叫做异步刷新,ajax提交;@Controller就是整体页面刷新...
2018-06-20 13:41:08
17312
2
原创 深入理解activiti并行网关
有一段时间没有更新博文了,因为最近一直在写项目,没有太多的时间练习数据结构和算法,所以今天呢我和大家分享一下最近在项目中总结的一个比较重要的应用-activiti并行网关,如果我们经常开发的是一些管理系统,呢么可能activiti对你来说还有点陌生,但不可否认在基于业务流程的一些项目中activiti扮演的角色已是相当重要啦,所以还是建议大家还是花费一定的时间学习一下activiti...
2018-06-06 23:32:32
4826
5
原创 多种单例模式的解
在前段时间集中练习了较长时间有关数据结构的相关问题,积累了一定的算法思想。大概有一周左右的样子没有更新博文了,今天先不和大家分享算法题目啦,在JavaEE互联网框架一书中第二章讲到了设计模式,但恰巧书中讲了很多种设计模式,唯独没有单列模式的讲解,大概是默认比较简单所以没有讲解吧,所以由此引发了一个比较严重的问题,面试中单例模式可能越发容易被人忽略了,也因此单例模式也就变成了面试的重灾...
2018-05-14 17:49:41
176
原创 LeetCode Implement strStr()(字符串中第一次出现给定字符串的位置)(大海捞针)
呃呃,今天被LeetCode中的一道题搞得挺头大的,我翻译了一下还挺有意思的,也就是大海捞针,乍一看觉着这道题贼简单,实质上就是让你实现一个类似于Java中indexOf()这样的一个函数,搞不懂这道题AC的人为什么只有百分之二十多呢么少,但当自己试图去实现题目要求时才发现这道题没有想象中呢么简单啊,真真硬是磨了一个半小时才AC掉,还是很菜额自己,下面是题目与相关测试用例.........
2018-05-02 22:16:54
343
原创 LeetCode Implement Stack using Queues and Implement Queue using Stacks(通过队列实现栈及通过栈实现队列)
今天有在剑指offer一书中看一些算法题,结果早上看了剑指offer下午在LeetCode中做题时就碰到了相同的题目,而且觉着这个问题的解决对我们还是有很大帮助的,所以有必要跟大家分享一下哈~通过队列实现栈:Implement the following operations of a stack using queues.push(x) -- Push element x onto...
2018-05-01 23:48:49
171
原创 LeetCode Happy Number(快乐数)
在每天枯燥的算法练习中我们应该保持怎样的心情呢,当然是快乐哈,那么今天给大家介绍一下什么是快乐数(还是算法、哈哈)~Write an algorithm to determine if a number is "happy".A happy number is a number defined by the following process: Starting with any p...
2018-04-30 22:25:07
647
原创 LeetCode House Robber(打劫房屋)
有两天没有更新博文了,不知道大家有没有在保持做题呢,这里我给大家分享一道我今天做的比较有意思的一个题,下面是题目描述:You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constr...
2018-04-30 21:58:09
189
原创 LeetCode Can Place Flowers(种花问题)
这两天一直有面试,所以没来得及更新博客,但也有一直保持做题,其实只要养成了一定的习惯,可能哪一天不AC几道题都会觉着少点什么,所以编程能力自然而然也会有很大的提升,今天和大家分享一道比较有意思的题,这里我把它称为种花问题,下面是LeetCode中的题目描述:Suppose you have a long flowerbed in which some of the plots are...
2018-04-26 22:26:27
444
原创 LeetCode Search in Rotated Sorted Array(旋转有序数组的查找)
今天和大家分享一道比较有意思的题,分析这道题有什么目的呢,没错~就是希望大家可以灵活运用自己所学知识解决问题,看一下这道题的二分查找还是你熟悉的二分查找么,当然是啦,大家不要被题目所迷惑哈~Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand.(i.e...
2018-04-24 21:51:33
229
原创 LeetCode Convert Sorted Array to Binary Search Tree(有序数组转换为二叉查找树)
这两天都有参加笔试,感触很深的就是觉着每天保持练习一些算法题对自己是很有益处的,首先编程题不至于没有思想,中等难度的题目思考一会也基本上可以搞定,更重要的是基础知识也得到了一定的巩固,要知道算法在不仅会体现在笔试里,在面试中也会是一些面试官考察应聘者编程能力的重要方式,所以希望大家也可以每天练习一定量的相关题目来培养及优化自己的解题思想,贵在坚持哦~ 今天来跟大家分享一道...
2018-04-23 22:51:11
174
原创 Java后端开发面经(腾讯、阿里)
在前面几篇博文中我也有提到个别在面试中遇到的问题,查看面经也是一种很不错的学习方式,因此今天就跟大家全面地分享一下在腾讯和阿里面试中遇到了哪些问题,然面试问题涵盖的面太大,很难依次进行分析解决,不过我会对这些问题囊括的知识点加以说明,所以希望大家都可以通过自己查询资料等方式解决不懂的问题哦~ 阿里巴巴面试: 1.给定存有n个数的数组,找出数组中最小的k个数。(...
2018-04-21 22:37:46
4773
原创 多线程死锁相关问题
在最近阿里的面试中被问到了线程死锁的问题,然而回答的并不是很好,之前一直觉着线程死锁是比较简单的问题,但在面试中却恍然失措,不知道怎样用专业术语去表达且描述的也不够完善,因此借这篇博文我也顺便复习一些操作系统基础知识及Java多线程死锁相关问题。首先,我们来了解一下死锁的定义~ 死锁:多线程以及多进程改善了系统资源的利用率并提高了系统 的处理能力。然而并发执行也带来了新的...
2018-04-21 05:49:16
574
1
原创 数据库索引的应用与底层实现
关于数据库索引,它的重要性体现在了方方面面,因此也不约而同的成为了面试中的一大要点。在我近期的腾讯、阿里巴巴面试中数据库索引也确实占据了一些分量,下午去腾讯现场面,还没来得及去看自己不懂的问题,晚上阿里的电话就接踵而至,所以说我们必须掌握熟悉一些常见的以及面试中的热点问题,那么今天我就和大家一起来探索数据库索引的奥秘哈~ 本文以MySQL数据库为例,讨论与数据库索引相关的...
2018-04-21 02:00:48
8268
3
原创 LeetCode Minimum Distance Between BST Nodes(BST结点间最小差值)
关于二叉树的问题确实很多,诸如路径、距离与修改结点值等,前两天做了这样一个题目,觉着延伸性很大,所以和大家分享一下,首先我们来看到一些题目~Given a Binary Search Tree (BST) with the root node root, return the minimum difference between the values of any two diffe...
2018-04-20 18:34:16
223
原创 LeetCode pow(x, n)(数值的整数次方)
最近在做LeetCode里面的题目时也看到了一些有意思的题,比如数值的整数次方,听起来是不是很简单,然而作为面试中的一道热门题目,能达到面试官要求的却少之又少,下面我们来一起探讨一下~Implement pow(x, n), which calculates x raised to the power n (xn).Example 1:Input: 2.00000, 10Outpu...
2018-04-20 17:35:51
1563
原创 从数组中找出最小的k个数
这两天因为一直有面试,所以没有更新博客,不过每天还是会保持做几道算法题,但时间问题没能和大家交流,今天我会多分享一些知识希望对大家能有所帮助。那么在这篇博文中我就来和大家深入探讨一下怎样从数组中找出最小的k个数吧,这是阿里一面的时候问我的一道算法题,后来又翻了一下书发现是剑指offer上的原题,但当时候因为电面答的也不是很好,有点懊悔呃呃~刚听到这道题的时候,想了想直接排序然后查找就...
2018-04-20 16:30:39
7564
1
原创 计算机网络面试问题总结
作为一名Java后台开发工程师,计算机网络知识是我们必须要去了解的,面试中也会经常被问到,所以在网络方面算是小白的我,借着这篇博文和大家一起来学习了解一下~1.TCP和UDP有什么区别? TCP是传输控制协议,提供的是面向连接、可靠的字节流服务。通信双方彼此交换数据前,必须先通过三次握手协议建立连接,之后才能传输数据。TCP提供超时重传,丢弃重复数据,检验数据,流量控制等...
2018-04-15 22:40:29
743
原创 lock锁的底层实现
上一篇博文中我大致讲解了一下lock锁与sychronized的区别及它们各自的应用优劣,那么是什么造成它们各自应用上的偏向呢,这当然取决于它们的底层实现,所以今天我们就先来看一下lock锁的底层原理吧,因为lock锁的底层实现这块内容比较多,所以sychronized我会再写一篇博文和大家分享~ Lock锁通过Java编写,与JVM实现无关。 在J.U.C....
2018-04-15 18:02:42
2859
原创 sychronized与lock锁的区别
相信经历了春招的同学对sychronized与lock应该不会陌生了吧,在面试过程中被问及sychronized与lock锁相关的问题已经算是很常规了,确实作为一个Java开发工程师,了解应用高并发是不可避免的,而高并发则无疑是基于多线程的,至于多线程,与之密切相关的则必然是锁了。正因为锁相关问题在面试与日常学习中的重要性,所以今天就和大家一起来分享一下多线程中关于锁的问题吧~ ...
2018-04-14 22:27:44
2329
原创 HashMap的实现原理
在上一篇博文中我跟大家介绍了一下线程池的相关知识,今天呢,我们来一块探讨一下面试中的最最重要的的知识吧,作为一个Java后台开发工程师,HashMap是面试中不可逃避的问题,它几乎会在你的每一场面试中出现,而且面试官的要求则不仅限于你知道它或者会使用它,它的底层实现往往是面试官更为感兴趣的,当然我们学习Java,也理所应当的应该深入理解HashMap这个不能再重要的模块,了解Hash...
2018-04-13 14:27:23
186
原创 LeetCode SameTree及二叉树的遍历
最近做了一些关于二叉树的算法题目,在这里我给大家分享一个比较简单的问题:判断两个二叉树是否相同~Given two binary trees, write a function to check if they are the same or not.Two binary trees are considered the same if they are structurally identica...
2018-04-12 21:45:28
197
原创 ThreadPoolExecutor线程池的深入理解
最近实验室很多同学也在开始内推和网申,也有很多同学已经开始面试了,至于线程池嘛,一直以来都是面试的重灾区,明明知道会被问道,但好多同学依然不能给予面试官满意的答案,所以在此我跟大家分享一下至关重要的线程池相关问题吧,希望大家都能够深入的理解掌握线程池这一重要的知识点吧~一、首先我们要知道究竟线程池是何方神物呢? 线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程...
2018-04-12 21:00:14
709
原创 LeetCode Relative Ranks
今天做了大概四五道题,但觉着这道题是最值得分享的吧,Relative Ranks意思是相对排名问题,下面是题目具体内容,大家可以通过翻译试着做一下:Given scores of N athletes, find their relative ranks and the people with the top three highest scores, who will be awa...
2018-04-11 23:05:12
165
原创 LeetCode Reverse Integer(整数翻转)
在上一篇博客中我讲了怎样去翻转一个单链表,这里介绍一下怎样去翻转一个整数,看似翻转整数要比翻转链表简单很多,其实确实要简单一些哈,不过可能考虑的情况就会更多一些,下面是题目要求:Reverse IntegerGiven a 32-bit signed integer, reverse digits of an integer.Example 1:Input: 123Output: ...
2018-04-10 16:44:45
172
原创 Spring框架学习总结
1.依赖注入的三种方式:构造器注入、setter注入、接口注入(通过JNDI获取Tomcat启动的数据库连接池)2.装配Bean:在XML中显式配置、在Java的接口和类中实现配置、隐式Bean的发现机制和自动装配原则,引入相应XML定义.装配简易值、装配集合3.spring提供了对应的命名空间的定义,只是在使用命名空间的时候要先引入对应的命名空间和XML模式(XSD)文件4.在使用XML定义时,...
2018-04-10 13:59:22
323
原创 LeetCode Reverse Linked List翻转链表
Reverse a singly linked list. 题目只有一句话,刚看到这道题时觉着没有什么难度,通过集合类LinkedList提供的一些方法先遍历再进行反向插入就好了,然看到题目给出的方法才知道它是不能使用集合类的,只能通过自定义的链表实现翻转。然后就有点懵了,可能是自己链表、指针方面的知识有点薄弱吧,想了好久没有思路,去网上查了查资料,觉着这道题真心不错,至少可以巩固扎实...
2018-04-10 13:23:47
130
原创 LeetCode AddBinary
因为要开始找工作了,发现自己算法方面有很大的不足,所以从今天开始准备日更一篇博客给大家分享一下我的学习算法的过程吧,剑指offer没有怎么看,同学都说挺好的,大家可以头铁尝试一下哈哈,我呢,是使用了LeetCode测验平台,挺好的一个测试平台,支持多种语言编写程序,唯一比较苦逼的是全英文,它是国外的一个OJ平台,为此只能寄托于翻译了,顺便提高一下自己的英文水平嘛,总之题好是真心的、质...
2018-04-09 21:36:19
134
原创 AVL树实现
看了很长时间关于树的知识、今天自己尝试写一个二叉平衡树,个别代码稍微参考了一下,大部分是自己编写完成的。自己动手写的最大感受就是算法想起来比较简单,然实现起来还挺复杂的吧,还有,AVL树的插入和删除真不是一个级别的,本来想着应该类似的差不多,结果发现差好多啊,插入差不多半小时就写完了,删除用了一天、蓝瘦香菇......package com.gaoxue.LeetCode;pub...
2018-04-09 20:33:34
166
原创 Java后台实习面经
前段时间在去西安交通大学参加了链家宣讲会,并且完成了现场笔试,大概过了三四天接到了面试通知,然后提前恶补了一下算法,哎,然后就凉凉了下面是我大概回忆的面试问题,时间复杂度直接怼死,进去面试前半个小时还正好看了一下时间复杂度,然而并没有看到点上1.static修饰的变量特点2.静态内部类与动态内部类的区别3.HashMap与TreeMap的时间复杂度4.红黑树的时间复杂度5.红黑树的底层实现6.Ha...
2018-04-08 22:40:20
641
原创 MyBatis框架学习总结
经过了大约四个月的框架学习,我基本掌握了SSM框架的大致应用,也实践了一些项目。以下是我在阅读Java EE互联网轻量级框架整合开发一书中做的笔记(MyBatis框架重点),Sping与SpringMVC的学习笔记我会在以后陆续发布1.当创建结果集时,MyBatis会使用一个对象工厂来完成创建这个结果集实例。2.在默认的情况下,MyBatis会使用其定义的对象工厂————DefaultObject...
2018-04-08 22:23:08
444
原创 ConcurrentHashMap实现本地缓存
ConcurrentHashMap的本地缓存实现:与Guava cache相比,ConcurrentHashMap需要自己显式的删除缓存import java.util.concurrent.ConcurrentHashMap;public class ConcurrentHashMapTest { private static ConcurrentHashMap<...
2018-04-07 19:22:59
2956
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人