自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(105)
  • 收藏
  • 关注

原创 IO

文件操作:IO:(1)网络IO(2)本地IO特性:1.实质是数据在不同设备间流转2.只能处理一次(读取操作后的部分就没有了)3.使用完毕要关闭(反向关闭)流在 Java中所有数据都是使用流读写的。流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象流的划分.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象流的类型划分:1.输入/输出(与观测角度有关):Input/Output输入就是将数据从各种输入设备(包括麦克风,扫描器,键盘,鼠标等)中读取

2020-08-04 11:44:00 152

原创 java基础

Java 中使用 单引号 + 单个字母 的形式表示字符字面值Unicode 是16位的字符集编译 javac encoding UTF-8 类名.java运行final 修饰的变量在运行过程中不能发生修改String转intint num= Integer.parseInt(str) ;int转StringString str = String.valueOf(num);:右移,左侧补0或1<<:左移,右侧补0: 右移左侧补0;构造方法:在使用关键字new

2020-08-03 10:10:42 147

原创 list与Set、Map

list与Set、Map区别及适用场景区别:1、List,Set都是继承自Collection接口,Map则不是2、List特点:元素有放入顺序,元素可重复 ,Set特点:元素无放入顺序,元素不可重复,重复元素会覆盖掉,(注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的,加入Set 的Object必须定义equals()方法 ,另外list支持for循环,也就是通过下标来遍历,也可以用迭代器,但是set只能用迭代,因为他无序,无法用下标来取得想要

2020-08-02 15:01:49 178

原创 hash

哈希冲突:不同 关键字通过相同哈希哈数计算出相同的哈希地址,该种现象称为哈希冲突或哈希碰撞。把具有不同关键码而具有相同哈希地址的数据元素称为“同义词”。冲突-避免我们需要明确一点,由于我们哈希表底层数组的容量往往是小于实际要存储的关键字的数量的,这就导致一 个问题,冲突的发生是必然的,但我们能做的应该是尽量的降低冲突率。冲突-避免-哈希函数设计引起哈希冲突的一个原因可能是:哈希函数设计不够合理。 哈希函数设计原则:哈希函数的定义域必须包括需要存储的全部关键码,而如果散列表允许有m个地址时,其值

2020-08-02 15:01:36 208

原创 集合类

类和接口总览Collection接口是集合类的根接口,Java中没有提供这个接口的直接的实现类。但是却让其被继承产生了两个接口,就是Set和List。Set中不能包含重复的元素。List是一个有序的集合,可以包含重复的元素,提供了按索引访问的方式Map是Java.util包中的另一个接口,它和Collection接口没有关系,是相互独立的,但是都属于集合类的一部分。Map包含了key-value对。Map不能包含重复的key,但是可以包含相同的value。Collection 用来存储管理一组对象 o

2020-08-02 13:04:32 199

原创 JMM—— 类加载

类加载的时机:在类加载时,如果类没有初始化,需要先触发其初始化。下面四种情况要初始化类:(1)创建类的实例时(new 的方式)。访问某个类或者接口的静态变量,或者对该静态变量赋值,调用类的的静态方法。(类。xxx调用)(2)使用反射的方式时(3)java虚拟机启动时被标记为启动类的类,直接使用java.exe命令来运行某个主类(包含main方法这个类)(4)初始化摸个类的子类,其父类也会被初始化。(类只被初始化一次,如果要进行初始化,这个类一定被要加载)类的生命周期:类加载的全过程:加载、

2020-07-11 13:50:17 170

原创 JMM——线程私有和线程共享分别包含哪些内存区域

线程私有区域:程序计数器:程序计数器是一块较小的内存空间,它可以看做是当前线程所执行的字节码的行号指示器。Java虚拟机栈:每个方法执行的同时都会创建一个栈帧用于存储局部变量表、操作数栈、动态链接、方法出口等信息。每一个方法从调用直至执行完成的过程,就对应一个栈帧在虚拟机栈中入栈和出栈的过程。之前我们一直讲的栈区域实际上就是此处的虚拟机栈,再详细一点,是虚拟机栈中的局部变量表部分。此区域一共会产生以下两种异常:1. 如果线程请求的栈深度大于虚拟机所允许的深度(-Xss设置栈容量),将会抛...

2020-07-08 12:06:07 1596

原创 Session和Cookie

Session会话:指某个web系统的会话,指用户登录以后,在退出之前,都是会话.退出的条件:可能是注销或超过系统设置的会话时间Session的作用:用户登录时,服务端保存用户身份信息(Map<v, session>).在之后访问敏感资源时,通过请求k=v,即服务端通过k获取v,在map中获取到用户身份信息(session)Cookie原理:客户端本地保存用户身份信息,之后请求中就可以携带这些信息使用场景:登录页面XXX填免登陆/记住密码/,从本地获取用户信息.根据不同客户端代

2020-06-16 23:28:18 213

原创 转发/重定向/tomcat

转发与重定向的不同:(1)转发只需要一次请求,(2)转发路径不变重定向;转发:服务器启动加载项目:1.startup命令启动—>java tomcat内部的main方法2.加载webapps路径下的项目(1)加载项目描述文件web.xml:如果web.xml出错(包括格式和配置信息(2)扫描项目中使用了Servlet相关注解的类(3)所有Servlet都被tomcat管理起来:产生请求路径和Servlet的映射关系客户端http请求映射到某个Servlet路径(1)in

2020-06-15 21:09:33 1121

原创 网络-------TCP/UDP

五元组:源IP \ 源端口 \ 目的IP \ 目的端口 \ 协议号端口号(标识应用程序):Windows查看端口号:nestat - ano | findstr “想查打的端口号” 会显示进程的pidLinux查看端口:nestat - ano | grep “想查打的端口号” 会显示进程的pid端口号范围划分0 - 1023: 知名端口号, HTTP, FTP, SSH等这些广为使用的应用层协议, 他们的端口号都是固定的.1024 - 65535: 操作系统动态分配的端口号. 客户端程

2020-06-09 23:55:28 326

原创 操作系统/进程和程序

冯诺依曼体系:输入设备:键盘、鼠标、扫描仪、写字板等。储存器:内存。中央处理器(CPU):含有运算器和控制器等输出设备:显示器、打印机等。硬盘:在打开硬盘中的文件时,硬盘属于输入设备(硬盘中数据的输入到存储器中,再在CPU中执行;在硬盘中新建一个文件,然后往硬盘中输入数据,此时硬盘就是一个输出设备。(注意:1.同一个设备,在 不同场景中可能作为输出设备,也可以表示为输入设备 2.不考虑缓存情况,这里的CPU能且只能对内存进行读写,不能访问外设(输入或输出设备)3.外设(输入或输出设备)要输入或

2020-05-14 16:23:10 463

原创 棒球比赛/

棒球比赛

2020-05-10 22:27:01 92

原创 查找和最小的 K 对数字/最后一块石头的重量

查找和最小的 K 对数字最后一块石头的重量

2020-05-10 16:57:50 102

原创 栈的弹出压入序列/输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。

输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)...

2020-05-09 00:09:48 206

原创 逆波兰表达式求值/根据逆波兰表示法,求表达式的值。 有效的运算符包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。

2020-05-08 23:21:41 468

原创 股票价格跨度/编写一个 StockSpanner 类,它收集某些股票的每日报价,并返回该股票当日价格的跨度。

2020-05-08 16:41:17 271

原创 比较含退格的字符串:给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。

2020-05-08 14:44:46 344

原创 对事务的理解总结

实例:我给你转账,分为两步: 1.从我的账户扣100元钱 2.在你的账户加100元钱.这两步要么全部执行,要么全部不执行,只有这样才不会早晨数据的错误为了解决这个问题,就提出事务这个概念.事务:概念:事务就是一系列操作的集合,一个事务要么全部执行,要么全不执行.(把SQL 语句分组,每组就是一个事务,而每一组里面的语句要么全部执行,要么全部不执行 )事务具体解决上述问题的办法...

2020-05-07 23:03:11 516

原创 设计链表/实现 LinkedList 类/实现ArrayList 类/小镇法官

设计链表实现 LinkedList 类实现ArrayList 类小镇法官

2020-05-06 14:50:42 122

原创 将数组分成和相等的三个部分/

将数组分成和相等的三个部分

2020-05-04 23:15:13 195

原创 给定一个保存员工信息的数据结构,它包含了员工唯一的id,重要度 和 直系下属的id。

员工的重要性

2020-05-01 20:53:22 760

原创 创建商品表中插入一条数据/图书表中新增一条记录/学生表中,要求查询姓张,并且年龄在18到25岁之间的学生/查询article文章表

在以上创建的商品表中插入一条数据:名称为“学生书包”、价格18.91、库存101、描述为空在图书表中新增一条记录:Java核心技术、作者“Cay S. Horstman”,价格56.43,分类为“计算机技术”student学生表中,字段有姓名name,年龄age,要求查询姓张,并且年龄在18到25岁之间的学生查询article文章表中,发表日期create_date在2019年1月1日...

2020-04-30 21:41:07 2411

原创 创建表时的更进一步限制和约束

1.约束类型1)NOT NULL - 指示某列不能存储 NULL 值。指定id不能为NULL2)UNIQUE - 保证某列的每行必须有唯一的值。3)DEFAULT - 规定没有给列赋值时的默认值。4)PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。5)FOREIGN...

2020-04-30 16:48:23 360

原创 MySQL增删改查总结

创建/显示/选中/删除数据库显示show databases;创建create database xxx;使用use xxx;删除drop database xxx;创建/显示所有表/显示指定表结构/删除表在创建是加上if not exists ,在重复创建时避免报错查表看show 表;创表建create table 表名(字段1 类型1,字段2 类型2,…...

2020-04-29 11:52:23 347

原创 图书表/老师表/商品表

设计一张图书表设计一张老师表设计一张商品表

2020-04-28 14:37:58 167

原创 二维网格迁移

2020-04-25 23:21:41 95

原创 MySQL(查看/创建/删除数据库,创建/查看/删除表)

1.查看数据表show databases;2.创建数据库create database [数据库名];SQ语句L中不区分大小写,分多行写,一般以";"结束(没有分号,SQL就会另起一行,让用户继续输入).创建的数据库名不能重复.if not exists :在创建数据库的语句中加上if not exists ,如果数据库不存在,就会直接增加,如果存在就什么也不干. 可以避免因为...

2020-04-24 16:39:49 176

原创 反射(一些最基础的知识点和代码)

反射Java的反射(reflection)机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性,既然能拿到那么,我们就可以修改部分类型信息;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射(reflection)机制。用途1、在日常的第三方应用开发过程中,经常会遇到某个类的某个成员变量、方法或是属性是私有的或...

2020-04-22 21:40:30 294

原创 哈希表

哈希表:插入元素根据待插入元素的关键码,以此函数计算出该元素的存储位置并按此位置进行存放搜索元素对元素的关键码进行同样的计算,把求得的函数值当做元素的存储位置,在结构中按此位置取元素比较,若关键码相等,则搜索成功用该方法进行搜索不必进行多次关键码的比较,因此搜索的速度比较快冲突-概念不同关键字通过相同哈希哈数计算出相同的哈希地址,该种现象称为哈希冲突或哈希碰撞。把具有不同关键码而具...

2020-04-22 16:43:17 309

原创 二叉搜索树代码

二叉搜索树又称二叉排序树,它或者是一棵空树**,或者是具有以下性质的二叉树:若它的左子树不为空,则左子树上所有节点的值都小于根节点的值若它的右子树不为空,则右子树上所有节点的值都大于根节点的值它的左右子树也分别为二叉搜索树执行结果对于插入、查找、删除来说,时间复杂度都是一样。最坏是O(n)单枝树最好是O(logN),此时是平衡二叉树...

2020-04-22 16:19:12 146

原创 给一非空的单词列表,返回前 k 个出现次数最多的单词。旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。 现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。

Arrays.sort是针对数组排顺序,也可以通过第二个参数指定比较规则;Collection.sort是针对集合类排序给一非空的单词列表,返回前 k 个出现次数最多的单词。旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。...

2020-04-20 15:07:23 1674

原创 Map和Set

只出现了一次的数字给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。找出只出现一次的那两个元素。给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。要求返回这个链表的 深拷贝。宝石与石头...

2020-04-17 22:26:34 104

原创 Map和Set的常用方法

Map.Entry<K, V> 即 Map 中定义的 K 类型的 key 和 V 类型的 value 的映射关系的类。K getKey() 返回 entry 中的 keyV getValue() 返回 entry 中的 valueMap 的常见方法V get(Object key) 返...

2020-04-17 16:13:37 883

原创 泛型 通配符-上界 通配符-下界

通配符-上界<? extends 上界>通配符-下界<? super 下界>**泛型的限制**1. 泛型类型参数不支持基本数据类型2. 无法实例化泛型类型的对象3. 无法使用泛型类型声明静态的属性4. 无法使用 instanceof 判断带类型参数的泛型类型5. 无法创建泛型类数组6. 无法 create、catch、throw 一个泛型类异常(异常不支...

2020-04-17 15:13:22 114

原创 比较("=="、"equals"、Comparable、Comparator)

对象值相等的比较“==”和equalsp == q 表示的是 p 和 q 两个引用指向同一个对象p.equals(q) 表示 p 指向的对象 和 q 指向的 对象是否是值语义相等的equals如果没有手动重写,默认执行的就是Object版本中的equals。比较规则和“==”一样结果手动重写equals运行结果有了下面这个条件,则可以使String str = null;...

2020-04-17 14:22:17 339

原创 归并排序(非递归)

2020-04-16 16:44:02 107

原创 归并排序和非递归快速排序

快速排序(非递归)归并排序特点:(1)可以适用于外部排序(外部排序:数据在磁盘上)(2)因为适用于链表排序(链表排序:希尔、堆排序、快速排序依赖随机访问能力)时间复杂度:O(n * log(n))空间复杂度:O(n)稳定性:稳定...

2020-04-16 16:09:22 140

原创 排序2

快速排序稳定性:不稳定选择基准值很重要,通常使用几数取中法partition 过程中把和基准值相等的数也选择出来待排序区间小于一个阈值时(例如 48),使用直接插入排序...

2020-04-15 23:13:16 51

原创 排序

插入排序稳定性:稳定排序特点:(1)当待排序区间比较少的时候,排序效率很高(2)当真个数组比较有序的时候,排序效率也很高希尔排序时间复杂度最好:O(n)平均:O(n^1.3)最坏:O(n^2)空间复杂度O(1)稳定性:不稳定选择排序:时间复杂度:O(n^2)空间复杂度:O(1)稳定性:不稳定排序堆排序时间复杂度:O(N * logN)空间复杂度...

2020-04-14 22:09:54 100

原创

java中优先级队列TopK问题全局排序,O(n*lg(n))局部排序,只排序TopK个数,O(n*k)堆,TopK个数也不排序了,O(n*lg(k))分治法,每个分支“都要”递归,例如:快速排序,O(n*lg(n))减治法,“只要”递归一个分支,例如:二分查找O(lg(n)),随机选择O(n)TopK的另一个解法:随机选择+partition————————————————版...

2020-04-14 14:08:15 73

空空如也

空空如也

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

TA关注的人

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