自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1016)
  • 资源 (8)
  • 收藏
  • 关注

原创 缓存与数据库一致性问题

业务场景 抓拍到的人脸图片需要推送到第三方系统,但不是所有的网点都需要推送图片信息。也就是要做到不同的网点可以根据配置来决定是否推送,前端页面需要有推送配置功能,手动配置后,把配置的推送信息保存到数据库。抓拍到人脸照片后,读取配置的推送信息,再判断是否需要推送图片。由于网点多抓拍的人脸数据量较大,推送信息配置后不常修改,也就是读多写少,所以考虑把配置的推送信息保存数据库后再保存一份至redis中。实现方案 缓存和数据库的数据一致性有多种实现方式,各实现方式可以自行了解,以...

2021-01-05 16:45:46 374 1

原创 查看JVM默认的垃圾回收器

java -XX:+PrintCommandLineFlags -version终端环境下,切换到当前程序目录,输入上面的参数,回车,输出如下-XX:InitialHeapSize=132730432 -XX:MaxHeapSize=2123686912 -XX:+PrintCommandLineFlags -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:-UseLargePagesIndividualAllocation.

2020-09-23 20:09:28 543

原创 java 内存溢出排查

测试代码,如下示例:import java.util.ArrayList;import java.util.List;/** * @Description 测试内存溢出, 启动时设置参数,最大堆内存为1m, 内存溢出时dump出内存文件 -Xmx1m -XX:+HeapDumpOutOfMemoryError * @Author luzy * @Date 2018/10/5 ...

2018-10-05 12:00:05 629

转载 tomcat 三种部署方式以及server.xml文件的几个属性详解

一、直接将web项目文件件拷贝到webapps目录中  这是最常用的方式,Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。如果你想要修改这个默认目录,可以在conf下的server.xml文件里修改Host标签里的appBase值。  这个方法实际上和在IDE开发环境里部署项目是一样的。  用此方法的访问路径为http://lo...

2018-10-03 09:44:30 2692

转载 Maven常用命令

Maven库:http://repo2.maven.org/maven2/Maven依赖查询:http://mvnrepository.com/一,Maven常用命令:1. 创建Maven的普通Java项目:mvn archetype:create -DgroupId=packageName -DartifactId=projectName2. 创建M...

2018-10-02 17:43:19 312

转载 dependencies与dependencyManagement

一、dependencyManagement 统一多模块的依赖版本如果你的项目有多个子模块,而且每个模块都需要引入依赖,但为了项目的正确运行,必须让所有的子项目(以下子项目即指子模块)使用依赖项的统一版本,才能保证测试的和发布的是相同的结果。那么如何保证模块之间的版本是一致的呢?Maven 使用 dependencyManagement 来统一模块见的依赖版本问题。在父项目的POM文件...

2018-10-02 17:00:36 558

转载 idea tomcat 远程调试

在日常开发中,有时需要对远程服务器上的应用进行远程调试,对于tomcat,要进行远程调试其实很简单,只需要在启动tomcat时开启jpda服务即可。什么是JPDA呢?JPDA(Java Platform Debugger Architecture) 是 Java 平台调试体系结构的缩写,通过 JPDA 提供的 API,开发人员可以方便灵活的搭建 Java 调试应用程序。JPDA 主要由三个...

2018-10-02 12:22:28 761

转载 Centos之上传下载命令rz和sz

之前使用的ssh工具一直都是MobaXterm,但是后来发现,实际上MobaXterm使用起来,并没有Xshell 使用起来更加的方便,就比如(rz 和sz)上传和下载的命令,在MobaXterm 不好用,还有复制粘贴一些命令的时候,也是比较麻烦的,所以果断放弃了按使用N久的ssh工具了。安装lrzszlrzsz这个软件,可以让我们直接从linux上,下载和上传文件的操作yum ...

2018-09-28 13:36:42 1820

转载 mock

目录1 Mockito 介绍   1.1 Mockito是什么?  1.2 为什么需要Mock  1.3 Stub和Mock异同  1.4 Mockito资源  1.5 使用场景2 使用Mockito   2.1 验证行为  2.2 模拟我们所期望的结果  2.3 RETURNS_SMART_NULLS和RETURNS_DEEP_STUBS  2.4 模拟方法体抛出异常 ...

2018-09-25 17:26:02 962

转载 windows mysql下载与安装

下载打开:https://www.mysql.com/downloads/   1.点击该项:,2. 进去后点击:3.到了真正的下载页面,选择平台,选择版本(安装版和免安装版),下载4,我现在下载免安装版的“Windows (x86, 64-bit), ZIP Archive” 安装服务1. 下载MySQL 2. 解压MySQL压缩包    将以下载的My...

2018-09-15 09:18:47 176

转载 java中的vo 、dto 、dao

原文地址:http://yinchunjian.iteye.com/blog/758196O是跟数据库里表的映射,一个表对应一个VO DAO是用VO来访问真实的表,对数据库的操作都在DAO中完成 BO是业务层,做逻辑处理的VO , PO , BO , QO, DAO ,POJO, O/R Mapping 是 Object Relational Mapping (对象关系映射)...

2018-09-12 19:23:44 597

转载 SOFARPC 集成 Zookeeper 注册中心

SOFARPC 是近期蚂蚁金服开源的一个高可扩展性、高性能、生产级的 Java RPC 框架。在蚂蚁金服 SOFARPC 已经经历了十多年及五代版本的发展。SOFARPC 致力于简化应用之间的 RPC 调用,为应用提供方便透明、稳定高效的点对点远程服务调用方案。为了用户和开发者方便的进行功能扩展,SOFARPC 提供了丰富的模型抽象和可扩展接口,包括过滤器、路由、负载均衡等等。SOFA RPC...

2018-09-04 11:00:43 1648

转载 蚂蚁 RPC 框架 SOFA-RPC 初体验

前言最近蚂蚁金服开源了分布式框架 SOFA,楼主写了一个 demo,体验了一下 SOFA 的功能,SOFA 完全兼容 SpringBoot(当然 Dubbo 也是可以兼容的)。项目地址:Alipay,该主页有 5 个项目,都是阿里开源的。sofa-boot,sofa-rpc,sofa-bolt,sofa-ark,sofa-rpc-boot-projects。快速开始实际上,SOFA...

2018-09-04 10:59:52 1226

转载 4种事务的隔离级别,InnoDB如何巧妙实现?

事务ACID特性,其中I代表隔离性(Isolation)。 什么是事务的隔离性?隔离性是指,多个用户的并发事务访问同一个数据库时,一个用户的事务不应该被其他用户的事务干扰,多个并发事务之间要相互隔离。 一个事务怎么会干扰其他事务呢?咱们举例子来说明,假设有InnoDB表:t(id PK, name); 表中有三条记录:1, shenjian2, zhan...

2018-08-30 16:58:24 201

转载 java设计模式之外观模式(门面模式)

  针对外观模式,在项目开发和实际运用中十分频繁,但是其极易理解,下面就简要介绍一下。一、概念介绍  外观模式(Facade),他隐藏了系统的复杂性,并向客户端提供了一个可以访问系统的接口。这种类型的设计模式属于结构性模式。为子系统中的一组接口提供了一个统一的访问接口,这个接口使得子系统更容易被访问或者使用。 二、角色及使用场景  简单来说,该模式就是把一些复杂的流程封装成一个...

2018-08-28 09:31:46 166

转载 模板方法模式(Template Method)

前言今天我来全面总结一下Android开发中最常用的设计模式 - 模板方法模式。其他设计模式介绍 1分钟全面了解“设计模式” 单例模式(Singleton) - 最易懂的设计模式解析 简单工厂模式(SimpleFactoryPattern)- 最易懂的设计模式解析 工厂方法模式(Factory Method)- 最易懂的设计模式解析 抽象工厂模式(Abstract Factory)- 最...

2018-08-28 09:22:24 257

转载 MySQL 大表优化方案

当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化。单表优化除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的。而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的数据量。字段尽量使用TINYINT、S...

2018-08-23 13:53:35 197

转载 浅拷贝和深拷贝(谈谈java中的clone)

clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象。所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象。那么在java语言中,有几种方式可以创建对象呢? 1. 使用new操作符创建一个对象 2. 使用clone方法复制一个对象 那么这两种方式有什么相同和不同呢? new操作符的本意是分配内存。程序执行到new操作符时,...

2018-08-22 09:28:52 147

转载 rsync远程数据同步工具

一、简介1、认识Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。Rsync使用所谓的“Rsync算法”来使本地和远 程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快Rsync支持大多数的类Unix系统,无论是Linux、Solaris还是BSD上都经过了良好的测试...

2018-08-21 09:14:06 530

转载 运维-JVM监控之内存泄漏

jmap -heap pid查看进程堆内存使用情况,包括使用的GC算法、堆配置参数和各代中堆内存使用情况1、为什么会发生内存泄漏?如果对象一直被应用,jvm无法对其进行回收,创建新的对象时,无法从Heap中获取足够的内存分配给对象,这时候就会导致内存溢出。出现内存泄露的地方,一般是不断的往容器中存放对象,而容器没有相应的大小限制或清除机制。2、内存泄漏的现象:程序中抛出OutOfM...

2018-08-16 14:26:34 395

转载 解决 MariaDB无密码就可以登录的问题

问题:困扰了很久的问题,,使用apt-get来安装mysql,安装好之后发现安装的是 MariaDB,如下,无需密码既可以登录了。即使使用mysqladmin设置好密码,用密码登录可以,不用密码登录也可以1 root@ubuntu:/etc/mysql# mysql2 Welcome to the MariaDB monitor. Commands end with ; or \...

2018-08-16 09:31:43 4156

转载 linux定时备份mysql并同步到其它服务器

数据在任何一家公司里面都是最核心的资产,定期备份则是为了保证数据库出现问题的时候能够及时回滚到最近的备份点,将损失缩小到最小这篇文章将会两部分来说明:1、mysql的定期备份;2、同步到其它服务器 mysql 备份 备份还原某个数据库备份还原# 导出数据库/usr/bin/mysqldump -u root -ppwd database > database2...

2018-08-15 19:35:07 833

转载 Java中创建对象的5种方式

Java中创建对象的5种方式作为Java开发者,我们每天创建很多对象,但我们通常使用依赖管理系统,比如Spring去创建对象。然而这里有很多创建对象的方法,我们会在这篇文章中学到。Java中有5种创建对象的方式,下面给出它们的例子还有它们的字节码使用new关键字 } → 调用了构造函数 使用Class类的newInstance方法 } → 调用了构造函数 使用Con...

2018-08-15 11:06:50 232

转载 Spring 是如何解决并发访问的线程安全性问题的

springmvc的controller是singleton的(非线程安全的),这也许就是他和struts2的区别吧!和Struts一样,Spring的Controller默认是Singleton的,这意味着每个request过来,系统都会用原有的instance去处理,这样导致了两个结果:一是我们不用每次创建Controller,二是减少了对象创建和垃圾收集的时间;由于只有一个Controlle...

2018-08-15 10:23:47 1062

转载 两个栈实现一个队列以及两个队列实现一个栈(Java)

两个栈实现一个队列import java.util.Stack;public class Demo07 { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = new Stack<Integer>(); public voi...

2018-08-14 20:01:47 230

转载 深入理解Java的接口和抽象类

 对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。下面是本文的目录大纲:  一.抽象类  二.接口  三.抽象类和接口的区别  若有不正之处,请多多谅解并欢迎批评指正...

2018-08-14 19:26:47 90

转载 HashMap在java并发中如何发生死循环

        在多线程环境中,使用HashMap进行put操作时会引起死循环,导致CPU使用接近100%,下面通过代码分析一下为什么会发生死循环。      首先先分析一下HashMap的数据结构:HashMap底层数据结构是有一个链表数据构成的,HashMap中定义了一个静态内部类作为链表,代码如下(与本文无关的代码省略):  静态内部类entry代码      sta...

2018-08-14 17:17:00 163

转载 为什么开发人员必须要了解数据库锁?

1.锁?1.1何为锁锁在现实中的意义为:封闭的器物,以钥匙或暗码开启。在计算机中的锁一般用来管理对共享资源的并发访问,比如我们java同学熟悉的Lock,synchronized等都是我们常见的锁。当然在我们的数据库中也有锁用来控制资源的并发访问,这也是数据库和文件系统的区别之一。1.2为什么要懂数据库锁?通常来说对于一般的开发人员,在使用数据库的时候一般懂点DQL(select)...

2018-08-11 09:07:07 261

转载 java中ReentrantReadWriteLock读写锁的使用

     Lock比传统线程模型中的synchronized方式更加面向对象,与生活中的锁类似,锁本身也应该是一个对象。两个线程执行的代码片段要实现同步互斥的效果,它们必须用同一个Lock对象。  读写锁:分为读锁和写锁,多个读锁不互斥,读锁与写锁互斥,这是由jvm自己控制的,你只要上好相应的锁即可。如果你的代码只读数据,可以很多人同时读,但不能同时写,那就上读锁;如果你的代码修改数据,只能有...

2018-08-10 16:57:12 262

转载 spring aop类内部调用不拦截原因及解决方案

  spring对应java web开发的同学来说,都不陌生,其中事务@Transactional在service层更是常常使用。1.aop类内部调用不拦截原因细心的同学也许早就发现当service中的某个没标注@Transactional的方法调用另一个标注了@Transactional的方法时,居然没开启事务。例如  @Service public class Us...

2018-08-10 15:47:30 591

转载 Spring事务管理(详解+实例)

写这篇博客之前我首先读了《Spring in action》,之后在网上看了一些关于Spring事务管理的文章,感觉都没有讲全,这里就将书上的和网上关于事务的知识总结一下,参考的文章如下:Spring事务机制详解 Spring事务配置的五种方式 Spring中的事务管理实例详解1 初步理解理解事务之前,先讲一个你日常生活中最常干的事:取钱。 比如你去ATM机取1000块钱,大...

2018-08-10 15:07:00 246

转载 Spring Boot与RabbitMQ的整合消息确认

一:确认种类RabbitMQ的消息确认有两种。一种是消息发送确认。这种是用来确认生产者将消息发送给交换器,交换器传递给队列的过程中,消息是否成功投递。发送确认分为两步,一是确认是否到达交换器,二是确认是否到达队列。第二种是消费接收确认。这种是确认消费者是否成功消费了队列中的消息。二:消息发送确认(1)ConfirmCallback通过实现ConfirmCallBack接口,...

2018-08-10 10:37:05 2522

转载 linux lsof命令详解

简介lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应...

2018-08-09 17:10:40 178

转载 linux中部署jenkins(war包)及jenkins忘记登录账号密码

一:部署jenkins(war包)1.直接下载war包jenkins.war,下载地址https://jenkins.io/download2.将下载的war包放到服务器上tomcat的webapps文件夹下3.重启tomcat:./shutdown.sh(关闭tomcat的命令)                     ./startup.sh(启动tomcat的命令)4.在...

2018-08-09 15:18:47 1478

转载 linux系统盘使用率达到100%的问题查找和解决方法

今天公司云服务器报警系统发来短信,系统磁盘空间不够,登录服务器进行查看,磁盘使用虑达到100%,      感觉比较奇怪,所存的东西并不多,怎么会将磁盘占满,而且数据都是存在数据盘下,通过简单的进行查看,总体有了些思路,分为三步走:一、先对系统盘下所有文件大小进行统计,是否真的是数据存储以达到了磁盘空间  当时对系统盘所有文件进行统计,总共才5.5G的大小,对数据盘进行统计总共才1...

2018-08-09 10:54:24 6085

转载 spring 缓存中@Cacheable、@CachePut和@CacheEvict介绍 以及#p0的含义

package com.roncoo.example.cache.impl;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.cache.annotation.CacheConfig;import org.springframework.cache.annota...

2018-08-08 17:12:09 5609 1

转载 mybatis缓存机制详解

mybatis提供了缓存机制减轻数据库压力,提高数据库性能mybatis的缓存分为两级:一级缓存、二级缓存一级缓存是SqlSession级别的缓存,缓存的数据只在SqlSession内有效二级缓存是mapper级别的缓存,同一个namespace公用这一个缓存,所以对SqlSession是共享的一级缓存:  mybatis的一级缓存是SqlSession级别的缓存,在操作数据库...

2018-08-08 11:03:11 186

转载 Jenkins详细安装与构建部署使用教程

         Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:1、持续的软件版本发布/测试项目。2、监控外部调用执行的工作。本文使用的Linux:Ubuntu其中JDK、Tomcat、SVN服务器请看这里Ubuntu安装配置JDK、Tomcat、SVN服...

2018-08-08 10:37:25 172

转载 最好理解的: spring ioc原理讲解,强烈推荐!

IOC(DI):java程序中的每个业务逻辑至少需要两个或以上的对象来协作完成。通常,每个对象在使用他的合作对象时,自己均要使用像new object() 这样的语法来完成合作对象的申请工作。你会发现:对象间的耦合度高了。而IOC的思想是:Spring容器来实现这些相互依赖对象的创建、协调工作。对象只需要关系业务逻辑本身就可以了。从这方面来说,对象如何得到他的协作对象的责任被反转了(IOC、D...

2018-08-07 10:26:00 104

转载 @ControllerAdvice + @ExceptionHandler 全局处理 Controller 层异常

零、前言对于与数据库相关的 Spring MVC 项目,我们通常会把 事务 配置在 Service层,当数据库操作失败时让 Service 层抛出运行时异常,Spring 事物管理器就会进行回滚。如此一来,我们的 Controller 层就不得不进行 try-catch Service 层的异常,否则会返回一些不友好的错误信息到客户端。但是,Controller 层每个方法体都写一些模板化...

2018-08-06 16:17:04 213

MavenRunHelper.zip

最新版本maven helper

2021-03-18

axure_chrome_extension_V0.6.3.rar

Chrome axure 插件 ,通过chrome扩展程序加载,即可查看axure页面。谷歌浏览器使用

2020-08-21

plsqld13.zip

sqlplus 安装包

2020-04-12

Was8安装.rar

websphere安装及部署详细说明文档,内容详细,图片讲解,中文描述。步骤详细。

2020-04-11

IBM HeapAnalyzer

jvm java oom分析 OutOfMemory 内存溢出分析工具

2018-10-05

springboot-mybatis-redis缓存集成

springboot,mybatis,redis缓存 集成

2018-08-08

icepdf转图片 去水印,解决字体乱码

icepdf实现pdf转图片,解决水印问题,中文字体乱码问题

2017-11-15

FTP帮助文档

FTP帮助文档

2016-05-30

空空如也

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

TA关注的人

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