09 2018 档案

摘要:1.万维网WWW 万维网WWW(World Wide Web)是一个大规模的、联机式的信息储藏所,英文简称Web。 万维网用链接的方法能非常方便地从互联网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息。 万维网是一个分布式的超媒体系统,它是超文本系统的补充。超文本是指抱恨指向其他文档的链接 阅读全文
posted @ 2018-09-30 15:08 BigJunOba 阅读(2933) 评论(0) 推荐(1)
摘要:TCP是面向连接的传输层协议。即应用程序在使用TCP协议之前,必须先建立TCP连接。在传送数据完毕后,必须释放已经建立的TCP连接。 每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的。 TCP提供可靠交付的服务。通过TCP连接传送的数据,无差错、不丢失、不重复并且按序到达。 TCP提供 阅读全文
posted @ 2018-09-30 11:37 BigJunOba 阅读(779) 评论(0) 推荐(1)
摘要:一、构建基本脚本 1.使用美元符$可以引用一个变量,将命令输出赋给变量有两种方法,testing = `date`或者testing = $(date) 2.使用大于号(>)将命令的输出发送到一个文件中,例如:date > test6,可以创建一个文件test6,并将date命令的输出重定向到该文件 阅读全文
posted @ 2018-09-27 17:27 BigJunOba 阅读(234) 评论(0) 推荐(0)
摘要:1.内核主要负责一下四种功能:系统内存管理、软件程序管理、硬件设备管理和文件系统管理 2. /etc/passwd文件包含了所有系统用户账户列表以及每个用户的基本配置信息。 3.man命令用来访问存储在Linux系统上的手册页面。例如:man + 命令,使用“:q”退出 4.pwd显示当前目录 5. 阅读全文
posted @ 2018-09-27 17:22 BigJunOba 阅读(234) 评论(0) 推荐(0)
摘要:Apache2的安装 1.执行:sudo apt-get install apache2。 2.sudo vim /etc/apache2/apache2.conf在最后加上:ServerName localhost。 3.sudo /etc/init.d/apache2 start启动apache 阅读全文
posted @ 2018-09-25 21:52 BigJunOba 阅读(422) 评论(0) 推荐(0)
摘要:一、早期(编译器)优化 1.编译期 Java 语言的 “编译期” 其实是一段 “不确定” 的操作过程,因为它可能是指 一个前端编译器(其实叫 “编译器的前端” 更准确一些)把 *.java 文件转变成 *.class 文件的过程; 也可能是指虚拟机的后端运行期编译器(JIT 编译器,Just In 阅读全文
posted @ 2018-09-25 17:06 BigJunOba 阅读(482) 评论(0) 推荐(0)
摘要:Collection接口的第三个子接口是Queue接口,而Queue接口的子接口又是Deque接口和BlockingQueue接口。 实现了Deque接口的类有:ArrayDeque类、ConcurrentLinkedDeque类、LinkedList类和实现了Deque的子接口BlockingDe 阅读全文
posted @ 2018-09-16 22:54 BigJunOba 阅读(167) 评论(0) 推荐(0)
摘要:AbstractSet类的子类有HashSet(其子类是LinkedHashSet)、EnumSet、TreeSet 1.HashSet 2.LinkedHashSet 3.EnumSet 4.TreeSet 阅读全文
posted @ 2018-09-16 22:20 BigJunOba 阅读(524) 评论(0) 推荐(0)
摘要:一、100层楼,2个鸡蛋 阅读全文
posted @ 2018-09-14 17:27 BigJunOba 阅读(159) 评论(0) 推荐(0)
摘要:一、有关阶乘的两个问题 二、最大的leftMax与rightMax之差的绝对值 三、路径数组变为统计数组 四、一种字符串和数字的对应关系 五、1到n中1出现的次数 六、数字的英文表达和中文表达 七、分糖果问题 八、设计一个没有扩容负担的堆结构 九、随时找到数据流的中位数 十、在两个排序数组中找到第K 阅读全文
posted @ 2018-09-14 14:41 BigJunOba 阅读(156) 评论(0) 推荐(0)
摘要:一、从5随机到7及其扩展 题目1:给定一个等概率随机产生1~5的随机函数rand1to5: 除此之外,不能使用任何额外的随机机制,请用rand1To5实现等概率随机产生1~7的随机函数random1To7。 解法: 第一步:rand1To5()等概率随机产生1,2,3,4,5 第二步:rand1To 阅读全文
posted @ 2018-09-14 14:41 BigJunOba 阅读(272) 评论(0) 推荐(0)
摘要:一、不用额外变量交换两个整数的值 如果给定整数a和b,用以下三行代码即可交换a和b的值。a = a ^ b; b = a ^ b; a = a ^ b; 二、不用任何比较判断找出两个数中较大的数 问题:给定两个32位整数a和b,返回a和b中较大的。 1.得到a-b的值的符号,如果a-b的值出现溢出, 阅读全文
posted @ 2018-09-14 14:40 BigJunOba 阅读(280) 评论(0) 推荐(0)
摘要:一、布隆过滤器 问题:不安全网页的黑名单包含100亿个黑名单网页,每个网页的URL最多占用64B。现在想要实现一种网页过滤系统,可以根据网页的URL判断该网页是否在黑名单上,如何设计该系统。 要求:允许有万分之一以下的判断失误率;使用的额外空间不能超过30GB 思路:如果把黑名单中所有的URL通过数 阅读全文
posted @ 2018-09-14 14:39 BigJunOba 阅读(305) 评论(0) 推荐(0)
摘要:一、设计一个有getMin功能的栈 题目:实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作。pop、push、getMin操作的时间复杂度都是O(1). 思路:设计两个栈,一个栈用来保存当前栈中的元素,其功能和一个正常的栈没有区别,这个栈记为stackData;另一个栈用来 阅读全文
posted @ 2018-09-14 14:29 BigJunOba 阅读(242) 评论(0) 推荐(0)
摘要:一、找到无序数组中最小的k个数 二、在数组中找到出现次数大于N/K的数 三、最长的可整合子数组的长度 四、不重复打印排序数组中相加和为给定值的所有二元组和三元组 五、未排序正数数组中累加和为给定值的最长子数组的长度 六、未排序数组中累加和为给定值的最长子数组系列问题 七、未排序数组中累加和小于或等于 阅读全文
posted @ 2018-09-14 14:27 BigJunOba 阅读(129) 评论(0) 推荐(0)
摘要:一、转圈打印矩阵 题目:给定一个整型矩阵matrix,按照转圈的方式打印它。 要求:额外空间复杂度为O(1) 思路:矩阵分圈处理问题。用矩阵中左上角的坐标(tR,rC)和右下角的坐标(dR,dC)就可以表示一个子矩阵。 例如:(0,0)和(3,3)表示的是原来矩阵的最外层,此时打印:1 2 3 4 阅读全文
posted @ 2018-09-14 14:26 BigJunOba 阅读(310) 评论(0) 推荐(0)
摘要:一、将整数字符串转成整数值 二、判断字符数组中是否所有的字符都只出现过一次 三、在有序但含有空的数组中查找字符串 四、数组中两个字符串的最小距离 五、添加最少字符使字符串整体都是回文字符串 六、括号字符串的有效性和最长有效长度 七、公式字符串求值 八、0左边必有1的二进制字符串数量 九、拼接所有字符 阅读全文
posted @ 2018-09-14 14:23 BigJunOba 阅读(165) 评论(0) 推荐(0)
摘要:一、判断两个字符串是否互为变形词 问题:给定两个字符串str1和str2,如果str1和str2中出现的字符种类一样且每种字符出现的次数也一样,那么str1与str2互为变形词。 举例:str1=“123”,str2=“231”,返回true。str1=“123”,str2=“2331”,返回fal 阅读全文
posted @ 2018-09-14 14:22 BigJunOba 阅读(451) 评论(0) 推荐(0)
摘要:一、环形单链表的约瑟夫问题 二、判断一个链表是否为回文结构 三、将单向链表按某只划分成左边小、中间相等、右边大的形式 四、复制含有随机指针节点的链表 五、两个单链表相交的一系列问题 六、将单链表的每K个节点之间逆序 七、将搜索二叉树转换成双向链表 阅读全文
posted @ 2018-09-14 14:17 BigJunOba 阅读(121) 评论(0) 推荐(0)
摘要:单链表Node节点类 双链表DoubleNode类 一、打印两个有序链表的公共部分 问题:给定两个有序链表head1和head2,打印两个链表的公共部分 解答:(1)如果head1的值小于head2,则head1向下移动。(2)如果head2的值小于head1的值,则head2向下移动。(3)如果h 阅读全文
posted @ 2018-09-14 14:15 BigJunOba 阅读(242) 评论(0) 推荐(0)
摘要:一、判断t1树是否包含t2树全部的拓扑结构 解法(O(M×N)):如果t1中某棵子树头结点和t2头结点的值一样,则从这两个头结点开始匹配,匹配的每一步都是让t1上的节点跟着t2的先序遍历移动,每移动一步,都检查t1的当前节点和t2当前节点的值是否一样。如果匹配的过程中发现有不匹配的过程,直接返回fa 阅读全文
posted @ 2018-09-12 20:35 BigJunOba 阅读(363) 评论(0) 推荐(0)
摘要:AbstractList类的子类有AbstractSequentialList(其子类是LinkedList)和ArrayList 1.LinkedList 定义 1.Deque 2.Queue 3.集合 2.ArrayList 阅读全文
posted @ 2018-09-11 23:19 BigJunOba 阅读(202) 评论(0) 推荐(0)
摘要:一、在二叉树中找到累加和为指定值的最长路径长度 给定一棵二叉树和一个32位整数sum,求累加和为sum的最长路径长度。路径是指从某个节点往下,每次最多选择一个孩子节点或者不选所形成的节点链 第一步:生成变量maxLen,记录累加和等于sum的最长路径长度 第二步:生成哈希表sumMap,负责记录从根 阅读全文
posted @ 2018-09-11 21:37 BigJunOba 阅读(272) 评论(0) 推荐(0)
摘要:一、判断二叉树是否为平衡二叉树(时间复杂度O(N)) 平衡二叉树就是:要么是一棵空树,要么任何一个节点的左右子树高度差的绝对值不超过1。 解法:整个过程为二叉树的后序遍历。对任何一个节点node来说,先遍历node的左子树,遍历过程中收集两个信息,一个是node的左子树是否为平衡二叉树,一个是nod 阅读全文
posted @ 2018-09-11 21:36 BigJunOba 阅读(369) 评论(0) 推荐(0)
摘要:一、二叉树的按层打印与ZigZag打印 1.按层打印: 题目中要求同一层的节点必须打印在一行上,并且要求输出行号。这就需要我们在原来的广度优先遍历基础上,必须要搞明白的是什么时候要换行。 解决方法:使用node类型的变量last便是正在打印的当前行的最右节点,nLast便是下一行的最右节点。假设每一 阅读全文
posted @ 2018-09-11 21:35 BigJunOba 阅读(211) 评论(0) 推荐(0)
摘要:一、String String实现了Serializable接口、Comparable<String>接口和CharSequence接口,并且使用final char value[]不可变字符数组保存字符串。 二、AbstractStringBuilder AbstractStringBuilder 阅读全文
posted @ 2018-09-10 17:16 BigJunOba 阅读(220) 评论(0) 推荐(0)
摘要:一、477.汉明距离总和 1.常规做法,Time Limit Exceeded 2.更快的做法 这是因为: 阅读全文
posted @ 2018-09-09 12:03 BigJunOba 阅读(162) 评论(0) 推荐(0)
摘要:面向过程编程:程序编写以算法为核心,程序员会把数据和过程分别作为独立的部分来考虑,数据代表问题空间的客体,程序代码则用于处理这些数据。这种思维方式直接站在计算机的角度去抽象问题和解决问题,称为面向过程的编程思想。 面向对象编程:面向对象的编程思想是站在现实世界的角度去抽象和解决问题,它把数据和行为都 阅读全文
posted @ 2018-09-09 10:59 BigJunOba 阅读(274) 评论(0) 推荐(0)
摘要:衡量一个服务性能的高低好坏,每秒事务处理数(Transactions Per Second,TPS)是最重要的指标之一,它代表着一秒内服务端平均能响应的请求总数,而 TPS 值与程序的并发能力又有非常密切的关系。 一、硬件的效率与一致性 由于计算机的存储设备与处理器的运算速度有几个数量级的差距,所以 阅读全文
posted @ 2018-09-09 10:58 BigJunOba 阅读(354) 评论(0) 推荐(0)
摘要:编译器(javac)将Java源文件(.java文件)编译成Java字节码(.class文件)。 类加载器负责加载编译后的字节码,并加载到运行时数据区(Runtime Data Area) 通过类加载器加载的,被分配到JVM运行时数据库的字节码会被执行引擎执行。 执行引擎以指令为单位读取Java字节 阅读全文
posted @ 2018-09-09 10:57 BigJunOba 阅读(602) 评论(0) 推荐(0)
摘要:虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化、最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 一、类加载的时机 类从被加载到虚拟机内存中开始,到卸载出内存位置,整个生命周期包括7个阶段:加载 → 验证 → 准备 → 解析 → 初始化 → 阅读全文
posted @ 2018-09-09 10:56 BigJunOba 阅读(265) 评论(0) 推荐(0)
摘要:一、实现“平台无关性” 字节码(ByteCode)存储格式和虚拟机是实现语言无关性的基础。Java虚拟机不和包括Java在内的任何语言绑定,它只与“Clas”文件这种特定的二进制文件格式所关联,Class文件中包含了Java虚拟机指令集和符号表以及若干其他辅助信息。Java中的各种变量、关键字和运算 阅读全文
posted @ 2018-09-09 10:55 BigJunOba 阅读(359) 评论(0) 推荐(0)
摘要:一、垃圾收集的概念 在Java虚拟机运行时数据区中程序计数器、虚拟机栈和本地方法栈3个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作,每一个栈帧中分配多少内存基本上是在类结构确定下来时就已知的,因此这几个区域的内存分配和回收都具备确定性,因为方法结束或线程 阅读全文
posted @ 2018-09-09 10:50 BigJunOba 阅读(217) 评论(0) 推荐(0)
摘要:在Java虚拟机运行时数据区中,除了程序计数器之外,虚拟机栈、本地方法栈、方法区和Java堆都有发生OutOfMemoryError(简称OOM)异常的可能。 一、Java堆溢出 Java堆用于存储对象实例,只要不断地创建对象,并且保证GC Roots到对象之间有可达路径来避免垃圾回收机制清除这些对 阅读全文
posted @ 2018-09-08 11:22 BigJunOba 阅读(224) 评论(0) 推荐(0)
摘要:对于Java程序员来说,在虚拟机自动内存管理机制的帮助下,不再需要为每一个new操作去写配对的delete/free代码,不容易出现内存泄漏和内存溢出问题。不过,也正是因为Java程序员把内存控制的权利交给了Java虚拟机,一旦出现内存泄漏和溢出方面的问题,了解虚拟机是怎样使用内存的可以帮助我们排查 阅读全文
posted @ 2018-09-08 11:21 BigJunOba 阅读(193) 评论(0) 推荐(0)
摘要:一、汉诺塔问题(包括chapter 1中的汉诺塔问题) 二、 三、 四、 五、 六、 七、 八、 阅读全文
posted @ 2018-09-07 22:40 BigJunOba 阅读(135) 评论(0) 推荐(0)
摘要:一、索引 所有MySQL列类型都可以被索引,对相关列使用索引是提高SELECT操作性能的最佳途径。每种存储引擎(MyISAM、InnoDB、BDB、MEMORY等)对每个表至少支持16个索引,总索引长度至少为256字节。大多数存储引擎有更高的限制。 MyISAM和InnoDB存储引擎的表默认创建的都 阅读全文
posted @ 2018-09-06 19:19 BigJunOba 阅读(176) 评论(0) 推荐(0)
摘要:一、最长递增子序列(LIS) 给定数组arr,返回arr的最长递增子序列。例如,arr={2,1,5,3,6,4,8,9,7},返回的最长递增子序列为{1,3,4,5,8,9} 1.时间复杂度为O(N2)的方法 第一步:生成长度为N的数组dp,dp[i]表示在以arr[i]这个数结尾的情况下,arr 阅读全文
posted @ 2018-09-06 17:04 BigJunOba 阅读(295) 评论(0) 推荐(0)
摘要:一、矩阵的最小路径和 问题描述,给定矩阵m如上面所示,从左上角开始每次只能向右或者向下走,最后到达右下角,求最小路径和。 假设矩阵m的大小为M×N,首先生成大小和m一样的矩阵dp,dp[i][j]的值表示从开始位置(0,0)走到(i.j)位置的最小路径和。 对于dp矩阵的第一行和第一列来说,如果要走 阅读全文
posted @ 2018-09-06 17:00 BigJunOba 阅读(416) 评论(0) 推荐(0)
摘要:一、斐波那契数列 斐波那契数列就是:当n=0时,F(n)=0;当n=1时,F(n)=1;当n>1时,F(n) = F(n-1)+F(n-2)。 根据斐波那契数列的定义,斐波那契数列为(从n=1开始):1,1,2,3,5,8...,也就是除了第1项和第2项外,对于第N项,都有F(n) = F(n-1) 阅读全文
posted @ 2018-09-06 10:03 BigJunOba 阅读(460) 评论(0) 推荐(0)
摘要:一、查看支持的存储引擎以及设置修改存储引擎 1.查看默认存储引擎:show variables like '%storage_engine%'; 2.查看当前数据库支持的存储引擎:show ENGINES \G 3.查看某个表使用的存储引擎: show create table 表名; 4.创建新表 阅读全文
posted @ 2018-09-05 08:54 BigJunOba 阅读(261) 评论(0) 推荐(0)
摘要:一、字符串函数(索引位置都从1开始) 举例: mysql> select concat('aaa','bbb','ccc'), concat('aaa',null); + + + | concat('aaa','bbb','ccc') | concat('aaa',null) | + + + | a 阅读全文
posted @ 2018-09-04 10:48 BigJunOba 阅读(229) 评论(0) 推荐(0)
摘要:MySQL提供了多种数据类型,主要包括数值型、字符串类型、日期和时间类型。 1.数值类型 整数类型:TINYINT(1字节)、SMALLINT(2字节)、MEDIUMINT(3字节)、INT(INTEGER)(4字节)、BIGINT(8字节) 浮点类型:FLOAT(4字节)、DOUBLE(8字节) 阅读全文
posted @ 2018-09-04 10:48 BigJunOba 阅读(373) 评论(0) 推荐(0)
摘要:SQL是Structure Query Language(结构化查询语言)的缩写,它是使用关系模型的数据库应用语言。 一、SQL分类(DDL,DML,DCL) DDL(Data Definition Languages)语句:数据库定义语言,这些语句定义了不同的数据段、数据库、表、列、索引等数据库对 阅读全文
posted @ 2018-09-04 08:04 BigJunOba 阅读(239) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2018-09-03 21:43 BigJunOba 阅读(124) 评论(0) 推荐(0)
摘要:1.前序、中序、后序递归方式遍历二叉树 public void preOrderRecur(Node T) { if (T != null) { System.out.print(T.val + " "); preOrderRecur(T.left); preOrderRecur(T.right); 阅读全文
posted @ 2018-09-03 21:43 BigJunOba 阅读(337) 评论(5) 推荐(0)
摘要:1. 阅读全文
posted @ 2018-09-03 21:41 BigJunOba 阅读(114) 评论(0) 推荐(0)
摘要:1.源码中可以看到,binarySearch方法调用了binarySearch0方法,binarySearch0方法才是标准的二分查找实现。 2.对于binarySearch0方法来说,注意最后的return语句return -(low + 1); // key not found.,也就是说,在没 阅读全文
posted @ 2018-09-03 18:09 BigJunOba 阅读(975) 评论(0) 推荐(0)
摘要:AbstractMap类的子类有HashMap(其子类是LinkedHashMap)、TreeMap、EnumMap、WeakHashMap和IdentityHashMap。 1.HashMap (1)方法声明: 2.LinkedHashMap (1)方法声明 3.TreeMap (1)方法声明: 阅读全文
posted @ 2018-09-03 16:17 BigJunOba 阅读(190) 评论(0) 推荐(0)
摘要:一、 阅读全文
posted @ 2018-09-03 14:25 BigJunOba 阅读(142) 评论(0) 推荐(0)
摘要:一、 阅读全文
posted @ 2018-09-03 14:24 BigJunOba 阅读(149) 评论(0) 推荐(0)
摘要:一、475. Heaters 1.思路:(1)先对heaters数组进行排序(2)对于每个house,计算其在heaters中的位置(3)计算这个house到其左和右heater的距离的最小值,也就是说heater只管离自己最近的house。(4)然后,取这些最小值的最大值即可。 2.代码:需要注意 阅读全文
posted @ 2018-09-03 14:24 BigJunOba 阅读(180) 评论(0) 推荐(0)
摘要:一、 阅读全文
posted @ 2018-09-03 10:45 BigJunOba 阅读(112) 评论(0) 推荐(0)
摘要:一、204. Count Primes 1.数学原理:两个质数的乘积一定是合数。一个质数乘以任何数的积都一定不是质数。(除了1) 2.代码:需要注意的点:for (int j = 2; j * i < n; j++) notPremes[i * j] = true; 二、441. Arranging 阅读全文
posted @ 2018-09-03 10:40 BigJunOba 阅读(181) 评论(0) 推荐(0)
摘要:一、500. Keyboard Row 思路:将键盘上每一行的字母映射到所在的行数,如果单词的所有字母中存在和第一个单词所在的行数不相同的字母,则这个单词将不是符合需求的单词。 需要注意的地方: 1.whichRow = -1;以及 if (whichRow != -1) list.add(s);这 阅读全文
posted @ 2018-09-03 10:39 BigJunOba 阅读(166) 评论(0) 推荐(0)
摘要:一、232. Implement Queue using Stacks private Stack<Integer> stack; /** Initialize your data structure here. */ public e232() { stack = new Stack<>(); } 阅读全文
posted @ 2018-09-03 10:36 BigJunOba 阅读(139) 评论(0) 推荐(0)