- 博客(63)
- 问答 (1)
- 收藏
- 关注
原创 ActiveMQ入门到吃透(含源码解析)
1、什么是MQMQ :message queue ,消息队列(消息中间件),遵守JMS(java message service)规范的一种软件。2、MQ的使用场景1)异步处理请求。对于不需要实时响应的请求,可以将消息发送到MQ上,等待消费者在有处理能力的时候再对MQ上的请求进行处理,而不需要实时返回,对于突然暴增的请求或者大量的请求,可以全部堵塞在MQ上,而不会占用更多的系统资源,防止系统资源耗尽而宕机。2)对系统架构解耦。如果一个系统依赖多个服务,使用MQ可以将依赖的服务换.
2021-04-07 23:50:49 780 1
转载 死磕源码——Spring系列__IOC
原文链接https://javadoop.com/post/spring-ioc#BeanFactory%20%E7%AE%80%E4%BB%8B
2019-09-29 00:09:12 304
原创 微服务下的单元测试覆盖率(Maven+JaCoco)跨模块
需求:最近需要对5、6个微服务的单元测试覆盖率做一次统计,要求是能够测到某个单元测试不仅可以覆盖本服务下的方法,还能够覆盖到其他服务下的方法(比如服务A,B,C,A服务下的单元测试用到了B服务下的某个方法,那么这个也算是间接覆盖了B服务下的方法,所以也要统计进去)在网上找了一大堆的方法,全是一个套路,只能对单个模块进行单元测试,大家这样的东西Copy来Copy去的,有啥用。。。浪费我...
2019-07-21 23:50:57 1540 3
原创 多实例下获取Redis分布式锁完成多库并发的定时任务
本篇旨在提供SpringCloud下多实例多库跑定时任务的优化方案业务场景:有这样一个需求,需要跑大数据下的定时任务,主要是查表和写表操作,量很大,要支持续跑,并且每个库的数据不一致,所以需要轮询库,假如生产有4台实例,一共有8个库,为了减小服务器的压力,并且能够同时跑8个库的任务。需要解决几个问题:1.确保每个库,有且只能有1个线程在跑,如果其他线程也跑了这个库,就会导致数据插入...
2019-04-28 22:29:24 1072
原创 SpringBoot的AOP切面编程通俗易懂
我这里要演示的就是一个简单的AOP编程的方式,其中使用了自定义注解和正常的切面直接上代码1.自定义注解,具体每个注解的解释自己百度@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface SysLog { String value() defaul...
2019-04-14 00:36:45 1893
原创 Redis延时消息队列、异步消息队列的实现
package list;import java.lang.reflect.Type;import java.util.Set;import java.util.UUID;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.TypeReference;import redis.clients.jedis.Je...
2018-09-24 23:53:40 1394 1
转载 Oracle 报错ORA-12514: TNS:listener does not currently know of service requested in connec
在使用navicat上连接Oracle正确用户名和密码,oracle常用服务也启动的情况下依然无法建立连接。但是sqlPus上输入用户名和密码可以连接通过,百思不得其解(菜鸟本质 好奇)。这种情况下查看了navicat的历史日志:ORA-12514: TNS:listener does not currently know of service requested in connect。通...
2018-09-09 16:09:28 1992
原创 SpringMVC的接口鉴权
工作中,我们肯定都会接触到拦截器,但是经常在拦截的过程中出现各种问题,比如拦截之后,静态资源也被拦截,结合AOP的时候起不到作用,或者拦截根本没有生效。用SpringMVC的小伙伴肯定深有感受,接下来,我们一起整理一遍拦截器及AOP。1.什么是拦截器在SpringMVC中用于拦截请求的代码。由于SpringMVC的视图解析器的存在,在拦截请求到处理请求再到返回视图中间有两个间隙,inter...
2018-09-02 20:22:04 6588 2
原创 java多线程的使用详解
线程创建的三种方式:1.extends Thread2.Impl Runnable3.Impl Callable4.线程池的使用1.继承一个Thread类这也是最开始学习的方式,使用方式如下:public class Thread1 {public static void main(String args[]){ MyThread myThread ...
2018-07-23 13:33:48 176
原创 org.thymeleaf.exceptions.TemplateInputException: Exception parsing document:
org.thymeleaf.exceptions.TemplateInputException: Exception parsing document: template="home", line 29 - column 48] with root causeorg.xml.sax.SAXParseException: 元素内容必须由格式正确的字符数据或标记组成。。。。。。。。。。今天报了这个错误...
2018-07-11 11:31:14 1025
原创 SSH框架
1.2.Struts22.1 Introduction2.1.1 历史背景Apache 旗下Struts1 – apache 自己搞的 大部分废弃了。Xwork mvc框架 非常好用 Struts2- 整合xwork的mvc框架2.1.2 好处• Strust2 核心功能:• 允许POJO(Plain Old Java Objects)对象 作为Action• Action的execute ...
2018-06-29 23:41:02 297
转载 SSM整合中的文件上传
package hrm.controller;import hrm.domain.Document;import hrm.domain.User;import org.apache.commons.io.FileUtils;import org.springframework.beans.factory.annotation.Autowired;import org.springfra...
2018-06-21 21:55:28 606
原创 Mybatis的逆向工程代码
Mybatis教程送给你们:http://www.mybatis.org/mybatis-3/zh/getting-started.htmlMyBatis逆向工程可以方便的从数据库中将表自动映射到JAVA POJO类,并同时生成Mapper.xml和Mapper接口,方便实用。下面介绍一下逆向工程的使用方法。配置文件 <?xml version="1.0" encodin...
2018-06-21 20:02:05 177
原创 版本控制
什么是版本控制版本控制(Revision control)是维护工程蓝图的标准做法,能追踪工程蓝图从诞生一直到定案的过程。是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统。如果没有版本控制会怎么样?备份多个版本,费空间,费时间难于恢复至以前正确版本容易引发BUG解决代码冲突困难代码管理混乱难于追溯问题代码的修改人和修改时间无法进行权限控制项目版本发布困...
2018-06-16 15:41:43 193
原创 Svn/TortoiseSvn/Git 的安装教程
Svn安装教程 http://www.visualsvn.com/server/download/运行VisualSVN-Server-2.7.3.msi程序, 如下图 点击Next, 下一步 选中 I accept选项, 点击Next, 下一步选择默认配置, 服务和控制台组件方式, 点击Next, 下一步 点击Standard Edition, 安装标准版上图中, 红色圈中的部分Location...
2018-06-16 15:33:15 5859
原创 Maven
什么是Maven1.简介:maven翻译为:专家,内行。 maven是一个项目管理构建工具。专门用于管理项目构建、依赖管理。主要两个功能:1.项目构建 帮助项目做很多事情,测试,命令等,IDEA已经整合了2.依赖管理(重点) 希望通过配置的方式来导入依赖,而不是通过手动导包的方式。1.1项目构建传统方法maven方法 将项目构建的过程进行标准化,每...
2018-06-15 12:05:47 261
转载 设计模式之工厂模式——静态工厂
本文略长,所以先来个内容提要 序:什么是静态工厂方法 Effective Java 2.1 静态工厂方法与构造器不同的第一优势在于,它们有名字 2.2 第二个优势,不用每次被调用时都创建新对象 2.3 第三个优势,可以返回原返回类型的子类 2.4 第四个优势,在创建带泛型的实例时,能使代码变得简洁 除此之外 3.1 可以有多个参数相...
2018-06-03 23:10:42 630
原创 ThreadLocal 详解
ThreadLocal的概述概念:ThreadLocal,很多地方叫做线程本地变量,也有些地方叫做线程本地存储,其实意思差不多。可能很多朋友都知道ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量。引入:class ConnectionManager { private static Connection connec...
2018-05-31 21:07:01 398
原创 IDEA报 .......系统找不到指定文件的解决办法
今天发现一个问题解决了我非常非常久!!就是运行tomcat的时候,在访问资源的时候,会报 一个路径 + 系统找不到指定文件但是你检查发现,这个文件确实就在这里面躺着啊!!!怎么会找不到呢???首先,你要检查你的这个路径是不是有空格?%20 就表示空格,如果有,那么就把文件的空格给去掉,然后回到IDEA,会发现,你的IDEA应用没了,没关系,关掉之后重启,然后找到修改了文件名的原项目,然后重新...
2018-05-21 23:16:24 25468 10
转载 用于封装Bean的BeanUtils
使用BeanUtils的原因因为setProperty是JSP中的标签,因此使用model 2模式JSP+Servlet+JavaBean的时候,JSP将form提交给Servlet程序,而Servlet程序无法像JSP一样使用setProperty对数据进行封装,<jsp:useBean id="calculator" class="cn.megustas.javabean.Calcula...
2018-05-21 13:29:56 1817
转载 XML 四大解析模式区分(DOM解析、SAX解析、JDOM解析、DOM4J解析)
例子<?xml version="1.0" encoding="UTF-8"?><bookstore> <book id="1"> <name>亨利谁与争锋</name> <author>天下足球</author> <year&
2018-05-19 23:21:14 725
原创 XML从入门到精通
1.概述: XML是一种标记语言。 Extensible markup language(可扩展标记语言) HTML: hyper text markup language(超文本标记语言):其标签已经预定义好了,不能随便定义,或者定义了也没有意义,浏览器不认识。 HTML被设计:显示数据。 XML被设计:传输数据。 WEB开发: Server / ...
2018-05-19 23:15:16 1638
原创 轻量框架之DBUtils
Dbutils:从字面意思可以理解为:通用的数据库工具类。Apache组织提供的一个开源JDBC工具类库,对传统操作数据库的类进行二次封装,可以把结果集转化成List。下载jar包:http://mvnrepository.com/commons.dbutils.jar 概述: 简介:是一种很薄的封装,轻量级的框架 优点:方便,好用。 commons-dbu...
2018-05-17 19:53:58 614
原创 IDEA在Open一个Moduel的时候找不到jar包,或者package不正确的解决方案
之前一直不注意,每次Open一个之前的项目的时候都要重新配置所有的东西,然后还不对,最近看了下,找到了问题所在。主要是几个点:找到之前自己的项目的整个文件,然后一路next下去,然后OK,就行了。。。特别提醒,不要 : 否则配置会失败...
2018-05-17 19:26:37 937
原创 浅谈JAVA中“增强”类的某个方法的几个中方法!
一、继承 使用场景:能够控制这个类的构造的时候,才可以使用继承。 优点:简单容易使用, 缺点:耦合性大大的增强,不利于后期的维护,所以对于继承这种方法,谨慎使用。 代码实现:二、装饰者模式 使用场景:1、包装对象和被包装对象实现相同的接口 2、包装的对象中需要获得到被包装对象的引用。 缺点:如果接口的方法比较多,增强其中某个方法,其他的功能的方法需要原有的调用; 代码实现: ...
2018-05-15 20:59:49 372
原创 JDBC 从入门到精通
引入: 先猜想一下 java程序如何和mysql建立连接: 思路:可以用socket,需要遵循的是mysql协议。那么mysql又是如何规定发送的数据的格式和mysql返回的响应数据的格式呢? java程序通过mysql协议发送请求(内容以sql语句)给服务端,服务端按照mysql协议处理数据结果, java程序再解析协议,处理数据(这些过程mys...
2018-05-14 23:00:13 911
原创 MySQL的多表查询问题
Day18 多表查询为了消除数据的冗余,我们存数据的时候,会把完整的数据信息,分散到多张表来存储。但是,用户通常需要的是一个完整的全面的信息,那么在查询的时候,就需要把这些分散的信息 拼接 。——多表查询“拼接” 《=》 连接连接查询 交叉连接:(笛卡尔积) cross join 将两张表的信息结合在一起(表1 | 表2 ): select...
2018-05-13 09:54:14 1987
原创 数据库(SQL/DDL/DML/DQL/约束)
1.SQL简介SQL:Structured Query Language 的缩写(操作关系数据库中的数据)中文名称:结构化查询语言作用:是一种定义、操作、管理关系数据库的句法。大多数关系型数据库都支持。结构化查询语言的工业标准由ANSI(美国国家标准学会,ISO的成员之一)维护。组成:DDL:数据定义语言DML:数据操作语言DCL:数据控制语言DQL:数据查询语言(sql最难...
2018-05-12 12:38:45 922
转载 由Object.clone()引出的protected权限问题
Object.clone()大家可能不太理解由Object.clone()而引出的protected权限问题这句话,那我们先看一段代码: 第一个类CloneClassOne package com.ustc.sup;public class CloneClassOne {}123第二个类CloneClassTwo package com.ustc.sup;public class Clon...
2018-05-10 10:16:34 3780
原创 JSP技术(JSP/EL/JSTL)
Day12 JSP(Java Server Pages) 1.概述: 写jsp代码就像写html差不多,允许嵌套java代码——这点与html不同。 访问jsp页面的时候,会生产一个.java文件(路径:C:\Users\WYH\.IntelliJIdea2017.3\system\tomcat\的运行的tmocat实例的work目录下) tomcat会同步生成一个.calss文件...
2018-05-10 10:11:08 451
原创 会话技术 : Cookie &amp; Seesion
1.CookieCookie 是一种会话技术。所谓会话技术,十分简单,就是用来解决这样一个问题:保存用户在一次浏览器会话中,所产生的的数据。何为会话?会话可简单理解为:用户开一个浏览器,点击多个超链接,访问同一个服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话。所谓cookie技术:1. Cookie是客户端技术,服务器程序把每个用户的数据以cookie的形式写给用户各自的浏览器2. ...
2018-05-06 23:58:49 376
原创 HttpServletRequest & Response
1.HttpServletRequest2.HttpServletResponse1.Response的API1.1 通过response设置响应报文中的响应码 1.2 通过response对象设置响应头 1.3 通过response对象设置响应正文可以通过字节流,将响应内容写入响应报文 也可以通过字符流,将响应内容写入响应报文 2 输出中文遇到的乱码问题对于乱码问题,其核心只有一个:就是编解码不...
2018-05-06 23:40:46 213
转载 JAVAEE学习路线
第一部分JAVA语言基础知识。包括异常、IO流、多线程、集合类、数据库。(切记基础知识一定要时时刻刻巩固,注意,如果你是想以最快速度学习J2EE,关于Java中的Swing知识点,就只做了解) 要求:对java的封装,生命周期等有一定的了解; java基础语法------必须的异常------掌握try-catch-finally的使用 IO流------掌握字节流、字符流和对象序列化的处理。能够...
2018-04-21 21:05:17 799
转载 基本类型和包装类、基本类型和字符串之间的转换
基本类型和包装类之间的转换基本类型和包装类之间经常需要互相转换,以 Integer 为例(其他几个包装类的操作雷同哦):在 JDK1.5 引入自动装箱和拆箱的机制后,包装类和基本类型之间的转换就更加轻松便利了。那什么是装箱和拆箱呢?我们分别来看下装箱:把基本类型转换成包装类,使其具有对象的性质,又可分为手动装箱和自动装箱拆箱:和装箱相反,把包装类对象转换成基本类型的值,又可分为手动拆箱和自动拆箱 ...
2018-04-20 23:59:54 12530 1
原创 IntValue()方法 和 ValueOf()方法
intValue()1.intValue()是java.lang.Number类的方法,Number是一个抽象类。Java中所有的数值类都继承它。也就是说,不单是Integer有intValue方法,Double,Long等都有此方法。 2.此方法的意思是:输出int数据。每个数值类中具体的实现...
2018-04-20 23:59:07 52295
转载 Hash算法 ( 多种 )
/** * Hash算法大全<br> * 推荐使用FNV1算法 * @algorithm None * @author Goodzzp 2006-11-20 * @lastEdit Goodzzp 2006-11-20 * @editDetail Create */ public class Ha...
2018-04-20 21:32:20 219
转载 Java字符串格式化—String.format()方法
常规类型的格式化String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处。format()方法有两种重载形式。format(String format, Object... args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。format(Locale locale, Str...
2018-04-12 18:09:05 313
转载 子线程 异常处理(通用)
在普通的单线程程序中,捕获异常只需要通过try ... catch ... finally ...代码块就可以了。那么,在并发情况下,比如在父线程中启动了子线程,如何正确捕获子线程中的异常,从而进行相应的处理呢?常见错误也许有人会觉得,很简单嘛,直接在父线程启动子线程的地方try ... catch一把就可以了,其实这是不对的。原因分析让我们回忆一下Runnable接口的run方法的完整签名,因为...
2018-04-12 09:59:01 1176
原创 面试题总结
int和Integer的区别1、Integer是int的包装类,int则是java的一种基本数据类型 2、Integer变量必须实例化后才能使用,而int变量不需要 3、Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值 4、Integer的默认值是null,int的默认值是0延伸: 关于Integer和int的比较 1、由于I...
2018-04-08 17:03:21 894
转载 JAVA 排序算法
冒泡排序 Bubble Sort 排序方式:每次两两比较,大的在后面,每一趟排序都会确定一个元素的最终位置。import java.lang.reflect.Array;import java.util.Arrays;import java.util.Random;/*完成冒泡排序的优化算法 */public class BubbleSort { public static voi...
2018-04-07 08:30:00 193
空空如也
html 5 中Object标签加载flash不会自动显示的问题
2018-04-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人