自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

言曌

本站已停止更新。搬到:https://liuyanzhao.com。开发者交流群:590480292

原创 Vim 命令合集

命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令。   启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filename 打开vim并创建名为filename的文件   文件命令 打开单个文件 vim file 同时打开多个文...

2018-04-02 23:11:49 304 0

原创 Mac环境下安装配置Redis

一、下载安装1、下载 redis我下的是最新版 redis-4.0.6.tar.gz官网地址:https://redis.io/ 我放在  /Users/liuyanzhao/Documents/JavaStudy/redis-4.0.6.tar.gz 下2、解压安装进行解压缩tar -zxvf ...

2018-04-02 23:09:11 7353 2

原创 SpringMVC 统一异常处理

1 描述在J2EE项目的开发中,不管是对底层的数据库操作过程,还是业务层的处理过程,还是控制层的处理过程,都不可避免会遇到各种可预知的、不可预知的异常需要处理。每个过程都单独处理异常,系统的代码耦合度高,工作量大且不好统一,维护的工作量也很大。那么,能不能将所有类型的异常处理从各处理过程解耦出来,...

2018-04-02 23:06:59 216 0

转载 serialVersionUID作用

serialVersionUID适用于Java的序列化机制。简单来说,Java的序列化机制是通过判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体类的serialVersionUID进行比较,如果相...

2018-04-02 22:59:31 164 0

转载 Java之POI操作,封装ExcelUtil实现Excel导入导出

最近老师布置了一个任务,实现 Excel 和数据库的导入导出。这个问题起初看起来是不复杂,实现简陋的导入导出比较容易。但是,后来老师要求写一个包装类,让其他同学能够直接使用。这就涉及到了泛型和反射的内容,其实也不复杂。最终,在网上找到一段代码,写得挺好的,然后一顿调试和修改,就能直接拿来用了。现在...

2018-04-02 22:58:02 8108 0

转载 Restful API 的设计规范

Restful API 的设计规范1. URIURI规范资源集合 vs 单个资源避免层级过深的URI对Composite资源的访问2. RequestHTTP方法安全性和幂等性复杂查询BookmarkerFormatContent Negotiation6. Response分页response7...

2018-04-02 22:56:43 211 0

原创 Hibernate 懒加载 Unable to evaluate the expression Method threw ‘org.hibernate.LazyInitializationExcept

问题描述这里有一个 角色表 Role,用户表 User,权限表 Permission,角色和权限关系表 RolePermissionRole 实体类有五个属性roleId,roleName,roleStatus (这三个是 Role 表的三个字段),userList(一个角色对应多个用户,Many...

2018-04-02 22:55:03 7984 0

原创 Hibernate 泛型实现 dao 层的基类

最近在用 Hibernate 操作数据库的时候,发现每个实体类都要写增删改查,像这样。package com.change.dao;import com.change.entity.User;import org.hibernate.Query;import org.hibernate.Sessi...

2018-04-02 22:54:15 233 0

原创 Spring Data JPA 实现多表关联查询

最近抽出时间来做博客,数据库操作使用的是 JPA,相对比 Mybatis 而言,JPA 单表操作非常方便,增删改查都已经写好了。但是多表操作就不如 Mybatis 那种直接写 sql 语句来得方便,JPA 的多表操作比较麻烦。 需求描述获得文章列表,文章列表里需要显示每篇文章的分类目录列表,因为一...

2018-04-02 22:53:33 25305 6

原创 Java 基于UDP 实现单播、组播、广播 Socket 编程

UDP信息传递的方式单播(unicast):是指封包在计算机网络的传输中,目的地址为单一目标的一种传输方式。它是现今网络应用最为广泛,通常所使用的网络协议或服务大多采用单播传输,例如一切基于TCP的协议。 组播(multicast):也叫多播, 多点广播或群播。 指把信息同时传递给一组目的地址。它...

2018-04-02 22:52:27 845 0

原创 Mac电脑下使用Socket报错socket抛出Can’t assign requested address解决

最近在学习Socket,在使用 UDP 组播的时候,死活报错。一直 Can't assign requested address 在网上查了几篇文章,得到了解决 解决方法方法一、(测试没通过)禁用IPv6具体方法,可以百度(mac如何禁用ipv6) 方法二、添加环境变量(测试没通过)在e...

2018-04-02 22:51:12 1164 1

原创 Mac配置腾讯云服务器SSH秘钥免登陆

之前博主登录ssh往往都是在终端里敲命令:ssh 用户名@ip地址 ,然后输入密码 这种方法登录的。 这个方式一般情况下是没问题的,但是最近云服务器比较多,需要经常登录管理,所以需要频繁输入密码很麻烦。 还有一点是,时间一长就掉线了,又要重新输入密码,体验很不好。 所以不得不使用尝试去使用密...

2018-03-17 11:14:43 752 0

原创 Mac电脑下使用Socket报错socket抛出Can’t assign requested address解决

最近在学习Socket,在使用 UDP 组播的时候,死活报错。 一直 Can't assign requested address   在网上查了几篇文章,得到了解决   解决方法 方法一、(测试没通过) 禁用IPv6 具体方法,可以百度(mac如何禁用ipv6) ...

2018-03-17 11:13:36 1161 0

转载 深入理解java异常处理机制

1. 引子try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解。不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单、听话。不信?那你看看下面的代码,“猜猜”它执行后的结果会是什么?不要往后看答案、也不许执行代码看真正答案哦...

2018-03-17 11:11:19 230 0

原创 通过 Socket 实现 UDP 编程 入门

上一篇文章介绍了基于 TCP 协议的 Socket 通信,本文介绍基于 UDP 协议的 Socket 通信,还是一个用户登录的例子。 UDP协议(用户数据报协议)是无连接、不可靠、无序的。UDP协议以数据报作为数据传输载体。 进行数据传输时,首先要将要传输的数据定义成数据报(Datagram),在...

2018-03-17 10:33:23 308 0

原创 通过 Socket 实现 TCP 编程入门

这里我们通过一个用户登录的例子来学习基于 TCP 协议的 Socket 通信。 Socket 通信模型  Socket通信步骤 ServerSocket 构造器和成员方法1、ServerSocket 构造方法 2、ServerSocket 成员方法 Socket 构造器和成员方法1、Socket ...

2018-03-17 10:32:31 183 0

原创 SpringMVC+Spring Data JPA实现增删改查操作

这是博主在巩固 Spring+SpringMVC+Spring Data JPA 时,做的一个demo。后面的开发也会继续以这个为基础。效果图预览地址:http://demo.liuyanzhao.com/SpringMVC_CURD/admin/user/list涉及技术1、Spring2、Sp...

2018-03-17 10:29:21 662 0

原创 Java项目部署到云服务器最简单的方法

一个简单的Java项目部署到云服务器一般需要三步第一步、在本地开发好项目,然后打包,如 war 文件第二步、配置云服务器环境,如安装 java 环境,Tomcat 服务器,MySQL 数据库等第三步、将打包好的项目丢到 Tomcat 服务器中,导入数据库 本文将介绍一种最为简单的方法来部署和管理你...

2018-03-17 10:26:04 5744 1

原创 js 里不能使用${pageContext.request.contextPath}解决方案

在 JSP 页面中通常我们使用 ${pageContext.request.contextPath} 来获得当前项目的根目录。但是我们在 js 文件里是无法使用这个。function checkUsername() {    $.ajax({        async: false,       ...

2018-03-17 10:25:13 4374 0

原创 SpringMVC+Spring Data JPA +Bootstrap 分页实现和模糊查询分页

本文将介绍使用 SpringMVC + Spring Data JPA 实现分页功能。Spring Data JSP 里面一个一个 Pageable 的类可以帮我们实现分页,非常好用。先看效果图用户列表分页 用户查询(根据用户名,昵称,email,个人主页,手机号)模糊查询 分页  如果是首页不显...

2018-03-17 10:24:21 2452 1

原创 Java IO 创建文件解决文件名重复问题

之前在做上传的时候,文件命名都是按照时间毫秒数来命名的,如 2017120110344155.jpg 这种的其实这种虽然能解决问题,但是我个人不是很喜欢。我更希望是如果文件名不存在不修改文件名,如果存在在文件名后面加数字,1,2,3这种的。像这样 代码演示下面通过一个拷贝文件的例子完成这个想法pa...

2018-03-17 10:22:49 1060 0

原创 使用jQuery的load方法实现div局部刷新

在使用 ajax 进行删除用户操作的时候,可以在 success 里写一个window.location.reload();让页面刷新。但是,我不想那样,我只想局部刷新比如,我删除几个用户后,页面只会刷新上面的表格,该怎么做呢? 传统的做法传统的纯 js 做法可以使用var content = d...

2018-03-17 10:22:01 26073 2

原创 jQuery+bootstrap实现美化警告/确认/提示对话框插件

插件使用文档和下载地址:http://craftpip.github.io/jquery-confirm/引入文件因为我们是在 BootStrap + jQuery 上实现的,首先需要1、先引入 jQuery 库,然后是Bootstrap 需要的两个核心文件(css 和 js)2、然后在后面引入 ...

2018-03-17 10:21:15 643 0

原创 SpringMVC实现ajax上传图片实时预览

本文介绍使用 SpringMVC + ajaxfileupload.js 实现 ajax 上传文件。先看效果图 点击上传文件框,触发上传文件方法,然后后台返回图片的 url,进行显示。 实现方法如下一、前台代码1、add.jsp (或者 html 文件)<input type=&qu...

2018-03-03 14:18:51 5673 1

原创 使用ajaxfileupload.js上传文件成功之后,没有执行success方法

今天遇到一个奇怪的问题,在使用SpringMVC和ajax上传文件的时候,因为使用的是ajaxfileupload.js,上传文件成功后,却没有执行 success 和 error 方法。ajax 代码如下//上传操作   //ajax提交信息   $("#uploadImgBtn&qu...

2018-03-03 14:17:57 787 1

转载 java语言复制数组的四种方法

来源于牛客网的一道选择题:JAVA语言的下面几种数组复制方法中,哪个效率最高?A.for循环逐一复制B.System.arraycopyC.System.copyofD.使用clone方法效率:System.arraycopy > clone > Arrays.copy...

2018-03-03 14:16:48 144 0

转载 JVM 堆内存设置原理

堆内存设置原理JVM堆内存分为2块:Permanent Space 和 Heap Space。Permanent 即 持久代(Permanent Generation),主要存放的是Java类定义信息,与垃圾收集器要收集的Java对象关系不大。Heap = { Old + NEW = {Eden,...

2018-03-03 14:14:34 110 0

转载 【Java集合源码剖析】Java集合框架

Java集合工具包位于Java.util包下,包含了很多常用的数据结构,如数组、链表、栈、队列、集合、哈希表等。学习Java集合框架下大致可以分为如下五个部分:List列表、Set集合、Map映射、迭代器(Iterator、Enumeration)、工具类(Arrays、Collections)。...

2018-03-03 14:10:47 101 0

转载 java中Map,List与Set的区别

先看一张图(图来自兰亭风雨的专栏)Set,List,Map的区别java集合的主要分为三种类型:Set(集)List(列表)Map(映射)要深入理解集合首先要了解下我们熟悉的数组:数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),而JAVA集合可以存储和操作数目不固定的...

2018-03-03 14:07:39 97 0

转载 Java集合不能存放基本数据类型,只存放对象的引用

Java集合如Map、Set、List等所有集合只能存放引用类型数据,它们都是存放引用类型数据的容器,不能存放如int、long、float、double等基础类型的数据。 1. 集合存储对象Java集合中实际存放的只是对象的引用,每个集合元素都是一个引用变量,实际内容都放在堆内存或者方法区里面,...

2018-03-03 13:37:39 1546 2

原创 通过反射认识泛型的本质

通过 Class 和 Method 来认识泛型的本质,在编译阶段验证是否有错误。如果我们绕过编译就绕过泛型。 来看一个demopackage practice.Reflect;import java.lang.reflect.Method;import java.util.ArrayList;/*...

2018-03-03 13:31:07 146 0

原创 Java 方法的反射

方法的反射(1)如何获取某个方法方法的名称和参数列表才能唯一确定某个方法(2)方法反射放操作method.invokw(对象,参数列表); 看下面这个 demopackage practice.Reflect;import java.lang.reflect.Method;/** * @Autho...

2018-03-03 13:23:40 116 0

原创 Java 通过反射获取类的信息(成员变量,成员方法,构造方法)

直接看代码package practive.Reflect;import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.Method;/** * 获得类的信息(成员方法,成...

2018-03-03 13:22:11 185 0

原创 Java动态加载类

一、Class 类Class.forName("类的全称")不仅表示类的类类型,还代表了动态加载类请大家区分编译、运行编译时刻加载类是静态加载类、运行时刻加载类是动态加载类  二、静态加载类1、我们看下面这段代码,通过 new 的方式来创建对象,这其实是静态方式来加载类(Wor...

2018-03-03 13:15:25 104 0

原创 Class类的使用

1)在面向对象的世界里,万事万物皆对象。java语言中,静态的成员、普通数据类型类是不是对象呢?类是谁的对象呢?类是对象,类是java.lang.Class类的实例对象2 )这个对象到底如何表示?There is a class named CIass 通过以下代码解释  /** * @Autho...

2018-03-03 12:21:46 198 0

原创 成员变量、全局变量、实例变量、类变量、静态变量和局部变量的区别

变量名首写字母使用小写,如果由多个单词组成,从第2个单词开始的其他单词的首写字母使用大写。如果局部变量的名字和成员变量的名字相同, 要想在该方法中使用成员变量,必须使用关键字this 成员变量和局部变量的区别成员变量:1、成员变量定义在类中,在整个类中都可以被访问。2、成员变量随着对象的建立而建立...

2018-03-03 12:18:27 2047 0

原创 多线程问题产生原因

包括:一. Java 内存模型二. i++ 操作 细节三. 内存之间的指令操作一. Java 内存模型线程之间的共享变量存储在主内存(main memory)中,每个线程都有一个私有的本地内存(local memory),本地内存中存储了该线程以读/写共享变量的副本。本地内存是JMM(Java内存...

2018-03-02 23:36:19 259 0

原创 Java中CountDownLatch的使用和求多线程的运行时间

一、CountDownLatch的API构造方法摘要构造方法Constructor and DescriptionCountDownLatch(int count)构造一个以给定计数 CountDownLatch CountDownLatch。方法摘要所有方法 接口方法 具体的方法Modifier...

2018-03-02 23:34:52 451 0

原创 Spring Boot入门(7)-单元测试

我们在开发完 项目时,上线之前一般都会进行测试。下面介绍 SpringBoot 给 Service 和Controller 测试。一、对 Service 进行测试1、UserService.javapackage com.liuyanzhao.blog.service;import com.liu...

2018-03-02 23:13:01 2301 1

原创 Spring Boot入门(6)-使用AOP统一处理Web请求日志

本文介绍 SpringBoot 使用 AOP 统一处理 Web 请求日志。一、导入依赖<dependency>    <groupId>org.springframework.boot</groupId>    &...

2018-03-02 23:10:43 141 0

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