自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Guijun6的博客

Guijun6的博客

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

原创 Java判断一个字符是否为中文字符

Java判断一个字符是否为中文字符/*** * 判断字符是否为中文 * @param ch 需要判断的字符 * @return 中文返回true,非中文返回false */ private static boolean isChinese(char ch) { //获取此字符的UniCodeBlock Charact...

2019-07-10 16:26:08 3066

原创 SpringBoot Swagger2 API框架使用模版 & SwaggerAPI注解详解,以及注解常用参数配置

Swagger 的使用https://blog.csdn.net/qq_36595006/article/details/80723742SwaggerAPI注解详解,以及注解常用参数配置https://blog.csdn.net/java_yes/article/details/79183804SpringBoot配置SwaggerUI访问404错误http://www.cnblogs...

2018-12-22 13:30:32 1100 2

原创 最简单的顺时针打印矩阵算法

题目对于一个矩阵,请设计一个算法从左上角(mat[0][0])开始,顺时针打印矩阵元素。 给定int矩阵mat[][],以及它的维数 n 和 m,请返回一个数组,数组中的元素为矩阵元素的顺时针输出。测试样例:参数:[[1, 2], [3, 4]] 2 2返回:[1, 2, 4, 3]解题思路:最直观的方法:从外圈到里圈,一圈一圈的打印,向内再走一圈接着继续循环...

2018-08-27 08:11:40 1894 1

转载 MyISAM和InnoDB索引引擎的B+树索引(有图有真相)的实现

1. MyISAM索引实现:1)主键索引:MyISAM引擎使用B+Tree作为索引结构,叶节点的data域存放的是数据记录的地址。下图是MyISAM主键索引的原理图:                

2018-08-21 20:51:24 1119

转载 MySQL存储引擎--MyISAM与InnoDB 的详细区别

1、事务处理innodb 支持事务功能,myisam 不支持。Myisam 的执行速度更快,性能更好。2、select ,update ,insert ,delete 操作MyISAM:如果执行大量的SELECT,MyISAM是更好的选择InnoDB:如果你的数据执行大量的INSERT或UPDATE,出于性能方面的考虑,应该使用InnoDB表3、锁机制不同InnoD...

2018-08-21 19:54:51 230

转载 LeetCode | Unique Binary Search Trees II

转载:https://blog.csdn.net/chilseasai/article/details/50083201题目:Given n, generate all structurally unique BST's (binary search trees) that store values 1...n....

2018-08-20 19:14:48 960

原创 Java SE典型的新特性(枚举/注解)

JavaSE新特性2018/07/31 15:52 枚举 实际上枚举就是一种高级的多例设计模式。Enum类 虽然JDK1.5提供了enum关键字,但是enum并不是一种新的结构,相反,它只是对一种类型的包装:使用enum关键字定义的枚举类本质上就相当于一个Class定义的类,继承了java.lang.Enum父类。在Enum 类里面有以下方法:构造方法 pro...

2018-08-10 19:47:27 566

原创 可变参数,foreach循环,静态类导入,泛型,泛型擦出

2018/08/03 07:29 Java部分新特性: JDK 1.2 : 推出了轻量级的界面包Swing JDK 1.5 : 推出新程序结构的设计思想 JDK 1.8 : Lambda表达式,接口定义加强 可变参数// 早期是利用数组传参,现在要求是任意多个数组的传参从JDK1.5之后就追加了可变参数的概念 public [static] [final]...

2018-08-08 07:22:07 700

原创 一看就懂的正则表达式匹配问题解法(牛客网/剑指offer正则表达式的匹配)

慢慢看完这篇,下次这题就不是问题!^_^题目描述请实现一个函数用来匹配包括’.’和’‘的正则表达式。模式中的字符’.’表示任意一个字符,而’‘表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串”aaa”与模式”a.a”和”ab*ac*a”匹配,但是与”aa.a”和”ab*a”均不匹配!接下来请认真跟着我的思路走分析当模...

2018-07-28 18:58:50 982

原创 关系型数据库与非关系型数据库的简介、对比和说明!!!

关系型数据库:OracleSQLServerSybaseInformixAccessDB2mysqlvfpIngersFoxPro非关系型数据库:MongoDBCassandraCouchDBHypertableRedisRiakNeo4jHadoop HBaseCouchbaseMemcacheDBREVENDBVoldemort关系型...

2018-07-25 16:57:39 14806 1

原创 SpringFramework简介--理解IoC/DI/Spring设计理念

1. Spring介绍1.1 Spring1.2 Spring 核心思想1.2.1 基本概念1.2.2 了解 IoC 容器特点1.2.3 理解 IoC 容器的关键问题1.2.4 理解实现 IoC 思想的容器1.2.5 理解 DI 问题关键1.2.6 理解 DI 优点1.2.7 思路改变1.3 Spring 框架特点1.4 Spring 的设计哲学2. Sprin...

2018-07-20 13:25:30 796

原创 Java版各类常见的排序算法的实现及复杂度稳定性的分析---交换排序/选择排序/插入排序/归并排序/分布排序

交换排序冒泡排序这里和大家一起分享常见的几种排序算法交换排序所谓交换排序:就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置。 交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。冒泡排序冒泡排序思想:这里我们举例说升序,降序思想一样 每一趟比较两个相邻元素,如果前一个数比后一个数大,则我们进行交...

2018-07-19 20:08:57 689

原创 小白的MySQL,从零到精通(十五章)之第十四章(终章)--MySQL用户管理(创建删除用户/修改密码/授权/回收权限)

如果我们只能使用root用户,这样存在安全隐患。这时,就需要使用MySQL的用户管理。 MySQL中的用户,都存储在系统数据库mysql的user表中mysql> select host,user,password from mysql.user; 字段解释:host : 表示这个用户可以从哪个主机登陆,如果是localhost,表示只能从本机登陆user : 用户名...

2018-07-17 13:36:17 519

原创 小白的MySQL,从零到精通(十五章)之第十三章--视图

视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。视图的数据变化会影响到基表,基表的数据变化也会影响到视图。基本使用创建视图create view 视图名 as select语句;示例:mysql> create view v_ename_dname as-> select ename, dname-> from E...

2018-07-17 13:17:20 566

原创 小白的MySQL,从零到精通(十五章)之第十二章--事务(隔离级别/ACID特性)

事务就是一组dml语句组成,这些语句在逻辑上存在相关性,这一组dml语句要么全部成功,要么全部失败,是一个整体。MySQL提供一种机制,保证我们达到这样的效果。事务还规定不同的客户端看到的数据时不相同的。 事务理论的深度理解参见推荐书籍:《数据库系统概念》的第14章。 银行转账的例子更需要考虑事务的问题。create table account(id int primary key,...

2018-07-17 13:07:24 563

原创 小白的MySQL,从零到精通(十五章)之第十一章--索引(主键/唯一键/创建/删除索引)

提高数据库的性能,索引是物美价廉的东西了。不用加内存,不用改程序,不用调sql,只要执行正确的‘create index’,查询速度就可能提高成百上千倍。但是天下没有免费的午餐,查询速度的提高是以插入、更新、删除的速度为代价的,这些写操作,增加了大量的IO。所以他的价值,在于提高一个海量数据的检索速度。常见索引分为:主键索引(primary key),唯一索引(unique),普通索引(ind...

2018-07-17 12:42:04 543

原创 小白的MySQL,从零到精通(十五章)之第十章--表的内连接和外连接(左外连接/右外连接)

表的连接分为内连和外连内连接内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我们前面学习的查询都是内连接,也是在开发过程中使用的最多的连接查询。语法:select 字段 from 表1 inner join 表2 on 连接条件 and 其他条件;说明:前面学习的都是内连接 例:显示SMITH的名字和部门名称-- 用前面的写法mysql> ...

2018-07-17 11:54:30 557

原创 小白的MySQL,从零到精通(十五章)之第九章--多表查询(自连接/子查询/外键)

话不多说,这一章肯定是重中之重!!!前面我们讲解的mysql表的查询都是对一张表进行查询,在实际开发中这远远不够。 下面我们用一个简单的公司管理系统,有三张表EMP,DEPT,SALGRADE来演示如何进行多表查询。为什么需要多表查询实际开发中往往数据来自不同的表,所以需要多表查询。例:显示雇员名、雇员工资以及所在部门的名字因为上面的数据来自EMP和DEPT表,因此...

2018-07-17 10:53:40 721

原创 Java-数据结构-之字形打印二叉树-牛客剑指offer/LetCode

牛客题目题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。思路 根据题意,每行的节点的访问顺序是相反的,我们可以用两个栈来隔行存储,一个栈中根据“左结点->右结点”的顺序访问另一个栈的栈顶元素,而另一个栈根据“右子树->左子树”的顺序访问另一个栈的栈顶元素,直到两个栈都为...

2018-07-14 17:53:19 1013

原创 小白的MySQL,从零到精通(十五章)之第八章--函数

函数常用日期函数 获得年月日:mysql> select current_date();获得时分秒就用: mysql> select current_time(); 获得时间戳:mysql> select current_timestamp(); 在日期的基础上加日期:mysql> select date_add('2017-10-...

2018-07-04 12:01:52 689

原创 零基础的JavaEE之零基础的Mybatis框架

本文大概分这么几个阶段来学习Mybatis1、Mybatis是什么;2、Mybatis的发展;3、Mybatis与JDBC SQL的对比4、Mybatis的使用。1、Mybatis是什么?Mybatis(3.x以前的版本叫ibatis) 是一款一流的支持自定义SQL、存储过程和高级映射的持久框架。MyBatis几乎消除了所有的JDBC代码,也基于本不需要手工去设置参...

2018-07-04 11:24:33 261

原创 小白的MySQL,从零到精通(十五章)之第七章--Select查询

因为select知识比较多,我们单独列出一章来了解。select [distinct] *| {column1,column2,...} from tbl_name;创建一张学生表来测试:create table student (id int not null default 1,name varchar(20) not null default '',chinese flo...

2018-06-20 16:35:51 610

原创 小白的MySQL,从零到精通(十五章)之第六章--表的增删查改(CRUD)(进阶)详解

增加 语法:insert into table_name[(column[,column...])]values (value [,value...]);示例: 1. 创建一张商品表mysql> create table goods( -> id int unsigned primary key, -> goods_name varchar(50) not n...

2018-06-17 12:41:58 610

原创 小白的MySQL,从零到精通(十五章)之第五章--表的约束(空属性,列描述,zerofill,主键,自增长,唯一键)

表的约束真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合法性,从业务逻辑角度保证数据的正确性。比如有一个字段是email,要求是唯一的。表的约束很多,这里主要介绍如下几个,其余的以后讲解。null/not null,default, comment, zerofill,primary key,auto_increment,unique。 空属性...

2018-06-17 12:17:42 843

原创 小白的MySQL,从零到精通(十五章)之第四章--数据库的数据类型

数据类型 数值类型 越界测试:用tinyint类型测试 先创建一张表;mysql> create table tt1(num tinyint);Query OK, 0 rows affected (0.02 sec)向表中插入一个合法的数字;mysql> insert into tt1 values(1);Query OK, 1 row affected...

2018-06-17 11:34:17 573

原创 小白的MySQL,从零到精通(十五章)之第三章--表的相关(增删查改基础)操作

创建表 语法:CREATE TABLE table_name (field1 datatype, field2 datatype, field3 datatype) character set字符集 collate 校验规则 engine 存储引擎;说明:field 表示列名datatype 表示列的类型character set 字符集,如果没有指定字符集,则以所在数据库的字...

2018-06-17 10:24:48 599

原创 小白的MySQL,从零到精通(十五章)之第二章--库的相关操作

创建数据库语法: CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,create_specification] ...]create_specification:[DEFAULT] CHARACTER SET charset_name [DEFAULT] COLLATE collation_name说明:...

2018-06-16 18:20:07 586

原创 小白的MySQL,从零到精通(十五章)之第一章--MySQL数据库基础

1、什么是数据库? 存储数据用文件就可以了,为什么还要弄个数据库? 文件保存数据有以下几个缺点:文件的安全性问题文件不利于查询和对数据管理文件在程序中不方便控制**为了解决上述问题,专家们设计出更加利于管理数据的东西——数据库,他能更有效的管理数据。数据库的水平是 衡量一个程序员水平的重要指标。** 因此得出:高效的存储和处理数据的介质(介质主要是两种:磁盘和内存)2、目...

2018-06-16 17:33:13 918

原创 小白的MySQL,从零到精通(十五章)之第零章--安装MySQL

本文先为大家介绍Centos6.5及Windows下安装MySQL!!!在 CentOS6.5下这里大佬们有教程,我就不多说了哈!!! https://www.cnblogs.com/tianyalu/p/5045772.html在Windows下安装MySQL这里也用下大神的,很详细,且很清楚 http://blog.51cto.com/aiilive/2116476...

2018-06-16 17:04:24 515

原创 Java SE 高级开发之集合类四之——Properties属性文件操作

在java中有一种属性文件(资源文件)的定义:*.properties文件,在这种文件里面其内容的保存形式为”key =value”,通过ResourceBundle类读取的时候只能读取内容,要想编辑其内容则需要通过Properties类来完成,这个类是专门做属性处理的。Properties是Hashtable的子类,这个类的定义如下:public class Properties ext...

2018-06-02 15:54:26 946

原创 Java SE 高级开发之集合类三之——Map从使用到底层剖析

前面我们介绍了Collection集合接口,Collection集合的特点是每次进行单个对象的保存,如果现在要进行一对对象(偶对象)的保存就只能使用Map集合来完成,即Map集合中会一次性保存两个对象,且这两个对象的关系:key=value结构。这种结构最大的特点是可以通过key找到对应的value内容。Map接口概述首先来观察Map接口定义:public interface Map&...

2018-06-01 22:15:02 909

原创 Java SE 高级开发之集合类二之集合类的输出

集合输出在前面的集合类文章介绍中(List),集合输出的时候都利用了toString(),或者利用了List接口方法。这但些都不是集合的标准输出。如果从标准上来讲,集合输出一共有四种手段:Iterator, ListIterator, Enumeration, foreach.迭代输出:Iterator 在JDK1.5之前,在Collection接口中就定义有iterator()方法...

2018-05-30 18:00:49 680

原创 Java SE 高级开发之集合类一之集合类的引出/List)

Java类集简介Java类集引出 类集实际上就属于动态对象数组,在实际开发之中,数组的使用出现的几率并不高,因为数组本身有一个最大的缺陷:数组长度是固定的。由于此问题的存在,从JDK1.2开始,Java为了解决这种数组长度问题,提供了动态的对象数组实现框架–Java类集框架。Java集合类框架实际上就是java针对于数据结构的一种实现。而在数据结构之中,最为基础的就是链表。链表的特点:...

2018-05-25 17:18:34 1093

原创 Java SE 高级开发之Java IO 之 终章——序列化/反序列化 操作

所有的项目开发一定都有序列化的概念存在。序列化基本概念对象序列化指的是:将内存中保存的对象变为二进制数据流的形式进行传输,或者是将其保存在文本中。但是并不意味着所有类的对象都可以被序列化,严格来讲,需要被序列化的类对象往往需要传输使用,同时这个类必须实现java.io.Serializable接口。但是这个接口并没有任何的方法定义,只是一个标识而已。例:定义可以被序列化对象的类cl...

2018-05-23 11:15:12 957

原创 Java SE 高级开发之Java IO 之 System类对IO的支持/两种输入流(BufferedReader/Scanner)

在前面的文章中了解到PrintStream与PrintWriter后,我们发现里面的方法名都很熟悉。例如:print()、println()。Java SE 高级开发之Java IO 之 打印流 https://blog.csdn.net/guijun6/article/details/80397322实际上我们一直在使用的系统输出就是利用了IO流的模式完成。在System类中定义了三个...

2018-05-23 10:21:44 953

原创 Java SE 高级开发之Java IO 之 打印流 (PrintStream / PrintWriter)

打印流打印流解决的就是OutputStream的设计缺陷,属于OutputStream功能的加强版。如果操作的不是二进制数据,只是想通过程序向终端目标输出信息的话OutputStream不是很方便,其缺点有两个: 所有的数据必须转换为字节数组。 如果要输出的是int、double等类型就不方便了打印流概念 打印流设计的主要目的是为了解决OutputStream的设计问题,其本质不...

2018-05-21 21:06:20 1115

原创 Java SE 高级开发之Java IO 之 内存操作流

内存流概念 在之前的文章中的操作都是针对于文件进行的IO处理。除了文件之外,IO的操作也可以发生在内存之中,这种流称之为内存操作流。文件流的操作里面一定会产生一个文件数据(不管最后这个文件数据是否被保留)。 如果现在需求是:需要进行IO处理,但是又不希望产生文件。这种情况下就可以使用内存作为操作终端。对于内存流也分为两类: 字节内存流:ByteArrayInputStream、Byte...

2018-05-21 18:23:32 283

原创 Java SE 高级开发之Java IO 之 转换流

转换流的基本使用这是前面给大家介绍的Java SE 高级开发之Java IO 之 File(文件操作) https://blog.csdn.net/guijun6/article/details/80380292这是前面给大家介绍的 https://blog.csdn.net/guijun6/article/details/80381507前面的文章已经给大家介绍了两种数据流。实际...

2018-05-21 17:22:24 978

原创 Java SE 高级开发之Java IO 之 字节流与字符流

字节流与字符流流操作简介 File类不支持文件内容处理,如果要处理文件内容,必须要通过流的操作模式来完成。流分为输入流和输出流。在java.io包中,流分为两种:字节流与字符流 字节流:InputStream、OutputStream 字符流:Reader、Writer字节流与字符流操作的本质区别只有一个:字节流是原生的操作,而字符流是经过处理后的操作。在进行网络...

2018-05-20 13:19:26 928

原创 Java SE 高级开发之Java IO 之 File(文件操作)

File文件操作类在Java.io包之中,File类是唯一一个与文件本身操作(创建、删除、取得信息..)有关的程序类。File类的基本使用 java.io.File类是一个普通的类,直接产生实例化对象即可。如果要实例化对象则需要使用到两个构造方法:public File(String pathname) ;public File(String parent, String chil...

2018-05-20 11:50:01 1142

空空如也

空空如也

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

TA关注的人

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