自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (1)
  • 收藏
  • 关注

转载 剑指Offer面试题47(Java版):不用加减乘除做加法

题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。本题属于思维题解题思路java中自带BigInteger类,可以把int数值转为String类型; 然后使用BigInteger的 public BigInteger(String val)构造方法new出BigInteger对象;调用BigInteger的add方法,然后把结果转为int类型。。 使用位操作符号,按位异或进行的是不进位加法,按位与是进行的判断是否有进位。算法图解 5+7=12

2021-01-09 07:57:38 83

转载 剑指Offer面试题41(Java版):和为s的两个数字VS和为s的连续正数序列

题目一:输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多个数字的和等于s,输出任意一对即可。例如输入数组{1,2,4,7,11,15}和数字15.由于4+11=15,因此输出4和11.首先前提是数组是有序的,我们先在数组中选择两个数字,如果他们的和等于输入的s,我们就找到了要找的两个数字。如果小于s呢?我们希望两个数字的和再大一点。由于数组已经排好序了,我们可以考虑选择较小的数字后面的数字。因为排在后面的数字要大一点,那么这两个数字的和也要大一点,就有可能等于输

2021-01-07 12:48:49 76

原创 剑指Offer面试题40(Java版):数组出现一次的数字

题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。public class E40NumbersAppearOnce { public static void main(String[] args) { int[] arr={1,1,3,3,6,8,9,9}; findNumsAppearOnce(arr); } public static void findNumsAppearOnce(int [] arr ){ .

2021-01-07 10:50:55 75

转载 剑指Offer面试题28(java版):字符串的排列

题目:输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则打印由字符a,b,c所能排列出来的所有字符串:abc,abc,bac,bca,cab,cba我们求整个字符串的排列,可以看成两步:首先求出所有可能出现在第一个位置的字符,即把第一个字符和后面所有的字符交换。下图就是分别把第一个字符a和后面的b,c交换的情景。第二步固定第一个字符,求后面所有字符的排列。这个时候我们仍把后面的所有字符分成两部分:后面字符的第一个字符,以及这个字符之后的所有字符。然后把第一个字符逐一和它后面的字

2021-01-06 22:26:32 67

转载 链表操作

一:单向链表基本介绍链表是一种数据结构,和数组同级。比如,Java中我们使用的ArrayList,其实现原理是数组。而LinkedList的实现原理就是链表了。链表在进行循环遍历时效率不高,但是插入和删除时优势明显。下面对单向链表做一个介绍。单向链表是一种线性表,实际上是由节点(Node)组成的,一个链表拥有不定数量的节点。其数据在内存中存储是不连续的,它存储的数据分散在内存中,每个结点只能也只有它能知道下一个结点的存储位置。由N各节点(Node)组成单向链表,每一个Node记录本Node的数据及下

2020-12-31 14:32:21 113

转载 接口测试总结

1.什么是接口?接口测试主要用于外部系统与系统之间以及内部各个子系统之间的交互点,定义特定的交互点,然后通过这些交互点来,通过一些特殊的规则也就是协议,来进行数据之间的交互。2.接口都有哪些类型?接口一般分为两种:1.程序内部的接口 2.系统对外的接口系统对外的接口:比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据库共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用他提供的接口就能使用他写好的方法,从而达到数据共享的目的。程序内部的接口:方法与方法之间,模块与模块

2020-12-18 14:28:16 255

转载 Java 集合系列06之 Map架构

概要前面,我们已经系统的对List进行了学习。接下来,我们先学习Map,然后再学习Set;因为Set的实现类都是基于Map来实现的(如,HashSet是通过HashMap实现的,TreeSet是通过TreeMap实现的)。首先,我们看看Map架构。如上图:(01) Map 是映射接口,Map中存储的内容是键值对(key-value)。(02) AbstractMap 是继承于Map的抽象类,它实现了Map中的大部分API。其它Map的实现类可以通过继承AbstractMap来减少重复编码

2020-12-14 15:34:00 86

转载 Java 集合系列05之 List总结(LinkedList, ArrayList等使用场景和性能分析)

现在,我们再回头看看总结一下List。内容包括:第1部分 List概括第2部分 List使用场景第3部分 LinkedList和ArrayList性能差异分析第4部分 Vector和ArrayList比较第1部分 List概括先回顾一下List的框架图(01)List 是一个接口,它继承于Collection的接口。它代表着有序的队列。(02) AbstractList 是一个抽象类,它继承于AbstractCollection。AbstractList实现List接口中除size..

2020-12-14 15:03:52 114

转载 Java 集合系列04之 LinkedList详细介绍(源码解析)和使用示例

概要前面,我们已经学习了ArrayList,并了解了fail-fast机制。这一章我们接着学习List的实现类——LinkedList。和学习ArrayList一样,接下来呢,我们先对LinkedList有个整体认识,然后再学习它的源码;最后再通过实例来学会使用LinkedList。内容包括:第1部分 LinkedList介绍第2部分 LinkedList数据结构第3部分 LinkedList源码解析(基于JDK1.6.0_45)第4部分 LinkedList遍历方式第5部分 LinkedList示.

2020-12-14 14:10:56 138

转载 Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例

概要上一章,我们学习了Collection的架构。这一章开始,我们对Collection的具体实现类进行讲解;首先,讲解List,而List中ArrayList又最为常用。因此,本章我们讲解ArrayList。先对ArrayList有个整体认识,再学习它的源码,最后再通过例子来学习如何使用它。内容包括:第1部分 ArrayList简介第2部分 ArrayList数据结构第3部分 ArrayList源码解析(基于JDK1.6.0_45)第4部分 ArrayList遍历方式第5部分 toArray()...

2020-12-14 13:59:34 74

转载 Java 集合系列02之 Collection架构

概要首先,我们对Collection进行说明。下面先看看Collection的一些框架类的关系图:Collection是一个接口,它主要的两个分支是:List和Set。List和Set都是接口,它们继承于Collection。List是有序的队列,List中可以有重复的元素;而Set是数学概念中的集合,Set中没有重复元素!List和Set都有它们各自的实现类。为了方便,我们抽象出了AbstractCollection抽象类,它实现了Collection中的绝大部分函数;这样,...

2020-12-14 13:51:35 44

转载 Java 集合系列01之 总体框架

Java 集合系列01之 总体框架Java集合是java提供的工具包,包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。Java集合工具包位置是java.util.*Java集合主要可以划分为4个部分:List列表、Set集合、Map映射、工具类(Iterator迭代器、Enumeration枚举类、Arrays和Collections)、。Java集合工具包框架图(如下):大致说明:看上面的框架图,先抓住它的主干,即Collection和Map。1 Collectio.

2020-12-14 13:49:24 60

转载 第11天 解压和压缩

1、.tar 格式  解包:tar xvf FileName.tar  打包:tar cvf FileName.tar DirName  (注:tar是打包,不是压缩!)  ———————————————2、.gz 格式  解压 1:gunzip FileName.gz  解压2:gzip -d FileName.gz  压缩:gzip FileName3、.tar.gz 和 .tgz  解压:tar zxvf FileName.tar.gz  ...

2020-12-12 21:51:23 49

转载 第11天 find命令之find命令之xargs

https://www.cnblogs.com/huchong/p/9987530.html

2020-12-12 21:33:51 205 1

转载 第11天 find命令

一、find:查找目录下的文件查找原理:磁盘遍历,速度慢。1、find +路径 -name +文件名称[root@oldboyedu ~]# find ~ -name "oldboy.txt" 路径 名字参数 具体文件2、模糊查找 *表示所有[root@oldboyedu ~]# find / -name "*y*"3、按文件类型查找-type[root@oldboyedu ~]...

2020-12-12 17:23:06 130

原创 第11天 符号链接

一、软链接相当于windows里的快捷方式,指向源文件,删除对源文件没有影响1.1 软链接的创建方式ln -s 源文件,软链接1.2 删除源文件,软链接也会对应被删除二、硬链接,与普通文件没什么不同,inode 都指向同一个文件在硬盘中的区块1.1 创建方式ln 源文件 硬链接1.2 删除源文件 ,硬链接不会被删除三、which1.1 、命令格式:  which 可执行文件名称1.2、命令功能:  which指令会在PATH变量指定的路径中,搜索某个系统命令的

2020-12-12 17:01:18 84

转载 彻底理解cookies,session,token

https://www.cnblogs.com/moyand/p/9047978.html

2020-12-09 11:06:52 170

原创 事务

#事务&数据库连接池&DBUtils##事务> Transaction 其实指的一组操作,里面包含许多个单一的逻辑。只要有一个逻辑没有执行成功,那么都算失败。 所有的数据都回归到最初的状态(回滚)* 为什么要有事务?> 为了确保逻辑的成功。 例子: 银行的转账。###使用命令行方式演示事务。* 开启事务 start transaction;* 提交或者回滚事务 commit; 提交事务, 数据将会写到磁盘上的数据库 ro...

2020-12-08 21:00:59 84

转载 软连接硬链接

什么是链接?链接简单说实际上是一种文件共享的方式,是 POSIX 中的概念,主流文件系统都支持链接文件。它是用来干什么的?你可以将链接简单地理解为 Windows 中常见的快捷方式(或是 OS X 中的替身),Linux 中常用它来解决一些库版本的问题,通常也会将一些目录层次较深的文件链接到一个更易访问的目录中。在这些用途上,我们通常会使用到软链接(也称符号链接)。软链接和硬链接的区别是?下面我们进入正题,来探讨一下软硬两种链接到底有什么区别?首先,从使用的角度讲,两者没有任何区别,

2020-12-08 09:44:24 134

原创 队列的基本操作

public class QueueDemo { //数组的有效长度 int element; //队列的头 int front; //队列的尾 int end; int[] arr; //初始化数据 public QueueDemo(){ arr=new int[element]; end=-1; front=0; element=0; } public.

2020-12-03 09:29:33 102

转载 数组的简单排序之插入排序

算法思想插入排序的工作方式非常像人们排序一手扑克牌一样。开始时,我们的左手为空并且桌子上的牌面朝下。然后,我们每次从桌子上拿走一张牌并将它插入左手中正确的位置。为了找到一张牌的正确位置,我们从右到左将它与已在手中的每张牌进行比较,如下图所示:那插曲排序是如何借助上面提到的思想来实现排序的呢?首先我们将数组中的数据分为两个区间,已排序区间和未排序区间。初始已排序区间只有一个元素,就是数组的第一个元素,然后在未排序区间中依次取出元素并插入到已排序区间的合适位置,并保证已排序区间一直是有序。重复这个步骤直到

2020-12-03 08:55:59 1376

转载 数组的选择排序

1、算法思想:选择排序,从头至尾扫描序列,找出最小的一个元素,和第一个元素交换,接着从剩下的元素中继续这种选择和交换方式,最终得到一个有序序列。2、算法过程举个栗子(第一趟的排序过程)原始序列:49、38、65、97、76、13、27、491)在进行选择排序过程中分成有序和无序两个部分,开始都是无序序列结果:49、38、65、97、76、13、27、492)从无序序列中取出最小的元素13,将13同无序序列第一个元素交换,此时产生仅含一个元素的有序序列,无序序列减一结果:{13、}

2020-12-02 21:04:45 2233

原创 栈的基本操作

/** * 栈的基本操作,栈可以看做是一个桶,先进的后出,后进的先出 */public class MyStack { //top是最顶端的数据 int top=0; int [] arr=null; //初始化数据 public MyStack(){ arr=new int[50]; top=-1; } public MyStack(int maxsize){ arr=new int[maxs.

2020-12-02 09:07:11 324

原创 数组的冒泡排序

package ArrayDemo;public class BubbleArray { public static void main(String[] args) { int[] arr={2,5,1,3}; bubble(arr); for (int a:arr ) { System.out.println(a); } } public static voi.

2020-12-01 22:07:18 51

原创 数组的二分查找

public class MyOrderArray { int elemnet; long[] arr; public MyOrderArray(){ arr=new long[50]; } public MyOrderArray(int maxsize){ arr=new long[maxsize]; } //添加有序数组 public void insert(long value){ int.

2020-12-01 21:41:09 70

原创 数组的基本操作

public class MyArray { private long[] arr; //表示有效数据的长度 private int elements; public MyArray() { arr = new long[50]; } public MyArray(int maxsize) { arr = new long[maxsize]; } /** * 添加数据 */ public .

2020-12-01 08:56:55 70

转载 Linux常用命令之 查找命令 find —— 细说 -atime,-mtime,-ctime

我们知道 Linux里面一切皆文件 ,那么我们能否查看一个文件是何时创建的呢?答案是否定的。那我们可以知道些文件关于时间的什么信息呢?那就不得不说文件状态的三个时间了,它们分别是 -atime, -ctime 和 -mtime。  先让我们来看一个Linux下的文件信息:  我们可以从中看到,关于时间的信息有三个:最近访问时间 access time (-atime)、最近更改时间 modify time (-mtime) 和 最近状态改动时间 change time(-ctime...

2020-07-29 21:30:28 248

转载 Linux中Sed的用法

sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法sed命令行格式为:sed [-nefri] ‘command’ 输入文本常用选项: -n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。 ...

2020-07-25 21:52:05 118

转载 linux中grep命令的用法

作为linux中最为常用的三大文本(awk,sed,grep)处理工具之一,掌握好其用法是很有必要的。首先谈一下grep命令的常用格式为:grep [选项] ”模式“ [文件]grep家族总共有三个:grep,egrep,fgrep。常用选项:  -E :开启扩展(Extend)的正则表达式。  -i :忽略大小写(ignore case)。  -v :反过来(invert),只打印没有匹配的,而匹配的反而不打印。  -n :显示行号  -w :被匹配的文本只能是单词,...

2020-07-25 10:43:29 149

转载 网关的通俗解释

通俗一点的讲:网关就是要去别的网络的时候,把报文首先发送到的那台设备。稍微专业一点的术语,网关就是当前主机的默认路由。网关一般就是一台路由器,有点像“一个小区中的一个邮局”,小区里面的住户互相是知道怎么走,但是要向外地投递东西就不知道了,怎么办?把地址写好送到本小区的邮局就好了。那么,怎么区分是“本小区”和“外地小区”的呢?根据IP地址 + 掩码。如果是在一个范围内的,就是本小区(局域网内部),如果掩不住的,就是外地的。例如,你的机器的IP地址是:192.168.0.2/24,网关是192.16

2020-07-16 21:29:56 3826

Java核心技术卷1

资源清晰适合初学者,非扫描版,看完了这本,感觉帮助挺大的,大家可以放心去下载

2018-02-06

空空如也

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

TA关注的人

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