自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

FanceFu的博客

希望自己可以做一个礼貌,勤奋的人

  • 博客(42)
  • 收藏
  • 关注

原创 层序遍历二叉树

利用队列记录每一层节点个数ArrayList<ArrayList<Integer>> Print(TreeNode pRoot) { ArrayList<ArrayList<Integer>> res = new ArrayList<>(); if (pRoot == null) { ...

2018-02-28 19:51:11 477

原创 非递归遍历二叉树

非递归前序遍历1.申请栈,将头节点压入栈2.从栈中弹出顶节点,保存值,若右子树不为空,压入右孩子.若左孩子不为空,压入左孩子3.重复2.直到栈为空public ArrayList<Integer> preOrderUnRecur(TreeNode root) { ArrayList<Integer> res = new ArrayList<>()...

2018-02-28 17:30:25 328

原创 shell脚本编程基础(二)----使用结构化命令

if-then 语句if commandthen commandsfi如果该命令退出状态码是0  则执行then部分另一种    :  if command ; then commandsfiif-then-elseif commandthen     commandselse    commandsfi 嵌套ifif command1then ...

2018-02-28 13:43:45 371

原创 shell脚本编程基础(一)----构建基本脚本

使用分号   ;  可以使用多个命令创建shell脚本文件文件第一行必须指定使用的shell#!/bin/bash#为 注释 shell 会通过PATH环境变量来查找命令引用当前目录下的文件  .操作符./test1     执行当前目录下的test1 脚本显示消息echo   输出字符串使用变量引用变量 前面加 $ 符命令替换shell 可以从命令输出中提取 信息 赋给变量1. 反引号``2.$...

2018-02-28 13:05:35 432

原创 Linux学习笔记(七)----使用vim编辑器

vim编辑器在内存缓冲区中处理数据vim   filenamevim 三个模式在指令列模式下,有以下命令用于离开或者存储文件。命令作用:w写入磁盘:w!当文件为只读时,强制写入磁盘。到底能不能写入,与用户对该文件的权限有关:q离开:q!强制离开不保存:wq写入磁盘后离开:wq!强制写入磁盘后离开键盘命令快捷键,让你告别鼠标 普通模式h    左移一个字符j     下移一行k    上移一行l  ...

2018-02-28 12:24:12 335

原创 Linux学习笔记(六)----安装软件程序

本文就基于Red Hat 的系统包管理基础软件包存储在服务器上,可以利用本地PMS工具通过互联网访问包管理工具RPM 和 DPKG 为最常见的两类软件包管理工具。RPM 全称为 Redhat Package Manager,最早由 Red Hat 公司制定实施,随后被 GNU 开源操作系统接受并成为很多 Linux 系统 (RHEL) 的既定软件标准。与 RPM 进行竞争的是基于 Debian 操...

2018-02-28 11:02:58 311

原创 Linux学习笔记(五)----理解Linux文件权限

Linux允许用户和组根据每个文件和目录的安全性来访问文件Linux的安全性Linux安全系统的核心是用户账户;用户权限根据每个用户的UserID 跟踪添加新用户useradd       (默认值设置在/etc/default/useradd  文件中)   -D  参数可以查看 这些默认值useradd   默认不会创建HOME目录    加 -m  即可删除用户userdel   只会删除/...

2018-02-28 10:32:25 476

原创 Linux学习笔记(四)----使用Linux环境变量

环境变量存储有关shell会话和工作环境的信息(分为全局变量和局部变量)全局变量对于shell会话和所有生成的子shell都是可见的.查看全局变量. env 或 printenv 命令引用变量需要在前面加上美元符  $局部变量只在定义他们的进程中可见set 命令会显示为某个特定进程设置的所有变量(按字母顺序排列)设置用户定义变量例子:   my_var="hello world"    变量值中间...

2018-02-24 15:44:21 389

转载 剑指 offer 题解(超赞!!!)

我是技术搬运工,好东西当然要和大家分享啦.原文地址第二章 面试需要的基础知识2. 实现 Singleton经典实现以下实现中,私有静态变量被延迟化实例化,这样做的好处是,如果没有用到该类,那么就不会创建该私有静态变量,从而节约资源。这个实现在多线程环境下是不安全的,因为多个线程能够同时进入 if(uniqueInstance == null) 内的语句块,那么就会多次实例化 uniqueInsta...

2018-02-23 21:33:59 1230

转载 Leetcode题解(超赞!!!)

我是技术搬运工,好东西当然要和大家分享啦.原文地址算法思想二分查找二分查找思想简单,但是在实现时有一些需要注意的细节:在计算 mid 时不能使用 mid = (l + h) / 2 这种方式,因为 l + h 可能会导致加法溢出,应该使用 mid = l + (h - l) / 2。对 h 的赋值和循环条件有关,当循环条件为 l <= h 时,h = mid - 1;当循环条件为 l &lt...

2018-02-23 21:31:56 19708

转载 计算机网络学习总结(超赞!!!)

我是技术搬运工,好东西当然要和大家分享啦.原文地址第一章 概述网络的网络网络把主机连接起来,而互联网是把多种不同的网络连接起来,因此互联网是网络的网络。ISP互联网服务提供商 ISP 可以从互联网管理机构获得许多 IP 地址,同时拥有通信线路以及路由器等联网设备,个人或机构向 ISP 缴纳一定的费用就可以接入互联网。目前的互联网是一种多层次 ISP 结构,ISP 根据覆盖面积的大小分为主干 ISP...

2018-02-23 21:28:35 87555 19

转载 图解 HTTP学习总结(超赞!!!)

我是技术搬运工,好东西当然要和大家分享啦.原文地址基础概念Web基础HTTP(HyperText Transfer Protocol,超为本传输协议)。WWW(Word Wide Web)的三种技术:HTML、HTTP、URL。RFC(Request for Comments,征求修正意见书),互联网的设计文档。URLURI(Uniform Resource Indentifier,统一资源标识符...

2018-02-23 21:25:08 681

转载 操作系统学习总结(超赞!!!)

我是技术搬运工,好东西当然要和大家分享啦.原文地址操作系统基本特征1. 并发并发性是指宏观上在一段时间内能同时运行多个程序,而并行性则指同一时刻能运行多个指令。并行需要硬件支持,如多流水线或者多处理器。操作系统通过引入进程和线程,使得程序能够并发运行。2. 共享共享是指系统中的资源可以供多个并发的进程共同使用。有两种共享方式:互斥共享和同时共享。互斥共享的资源称为临界资源,例如打印机等,在同一时间...

2018-02-23 21:21:50 43239 7

转载 设计模式学习总结(超赞!!!)

我是技术搬运工,好东西当然要和大家分享啦.原文地址第 1 章 设计模式入门1. 设计模式概念设计模式不是代码,而是解决问题的方案,学习现有的设计模式可以做到经验复用。拥有设计模式词汇,在沟通时就能用更少的词汇来讨论,并且不需要了解底层细节。2. 问题描述设计不同种类的鸭子拥有不同的叫声和飞行方式。3. 简单实现方案使用继承的解决方案如下,这种方案代码无法复用,如果两个鸭子类拥有同样的飞行方式,就有...

2018-02-23 21:16:47 2133

转载 面向对象思想学习总结(超赞!!!)

我是技术搬运工,好东西当然要和大家分享啦.原文地址S.O.L.I.DS.O.L.I.D是面向对象设计和编程(OOD&OOP)中几个重要编码原则(Programming Priciple)的首字母缩写。简写全拼中文翻译SRPThe Single Responsibility Principle单一责任原则OCPThe Open Closed Principle开放封闭原则LSPThe Lis...

2018-02-23 21:12:32 625

转载 java容器学习总结(超赞!!!)

我是技术搬运工,好东西当然要和大家分享啦.原文地址概览容器主要包括 Collection 和 Map 两种,Collection 又包含了 List、Set 以及 Queue。1. ListArrayList:基于动态数组实现,支持随机访问;LinkedList:基于双向循环链表实现,只能顺序访问,但是可以快速地在链表中间插入和删除元素。不仅如此,LinkedList 还可以用作栈、队列和双端队列...

2018-02-23 21:10:15 1785

转载 java的I/O学习总结(超赞!!!)

 我是技术搬运工,好东西当然要和大家分享啦.原文地址 概览Java 的 I/O 大概可以分成以下几类磁盘操作:File字节操作:InputStream 和 OutputStream字符操作:Reader 和 Writer对象操作:Serializable网络操作:Socket非阻塞式 IO:NIO磁盘操作File 类可以用于表示文件和目录,但是它只用于表示文件的信息,而不表示文件的内容。字节操作J...

2018-02-23 21:08:51 366

转载 重构学习总结(超赞!!!)

我是技术搬运工,好东西当然要和大家分享啦.原文地址第一章 第一个案例如果你发现自己需要为程序添加一个特性,而代码结构使你无法很方便地达成目的,那就先重构这个程序。在重构前,需要先构建好可靠的测试环境,确保安全地重构。重构是以微小的步伐修改程序,如果犯下错误,很容易便可以发现它。案例分析影片出租店应用程序,包括三个类:Movie、Rental 和 Customer,Rental 包含租赁的 Movi...

2018-02-23 21:06:03 4410

转载 编写可读代码的艺术学习总结(超赞!!!)

我是技术搬运工,好东西当然要和大家分享啦.原文地址第 1 章 可读性的重要性编程有很大一部分时间是在阅读代码,不仅要阅读自己的代码,而且要阅读别人的代码。因此,可读性良好的代码能够大大提高编程效率。可读性良好的代码往往会让代码架构更好,因为程序员更愿意去修改这部分代码,而且也更容易修改。只有在核心领域为了效率才可以放弃可读性,否则可读性是第一位。第 2 章 用名字表达代码含义一些比较有表达力的单词...

2018-02-23 21:02:09 2541

转载 高性能 MySQL学习总结(超赞!!!)

我是技术搬运工,好东西当然要和大家分享啦.原文地址存储引擎1. InnoDBInnoDB 是 MySQL 的默认事务型引擎,只有在需要 InnoDB 不支持的特性时,才考虑使用其它存储引擎。采用 MVCC 来支持高并发,并且实现了四个标准的隔离级别,默认级别是可重复读。表是基于聚簇索引建立的,它对主键的查询性能有很高的提升。内部做了很多优化,包括从磁盘读取数据时采用的可预测性读,能够自动在内存中创...

2018-02-23 20:57:44 1796

转载 SQL 必知必会学习总结(超赞!!!)

我是技术搬运工,好东西当然要和大家分享啦.原文地址 基础模式:定义了数据如何存储、存储什么样的数据以及数据如何分解等信息,数据库和表都有模式。主键的值不允许修改,也不允许复用(不能使用已经删除的主键值赋给新数据行的主键)。SQL(Structured Query Language),标准 SQL 由 ANSI 标准委员会管理,从而称为 ANSI SQL,各个 DBMS 都有自己的实现,如 PL/S...

2018-02-23 20:54:39 6267

转载 算法 第四版学习总结(超赞!!!)

我是技术搬运工,好东西当然要和大家分享啦.原文地址第一章 基础栈数组实现public class ResizeArrayStack<Item> implements Iterable<Item> { private Item[] a = (Item[]) new Object[1]; private int N = 0; public void p...

2018-02-23 20:50:29 13088 2

转载 鸟哥的 Linux 私房菜学习总结(超赞!!!)

我是技术搬运工,好东西当然要和大家分享啦.原文地址常用操作以及概念求助1. --help指令的基本用法与选项介绍。2. manman 是 manual 的缩写,将指令的具体信息显示出来。当执行 man date 时,有 DATE(1) 出现,其中的数字代表指令的类型,常用的数字及其类型如下:代号类型1用户在 shell 环境中可以操作的指令或者可执行文件5配置文件8系统管理员可以使用的管理指令3....

2018-02-23 20:46:10 19234 1

转载 深入理解java虚拟机学习总结(超赞!!!)

我是技术搬运工,好东西当然要和大家分享啦.原文地址内存模型注:白色区域为线程私有的,蓝色区域为线程共享的。1. 程序计数器记录正在执行的虚拟机字节码指令的地址(如果正在执行的是 Native 方法则为空)。2. Java 虚拟机栈每个 Java 方法在执行的同时会创建一个栈帧用于存储局部变量表、操作数栈、动态链接、方法出口等信息。每一个方法从调用直至执行完成的过程,就对应着一个栈帧在 Ja...

2018-02-23 20:38:37 3076

原创 Linux学习笔记(三)----理解shell

shell 的父子关系在终端仿真器中 输入等效的bash命令时会创建一个新的 子shellbash shell 在运行的时候就是一个进程ps  -- forest 命令  可以列出 shell 嵌套结构进程列表可以在一行中依次运行一系列命令,只要在命令中间加上  分号(;)命令列表想要成为进程列表  要将命令包含在 括号中  另一种命令分组语法: {   command;   }并不会创建子she...

2018-02-22 14:15:37 350

原创 Linux学习笔记(二)----更多bash shell命令

探查进程ps 命令会显示当前控制台下属于当前用户的进程- ef    查看运行的所有进程    ( -e   显示所有运行进程,   -f   扩展了输出 ) l  采用长模式输出ps  只能显示特定时间点的信息;  top 命令可以实时显示top 命令 在启动时按%cpu  排序 结束进程进程之间通过信号通信Kill  命令可 通过进程ID  向进程发送 TEMP 信号 (尽可能终止)killa...

2018-02-21 14:00:14 287

原创 排序算法总结(精简详细)

// 插入排序:顺序地把待排序的数据按关键字大小插入到已排序的子集合的适当位置// 插入排序对于部分有序数组和小规模数组特别高效void insertSort(int[] A, int n) { for (int i = 1; i < n; i++) { int tmp = A[i]; int j = i; ...

2018-02-20 23:58:37 333

原创 Linux学习笔记(一)----基本bash shell命令

默认bash shell提示符是美元符号($)bash手册 在想要查找的工具名称前面输入man命令(空格进行翻页;回车键逐行查看;箭头键滚动手册内容)man man 可以查看手册页相关的手册页关键字搜索手册页语法:man -k 关键字查看所需要的页面语法 :  man    section     topic  info也是参考资料大多数命令都可以接受 --help选项浏览文件系统Linux在路径...

2018-02-20 19:07:29 304

原创 Linux下安装配置Git

以centos6.8为例获取git-v2.8.0.tar.gz包安装git依赖sudo yum -y install zlib-devel openssl-devel cpio expat-devel  gettext-devel curl-devel perl-ExtUtils-CBuilder perl-ExtUtils-  MakeMaker解压git-v2.8.0.tar.gz包sudo ...

2018-02-17 20:49:58 904

原创 Linux下安装Mysql

以centos6.8 为例查看是否安装了mysqlsudo rpm -qa | grep mysql-server安装mysqlsudo yum -y install mysql-server最后出现以下内容说明安装成功Installed:mysql-server.x86_64 0:5.1.73-8.el6_8Dependency Installed:mysql.x86_64 0:5.1.73-8...

2018-02-17 20:22:53 184

原创 java8实战之Lambda表达式笔记

Lambda表达式可以理解为一种匿名函数;没有名称,有参数列表、函数主题、返回类型,可能还有一个可以抛出的异常列表Lambda表达式3个部分:参数列表;箭头;主体在哪里使用:在函数式接口上使用函数式接口:接口只定义了一个抽象方法;Lambda表达式允许直接以内联的形式作为函数式接口的抽象方法的提供,并把整个表达式作为接口的实例@FunctionalInterface 表示该接口会设计成一个函数式接...

2018-02-17 11:08:06 316

原创 Git学习笔记

本篇为学习Git总结的笔记,学习于廖雪峰的教程.初始化一个Git仓库,使用git init命令。添加文件到Git仓库,分两步:第一步,使用命令git add ,注意,可反复多次使用,添加多个文件;第二步,使用命令git commit,完成。要随时掌握工作区的状态,使用git status命令。如果git status告诉你有文件被修改过,用git diff可以查看修改内容。HEAD指向的版本就是当...

2018-02-17 11:01:47 268

原创 《effective java》条目总结

清晰性和简洁性最重要模块尽可能小重用代码模块间依赖性尽可能小错误尽早被检测出来二.创建和销毁对象1.考虑用静态工厂方法代替构造器(服务提供者框架)2.遇到多个构造参数时考虑用构造器(建造者模式)3.用私有构造器或者枚举类型强化单例属性4.通过私有构造器强化不可实例化能力5.避免创建不必要的对象(优先使用基本类型,当心无意识的自动装箱)6.消除过期对象的引用(类是自己管理内存时,要小心。2.缓存3....

2018-02-17 10:44:57 407

原创 awk快速指南

gawk是awk的GNU版本,采用编程语言的形式gawk命令格式 gawk options program file选项-F fs 指定用于分隔行中数据段的文件分隔符-f file 读取程序文件名-v var=value 定义变量及默认值-mf N 指定处理数据文件中最大字段数-mr N 指定数据文件最大记录数-w keyword 指定兼容模式或警告等级使用gawk可以直接在命令行或shell脚本...

2018-02-12 15:28:28 332

原创 sed编辑器快速指南

sed编辑器可以基于命令来操作数据流中的额数据,然后生成新的数据输出到STDOUT启动sed编辑器    sed options script filesed命令选项    -e script 将script中指定命令添加到处理输入时运行命令中    -f file 将file文件中的命令添加到处理输入时运行命令中    -n 不要为每条命令产生输出,会等待打印命令替换    s/patter/r...

2018-02-12 14:59:51 277

原创 Linux常用命令汇总之bash命令

bzip2    压缩文件cat    列出文件的内容chage    修改指定系统用户账户的密码过期日期chfn    修改指定系统用户账户的备注信息chgrp    修改指定文件或目录的默认属组chmod    为指定文件或目录修改权限chown    修改指定文件或目录的默认属主chpasswd    读取一个包含登录名/密码的文件并更新密码chsh    修改指定用户账户的默认shellc...

2018-02-12 14:35:21 380

原创 Linux常用命令汇总之内建命令

:    扩展参数列表,执行重定向操作.    读取并执行指定文件中的命令(在当前shell环境中)alias    为指定命令定义别名bg    将作业以后台模式运行bind    将键盘序列绑定到一个readline函数或宏break    退出builtin    执行指定的shell内建命令caller    返回活动子函数调用的上下文cd    将当前目录切换为指定的目录command ...

2018-02-12 14:02:25 345

原创 Linux下安装nginx与配置

以centos6.8为例1.获取linux-nginx-1.10.2.tar.gz文件2.nginx安装依赖命令yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel3.解压sudo tar -zxvf linux-nginx-1.10.2.tar.gz4.安装cd nginx-1.10.2/sudo ./config...

2018-02-09 17:40:29 273 1

原创 Linux下安装maven与配置

以centos6.8安装maven3.0.5为例1.获取apache-maven-3.0.5-bin.tar.gz文件2.解压sudo tar -zxvf apache-maven-3.0.5-bin.tar.gz3.配置环境变量export MAVEN_HOME=/developer/apache-maven-3.0.5 在PATH环境变量后面增加$ MAVEN_HOME/bin4.测试启动mv...

2018-02-09 16:59:22 194

原创 Linux下安装tomcat与配置

以centos6.8安装tomcat7为例1.获取apache-tomcat-7.0.73.tar.gz文件2.解压sudo tar -zxvf apache-tomcat-7.0.73.tar.gz3.编辑server.xml将字符集配置成UTF-8cd apache-tomcat-7.0.73/sudo vim conf/server.xml 找到此节点,新增斜体部分<Connector...

2018-02-09 16:32:54 250

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除