自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Singleton 最佳实践-单元素的枚举类型

接下来将分别介绍下实现 Singleton 的几种方法:第一种:双重校验锁【不推荐使用】public class Singleton{ private volatile static Singleton instance; private Singleton(){}; public static Singleton getInstance() { ...

2019-04-15 16:18:08 593

原创 设计模式-责任链模式

文章目录责任链模式 Chain of Responsibility一、责任链模式介绍二、责任链模式代码实现三、责任链模式总结责任链模式 Chain of Responsibility一、责任链模式介绍责任链模式:将能够处理同一类请求的对象连成一条链,使这些对象都有机会处理请求,所提交的请求沿着链传递,从而避免请求的发送者和接受者之间的耦合关系,链上的对象逐个判断是否有能力处理该请求,如果...

2019-04-09 10:13:19 253

原创 接口中的方法需要加上 public abstract 修饰吗

问题:接口中的方法需要加上 public abstract 修饰吗?答:个人认为这是没有必要的,因为接口里面的方法都是必须要由实现类去实现的,即使在写的时候不加,在编译之后生成 class 文件时,都会自动加上 public abstractjava 接口的方法都是抽象方法,加不加 abstract 都是一样的如源码:Java 代码:public interface AAA { v...

2019-04-09 10:09:44 9822 1

原创 SLF4J

文章目录注意:SLF4J 优势注意问题Simple logging Facade for Java注意:Logger 必须作为类的静态变量使用原因如下:使用 static 修饰的属性是归这个类使用的不论这个类实例化多少个,大家使用的都是同一个 static 属性log4j 记录的是当前类的日志,并不是每个实例的日志所以只要有一个记录就好了SLF4J 优势不是一...

2019-04-09 10:07:48 187

原创 jqgrid tab 页显示问题

$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) { $('#gbox_jqGrid,#gview_jqGrid,#gview_jqGrid .ui-jqgrid-hdiv,#gview_jqGrid .ui-jqgrid-bdiv').css('width','100%'); $('#gbox_jqGrid1,#gview_j...

2019-04-09 10:06:14 914

原创 FastJSON 转换问题

原始数据private void applyInfo(String flowName, String[] listIds) { Map<String, Object> map = new HashMap<>(); map.put("flowName", flowName); map.put("listIds", listId...

2019-04-08 16:04:15 2300

原创 com.github.pageHelper 用法

PageHelper.startPage(page.getPageNumber(), page.getPageSize());只对跟在下面的第一个本地查询有用。

2019-04-08 16:03:21 3462

原创 Abstract 抽象修饰符

Abstract (抽象)修饰符,可以用来修饰类和方法修饰类:让类变为抽象类抽象类将不能生成对象实例可以作为变量声明的类型,也就是编译时类型相当于类的半成品,需要子类继承并覆盖其中的抽象方法修饰方法:让方法变成抽象方法只有声明(定义),没有实现,实现部分以 “ ;” 代替需要子类继承实现注意:有抽象方法的类一定是抽象类,但是抽象类中不一定都是抽象方法,也可以全是具体方法...

2019-04-08 16:02:32 301

原创 Spring 常用注解 @RequestMapping @ResponseBody 和 @RequestBody 注解的用法与区别

文章目录Spring 常用注解 @RequestMapping @ResponseBody 和 @RequestBody 注解的用法与区别1、@RequestMapping2、@ResponseBody3、@ResponseBodySpring 常用注解 @RequestMapping @ResponseBody 和 @RequestBody 注解的用法与区别1、@RequestMapping...

2019-04-08 16:01:08 712 1

原创 设计模式-适配器模式

适配器模式:​ 当一个接口中有许多的方法时,然而子类只需要其中的某一种方法,这时候子类只能实现他的所有方法,这样会造成代码的臃肿。​ 此时我们需要一个适配器类来实现接口中的所有方法,有空的方法体,这样,后来的类只需要继承这个适配器中间类并重写你需要的方法即可。interface Inter{ // 接口中的方法都是抽象方法 void func1();...

2019-04-08 15:56:24 102

原创 设计模式-模板模式

模版模式:就比如一个模具已经做好,至于放什么材料,是后来人决定的当一个代码的一部分是已经确定下来了,而其中的一段代码块是需要后来再进行填充的,那么此时就需要使用到了模版模式。模版类已经给出,子类只需要继承该模版类,重写自定义的方法,调用模版方法即可。abstract class RunCode{ public void getTime(){ // 这是一个求时间的模版类,任何代码都...

2019-04-08 15:55:14 116

原创 设计模式-单例模式

单例模式:有些时候,我们只能创建一个对象,比如说:我们的回收站只能创建一次,此时我们就需要使用到单例模式。1.饿汉模式:不会产生安全问题,因为类加载的时候该对象就被创建好了class DanLi { private DanLi(){} // 将构造方法私有化 让外部不能创建对象 private static DanLi dl = new DanLi(); // 将对象...

2019-04-08 15:54:03 133

原创 Spring Task 定时器

文章目录1、介绍2、定时任务开发步骤2.1 基于配置文件2.2 基于注解2.3 通过调用 RESTful 执行定时任务的调度,使用一下 Controller 即可。1、介绍Spring Task,可以把它看成轻量级的 Quartz,使用简单方便,也同样支持注解和配置文件两种形式,除此之外,还会额外介绍一种方式:通过前台操作调用 RESTful 执行定时任务的调度,下面,我将分别介绍。2、定时...

2019-04-08 15:51:23 358

原创 Spring Quartz 定时器任务

文章目录Spring Quartz 定时器任务1. 环境介绍2、基于 XML 文件的方式2.1 创建 Job 类2.2 配置 Spring 的 XML 文件2.3 编写测试类3. 基于注解的方式3.1 创建 Job 类3.2 配置 Spring,以支持注解的方式3.3 编写测试类3.4 两个 DEBUG 级别的异常问题 待发现并解决4. Cron 表达式介绍特殊字符解释Spring Quartz...

2019-04-08 15:50:29 491

原创 枚举详解 - Thinking in Java

文章目录一、枚举的本质一、枚举的本质在 java 中,经常使用 enum 来表示一组具名的值的有限集合。枚举的本质举例说明:​ 像下面这个枚举类:package info.yingying.practice.test.enums;public enum TestEnum { HELLO_WORLD("helloWorld", "ok"), ...

2019-04-08 15:47:59 268

原创 系统吞吐量

文章目录名词解释:一、系统吞吐量要素二、软件性能的几个主要术语1、响应时间:对请求作出响应所需要的时间2、并发用户数的计算公式3、吞吐量的计算公式4、性能计数器5、思考时间的计算公式名词解释:TPS|QPS:TransactionPerSecond 每秒事务处理量并发数:系统同时处理的 request | 事务数响应时间:一般取值为平均响应时间日 PV:PV - Page View(s)...

2019-02-18 11:04:59 9390

原创 前期绑定与后期绑定

文章目录概念举例说明概念绑定:一个方法的调用与方法的所在类【方法主体】关联起来前期绑定:final、static、private、构造方法、成员变量【包括静态及非静态】后期绑定:除了前期绑定之外的其他方法属于后期绑定,运行时能判断对象的类型进行绑定举例说明Person【人类】/** * 描述:人类 */class Person{ protected Strin...

2019-01-25 10:12:34 515

原创 组合与继承

文章目录继承组合组合继承对比如何选择继承继承是面向对象的三大特征之一(封装、继承、多态),也是实现软件复用的重要手段,继承是 “is-a” 的关系。优点代码复用子类可以重写父类的方法创建子类对象时,无需创建父类的对象,子类拥有父类的成员变量和行为。子类在父类的基础上可根据自己的业务需求拓展缺点破坏封装支持拓展,但往往以增加复杂度为代价不支持动态继承,在运行时...

2019-01-24 11:28:49 126

原创 后台接收前端 ajax 发送的 Date 类型数据

接收 yyyy-MM-dd 类型,在对应的实体类中加入注解@DateFormat(pattern="yyyy-MM-dd HH:mm:ss")接收 yyyy-MM-dd HH:mm:ss ,在对应的实体类中加入注解@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")...

2019-01-10 15:14:11 6803

原创 js 前台向后台传送 List 集合

var orderNosList = new Array(); var rows = $("#dg_linkOrder").datagrid("getChecked"); if(rows.length &lt; 1){ $('#error').dialog('open').dialog('center').dialog('setTitle', '错误提示'); $...

2019-01-09 16:15:13 10649

原创 jqGrid 多选-获取多行数据并进行属性删除

// jqGrid 为 table 的 idvar ids = $('#jqGrid').jqGrid('getGridParam','selarrrow'); if (ids.length &gt; 0) { var length = ids.length; for (var i = 0; i &lt; length; i ++)...

2019-01-04 14:16:31 1736

原创 时间戳与时间的故事

文章目录一、时间戳定义二、时间与时间戳转换2.1 js 获取当前时间戳的方法2.2 js获取指定时间戳的方法2.3 时间戳转换为时间2.4 格式化日期2.5 根据日期来计算星期2.5.1 计算当前日期的星期一与星期天2.5.2 计算某一日期是星期几三、时间戳作用3.1 使用背景3.2 具体使用3.2.1 防篡改3.2.2 防复用3.2.3 具体代码一、时间戳定义指格林威治时间1970年01月0...

2018-11-26 11:36:00 202

原创 防止表单重复提交

文章目录一、问题描述二、解决方案2.1 在数据库添加唯一字段2.2 用 js 添加禁用2.3 使用Post/Redirect/Get2.4 使用 session 设置令牌一、问题描述 用户在操作表单数据时往往会出现表单数据重复提交的问题,尤其在 WEB 开发中此类问题比较常见,如以下场景: -- 刷新页面、后退操作以前的页面、单机多次提交按钮 -- 此类问题是因为浏览器重复提交 HTTP ...

2018-11-26 11:09:26 159

原创 转发重定向区别

文章目录一、重定向与转发的区别二、调用方式三、本质区别一、重定向与转发的区别重定向: 转发: 访问服务器两次 只访问服务器一次 浏览器 url 发生变化 只能看见第一次访问的页面 url,以后的操作有服务器完成 跳转后必须要加上 return,否则页面 只执行跳转页面,后面代码不会再执行 虽然跳转了,可是还会执行跳转之...

2018-11-26 10:12:17 171

原创 技术分享2018/11/2-Maven依赖作用范围

Maven 依赖作用范围scope 取值有效范围(compile,runtime,test)依赖传递举例testtest否JUnitcompileall是spring-coreprovidedcompile, test否servlet-apiruntimeruntime, test是JDBC驱动systemcompile,...

2018-11-04 20:52:25 131

原创 技术分享2018/11/2-Mybatis 逆向工程

文章目录MyBatis 逆向工程一、Mybatis Generator:1)简称 MBG,是一个专门为 MyBatis 框架使用者定制的代码生成器,可以快速的根据表生成对应的映射文件、接口,以及 Bean 类,支持基本的增删改查,以及 QBC 风格的条件查询。但是表连接、存储过程等复杂 sql 的定义需要我们手工编写2)官方文档地址3)官方工程地址二、MBG 使用步骤-使用 maven 构造1)...

2018-11-04 20:50:46 199

原创 Spring Boot 错误处理机制

文章目录一、Spring Boot 默认的错误处理机制1)针对浏览器,返回一个默认的错误页面2)针对客户端,默认响应 json 数据--------------使用 PostMan 发送请求二、Spring Boot 错误处理机制的原理1)ErrorMvcAutoConfiguration 给容器中添加了如下组件:2)执行步骤三、如何定制错误响应1)如何定制错误的页面2)如何定制错误的 json ...

2018-11-04 10:54:12 293

原创 Restful API

web.xml 配置 &lt;!--配置 rest 风格的 url,将 POST 请求转换为 PUT 或 DELETE 请求 --&gt; &lt;filter&gt; &lt;filter-name&gt;hiddenHttpMethodFilter&lt;/filter-name&gt; &lt;filter-class&gt;org.springfr...

2018-10-21 10:54:13 169

原创 mybatis generator: Table Configuration employee matched more than one table

问题描述:Table Configuration employee matched more than one table原因:在生成 javaBean 时,在(同一或不同)数据库中有多张表的名称与目标表的名称相同解决方案:&lt;!--加上 schema 指定特定的数据库--&gt; &lt;table schema="ssmcrud" tableName="empl...

2018-10-14 09:29:49 1546 3

原创 使用MySQL的jdbc驱动关于时区引发的问题

连接数据库异常如下:### Cause: java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via t...

2018-10-09 11:32:50 2912

原创 Java基础之File类、IO流以及Properties类

一、File基础内容Java中可以使用java.io.File类代表一个文件或文件夹,支持跨平台。三大系统File的表示方法: (1)Windows:D:\abc\Hello.java 可用反斜杠,也可用正斜杠 (2)Linux/MacOS:/Users/someone/Hello.java 仅支持正斜杠 (1)绝对路径:从Windows盘符开始,一个完整的路径。 (2)相对路径...

2018-08-13 09:08:11 142

原创 Java基础之线程池

一、线程池概念线程池:其实就是一个容纳多个线程的容器,其中的线程可以反复使用,省去了频繁创建线程对象的操作,无需反复创建线程而消耗过多资源。二、工作原理三、合理利用线程池的好处降低资源消耗。减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务。提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。提高线程的可管理性。可以根据系统...

2018-08-13 08:53:50 142

原创 Java基础之多线程-多生产多消费

使用场景请看上一篇博客Java基础之多线程-多生产多消费话不多说,直接上代码: 顾客:package cn.itcast.day07.demo02;public class MultiConsumer implements Runnable { private final Object LOCK; public MultiConsumer(Object lo...

2018-08-11 20:57:27 596 2

原创 Java基础之多线程案例-单生产单消费

在讲单生产单消费之前,我们先来说一下线程间通信的问题一、 线程间通信概念:多个线程在处理同一个资源,但是处理的动作(线程的任务)却不相同。 比如:线程A用来生成包子的,线程B用来吃包子的,包子可以理解为同一资源,线程A与线程B处理的动作,一个是生产,一个是消费,那么线程A与线程B之间就存在线程通信问题。 为什么要处理线程间通信: 多个线程并发执行时, 在默认情况下CPU是随机...

2018-08-11 20:42:57 485

原创 类中is-a、has-a与is-like-a的区别

在此先做一个极为简单的描述,有待补充。一、is-a概念is-a的意思是说:子类即父类。也就是子类在继承父类之后,并没有做任何异于父类的操作,比如并未添加新的内容。二、has-a概念has-a说的是一种包含关系,意思是说父类包含子类,比如人和心脏的关系,心脏属于人,但心脏并不是人。三、is-like-a概念is-like-a的意思是说:子类继承父类,但是有添加了新...

2018-08-11 20:10:13 819

原创 Java基础之多线程状态

一、线程状态概述二、状态关系

2018-08-09 22:26:09 99

原创 Java基础多线程之线程安全-同步锁三种形式

首先,我们通过一个案例,演示线程的安全问题: 电影院要卖票,我们模拟电影院的卖票过程。假设要播放的电影是 “葫芦娃大战奥特曼”,本次电影的座位共100个(本场电影只能卖100张票)。我们来模拟电影院的售票窗口,实现多个窗口同时卖 “终结者”这场电影票(多个窗口一起卖这100张票)需要窗口,采用线程对象来模拟;需要票,Runnable接口子类来模拟模拟票:public class MyTi...

2018-08-09 22:21:35 272

原创 Java基础之多线程之原理、实现方式及匿名内部类创建线程方法

进程:操作系统当中正在执行的一个程序。例如正在运行一个QQ。线程:进程之内多任务的执行单位。例如迅雷当中正在下载的多个电影。一、JVM当中:栈(Stack)内存是线程独立的,堆(Heap)内存是线程共享的。 (1)Java程序运行的时候至少有两个线程: 1)主线程(main方法执行的所在线程) 2)垃圾回收线程(gc线程) (2)Java当中...

2018-08-08 21:43:19 129

原创 Java基础之异常

一、异常的继承关系: Error:严重错误 Exception:编译异常,受检异常 |– RuntimeException:运行异常,非受检异常二、编译异常及运行异常:(1)编译异常: 1. 写上之后有红线 2. 要么try-catch处理 3. 要么throws甩锅(2)运行异常:写上之后...

2018-08-08 21:39:37 187

原创 Java基础之Map

一、Map集合特点Collection存放的是:一个一个的数据Map存放的是:一对儿一对儿的数据**特点:** 1. 键不能重复2. 值可以重复3. 可以根据键找到值。二、使用Map集合添加方法保存数据public V put(K key, V value):添加一个键值对,返回被替换掉的本来的value值。三、使用“键找值”的方式遍历Map集合首先拿到所...

2018-08-08 21:22:53 140

空空如也

空空如也

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

TA关注的人

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