自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(104)
  • 资源 (4)
  • 收藏
  • 关注

原创 rabbitMQ 与spring、springmvc框架相结合的一个工程示例

最近公司的项目中使用到的消息中间件是rabbitMQ,所以对rabbitMQ做了一些了解,有不足之处,欢迎大家指点。一、rabbitMQ简介1.1、rabbitMQ的优点(适用范围)1. 基于erlang语言开发具有高可用高并发的优点,适合集群服务器。2. 健壮、稳定、易用、跨平台、支持多种语言、文档齐全。3. 有消息确认机制和持久化机制,可靠性高。4. 开源

2016-11-17 15:36:44 5813

转载 UML类图几种关系的总结

在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)   1. 泛化(Generalization)  【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。

2016-09-27 16:03:34 15685 1

原创 WebSocket spring示例demo (已使用sockJs库)

1、简介 作为下一代的Web标准,HTML5 拥有许多引人注目的新特性,如 Canvas、本地存储、多媒体编程接口、WebSocket等等。这其中有“Web的 TCP”之称的 WebSocket格外吸引开发人员的注意。WebSocket的出现使得浏览器提供对 Socket的支持成为可能,从而在浏览器和服务器之间提供了一个基于TCP连接的双向通道。Web开

2016-05-21 19:56:39 10737 18

原创 RSA加解密算法java实现(已添加分段加密算法处理)

一 RSA简介这种算法1978年就出现了,它是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。算法的名字以发明者的名字命名:Ron Rivest, AdiShamir 和Leonard Adleman。这种加密算法的特点主要是密钥的变化,上文我们看到DES只有一个密钥。相当于只有一把钥匙,如果这把钥匙丢了,数据也就不安全了。RSA同时有两把钥匙,公钥与私钥。同时支

2016-04-09 18:39:24 8359 2

原创 2020年03月23日,公司架构师指导后的感悟

1、关于数据库表的设计:避免歧义性。一般对于基础数据和对基础数据所产生的行为操作,可以使用基础数据表保存基础数据;而对基础数据进行一些操作(比如审核或者其他的),则可以使用操作流水表。这样既满足第一范式,而且还能很好的支持上层业务扩展,且避免耦合。2、对于接口设计:(1)单个接口提供单独的服务。(2)不论是在controller应用或者service应用,都可以将接口进行抽象设计。...

2020-04-13 10:46:01 273

原创 ABS系统-保理结合Java8流+反射完成各个协议的还款结算金额的计算

/***获取保理各个协议的入池金额**/public BigDecimal getIncomeAmt(String uid, List<AssetsStatisticsDo> statisticsDoList) { if (null == statisticsDoList || statisticsDoList.size() == 0) { return BigDecima...

2020-03-16 03:53:45 352

原创 见闻杂记-dubbo

(1)ConcurrentMap<NotifyListener, ChildListener> listeners = zkListeners.computeIfAbsent(url, k -> new ConcurrentHashMap<>());

2020-03-16 03:52:07 254

原创 系统层面优雅解决高并发缓存问题

1、缓存中使用json字符串而不是用对象原因是:其中一个场景是在分布式部署环境中,如果对原先的对象属性值的类型做了变化,那么在部署时,后部署的机器,如果使用缓存中的新数据,会出错,可能会导致整个对象的解析失败。但是使用JSON值,那么就只会导致单个的属性值解析失败。2、在实际应用中禁止使用System.out.println();原因是:它是不使用buffer的IO流,很耗费性能...

2019-11-17 10:30:42 245

原创 hadoop、hive、spark等详细安装环境、系统安装及运行

一、Hadoop安装环境准备1. 克隆虚拟机 克隆完成以后,使用root账户登录。2. 修改克隆虚拟机的静态IP使用vim /etc/udev/rules.d/70-persistent-net.rules指令,删除原先的eth0所在的行。复制eth1的ATTR{address}信息,修改eth1为eth0。使用vim /etc/sysconfig/net...

2019-06-08 02:34:26 394

原创 使用cookie技术实现,缓存最近浏览过详细信息的三本书的书名列表,并进行相应显示

(1)显示书名列表,及最近阅读的最多三本书的书名public class ShowGoods extends HttpServlet { /** * */ private static final long serialVersionUID = 978235855242977508L; @Override protected void doGet(HttpServle

2017-08-01 14:54:15 715

原创 设计模式之工厂模式

首先需要区分简单工厂模式、工厂模式、抽象工厂模式       简单工厂模式、工厂模式、抽象工厂模式都属于创建型模式,主要功能是帮助我们将对象的实例化部分抽取出来,优化系统架构,增强系统可扩展性。       (1)简单工厂模式可以实现产品类实例代码与客户端代码分离,但是不符合开闭原则(对修改关闭,对扩展开放)。public interface Product { }public

2017-08-01 10:10:39 376

转载 Java动态代理机制详解(JDK 和CGLIB,Javassist,ASM)

class文件简介及加载     Java编译器编译好Java文件之后,产生.class 文件在磁盘中。这种class文件是二进制文件,内容是只有JVM虚拟机能够识别的机器码。JVM虚拟机读取字节码文件,取出二进制数据,加载到内存中,解析.class 文件内的信息,生成对应的 Class对象:      class字节码文件是根据JVM虚拟机规范中规

2017-07-31 11:14:23 448

转载 js对select动态添加和删除OPTION

select id="ddlResourceType" onchange="getvalue(this)">select> 动态删除select中的所有options: document.getElementById("ddlResourceType").options.length=0; 动态删除select中的某一项option: do

2017-07-28 14:56:48 4292

转载 jQuery中的text()、html()和val()以及javascript中的innerText、innerHTML和value

*jQuery中设置或者获取所选内容的值:text();设置或者获取所选元素的文本内容;html();设置或者获取所选元素的内容(包括html标记);val();设置或者获取表单字段的值(前提是表单设置了value属性);(text()和html()的区别是:前者是处理的文本内容,只能写文本如果写了上面的标记则会以文本形式输出;后者可以解析文本中的html标记,就是你可以添加像、等

2017-07-28 14:12:05 572

转载 数据库事务的四大特性以及事务的隔离级别

本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别。  如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性:⑴ 原子性(Atomicity)  原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响

2017-07-26 17:50:19 319

转载 Spring事务配置的五种方式和spring里面事务的传播属性和事务隔离级别

spring事务配置的五种方式前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识。通过这次的学习发觉Spring的事务配置只要把思路理清,还是比较好掌握的。    总结如下:    Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理机制

2017-07-26 17:26:17 359

转载 每天一个linux命令(35):ln 命令

在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号。文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存在,从而实现文件的快速访问。链接是一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法。Linux中包括两种链接:硬链接(Hard Link)和软链接(Soft Link),软链接又称为符号链接(Symbolic

2017-07-04 11:43:59 258

原创 Java动态代理再理解

这是我理解的动态代理的原理图:动态代理实例:public class TestProxy { public static void main(String[] args) { //被代理对象 RealSubject rs = new RealSubject(); //创建一个实现了InvocationHandler 的代理类对象 MyInvocationHandler

2017-06-22 20:20:24 338

原创 关于B/S模式的web服务交互过程中的中文乱码问题浅析

Web服务是服务端和浏览器之间的交互,两者之间因为中文编码的问题很容易导致乱码出现。站在服务端(servlet)角度,乱码分成两种接收请求(request)和响应浏览器(response)。有关乱码的问题主要是下图中的四个组件之间的引起的。(1)request请求产生的乱码:乱码产生的大概原理:解决思路就是:IE浏览器和request的编码方式要一致。因

2017-06-22 20:16:02 837

原创 RabbitMQ理解

引言       你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用、通讯的问题而苦恼、挣扎?如果是,那么恭喜你,消息服务让你可以很轻松地解决这些问题。       消息服务擅长于解决多系统、异构系统间的数据交换(消息通知/通讯)问题,你也可以把它用于系统间服务的相互调用(RPC)。本文将要介绍的RabbitMQ就是当前最主流的消息中间件之

2017-06-20 18:23:20 373

转载 Java的四种引用之强弱软虚

在java中提供4个级别的引用:强引用、软引用、弱引用和虚引用。除了强引用外,其他3中引用均可以在java.lang.ref包中找到对应的类。开发人员可以在应用程序中直接使用他们。1 强引用强引用就是程序中一般使用的引用类型,强引用的对象是可触及的,不会被回收。相对的,软引用、弱引用和虚引用的对象是软可触及的、弱可触及的和虚可触及的,在一定条件下,都是可以被回收的。强引用示

2017-06-20 15:36:17 339

转载 RPC远程过程调用详解

今天看了两篇关于RPC远程过程调用的,写的很好,分享一下。http://blog.csdn.net/mindfloating/article/details/39473807http://blog.csdn.net/mindfloating/article/details/39474123

2017-06-19 14:18:48 287

原创 springmvc学习-框架原理图

今天学习了下springmvc的框架原理图,然后根据自己的理解做了以下两个图。(1)首先介绍下mvc的框架(B/S模式)这是B/S模式的大体原理框架。(2)springmvc的框架原理图springmvc框架中主要有6个组件组成:前端控制器(接收请求及信息转发)、处理器映射器(查找handler)、处理器适配器(执行handler)、处理器(业务处理)、视图解析器(根据

2017-06-09 17:42:09 604

原创 java基础之反射

反射基础:文章目录结构1、获取Class实例的常用方式2、获取field属性的方式(1)获取运行时类及其父类中声明为public的的属性(2)获取运行时类本身的所有声明的属性·获取类的属性类型及其属性名称(3)获取指定属性,并且对指定的属性进行相应的赋值(包含public、private、protected)3、获取method方法的方式(1)获取运行时类及其父

2017-06-05 21:24:18 308

原创 关于java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)问题解决

今天使用mybatis框架进行数据库访问时,出现:org.apache.ibatis.exceptions.PersistenceException: ### Error querying database.  Cause: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: Y

2017-06-05 14:41:42 20865 1

转载 spring事物配置,声明式事务管理和基于@Transactional注解的使用

事物管理对于企业应用来说是至关重要的,好使出现异常情况,它也可以保证数据的一致性。spring支持编程式事务管理和声明式事务管理两种方式。        编程式事务管理使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,spring推荐使用TransactionTemplate。     

2017-06-02 14:16:31 448

转载 spring IOC 机制理解

最近看见一篇博文,关于spring的IOC机制理解的挺好的。但是关于spring底层中,关于资源的定位、资源的解析、资源的装载策略,原文作者没有做过多的解释,这个以后再补充。       IOC(DI):其实这个Spring架构核心的概念没有这么复杂,更不像有些书上描述的那样晦涩。Java程序员都知道:java程序中的每个业务逻辑至少需要两个或以上的对象来协作完成,通常,每个对象在使用他的合作

2017-05-25 09:49:40 1614

转载 CountDownLatch的介绍和使用

1、类介绍java.util.concurrent类 CountDownLatchjava.lang.Objectjava.util.concurrent.CountDownLatch一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。用给定的计数 初始化 CountDownLatch。由于调用了 countDown()

2017-05-24 14:27:43 310

转载 Spring:源码解读Spring IOC原理

一、 什么是Ioc/DI?二、 Spring IOC体系结构(1) BeanFactory(2) BeanDefinition三、 IoC容器的初始化1、 XmlBeanFactory(屌丝IOC)的整个流程2、 FileSystemXmlApplicationContext 的IOC容器流程1、高富帅IOC解剖2、 设置资源加载器和

2017-05-23 17:44:26 340

转载 委托设计模式

首先区别下代理模式和委托模式的区别:      proxy :译为代理, 被代理方(B)与代理方(A)的接口完全一致。 主要使用场景(语义)应该是:为简化编程(或无法操作B),不直接把请求交给被代理方(B),而把请求交给代理方(A),由代理方与被代理方进行通信,以完成请求。     delegete : 译为委托,主要语义是:一件事情(或一个请求)对象本身不知道怎样处理,对象把请求交给

2017-05-23 17:30:00 549

转载 ConcurrentHashMap实现原理及源码分析

ConcurrentHashMap是Java并发包中提供的一个线程安全且高效的HashMap实现(若对HashMap的实现原理还不甚了解,可参考我的另一篇文章HashMap实现原理及源码分析),ConcurrentHashMap在并发编程的场景中使用频率非常之高,本文就来分析下ConcurrentHashMap的实现原理,并对其实现原理进行分析(JDK1.7).ConcurrentHashMa

2017-05-19 10:55:49 337

转载 MySQL Explain详解

在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。所以我们深入了解MySQL的基于开销的优化器,还可以获得很多可能被优化器考虑到的访问策略的细节,以及当运行SQL语句时哪种策略

2017-05-18 15:31:54 222

转载 mysql索引总结----mysql 索引类型以及创建

关于MySQL索引的好处,如果正确合理设计并且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。对于没有索引的表,单表查询可能几十万数据就是瓶颈,而通常大型网站单日就可能会产生几十万甚至几百万的数据,没有索引查询会变的非常缓慢。还是以WordPress来说,其多个数据表都会对经常被查询的字段添加索引,比如wp_comments表中针对5个字段设计了BTR

2017-05-17 14:31:44 292

原创 java多线程基础(三)

synchronized关键字  涉及到共享资源的读写访问,在同步时,往往会使用synchronized关键字,synchronized对象监视器既可以是对象,也可以是类。1 synchronized应用于非静态方法    ① synchronized关键字修饰方法,取的锁是对象锁。当然这个对象锁只能是是方法所在类本身对象。多个线程访问某一对象中某synchronized同步方法时

2017-05-16 05:13:28 313

原创 Java多线程基础(二)

Java多线程理解一、常用方法1、join()方法,让一个线程等待另一个线程执行完之后再执行。例如:A线程执行体中执行B线程的join方法,那么需要等到B线程执行完毕之后再执行A线程。示例:public class MyRunnable implements Runnable{ private boolean flag = false; @Override public

2017-05-10 22:39:04 366

原创 归并排序之Java实现

归并排序思路:现先待排序数组划分成两个数组,然后再划分,直至划分后的子数组只有一个元素(一个元素的数组既是有序数组),然后再两两合并(按照顺序合并),最终形成一个完整的有序数组。所以归并排序核心有两个:两个数组合并排序成一个有序数组;一个数组怎么拆分成N个子数组。代码实现:public static void merge(int [] arr) throws Exception{

2017-05-08 22:37:58 278

原创 快速排序之Java实现

快速排序思想:从数组中挑选一元素作为基数(一般选数组第一个数字),然后通过排序,将比此数大的排到它 的左边,比它小的排到右边;然后再分别对左右两边的子数组进行相应排序,直到子数组的长度是1 ,排序结束。举例说明:一组数:arr  = {5,9,1,3,52,13,2,8,4}选择第一个数字,5,作为基数,i = 0,j=8;(1)从数组后边开始,4比5小,那么将4,赋值给arr[0

2017-05-08 22:24:00 277

原创 希尔排序之Java实现

希尔排序思想:希尔排序其实就是将一个数组分段进行插入排序,最后再将分段序列组合在一起进行大的插入排序。也即:希尔排序是首先将数组分成若干子数组(一般子数组的个数是n/2或者n/m,n是数组长度,m是分隔间距),然后每个子数组进行插入排序;再缩减增量(一般缩减增量表达式是 k/2,k是上一次执行插入排序结束之后的子数组的长度),进行插入排序;直到子数组足够小,那么再对总的数组进行插入排序。因

2017-05-08 00:14:44 1008

原创 选择排序之Java实现

实现思想:选择排序的基本思想是每一趟在n-i+1(i =1,2,3...,n-1)个记录中选取关键字最小的记录作为有序序列的第i 个记录。代码实现:public static void chooseSort(int [] arr){ for(int i = 0 ; i < arr.length ; i++){ for(int j = i+1 ; j < arr.length

2017-05-07 22:14:18 247

原创 插入排序之Java实现

基本思想:每一个待排序的记录,按照其大小插入到前面已经排好序的子数组中,直至数组的全部记录都插入完成。代码实现:public static void insertSort(int [] arr){ for(int i =1 ; i < arr.length ; i++){ for(int j = i-1; j>=0 ; j--){ if(arr[j] > arr[j+1]

2017-05-07 19:33:07 256

springmvc文件上传

springmvc文件上传

2016-12-01

ssm框架物理分页实现

springmvc、spring、mybatis框架在mysql数据库下的物理分页实现

2016-11-21

rabbitMq与spring、springmvc结合的测试工程

rabbitMq与spring、springmvc结合的测试工程

2016-11-17

ssmTestSSM框架整合

spring、mybatis、Springmvc框架整合

2016-11-09

空空如也

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

TA关注的人

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