自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

shengzhu1的博客

学习web后端的一些总结

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

原创 在IDEA中使用自己写好的Java代码

之前在Idea中用Java写了一个包,叫MyDataStructures,包含了一些自己写的数据结构的实现方法,在之后的工程MyAlgorithms中想要用到自己的数据结构,那么如何做呢?网上查的结合自己的总结,顺序如下:在要打包的工程包MyDataStructures下,打包其为一个JAR包将打包的JAR包编译(Build),打包和编译Idea包打包完成后,进入需要调用此JAR包的工程MyA

2017-04-30 21:13:31 2209

原创 自动修改hosts文件

首先上github链接,复制这个shell脚本,放在某个文件夹下,我是放在/etc/lhosts下先打开hosts文件vim /etc/hosts,发现其中内容很少,只有10+行,运行刚刚的脚本sudo bash /etc/lhosts之后再看看hosts文件 1 # 远程 hosts 开始标记,请在 上方 添加其他内容 2 # Copyright (c) 2014-2017, raca

2017-04-27 17:00:56 5477

转载 VI中的多行删除和复制

VI中的多行删除与复制法一:单行删除,:1(待删除行)d多行删除 ,:1,10d法二:光标所在行,dd光标所在行以下的N行,Ndd方法1:光标放到第6行,输入:2yy光标放到第9行,输入:p此方法适合复制少量行文本的情况,复制第6行(包括)下面的2行数据,放到第9行下面。方法2:命令行模式下输入6,9 co 12复制第6行到第9行之间的内容到第12行后面。方法3:

2017-04-27 14:27:16 413

原创 各种查找算法分析

查找表查找表(Search Table)是由同一类型的数据元素(或记录)构成的集合。关键字(Key)是数据元素中某个数据项的值,又成为键值,用它可以标识一个数据冤死,也可以标识一个记录的某个数据项。若某关键字可以唯一的标识一个记录,则称此关键字为主关键字(Primary Key),这就意味着不同的记录主关键字均不同。对于那些可以标识多个元素(或记录)的关键字,成为次关键字(Secondary

2017-04-27 00:35:26 1180

原创 7种常见排序方法总结

排序分类本章共有七种排序算法,按排序过程中借助的主要操作,分成以下几种:插入排序类:直接插入排序,希尔排序选择排序类:简单选择排序,堆排序交换排序类:冒泡排序,快速排序归并排序类:归并排序从简单性来看,非为简单算法:冒泡,简单选择,直接插入改进算法:希尔(直接插入的升级),堆(简单选择的升级),归并,快速(冒泡的升级)性能比较 排序方法 平均情况 最好情况 最坏情况

2017-04-26 17:39:43 1949

转载 字符编码笔记:ASCII,Unicode和UTF-8

字符编码笔记:ASCII,Unicode和UTF-8 阮一峰ASCII码我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0000000到11111111。上个世纪60年代,

2017-04-24 21:46:55 274

转载 2016网易游戏 游戏研发岗 在线笔试解题报告

A题 Amusing Digits问题描述给定一个数串,从中选出尽可能多的“9706”子串,要求每个digit的相对先后顺序不变且每个digit只能用一次,问最多可以选出多少个9706子串。样例输入4 6097 97069706 997776600069 123901370997606样例输出0 2 1 2解题思路 通过分析,本题满足使用贪心策略。考虑数串9799706,若选择数

2017-04-24 14:58:23 1208

转载 linux各文件夹的作用

原文链接linux下的文件结构,看看每个文件夹都是干吗用的 /bin 二进制可执行命令 /dev 设备特殊文件 /etc 系统管理和配置文件 /etc/rc.d 启动的配置文件和脚本 /home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示 /lib 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件 /s

2017-04-24 11:40:40 343

转载 Mac Safari 打不开网页,因为无法连接到服务器

Mac Safari 打不开网页,因为无法连接到服务器 欢迎转载,但请务必在明确位置注明文章出处! http://johnnyshieh.github.io/android/2017/02/23/mac-safari-cannot-open-page/ 今天早上来上班,突然发现 Safari 打开什么网站显示“打不开XX网页,因为无法连接到XX服务器”,但是

2017-04-24 11:34:16 113368 9

转载 Java数组的声明,创建初始化

原文地址一维数组的声明方式: type var[]; 或type[] var;声明数组时不能指定其长度(数组中元素的个数)Java中使用关键字new创建数组对象,格式为: 数组名 = new 数组元素的类型 [数组元素的个数]例:public class TestNew { public static void main(String args[]) {

2017-04-22 09:58:48 1358

转载 Java 小例子:读取控制台的用户输入

1、简单的获取用户输入 下面是一个基本的例子,包含解释:import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.IOException;public class BasicInput { public static void main(String[] args) { tr

2017-04-21 00:49:04 1302

原创 Java打印二维数组

已知打印一维数组的API为System.out.println ( Arrays.toString ();,其参数为数组名或数组指针,其支持的数据类型有很多,如:int[]、char[]、byte[]等。但是对二维数组调用同样的API,如:int[][] test = {{0, 1, 2}, {2, 1}, {1}}; System.out.println ( Arrays.toSt

2017-04-21 00:41:58 18598 1

转载 Java的final

根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。final类不能被继承,没有子类,final类中的方法默认是final的。final方法不能被子类的方法覆盖,但可以被继承。final成员变量表示常量,只能被赋值一次,赋值后值不再改变。final不能用于修饰构造方法。注

2017-04-20 14:25:11 268

原创 第六章 遍历二叉树及推导遍历结果(前序、中序和后续)

二叉树遍历方法下面几种算法是利用递归的方法实现的 - 前序遍历:先打印输出,再先序遍历左子树,最后先序遍历右子树 - 中序遍历:中序遍历左子树,再打印,最后中序遍历右子树 - 后序遍历:先后序遍历左子树,再后序遍历右子树,最后打印输出 - 总结:前序是先打印,再左右;中序是先左,再打印,最后右;后序是先左右,再打印推导遍历结果前序遍历为ABCDEF,中序遍历为CBAEDF,问二叉树的后序遍历

2017-04-20 13:53:01 10710 2

转载 如何在Markdown中插入公式

目录:一、公式使用参考1.如何插入公式2.如何输入上下标3.如何输入括号和分隔符4.如何输入分数5.如何输入开方6.如何输入省略号7.如何输入矢量8.如何输入积分9.如何输入极限运算10.如何输入累加、累乘运算11.如何输入希腊字母12.如何输入其它特殊字符(1).关系运算符(2).集合运算符(3).对数运算符(4).三角运算符(5).微积分运算符(6).逻辑运算

2017-04-20 00:39:20 3039

原创 第六章 二叉树的性质

性质一在二叉树中的第i层上至多有2(i−1)2^(i-1)个结点。 第一层是根结点,只有一个,所以2(1−1)=20=12^(1-1)=2^0=1, 第二层有两个,2(2−1)=21=22^(2-1)=2^1=2 … 通过数学归纳法,在二叉树的第i层上至多有2(i−1)2^(i-1)个结点。性质二深度为k的二叉树至多有2k−12^k-1个结点,注意是2k2^k之后再减一,而不是2(k−1)2

2017-04-20 00:25:19 605

转载 第五章 KMP匹配算法

KMP算法思想介绍 KMP算法的next数组求法介绍 Java实现具体实现:/** * 定义接口,下面的Class继承并实现 */interface StringMatch{ /** * 从source字符串中找到substr字符串 * @param source 原字符串 * @param substr 子字符串 * @return ind

2017-04-19 17:29:49 271

原创 第六章 二叉树

定义二叉树(Binary Tree)是n(N>=0)个结点的有限集合,该集合或者为空集(空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树的二叉树组成。特点每个结点最多有两棵子树 ,所以二叉树不存在度大于2的结点。注意不是只有两棵子树,而是最多有两棵。没有子树或者有一棵子树都是可以的。左子树和右子树是有顺序的,次序不能颠倒。就像人的左手右手一样即使树中某结点只有一棵

2017-04-19 15:21:25 473

原创 第六章 树的抽象数据类型

ADT 树(tree)Data 树是由一个根结点和若干棵子树构成。树中结点具有相同数据类型及层次关系。Operation InitTree(*T):构造空树T DestroyTree(*T):销毁树T CreateTree(*T,definition):按definition中给出树的定义来构造树 ClearTree(*T):若树T存在,则将树T情空为空

2017-04-19 13:56:59 1777

原创 第六章 树的定义和ADT

树的定义树(Tree)是n(n>=0)个结点的有限集。n=0时为空树,在任何一棵非空树中: 1. 有且仅有一个特定的根(Root)结点; 2. 当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1、T2、…Tm,其中每一个集合本身又是一棵树,并且称为根的子树(SubTree)树的结点树的结点包括一个数据元素及若干指向其子树的分支。结点拥有的子树数称为结点的度(Degree)。度为0的结点

2017-04-19 11:36:00 1106

转载 Java的static方法与非static方法

生命周期(Lifecycle): 静态方法(Static Method)与静态成员变量一样,属于类本身,在类装载的时候被装载到内存(Memory),不自动进行销毁,会一直存在于内存中,直到JVM关闭。 非静态方法(Non-Static Method)又叫实例化方法,属于实例对象,实例化后才会分配内存,必须通过类的实例来引用。不会常驻内存,当实例对象被JVM 回收之后,也跟着消失。 在内存中存储

2017-04-18 21:40:42 2726

转载 如何为你的代码选择一个开源协议

相信很多刚踏入软件这个行业的小伙伴一如当初的我,对开源软件的各种协议不甚了解被搞昏了头脑。毕竟对于一个新生程序员来说,如何写好代码才是亟待解决的问题,无暇了解这些。随着你项目做得多了代码写得多了,你会发现编码过程中会不时用到其他人的成果,一个项目下来多少会引入一些优秀的库,别人放在公网上开源的DLL,以及一些算法等等。细心的你会注意到即使只是一小段代码,优秀的作者都在最开始会简单地附上一段关于许可的

2017-04-17 11:41:13 713

转载 Java中==和equel的区别

java中的数据类型,可分为两类: 基本数据类型,也称原始数据类型。byte short char int long float double boolean 他们之间的比较,应用双等号(==),比较的是他们的值。 复合数据类型(类) 当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为false

2017-04-15 20:14:22 797

原创 第四章 栈与队列

定义:栈(Stack)是限定仅在表尾进行插入和删除操作的线性表。 把允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom),不含任何数据元素的栈称为空栈。栈又称为后进先出(Last In First Out)的线性表,简称LIFO结构。队列(Queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。 队列是一种先进先出(First In First Out)的线

2017-04-14 15:10:43 240

转载 Java的collection

一、综述      java集合框架定义了几个接口,这些接口决定了collection类的基本特性。不同的是,具体类仅仅是提供了标准接口的不同实现,如图,java集合框架接口图     从图可知,java集合类的主要是由两个接口派生而出——Collection和Map,Collection和Map是集合框架的根接口。其介绍如下:Collection — 位于集合框架的顶层,一个Collection代

2017-04-14 10:21:06 339

转载 Java的内部类

作为刚入门Java的小白,这两天看到内部类,这里做一个总结,若有错误,欢迎指正~内部类是指在一个外部类的内部再定义一个类。类名不需要和文件夹相同。内部类分为: 成员内部类、局部内部类、静态嵌套类、匿名内部类 。1.成员内部类成员内部类是最普通的内部类,它的定义为位于另一个类的内部,形如下面的形式:?123456789101112131415161718192021class Outter {

2017-04-14 00:42:51 363 1

原创 HTTP首部

HTTP报文首部HTTP协议的请求和响应报文中必定包含HTTP首部。首部的内容为客户端和服务器分别处理请求和响应提供所需的信息。报文首部由几个字段构成。 - HTTP请求报文 在请求中,HTTP报文由方法、URI、HTTP版本、HTTP首部字段等部分构成。 - HTTP响应报文 在响应中(数字和原因短语)、HTTP首部字段3部分构成。HTTP首部字段构成HTTP报文的要素之一。在客户端与服务

2017-04-13 10:59:13 396

转载 IDEA方便的快捷键

Intellij IDEA中有很多快捷键让人爱不释手,stackoverflow上也有一些有趣的讨论。每个人都有自己的最爱,想排出个理想的榜单还真是困难。以前也整理过Intellij的快捷键,这次就按照我日常开发时的使用频率,简单分类列一下我最喜欢的十大快捷-神-键吧。1 智能提示Intellij首当其冲的当然就是Intelligence智能!基本的代码提示用Ctrl+Space,还有更智能地按类型

2017-04-13 01:18:11 294

转载 IDEA几个快捷键

今天偶然发现了IntelliJ中 创建main函数的快捷键,依次还有for循环,System.out.println();在编写代码的时候直接输入psv就会看到一个psvm的提示,此时点击tab键一个main方法就写好了。psvm 也就是public static void main的首字母。依次还有在方法体内键入for会有一个fori的提示,选中然后tab键,就会自动创建一个for循环。如何

2017-04-13 01:15:16 261

转载 getClass(),class属性和getName()解析

getClass方法:类型:public final Class<? extends Object> getClass()功能:返回该对象的运行时类的Java.lang.Class对象(API上的解释) 有方法类型可以知道,该方法只能由类的实例变量调用例子:view plain copyJButton b1 = new JButton("button1"); System.out.p

2017-04-13 01:03:52 771

转载 @SuppressWarnings注解

简介: java.lang.SuppressWarnings是J2SE 5.0中标准的Annotation之一。可以标注在类、字段、方法、参数、构造方法,以及局部变量上。作用: 告诉编译器忽略指定的警告,不用在编译完成后出现警告信息。 使用: @SuppressWarnings(“”) @SuppressWarnings({}) @SuppressWarnings(value={})su

2017-04-13 00:37:30 677

转载 常用的Java注释标签

1   常用Java注释标签(Java comment tags) @author  作者 适用范围:文件、类、方法 (多个作者使用多个@author标签标识,java doc中显示按输入时间顺序罗列。) 例: @author Leo. Yao @param  输入参数的名称  说明 适用范围:方法 例:* @param str the String用来存放输出信息。 @r

2017-04-13 00:25:27 5682

转载 Java中this关键字和super关键字的使用

一、this关键字 this是指向对象本身的一个指针。this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this。1.调用本类的构造方法1)说明:仅仅在类的构造函数中调用本类的其他构造函数。用法是this(参数列表),这一句必须处于构造函数的第一句,同时一个构造函数内部只能调用另一个构造函数 2)例子:class A{ private string name;

2017-04-13 00:15:17 798

转载 java有package和没有package的命令行运行区别

java中不带package的程序和带package的程序编译的方式是不同的。 一、不带package的程序 建立个HelloWorld.java的文件,放入C:,内容如下:public class HelloWorld{ public static void main(String args[]) //向屏幕上写字符串"HelloWorld!" { Syste

2017-04-12 14:23:46 5150

原创 第三章 线性表(顺序存储结构和单链表)

顺序存储结构和单链表对比:存储分配方式顺序存储结构用一段连续的存储单元依次存储线性表的数据元素单链表采用链式存储结构,用一组任意的存储单元存放线性表的元素时间性能查找 顺序存储结构O(1)单链表O(n)插入和删除 顺序存储结构需要平均移动表长一半的元素,时间为O(n)单链表在线找出某位置指针后,插入和删除时间仅为O(1)空间性能顺序存储需要预分配存储空间,分大了浪费,小了容易上

2017-04-12 09:58:34 666

原创 git清除缓存命令的运用

git的命令git add <somefile>是把增加的文件添加到缓存中,这些文件可以在.git文件夹的index文件夹中查看。在具体的项目中,可能由于所用的IDE不同,导致有些隐藏文件夹也被上传到远程库中去,例如.idea文件夹就是IDEA的结果,但这些文件夹别人并不需要,应次需要忽略,即写在.gitignore文件中,.gitignore文件内容如下:.exeSnake //可执行的二

2017-04-11 14:51:57 19793 3

原创 第二章 数据结构和算法(常见的时间复杂度及比较)

执行次数函数 阶 非正式术语 12 O(1) 常数阶 2n+3 O(n) 线性阶 3*n^2+2n+1 O(n^2) 平方阶 5lgn+20 O(logn) 对数阶 2n+3nlgn+1 O(nlogn) nlogn阶 6n^3+2n^2+3n+2 O(n^3) 立方阶 2^n O(2^n) 指数阶常用的时间

2017-04-11 10:55:47 635

原创 第二章 数据结构和算法(算法的定义)

算法算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。 有以下五个基本特征: 1. 输入&输出:算法有零个或多个输入,至少有一个或多个输出; 2. 有穷性:指算法在执行有限的步骤之后,自动结束而不会出现无限循环,并且每一个步骤在可接受的时间内完成; 3. 确定性:算法的每一步骤都有确定的含义,不会出现二义性; 4. 可行性:算法的每一步必须三可

2017-04-11 09:45:53 756

原创 第一章 数据的概念

数据:是描述客观事物的符号,是计算机中可以操作的对象,三能被计算机识别,并输入计算机处理的符号集合。不仅仅包括整形、实型(大概就是浮点型一类的)等数据类型,还包括字符以及声音、图像、视频等非数值类型。数据元素:是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处,也被称为记录。比如人类中的人就是数据元素。数据项:数据项是数据不可分割的最小单位,一个数据元素可以由若干个数据项构成。比如人这

2017-04-11 01:02:47 504

转载 mysql数据库把一张表插入到另一张表

web开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,设置只需要导入目标表中不存在的记录,虽然这些都可以在程序中拆分成简单sql来实现,但是用一个sql的话,会节省大量代码。下面我以mysql数据库为例分情况一一说明: 两张表:insertTest和insertTest2,前者中有测试数据create table insertTest(id int(4),name va

2017-04-10 16:00:19 3558

空空如也

空空如也

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

TA关注的人

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