自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Xucc_x的博客

慢慢爬

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

原创 leetcode 1 两数之和

题目描述给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]题解class Solution { public int[] twoSum(int[] nums, int ta

2020-06-18 12:15:00 265 1

原创 Java break、continue实现goto

尽管goto是Java的一个保留字,但是并没哟阻碍语言中得到正式的使用。虽然goto声名狼藉,但有的时候使用goto进行跳转,能达到意想不到的好处。Java使用continue和break可以实现跳转的效果,但是两者有一些不同。continue实现gotocontinue向上跳转到标签处,继续下次循环。 public static void main(String[] args) thro...

2019-07-21 16:52:56 413

原创 Guava Stopwatch源码分析

Stopwatch很多library都有类似Stopwatch的实现,用来计算经过的时间,相当于一个计时器。package com.google.common.base;@GwtCompatible(emulated = true)public final class Stopwatch { private final Ticker ticker; // 是否运行,start方...

2019-07-04 11:19:14 686 1

原创 Guava Predicate&Predicates源码分析

Predicate断言,判断一个对象是否满足一定条件。package com.google.common.base;@FunctionalInterface@GwtCompatiblepublic interface Predicate<T> extends java.util.function.Predicate<T> { @CanIgnoreRet...

2019-07-03 12:43:36 616

原创 Guava Supplier&Suppliers 源码分析

SupplierGuava Functional中的Supplier是通过给定的类型返回一个对象或者创建对象,即用作创建对象。package com.google.common.base;@GwtCompatible@FunctionalInterfacepublic interface Supplier<T> extends java.util.function.Supp...

2019-07-03 12:42:16 864

原创 Guava Function&Functions 源码分析

Functional Programming函数式编程强调使用函数来实现其目标或者改变其状态。Guava为了支持函数式编程提供了三个类Predicate、Function、Supplier。Function输入一个input,输出一个output。为了兼容Java8,也继承了Java的Function接口。Function接口中有两个方法,主要对apply方法进行研究。package ...

2019-07-03 12:40:33 528

原创 Guava CharMatcher 源码分析

CharMatcherCharMatcher提供了多种对字符串处理的方法,大概分为找到匹配的字符串和处理匹配的字符串两种。其中内部实现了大量的公用内部类,用来方便用户对字符串进行匹配,并且实现了大量处理字符串的方法。CharMatcher本身是一个抽象类,也有一些抽象方法,它主要依靠内部继承ChatMatcher的内部子类来是想抽象方法和重写一些方法。1. 内部实现类CharMatcher...

2019-07-03 12:36:00 289

原创 Guava Charsets 源码分析

Charsets定义了一些编码字符集。Guava Charsets底层使用了Charset.forName。@GwtCompatible(emulated = true)public final class Charsets { private Charsets() {} @GwtIncompatible // Charset not supported by GWT ...

2019-07-03 12:34:45 292

原创 Guava Strings 源码分析

StringsStirngs是Guava对字符串操作提供的一些支持。// 将null转为空字符串,不为null返回源字符串public static String nullToEmpty(@Nullable String string) { return (string == null) ? "" : string;}// 将空字符串转为null,不为空返回源字符串@Null...

2019-07-03 12:33:32 213

原创 Guava Objects、MoreObjects、ComparisonChain

IDEA可以直接生成简单的toString、hashCode以及equals方法,但有的时候是不够的。Commonclipse,生成hashcode、equals方法的插件。Guava对toStirng、hashCode、equals方法进行了支持,使得自定义变得更简单。ObjectsGuava中的Objects类可以进行equals、hashCode方法的自定义。package com...

2019-06-20 10:19:11 411

原创 Guava Preconditions

Preconditions断言,相同的还有Objects、Java assert key word、hamcrest。使用构造方法构造私有,与Joiner、Splitter不同,Preconditions提供了大量的静态方法,直接类名.方法名调用节课,不需要获取Preconditions对象。private Preconditions() {}其他方法checkArgume...

2019-06-20 10:17:11 483

原创 Guava Splitter,Splitter与Java split的对比

SplitterJava提供的字符串分割方法split,split源码分析如下。public String[] split(String regex, int limit) { char ch = 0; // 1. 如果regex只有一位且regex不是列出来的这些特殊字符".$|()[{^?*+\\" // 2. 如果regex只有两位且第一位为转义字符,第二位字符小于0或者大于9并且...

2019-06-20 10:16:20 3470 1

原创 Guava Joiner

JoinerJoiner可以将一系列的字符串用指定的分隔符进行拼接。使用构造方法Joiner的构造方法都是私有的,需要使用其提供的静态方法获取对象。// 私有构造方法private Joiner(String separator) { this.separator = checkNotNull(separator); }private Joiner(Joiner pr...

2019-06-20 10:13:38 501

原创 什么是Guava

0. 什么是Guavaguava不是一个框架,是一个谷歌的类库,其内提供了大量的方法。早期是高并发的一个类库,后期进行了扩充。1. maven项目导入guava依赖<dependencies> <!--guava依赖--> <dependency> <groupId>com.google...

2019-06-20 10:12:18 6906 1

原创 Linux 外壳程序

 Linux从严格意义上来说不是一个操作系统,它实质上是一个操作系统kernal,但对以一般用户,不能直接使用kernal,而是通过kernal的外壳程序,就是所谓的shell来与kernal进行沟通。 外壳程序可以保证操作系统的安全性,抵御用户的一些不正确操作。 Linux的外壳程序称作shell(命令行解释器),它的作用是:将命令翻译给kernal将kernl处理结果翻译给用户...

2018-08-05 15:49:21 2658

原创 Java 常见字符编码

1. GBK、GB2312 国标编码,GBK包含简体中文和繁体中文,而GBK只包含简体中文。这两种编码都是描述中文的编码。2. UNICODE java默认的16进制编码,可以描述世界上任何的文字信息,但是这个编码太庞大了,在网络传输的时候,会造成很大的负担。3. ISO8859-1 国际通用编码,是浏览器的默认编码,不支持中文。所以在前端开发,JavaWeb开发时,对于中文信...

2018-08-04 18:09:22 1519

原创 IDEA 查看代码反汇编代码

IDEA提供了查看java代码反汇编代码的功能,但是要依靠一下jdk中的工具javap.exe。javap.exe是jdk提供的Java代码反汇编的工具,位于JDK安装包下的bin目录。当然,jdk自带的工具使用起来还是很麻烦的,但是我们可以将其添加进IDEA中进行快捷使用,从而达到我们的目的。第一步:File-&gt;Settings-&gt;Tools-&gt;External To...

2018-07-31 13:06:22 10077 8

原创 IDEA在当前类中查找方法快捷键

 IDEA工具是当前类中查找一个方法快捷键: Ctrl + F12 例如在String类中查找contains方法。第一步:Ctrl + F12第二步:直接输入要查找的方法名 ...

2018-07-31 11:01:11 88166 10

原创 数组中的逆序对

 有一组数,对于其中任意两个数组,若前面一个大于后面一个数字,则这两个数字组成一个逆序对。请设计一个高效的算法,计算给定数组中的逆序对个数。 给定一个int数组A和它的大小n,请返回A中的逆序对个数。保证n小于等于5000。测试样例: 输入:[1,2,3,4,5,6,7,0],8 返回:7 这道题如果用常规的遍历数组,对每个元素再进行数组的遍历,时间复杂度为O(n)...

2018-07-30 23:11:16 1343

原创 Java 深度解析clone方法

 在实际编程过程中,我们常常要遇到这种情况:有一个对象 A,在某一时刻 A 中已经包含了一些有效值,此时可能会需要一个和 A 完全相同新对象 B,并且此后对 B 任何改动都不会影响到 A 中的值,也就是说, A 与 B 是两个独立的对象,但 B 的初始值是由 A 对象确定的。在 Java 语言中,用简单的赋值语句是不能满足这种需求的。因为java中的赋值语句采用的是值传递,即多个栈空间(属性名)引...

2018-07-30 08:53:04 1654

原创 Java String,StringBuffer和StringBuilder之间的区别

 在Java中,任何字符串的都是String的对象,而且不可变更,在前面的文章里,我们对这点已经分析的很透彻了,String主要存在的是问题在于它不可变以及很容易就造成的效率低下和空间浪费。所以为了弥补String的缺点,又提出了StringBuffer和StringBuilder两个类。// Stirng类public final class String implements...

2018-07-29 23:02:39 1242

原创 Java String 4- String类的方法

 String类是我们使用频率非常非常高的一个类,JDK也为我们提供了很多它的方法。1. String与字符 字符串就是一个字符数组,所以在String类里面支持有字符数组转换为字符串以及字符串变为字符的操作方法。// 构造方法,将字符数组转为字符串public String(char value[])/** * 构造方法,将字符数组中部分内容(下标offset开始,长...

2018-07-29 22:18:16 1576

原创 Java String 3-字符串为什么不能修改

 String 被设计成不可变(immutable)类,所以它的所有对象都是不可变对象。但是我们可以看到这样的代码:String str = &quot;hello&quot; ;str = str + &quot; world&quot; ;str += &quot;!!!&quot;;System.out.println(str); // hello world!!! 通过”+”操作,str字符串不就变成了”hello world”了..

2018-07-29 21:13:09 4356 3

原创 Java String 2-字符串的比较方式

 如果现在有两个int型变量,判断其相等可以使用”==”完成。int x = 10;int y = 10;System.out.println(x==y); // true 但是对于字符串的比较,就不能使用”==”了。”==”本身是进行数值比较的,如果现在用于对象比较,那么所比较的就应该是两个对象所保存的内存地址数值比 较,而并没有比较对象的内容,例如:String str1...

2018-07-29 14:19:59 1506

原创 Java String类实例化方式以及入池操作

 String类型是java中一种很重要的数据类型,但实际上,String是一个类,位于java.lang包下,定义如下:public final class String implements java.io.Serializable, Comparable&lt;String&gt;, CharSequence java.lang包存放着系统常用的基础类,例如String,...

2018-07-29 14:02:15 2429

原创 HTML 块级元素与内联元素的区别,div与span

1. 块级元素与内联元素 HTML标签可分为两类,块级元素与内联元素。 块级(block)元素的特点: - 标签内的内容在新行上开始显示。 - 块的上下边距以及外边距和内边距都可通过属性或者CSS样式进行控制(盒模型)。 - 块宽度缺省是它的容器的100%,除非设定一个宽度。 - 块可以容纳内联元素和其他块元素,例如&lt;p&gt;标签内可插入&lt;code&gt;标签等。...

2018-07-29 07:50:12 2821

原创 HTML表单

 HTML表单用于搜集不同类型的用户输入。 表单的一系列操作都要定义在&lt;form&gt;标签内,就像表格要定义在&lt;table&gt;标签中一样。1. &lt;input&gt;标签 表单由表单元素组成,表单元素指的是不同类型的 input 元素。&lt;input&gt;标签来表示这些元素,&lt;input&gt;有很多形态(type形态),根据不同的 type 属性值,...

2018-07-28 22:50:26 1658 1

原创 HTML定义表格,链接与图像

 在HTML页面中,我们经常要插入表格,链接,或者一些图像的信息,毕竟,一个页面如果只有文字,那会是多么令人厌恶的一件事。1. HTML表格 &lt;table&gt;标签定义表格,&lt;tr&gt;定义表格中的行,&lt;td&gt;定义一行中的若干单元格。单元格中可以包含文本、图片、列表、段落、表单、水平线、表格等等元素。&lt;html&gt;&lt;body&gt; ...

2018-07-28 22:18:58 2475

原创 HTML定义文本,列表

 HTML标签是由尖括号括起来的词,如\,\,\等。标签通常成对出现。一对中的第一个标签是开始标签,第二个标签是结束标签。也可以将开始标签称为起始标签,结束标签称为闭合标签。 关于HTML文档的结构以及标签的意义可以参考: HTML是什么 我们着重介绍HTML中一些标签的用法。1. 文本标签1.1 段落标签\&amp;amp;lt;html&amp;amp;gt;&amp;amp;lt;!-- htm...

2018-07-28 21:39:33 3234

原创 某餐馆有n张桌子,每张桌子有一个参数a表示 可容纳的最大人数,有m批客人,每批客人有两个参数,b表示人数,c为预计消费金额。

某餐馆有n张桌子,每张桌子有一个参数a表示 可容纳的最大人数,有m批客人,每批客人有两个参数,b表示人数,c为预计消费金额。 某餐馆有n张桌子,每张桌子有一个参数a表示 可容纳的最大人数,有m批客人,每批客人有两个参数,b表示人数,c为预计消费金额。 在不允许拼桌的情况下,请实现一个算法选择其中一部分客人,使得总预计消费金额最大。输入描述: 输入包括m+2行。 第一行两个整数n...

2018-07-27 23:05:22 3691 1

原创 小青蛙有一天不小心落入了一个地下迷宫,小青蛙希望用自己仅剩的体力值P跳出这个地下迷宫

 小青蛙有一天不小心落入了一个地下迷宫,小青蛙希望用自己仅剩的体力值P跳出这个地下迷宫。 为了让问题简单,假设这是一个n*m的格子迷宫,迷宫每个位置为0或者1,0代表这个位置有障碍物,小青蛙达到不了这个位置;1代表小青蛙可以达到的位置。 小青蛙初始在(0,0)位置,地下迷宫的出口在(0,m-1)(保证这两个位置都是1,并且保证一定有起点到终点可达的路径), 小青蛙在迷宫中水平移动一个单...

2018-07-27 22:56:50 2516

原创 HTML是什么

1. HTML概念 HTML是用于创建网页的语言。我们通过使用HTML标记标签创建html文档来创建网页。HTML代表超文本标记语言,它是具有标记标签的集合。 HTML标签是由尖括号括起来的词,如\,\。标签通常成对出现,例如\和\。 一对中的第一个标签是开始标签,第二个标签是结束标签。在上面的示例中,\是开始标签,而\是结束标签。我们还可以将开始标签称为起始标签,结束标签称为闭合标签...

2018-07-27 22:47:15 2583

原创 通过Tomcat将JavaWeb项目部署到远端服务器

将javaweb项目打包(package)生成 .war 文件将 .war 文件放到Tomcat/webapps文件夹中将Tomcat文件夹进行压缩将压缩包通过xsheel传到服务器中在服务器中进入压缩文件目录,将压缩包解压unzip webFile.zip进入解压的文件bin目录,放开.sh文件的执行权限chmod +766 *.sh执行startup....

2018-07-27 22:42:42 1915

原创 学校图书馆共有 300 万册图书,想统计其中 Computer , Science ,计算机,科学这几个词出现的次数,并按照自然年度分类,如 2016 年出版的

 学校图书馆共有 300 万册图书,想统计其中 Computer , Science ,计算机,科学这几个词出现的次数,并按照自然年度分类,如 2016 年出版的书籍中这几个词各自出现的次数, 2015 年······依次类推。import java.io.File;import java.io.FileInputStream;import java.io.InputStream;i...

2018-07-26 09:47:32 1719

原创 一个二叉树有100个子节点数为2的节点,100个子节点数为1的节点,那么个子节点数为0的节点(叶节点)的个数为多少

 一个二叉树有100个子节点数为2的节点,100个子节点数为1的节点,那么个子节点数为0的节点(叶节点)的个数为:A. 101B. 100C. 200D. 300E. 99F. 1 正确答案为(A)解析: 由题可知,该树为一个二叉树,所以二叉树总的结点个数为0个子节点的节点n0,1个子节点的节点n1,两个子节点的节点n2。所以节点总个数 n=n0+n1+n2...

2018-07-25 23:59:17 3033

原创 IDEA 如何批量修改变量名

 在IDEA中进行工作时,有事敲了很久代码发现一个类名,方法名,或者变量名定义错了,这时,该变量可能在很多地方都引用到了,要修改的话,极其麻烦,需要将所有引用该变量的地方都进行修改,特别麻烦。 实际上,IDEA提供了一个快捷键进行变量名的批量处理。 选中修改对象: shift + F6  然后会发现,改变两被一个红框圈起来了,这时将新的名字输入,然后回车,文件中所有该变量的名字就...

2018-07-25 21:15:21 152014 23

原创 Java 深入理解接口定义

 抽象类与普通类相比最大的特点是约定了子类的实现要求,但是抽象类存在单继承局限。如果要约定子类的实现要求并且避免单继承局限就需要使用接口。1. 接口概念 接口就是一个抽象方法和全局常量的集合,使用interface关键字进行定义。 子类如果要想使用接口,那么就必须使用implements关键字来实现接口,同时,一个子类可以实现多个接口,可以使用接口来实现多继承的概念,这也是接口相较...

2018-07-25 20:57:53 1176

原创 Java 剖析抽象类

 抽象类只是在普通类的基础上扩充了一些抽象方法而已,所谓的抽象方法指的是只声明而未实现的方法(即没有方法体)。 所有抽象方法要求使用abstract关键字来定义,并且抽象方法所在的类也一定要使用abstract关键字来定义,表示抽象类。 由于抽象方法没有具体的方法实现,所以其抽象类是不能直接实例化的,使用抽象类的唯一途径是使用它的实现子类。 抽象类使用原则:所有抽象类必须有其实现...

2018-07-25 19:57:54 1265

原创 MySQL从零开始 22-索引创建原则

 基于合理的数据库设计,经过深思熟虑后为表建立索引,是获得高性能数据库系统的基础。而未经合理分析便添加索引,则会降低系统的总体性能。索引虽然说提高了数据的访问速度,但同时也增加了插入、更新和删除操作的处理时间。 是否要为表增加索引、索引建立在那些字段上,是创建索引前必须要考虑的问题。解决此问题的一个比较好的方法,就是分析应用程序的业务处理、数据使用,为经常被用作查询条件、或者被要求排序的字段建...

2018-07-25 18:13:01 1433

原创 MySQL从零开始 20-关系型数据库与非关系型数据库

1. 关系数据库 关系型数据库模型是把复杂的数据结构归结为简单的二元关系(即二维表格形式)。 2. 非关系数据库 非关系型数据库也被称为NoSQL数据库,NOSQL的本意是”Not Olnly SQL”。指的是非关系型数据库,而不是“No SQL”的意思,因此,NoSQL的产生并不是要彻底地否定关系型数据库,而是作为传统关系型数据库的一个有效补充。NOSQL数据库在特定的场景下可以...

2018-07-25 10:41:03 1877

空空如也

空空如也

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

TA关注的人

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