自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 集合工具类CollectionUtils、ListUtils、SetUtils、MapUtils的使用

主要用它的isEmpty(final Collection<?> coll)静态方法来判断一个给定的集合是否为null或者是否长度为0。最近才发现此工具类还可以取集合的交集、并集、甚至差集,集合1:[1,2,3,4],集合2:[3,4,5,6]      上面两个集合取交集的结果是[3,4],CollectionUtils工具类提供了Collection<O> inte...

2018-12-05 15:32:42 760

转载 Map几种遍历方式

1.通过Map.KeySet遍历key和valuefor (String key : map.keySet()) {            String value = map.get(key);            System.out.println("key: " + key + " value: " + value);        }12342.通过Map.entrySe...

2018-11-27 21:19:05 495

转载 Mysql查询优化

 1.很多时候用 exists 代替 in 是一个好的选择selectnumfromawherenumin(selectnumfromb)selectnumfromawhereexists(select1frombwherenum=a.num) 2.并不是所有索引对查询都有效,SQL是根据表中数据来进行查询优化的,当索引列有大量数据重...

2018-11-26 11:10:40 186

转载 logback.xml

一、logback的介绍Logback是由log4j创始人设计的另一个开源日志组件,官方网站: http://logback.qos.ch。它当前分为下面下个模块:logback-core:其它两个模块的基础模块 logback-classic:它是log4j的一个改良版本,同时它完整实现了slf4j API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging l...

2018-11-09 16:20:44 136

原创 Spring Transaction中事物的传播方式

Spring Transaction中有一个很重要的属性:Propagation。主要用来配置当前需要执行的方法,与当前是否有transaction之间的关系。我晓得有点儿抽象,这也是为什么我想要写这篇博客的原因。看了后面的例子,大家应该就明白了。一、Propagation取值:REQUIRED(默认值):在有transaction状态下执行;如当前没有transaction,则创建新的t...

2018-11-07 14:33:37 129

原创 单例设计模式

更多设计模式:23种设计模式帮助理解原理的一篇博客:https://www.cnblogs.com/zhengyu940115/p/6652465.html概念:  java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。  单例模式有以下特点:  1、单例类只能有一个实例。  2、单例类必须自己创建自己的唯一实例。  3、单例类必须给...

2018-05-03 17:16:52 128

原创 Java基础-总结Map,HashMap,HashMap与Hashtable区别及运用,Collections工具类

HashMap原理可参考:https://yq.aliyun.com/articles/232498?spm=5176.10695662.1996646101.searchclickresult.6d8ddf08JEiqQf1:Map(掌握)(1)将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。 (2)Map和Collection的区别?A:Map 存储的是键值对形式的元...

2018-05-02 12:24:30 234

转载 Java JVM 运行机制及基本原理

JVM的基础概念JVM的中文名称叫Java虚拟机,它是由软件技术模拟出计算机运行的一个虚拟的计算机。JVM也充当着一个翻译官的角色,我们编写出的Java程序,是不能够被操作系统所直接识别的,这时候JVM的作用就体现出来了,它负责把我们的程序翻译给系统“听”,告诉它我们的程序需要做什么操作。我们都知道Java的程序需要经过编译后,产生.Class文件,JVM才能识别并运行它,JVM针对每个操作系统开...

2018-04-28 16:37:52 134

转载 JVM运行原理详解

1.JVM简析:     作为一名Java使用者,掌握JVM的体系结构也是很有必要的。     说起Java,我们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。它们的关系如下图所示:     Java平台由Java虚拟机和Java应用程序接口搭建,Java语言则是进入这个...

2018-04-28 15:48:00 99

原创 mysql 中主键和索引的关系和说明

mysql数据库: 主键 索引 关系1.主键:主键的唯一作用就是唯一标识表中的某一行数据。分为单一主键和联合主键: 单一主键:只用一列就能唯一标识一行。 联合主键:当使用一列已经不能唯一标示一行的时候,就要采用多列唯一标识一行,就是联合主键。 2.索引:索引的作用就是提高数据的检索速度,分为单一索引和联合索引:  单一索引:只是用某一列数据作为索引,默认是index索引,这一列可以包含重复数据;如...

2018-04-28 15:32:06 415

原创 MySQL数据库引擎介绍、区别、创建和性能测试的深入分析_Mysql

数据库引擎介绍MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的。要添加一个新的引擎,就必须重新编译MYSQL。在缺省情况下,MYSQL支持三个引擎:ISAM、MYISAM和HEAP。另外两种类型INNODB和BERKLEY(BDB),也常常可以使用。如果技术高超,还可以使用MySQL+API自己做一个引擎。下面介绍几种数据库引擎:    ISAM:ISAM是一个定义明确且历经时间考验...

2018-04-28 15:08:50 127

转载 mysql错误1044-Access denied for user 'root'@'localhost' to database

今天用Navicat在某个用户下创建数据库出现如下错误解决方案:1044-Access denied for user 'root'@'localhost' to database错误提示root用户没有权限创建事件,之前对mysql各种玩也没出现过这种问题,百度了一下,看了好几篇解决办法都是说要改配置文件,跳过权限管理,这样不合适吧。于是没有找到答案,索性卸载重装,装了两次依然存在这个问题,还是...

2018-04-26 10:36:02 3914

转载 Intellij IDEA debug断点调试技巧

在调试代码的时候,你的项目得debug模式启动,也就是点那个绿色的甲虫启动服务器,然后,就可以在代码里面断点调试啦。下面不要在意,这个快捷键具体是啥,因为,这个keymap是可以自己配置的,有的人keymap是mac版的,有的是Windows版的。我的就是Windows,而且修改keymap为eclipse的keymap,因为我算是eclipse转过来的吧。下面直接看图,详细解释,每一个按钮(按钮...

2018-04-23 10:34:12 352

转载 synchronized原理

java中synchronized关键字的用法 在java编程中,经常需要用到同步,而用得最多的也许是synchronized关键字了,下面看看这个关键字的用法。因为synchronized关键字涉及到锁的概念,所以先来了解一些相关的锁知识。java的内置锁:每个java对象都可以用做一个实现同步的锁,这些锁成为内置锁。线程进入同步代码块或方法的时候会自动获得该锁,在退出同步代码块或方...

2018-04-21 12:11:11 90

转载 Synchronized及其实现原理

一、Synchronized的基本使用  Synchronized是Java中解决并发问题的一种最常用的方法,也是最简单的一种方法。Synchronized的作用主要有三个:(1)确保线程互斥的访问同步代码(2)保证共享变量的修改能够及时可见(3)有效解决重排序问题。从语法上讲,Synchronized总共有三种用法:  (1)修饰普通方法  (2)修饰静态方法  (3)修饰代码块  接下来我就通...

2018-04-21 10:45:24 102

转载 Jackson 高性能的JSON处理 ObjectMapper

Jackson 框架,轻易转换JSONJackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。前面有介绍过json-lib这个框架,在线博文:http://www.cnblogs.com/hoojo/archive/2011/04/21/2023805.html相比json-lib框架,Jackson所依赖的jar包较少,简单易用并且性...

2018-04-20 15:44:54 2209

原创 JSON.parseObject和JSON.toJSONString实例

JSON.parseObject,是将Json字符串转化为相应的对象;JSON.toJSONString则是将对象转化为Json字符串。在前后台的传输过程中,Json字符串是相当常用的,这里就不多介绍其功能了,直接举一下应用的小例子,帮助理解这两个方法的用法。首先用maven引入fastjson<?xml version="1.0" encoding="UTF-8"?><proj...

2018-04-20 11:18:35 395

原创 JSONObject和JSONArray区别及基本用法

一、JSONObject和JSONArray的数据表示形式JSONObject的数据是用 {  } 来表示的,        例如:   { "id" : "123", "courseID" : "huangt-test", "title" : "提交作业", "content" : null  }  而JSONArray,顾名思义是由JSONObject构成的数组,用

2018-04-20 09:57:19 960

原创 MySQL 的IFNULL()、ISNULL()和NULLIF()函数

在使用left join等联表查询时,常遇到某些字段为null,一般都在后台语言使用if (a==null) 判断做处理,其实MySQL本身也有一个IFNULL函数可以处理。同时我们也来说说ISNULL()和NULLIF()函数。分享一、IFNULL(expr1,expr2)用法    假如expr1不为NULL,则 IFNULL() 的返回值为expr1; 否则其返回值为 expr2。IFNUL...

2018-04-19 20:03:37 453

原创 java.Util.List接口的方法的使用注意事项

JDK中,List接口有一个实例方法List<E> subList(int fromIndex, int toIndex),其作用是返回一个以fromIndex为起始索引(包含),以toIndex为终止索引(不包含)的子列表(List)。     但值得注意的是,返回的这个子列表的幕后其实还是原列表;也就是说,修改这个子列表,将导致原列表也发生改变;反之亦然。 下面是一段实例代码:im...

2018-04-19 13:58:24 5007

原创 Mybatis 配置文件 useGeneratedKeys和keyProperty 参数

Mybatis 配置文件 useGeneratedKeys 参数只针对 insert 语句生效,默认为 false。当设置为 true 时,表示如果插入的表以自增列为主键,则允许 JDBC 支持自动生成主键,并可将自动生成的主键返回。/* * 配置 useGeneratedKeys = true * */<?xml version="1.0" encoding="UTF-8"?>...

2018-04-18 15:20:08 9282 1

转载 Integer.valueOf(int)及自动装箱内幕

Integer为什么要提供功能与new Integer(xx)一样的valueOf(xx)方法呢,看了源代码之后,我发现了惊人的内幕。public static Integer valueOf(int i) { assert IntegerCache.high >= 127; if (i >= IntegerCache.low && i ...

2018-04-18 14:06:39 139

转载 java中Integer.parseInt和Integer.valueOf 的区别

他们返回类型的不同是最大的原因。static int parseInt(String s) 将字符串参数作为有符号的十进制整数进行分析。static Integer valueOf(int i) 返回一个表示指定的 int 值的 Integer 实例。 static Integer valueOf(String s) 返回保持指定的 String 的值的 Integer 对象。 从返回值可以看出他...

2018-04-18 13:59:25 25461

转载 Spring的Assert工具类的用法

Assert(断言)的初步理解构思  Web 应用在接受表单提交的数据后都需要对其进行合法性检查,如果表单数据不合法,请求将被驳回。类似的,当我们在编写类的方法时,也常常需要对方法入参进行合 法性检查,如果入参不符合要求,方法将通过抛出异常的方式拒绝后续处理。举一个例子:有一个根据文件名获取输入流的方法:InputStream getData(String file),为了使方法能够成功执行,必须...

2018-04-17 18:32:17 130

转载 RBAC权限管理

RBAC(Role-Based Access Control),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。角色是什么?可以理解为一定数量的权限的集合,权限的载体。例如:一个论坛系统,“超级管理员”、“版主”都是角色。版主可管理版内的帖子、可...

2018-04-17 14:55:26 93

转载 Java对象序列化和反序列化

什么是序列化与反序列化当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个Java对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为Java对象。在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存。比如最常见的是Web服务器中的Session对象,当有 10万用户并发...

2018-04-16 10:30:26 173

转载 dubbo的配置及使用

1. Dubbo是什么?Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了Dubbo就是个远程服务调用的分布式框架(告别Web Service模式中的WSdl,以服务者与...

2018-04-11 17:28:53 129

转载 redis中的jedis操作

常用命令参考:https://blog.csdn.net/ithomer/article/details/92131851)功能类package com.redis;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import java.util.Set;import redis.clients....

2018-04-10 17:44:16 207 1

转载 window上安装mysql及配置

MySQL是目前十分流行的一种关系型数据库管理系统。官网推出的安装包有两种格式,分别是:ZIP格式和MSI格式。其中MSI格式的可以直接点击安装,按照它给出的安装提示进行安装,一般MySQL将会安装在C:\Program Files\MySQL\MySQL Server x.x (x.x是版本号)该目录中;ZIP格式是自己解压,解压缩之后MySQL就可以使用了,但是要进行配置。我用的是ZIP格式的...

2018-04-02 16:23:47 509

原创 运用github实现项目托管

现在的情景是:我们已经在本地创建了一个Git仓库后,又想在github创建一个Git仓库,并且希望这两个仓库进行远程同步,这样github的仓库可以作为备份,又可以其他人通过该仓库来协作。1.如何添加远程库首先,登录github上,然后在右上角找到“create a new repo”创建一个新的仓库。如下: 在Repository name填入xm01,其他保持默认设置,点击“Create re...

2018-04-01 21:02:24 180

原创 git的版本库的创建及使用

一:创建版本库创建本地仓库具体操作如下:pwd 命令是用于显示当前的目录1. 通过命令 git init 把这个目录变成git可以管理的仓库,如下:这时候你当前testgit目录下会多了一个.git的目录,这个目录是Git来跟踪管理版本的,没事千万不要手动乱改这个目录里面的文件,否则,会把git仓库给破坏了。如下:2. 把文件添加到版本库中 下面先看下demo如下演示   我在版本库testgit...

2018-04-01 18:43:07 1575

原创 centos7双卡网络设置

1.实现虚拟机访问外部网络2.实现虚拟机之间的相互访问此时用xshell连接centos7ifconfig 查看网络地址:enp0s3为访问外部网络地址;enp0s8为主机与虚拟机访问使用的地址。...

2018-04-01 10:21:50 269

原创 String、StringBuild与StringBuffer的区别

首先说运行速度,或者说是执行速度,在这方面运行速度快慢为:StringBuilder > StringBuffer > String  String最慢的原因:  String为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即String对象一旦创建之后该对象是不可更改的,但后两者的对象是变量,是可以更改的。以下面一段代码为例: 1 String s...

2018-03-20 10:06:04 289

原创 centos上防火墙操作命令

1、firewalld的基本使用启动: systemctl start firewalld查看状态: systemctl status firewalld 停止: systemctl disable firewalld禁用: systemctl stop firewalld 2.systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。...

2018-03-17 21:08:20 142

原创 Centos上mysql数据库常用命令总结

1.更改root密码mysqladmin -uroot password 'yourpassword'2.远程登陆mysql服务器mysql -uroot -p -h192.168.137.10 -P33063.查询数据库show databases;4.进入某个数据库use databasename;5.列出数据库中的表show tables;6.查看某个表全部字段desc slow_log;s...

2018-03-17 12:24:52 176

原创 Linux上安装redis及IDEA连接redis

1.安装步骤:①下载Redis,这里以Redis-4.0.1版本为例wget http://download.redis.io/releases/redis-4.0.1.tar.gz;②解压缩redis tar包③进入redis/src,执行make命令[root@localhost src]# make出现下面界面编译成功(编译有错误,请安装gcc):④安装Redis,执行make instal...

2018-03-16 23:15:27 2494 2

原创 centos7上安装mysql

1.下载并安装MySQL官方的 Yum Repository[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm  使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样子,然后就可以直接yum安装了。[root@localho...

2018-03-16 20:28:18 117

原创 SQL优化大全

1)数据库设计方面:         a. 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。         b. 应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中nu

2018-02-07 10:31:14 111

原创 mybatis 中foreach collection三种用法

foreach元素的属性主要有 item,index,collection,open,separator,close。    item表示集合中每一个元素进行迭代时的别名,    index指 定一个名字,用于表示在迭代过程中,每次迭代到的位置,    open表示该语句以什么开始,    separator表示在每次进行迭代之间以什么符号作为分隔 符,    close表

2018-02-06 19:06:24 882

原创 Mybatis中 #{}与${}传参的区别

区别如下:1.#{}传参能防止sql注入,使用#传入参数时,sql语句解析时会加上双引号,当作字符串来解析。 select * from student where name=#{name} select * from student order by ${grade}mybatis生成对应的sql语句: select * from student where ...

2018-02-06 14:52:24 165

空空如也

空空如也

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

TA关注的人

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