自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LeetCode -- 搜索

文章目录一、BFS(广度优先搜索)类题目1.计算在网格中从原点到特定点的最短路径长度(暂无题目来源)一、BFS(广度优先搜索)类题目1.计算在网格中从原点到特定点的最短路径长度(暂无题目来源)第0次题目描述:1 表示可以经过某个位置,求解从 (0, 0) 位置到 (tr, tc) 位置的最短路径长度。比如:输入:如上矩阵,和(2,2)输出:4解题思路:代码:public i...

2020-04-08 22:23:03 251 2

原创 LeetCode -- 动态规划

题目来源:来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/house-robber著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。文章目录一、斐波拉切数列1.爬楼梯2. 打家劫舍一、斐波拉切数列1.爬楼梯第2次题目链接:爬楼梯题目描述:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2...

2020-04-08 22:22:17 359

原创 LeetCode--数组与矩阵

文章目录一、数组类题目1.移动零(题号:283)2.重塑矩阵(题号:566)二、矩阵类题目一、数组类题目1.移动零(题号:283)第0次题目链接:移动零题目描述:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。解题思路:对数组进行遍历,将遍历到的非零元素依次往数组里装,从第一个位置开始装,之后再按照数组的大小在该数组后面补0。代码:2...

2020-04-08 22:19:26 312

原创 LeetCode -- 查找问题

题目来源:来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/house-robber著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。文章目录一、斐波拉切数列1.爬楼梯(Easy)一、斐波拉切数列1.爬楼梯(Easy)第2次题目链接:...

2020-04-08 22:18:36 217

原创 LeetCod--树

二、“树”题目(来自LeetCode)1.二叉树的最大深度题目描述:给定一个二叉树,找出其最大深度,二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。解题思路:利用递归的思想,三部曲:第一步,找到递归出口,当root为0时,返回0,即为递归出口;第二步,找返回值,返回值为int型,为本子树的深度;第三步:递归主体是左右子树的深度,并进行比较。...

2020-04-08 22:15:27 331

原创 LeetCode-链表

1.找出两个链表的交点1.题目描述:2.解题思路:由于创建链表也是创建对象,所以存放在堆内存中,而"=="比较的是对象的内存地址,所以对于某两个节点的值相同并且下一个节点相同,但不一定是交点,因为它们的内存地址不同,不算是同一个节点。3.代码:/** * Definition for singly-linked list. * public class ListNode { * ...

2020-04-08 22:14:35 245

原创 1.Mybatis入门

文章目录一、JDBC问题总结二、Mybatis架构一、JDBC问题总结1.数据库连接创建、释放频繁造成系统资源浪费,从而影响系统性能。使用数据库连接池可以解决此问题;2.SQL语句写在代码中,所以想修改SQL需要修改源代码,不易维护;3.使用PreparedStatement向占位符号传参数存在固定代码,SQL语句的where条件可能会变化,造成要修改代码,从而不易维护;4.对结果集解析...

2019-08-23 22:41:50 145

原创 3.Hibernate中多表操作

文章目录一、表与表之间关系分析二、Hibernate中一对多关系三、Hibernate中多对多关系一、表与表之间关系分析一对多建表原则:在多的一方创建外键指向一的一方的主键;多对多建表原则:创建一个中间表,中间表至少有两个字段分别作为外键指向多对多双方的主键;一对一建表原则:(了解)有两种对应方式,即唯一外键对应、主键对应。唯一外键对应方式中,可将其中一张表看成一对多中的n = 1,然后再...

2019-07-29 15:36:57 182

原创 2.Hibernate进阶

1.持久化类的编写规则什么是持久化类?持久化:将内存中的数据永久存储到关系型数据库中的过程,Hibernate框架就是用来进行持久化的框架;持久化类:一个Java对象与数据库中的表建立了映射关系,那么这类在Hibernate中称为是持久化类,可以通俗认为,持久化类 = Java类 + 映射文件持久化类的编写规则:对持久化类提供一个无参的构造方法:因为Hibernate底层需要使用反射生成...

2019-07-25 21:40:46 149

原创 1.Hibernate入门

前言:JAVA EE 开发的架构三层架构:层与框架之间的关系:说明:使用Servlet、JSP+JavaBean+JDBC这套架构可以开发市面上的所有应用,但是因为其过于底层,在企业中不会使用。企业中开发一般使用SSH(Struts+Spring+Hibernate)和SSM(SpringMVC+Spring+Mybatis)。...

2019-07-14 16:21:39 117

原创 5.JDBC模板与事务处理

一、Spring的JDBC模板的使用1.使用入门需要引入的jar包:基本的jar包:  spring-expression-4.2.4.RELEASE.jar  spring-core-4.2.4.RELEASE.jar  spring-context-4.2.4.RELEASE.jar  spring-beans-4.2.4.RELEASE.jar  spring-test-4....

2019-07-06 22:51:22 189

原创 3.SQL多表操作

1.修改表-添加外键约束外键约束:foreign key添加的两张表:给product中的这个cno添加一个外键约束:alter table product add foreign key(cno) references category(cid);在创建表时也可以直接添加外键约束:create table A( foreign key(cno) references cate...

2019-07-02 09:02:58 319

原创 2.SQL对表中数据进行CRUD(增删改查)操作

1.插入数据格式:insert into 表名(列名1,列名2,列名3) values(对应值1,对应值2,对应值3);注意:可以选择相应的列名,插入相应的值。insert into student(sid,sname,sex,age) values(1,"zhangsan",1,23);简单写法:insert into 表名 values(对应值1,对应值2,对应值3);注意:省略...

2019-06-28 21:45:30 1643

原创 1.数据库入门

1.常见的数据库关系型数据库:MySQL:之前是适用于中小型企业的开源免费数据库,由于sun公司收购了MySQL,sun公司被Oracle收购之后,又开始收费了。mariadb:由MySQL创始人搞出来的,是MySQL开源版本的一个分支,所有命令基本上一样。Oracle:甲骨文公司(收购了sun,java),为收费软件,适用于大型商业网站。db2:IBM公司所有,在软硬件和服务器架构提供...

2019-06-24 21:43:46 317

原创 4.Spring中的AOP

一、AOP概述AOP:Aspect Oriented Programming,面向切面编程,AOP是OOP(OOP即面向对象编程)的扩展和延伸。AOP的应用场景:例如下面的代码:public class UserDao{ public void save(){ //在保存之前有校验代码 check(); } public void c...

2019-06-17 23:01:53 210

原创 3.Spring的IOC注解方式

一、IOC注解方式1.IOC注解入门首先,创建Web项目,这里要多导入一个jar包(即spring-aop-4.2.4.RELEASE.jar):然后创建配置文件applicationContent.xml:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.or...

2019-06-13 20:36:11 224

原创 2.Spring的配置

一、String的配置1.XML的提示配置首先,拷贝下图中的网址,然后,打开Windows - - Preferences,搜索XML Catalog,点击User Specified Entries,再点击Add,得到如下界面:在1处粘贴复制的网址,2处找到硬盘中对应的文件(本电脑的路径为:E:\Spring4.2.4\spring-framework-4.2.4.RELEASE-s...

2019-06-10 21:24:33 139

原创 1.Spring入门

一、Spring入门Spring 整体框架:什么是IOC?IOC:Inversion of Control(控制反转),即将对象的创建权反转给(交给)spring。spring包含的文件:docs:Spring的开发规范和API;libs:Spring开发的jar和源码;schema:Spring的配置文件的约束。Spring环境搭建:以创建Web项目为例step1:s...

2019-06-08 11:45:25 248

转载 对递归的理解

转自博客:http://39.96.217.32/blog/4 作者:刘宇麟递归的三部曲:第一步:找终止条件(也即递归出口),什么情况下递归终止?第二步:找返回值,我们希望向上一级递归返回什么信息?第三步:本级递归应该做什么,也即是递归的主体。例1:求二叉树的最大深度题目描述:给定一个二叉树,找出其最大深度,二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶...

2019-06-02 21:17:41 191

原创 3.Java虚拟机内存管理

一、Java虚拟机内存区域简介分析:运行时数据区包括线程共享区和线程独占区。线程共享区包括方法区和堆,被所有线程所共享;线程独占区包括虚拟机栈、本地方法栈和程序计数器,为单个线程所独有。二、Java虚拟机内存区域详解1.程序计数器...

2019-05-29 22:56:35 154

原创 6.虚拟机性能监控与故障处理工具

一、虚拟机工具1.虚拟机工具概述概述:给一个系统定位问题的时候,知识、经验是关键基础,数据是依据,工具是运用知识处理数据的手段。这里说的数据包括:运行日志、异常堆栈、GC日志、线程快照(threaddump/javacore文件)、堆转储快照(heapdump/hprof文件)等。经常使用适当的虚拟机监控和分析的工具可以加快我们分析数据、定位解决问题的速度,但在学习工具前,也应当意识到工具永远...

2019-05-29 20:44:37 181

原创 5.Java虚拟机内存分配

一、内存分配Java技术体系中所提倡的自动内存管理最终可以归结为自动化地解决了两个问题:给对象分配内存以及回收分配给对象的内存。1.概述内存分配策略:对象优先在Eden分配大对象直接进入老年代长期存活的对象将进入老年代动态对象年龄判定空间分配担保2.对象优先在Eden分配概述:大多数情况下,对象在新生代Eden区中分配。当Eden区没有足够空间进行分配时,虚拟机将发起一次Min...

2019-05-25 16:41:55 173

原创 4.垃圾回收

一、垃圾回收1.垃圾回收概述如何判定对象为垃圾对象  引用计数法  可达性分析法如何回收  回收策略    标记-清除算法    复制算法    标记-整理算法    分代手机算法  垃圾回收器    Serial    Parnew    Cms    G1何时回收2.判断对象是否存活算法1.引用计数法简述:在对象中添加一个引用计数器,每当引用该对象时,引用...

2019-05-24 21:38:34 188

原创 2.Java虚拟机发展

一、Java虚拟机发展史Sun Classic VMExact VMHotSpot VMKVM (kilobyte VM)JRockitJ9Azul VMLiquid VMDalvik VMMicrosoft JVM二、Java虚拟机简介注:java程序的高可移植性,一次编写,到处运行,可以运行在所有虚拟机上。1.Sun Classic VM(已淘汰)特点:世界上第一...

2019-05-11 07:33:11 136

转载 Gale-Shapley Algorithm(稳定匹配算法)

转载自: https://blog.csdn.net/lc_miao/article/details/78114127作者:lc_miao的博客来源:CSDN

2019-05-07 20:08:51 1418

原创 网络编程

一、网络编程的基本知识1.网络编程的概述网络编程:让不同的设备通过网络进行通信。Socket(套接字):用于描述IP地址和端口,是一个通信链的句柄;在Internet上的主机一般运行了多个服务软件,同时提供几种服务,每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。Socket作用描述:Socket为网络编程提供一种机制,通信的两端都有Socket,网络通信其...

2019-05-07 19:52:15 109

原创 IO流详解(字符流与字节流)

一、字符流与字节流1.标准的输入输出流概述标准输入流in:public static final InputStream in   in为System类中的一个静态成员变量,为字节输入流,用来读取键盘录入的数据;使用:InputStream is = System.in; //创建InputStream类型的对象Scanner sc = new Scanner(System.i...

2019-05-05 21:29:42 688

原创 IO流高级

一、File类1.File类的概述和常用功能1)File类的概述:File类:文件和目录路径名的抽象表示形式,File类的实例是不可变的。构造方法:File(String pathname) :将一个指定的路径名转换为File对象;File f = new File("D:\\a\\b.txt");File(String parent, String child) :根据指定的父路...

2019-05-01 17:15:24 368

原创 多线程

一、多线程概念及实现1.多线程的概述进程:当前正在运行的程序,一个应用程序在内存中的执行区域;线程:进程中的一个执行控制单元,执行路径。一个进程可以有单个线程,也可以有多个线程:单线程:安全性高,但是效率低,比如同一时间只做一件事;多线程:安全性低,但是效率高,比如同一时间做多件事情,可能会增加错误几率。举例:迅雷,可以同时下载多个 任务。2.多线程的实现方式主方法是单线程:在主方...

2019-04-28 21:15:25 100

原创 异常处理和递归

一、异常处理1.异常的概述和体系结构异常的概述:异常,即不正常,我们的代码出现了编译或者运行时的错误;异常包含了错误的类型、原因以及位置。举例:package test;public class test { public static void main(String[] args) { int a = 10/0; } }出现异常:异常的体系结构:  Throw...

2019-04-28 09:20:18 601

原创 Map与Set集合

一、Set集合的特点Set集合的特点:  无序(存储和读取的顺序有可能不一样);  不允许重复(要求元素唯一);  没有索引。利用HashSet存储字符串并遍历(三种遍历方法): public static void main(String[] args) { //创建集合对象 Set<String> set = new HashSet<Strin...

2019-04-26 21:57:37 170

原创 泛型与常见数据结构

一、集合的体系结构及Collection接口的功能集合的体系结构:  由于不同的数据结构(数据的组织、存储方式),所以Java为我们提供了不同的集合;  但是不同的集合的功能都是相似的,不断向上提取,将共性抽取出来,这就是集合体系结构形成的原因;如何学习:  从最顶层开始学习,因为最顶层包含了所有的共性;  使用最底层,因为因为最底层就是具体的实现。举例:CollectionLi...

2019-04-23 22:14:04 400

原创 Java常用的API

一、Object类概念:object类是所有类的父类,其中的方法可以被任何类的对象调用并重写。1.Object类中的toString方法一般使用Object中的toString方法时,需要重写; public String toString() { //源码 return getClass().getName() + "@" + Integer.toHexStri...

2019-04-21 17:27:00 281

原创 面向对象

一、基本语法回顾Java中的数据类型:基本数据类型的转换:自动类型转换:可以将byte、short、char等类型的变量直接赋值给int,int也可以直接赋值给long,以此类推…强制类型转换:将容量大的变量往小的变量赋值必需经过强制类型转换(可能会损失数据),否则会报错。数组–需要注意的问题:数组既可以存储基本数据类型,也可以存储引用数据类型。定义格式:    动态初始化: ...

2019-04-20 16:57:05 298

原创 IO流基础

一、O流的概述和分类1.概述:IO流:可以从文件中读取数据,也可以把数据存储到文件中。常见应用:文件复制(U盘拷贝内容)、上传内容(微信图片、QQ空间图片)、下载文件(迅雷下载)。2.分类:输入流(从文件中读取数据到Java程序)和输出流(从Java程序中将数据写入文件)二、FileWriter类(输出流类,往文件中写数据)FileWriter fw = new FileWriter...

2019-04-11 22:11:24 134

原创 java集合详解

1.Ecilpse中快捷设置构造方法、get、set方法自动生成构造方法:代码区域点右键—Source—Generate Constructors from Superclass… 可自动生成无参数构造方法; public Student() { // TODO Auto-generated constructor stub }代码区域点右键—Source—Gener...

2019-04-06 16:42:01 307 7

原创 String类详解

一、基本内容:1.String类:即字符串类,其主要构造方法为: String(String Original),把字符串封装成字符串对象; 举例:String s1 = new String(“hello”); String(char[] value),把字符数组的数据封装成字符串对象; 举例:char[] chs = {‘h’,‘e’,‘l’,‘l’,‘o’};       Str...

2019-04-03 22:33:18 27357

原创 删除链表中重复的结点

一、题目描述:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5二、解题思路:深刻教训:递归在算法题中的使用。本题首先判断链表中是否有节点以及是否存在唯一一个节点,然后判断重复节点是否为头结点,若为头节点,则采用whil...

2019-03-26 21:57:24 117 1

原创 修炼内功想走捷径

那怎么行,脚踏实地,吾日三省吾身!

2019-03-26 21:30:00 96

原创 在 O(1) 时间内删除链表节点

一、题目描述:在 O(1) 时间内删除链表节点,链表形如下图所示:二、解题思路:首先创建一个链表类,根据上图所示,只有next链,分两种情况:1)删除的节点是非尾节点,此时,可将该节点下一个节点的值赋值给该节点,并让该节点指向下一节点的下一节点;2)删除的节点是尾节点,若此时链中只有一个节点,则直接删除,返回null即可,否则从头节点经过不断遍历,直至找到要删除的节点的前一个节点,假设为c...

2019-03-25 22:36:18 297

空空如也

空空如也

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

TA关注的人

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