自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 如何画好一份架构图

作者:亿图图示链接:https://www.zhihu.com/question/27440059/answer/1381203176来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。先说答案。画架构图分四步走:第一,搞清楚要画的架构图的类型;第二,确认架构图中的关键要素(比如产品、技术、服务);第三,梳理关键要素之间的关联:包含、支撑、同级并列等;第四,输出关联关系清晰的架构图。应用架构图接下来,我们作进一步解读:一、架构图的定义及.

2021-06-17 10:37:16 1429

转载 分布式事务几种实现方式

分布式事务不理解?一次给你讲清楚!文章纲要 此次分享的缘由 目前分布式事务问题是怎么解决的 行业中有什么解决方案 这些解决方案分别有什么优缺点 别人是怎么做的 我们可以怎么来做 此次分享的缘由支付重构考虑支付重构的时候,自然想到原本属于一个本地事务中的处理,现在要跨应用了要怎么处理。拿充值订单举个栗子吧,假设:原本订单模块和账户模块是放在一起的,现在需要做服务拆分,拆分成订单服务,账户服务。原本收到充值回调后,可...

2021-03-19 00:14:25 762

转载 转载知乎上一篇netty解析比较详细的文章

作者:知乎用户链接:https://www.zhihu.com/question/24322387/answer/282001188来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。作为一个学Java的,如果没有研究过Netty,那么你对Java语言的使用和理解仅仅停留在表面水平,会点SSH,写几个MVC,访问数据库和缓存,这些只是初等Java程序员干的事。如果你要进阶,想了解Java服务器的深层高阶知识,Netty绝对是一个必须要过的门槛。有了Netty,你可.

2021-03-10 21:02:28 579

转载 redis和数据库双写一致性问题处理

面试题如何保证缓存与数据库的双写一致性?面试官心理分析你只要用缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题,那么你如何解决一致性问题?面试题剖析一般来说,如果允许缓存可以稍微的跟数据库偶尔有不一致的情况,也就是说如果你的系统不是严格要求 “缓存+数据库” 必须保持一致性的话,最好不要做这个方案,即:读请求和写请求串行化,串到一个内存队列里去。串行化可以保证一定不会出现不一致的情况,但是它也会导致系统的吞吐量大幅度降低,用比正常情况下多几倍的机器

2020-10-15 16:28:39 302

原创 mysql中在没有表记录匹配时,select出一条记录

<!-- 以下两种方式都可以在表中没有匹配记录的情况下select生成一条记录 --> select case when count(1) > 0 then rest_space else 0 end spaceCount或者 ifnull(sum(rest_space),0) spaceCountfrom table_eg where 条件。当条件无法匹配出记录时,往往select出来是空记录的,但有...

2020-07-14 11:27:05 879

原创 记录使用mybatis 「foreach」中 index一个坑

本意是想用mybatis <foreach>中 index作为mysql语句中select的一个字段,但是最后生成mysql语句这个所有循环中的index值都是foreach循环最后一次时对应的个值。例子如下:<select id="hourSpaceInfo" resultType="com.jieshun.jpark.business.entity.api.HourSpaceDTO"> <foreach collection="hourList" item=...

2020-07-14 10:34:44 8676 3

转载 redis原理,为什么快,io多路复用

很多同学对Redis的单线程和I/O多路复用技术并不是很了解,所以我用简单易懂的语言让大家了解下Redis单线程和I/O多路复用技术的原理,对学好和运用好Redis打下基础。一、Redis的单线程理解Redis客户端对服务端的每次调用都经历了发送命令,执行命令,返回结果三个过程。其中执行命令阶段,由于Redis是单线程来处理命令的,所有到达服务端的命令都不会立刻执行,所有的命令都会进入一个...

2020-03-21 17:34:18 8883 1

转载 java线程池解析

本篇文章主要介绍了线程池作用、如何创建线程池、自定义线程工厂和拒绝策略以及深入分析不推荐直接使用Executors静态工厂直接创建线程池的缘由,让大家可以对线程池有个更深刻的认识,而不是只停留在盲目去用的层面。线程池的必要性及作用线程能够充分合理地协调利用CPU、内存、I/O等系统资源,但是线程的创建需要开辟虚拟机栈、本地方法栈、程序计数器等线程私有空间,在线程销毁时需要回收这些系统...

2020-03-20 11:27:26 212

原创 jvm参数做个笔记

详情见:https://www.jianshu.com/p/1c6b5c2e95f9

2020-03-04 16:58:33 117

原创 记一次spring切面不生效问题

这个主要是spring父子容器的问题,最近做了个项目。利用切面记录日志,需要拦截controller中的方法,但是切面一直不生效,之前一直把目光集中在是否表达式写错,或者少了配置。结果是父子容器问题。上面是web.xml,servlet指向加载的xm就是加载再子容器中,这个子容器要加载的xml里面内容如下:看到只是个扫描spring组件的路径,哪些组件注解标记的类会被作为springbea...

2020-02-13 13:48:11 6572

原创 分布式锁总结

以下内容主要是结合了好些帖子的总结。### 什么是锁?在单进程的系统中,当存在多个线程可以同时改变某个变量(可变共享变量)时,就需要对变量或代码块做同步,使其在修改这种变量时能够线性执行消除并发修改变量。 而同步的本质是通过锁来实现的。为了实现多个线程在一个时刻同一个代码块只能有一个线程可执行,那么需要在某个地方做个标记,这个标记必须每个线程都能看到,当标记不存在时可以设置该标记,其余后...

2019-04-11 10:18:44 446

原创 java通过日志判断sql执行是否被编织了事务

这个主要是辅助开发者判断你的事务配置是否生效。当然也可以去数据库直接插数据看看异常后是否回滚,另外如果没有编织成功事务,那么java代码中执行完sql操作的那条语句时数据库数据并没有变化,如果没有事务编织,执行完那条sql操作的语句就会在数据库中体现应有的变化。以下是执行了事务编织的java程序服务端打印出的日志2019-03-26 11:20:57,013 [http-bio-8082-...

2019-03-26 11:34:52 610

原创 java反射catch不到的异常

先看上面一张图。我们在代码中t对有可能抛异常的地方会用try。。。catch包裹起来捕获异常再做处理,此前笔者就遇到一个头疼的问题,工具类代码中利用反射处理一些问题,也用try...catch捕捉可能出现的异常,代码在本地的eclipse中运行正常,但是到了测试环境就莫名其妙中断了,日志也是莫名其妙的就没打了,前面的日志都打了,然后页面上(页面调过来的)直接显示500错误。整个后台服务是起来的...

2019-03-06 18:49:08 1978 1

转载 使用VisualVM远程监控JVM Linux服务器配置方法

 VisualVM是JDK自带的一款全能型性能监控和故障分析工具,包括对CPU使用、JVM堆内存消耗、线程、类加载的实时监控,内存dump文件分析,垃圾回收运行情况的可视化分析等,对故障排查和性能调优很有帮助。在Windows中安装JDK后,VisualVM位于%JAVA_HOME%/bin/下,直接执行jvisualvm.exe即可,一个主要运行界面如图:VisualVM会自动检测本...

2019-02-27 10:16:29 871

转载 Iterator循环删除List元素Java ConcurrentModificationException异常原因和解决方法

Java ConcurrentModificationException异常原因和解决方法Java ConcurrentModificationException异常原因和解决方法  在前面一篇文章中提到,对Vector、ArrayList在迭代的时候如果同时对其进行修改就会抛出java.util.ConcurrentModificationException异常。下面我们就来讨论以下这个...

2018-11-26 11:33:53 982

转载 主流Java数据库连接池分析(C3P0,DBCP,TomcatPool,BoneCP,Druid)

主流数据库连接池常用的主流开源数据库连接池有C3P0、DBCP、Tomcat Jdbc Pool、BoneCP、Druid等C3p0: 开源的JDBC连接池,实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate、Spring等。单线程,性能较差,适用于小型系统,代码600KB左右。DBCP (Database Connectio...

2018-11-15 10:36:40 306

转载 运行jar应用程序引用其他jar包的四种方法

 转载地址:http://www.iteye.com/topic/332580大家都知道一个java应用项目可以打包成一个jar,当然你必须指定一个拥有main函数的main class作为你这个jar包的程序入口。 具体的方法是修改jar包内目录META-INF下的MANIFEST.MF文件。 比如有个叫做test.jar的jar包,里面有一个拥有main函数的main ...

2018-10-11 10:17:31 1027

原创 java跨方法传递对象引用变量,并对该变量赋值引起的问题

关于对象引用做方法参数问题,在java中 基本类型变量做参数传另外一个方法中重新赋值时,会重新在栈中复制一份,对象引用也是一样,如public methodA(){int i = 0;methodB(i);sysout(i);//此时i还是0,methodB中赋值部分的x相对于A已经是栈中新生成的变量名称了。}methodB(int x){x = x + 1;}夸方法传对象引用...

2018-08-08 09:44:13 2786

原创 mybatis中的一些坑

1.#{}取值相当于在内容前后加上'',但不全是,比如把内容为'1','2'的string值去掉前后的"'"成为1','2,然后xml中#{}取出放在sql的in语句(#{})中,结果还是和in('1','2')有区别。2.${}取值是内容原样拼接到sql中,但是里面的参数不能是直接的简单参数,而应该是复杂参数的属性,否则报这个属性没有getter方法,如 dao或者mapper中query(S...

2018-08-08 08:21:20 434

转载 java集合框架综述

java集合框架综述一、集合框架图简化图:说明:对于以上的框架图有如下几点说明1.所有集合类都位于java.util包下。Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类。2. 集合接口:6个接口(短虚线表示),表示不同集合类型,是集合框架的基础。3. 抽象...

2018-08-02 09:14:26 146

转载 Redis集群搭建与简单使用

介绍安装环境与版本用两台虚拟机模拟6个节点,一台机器3个节点,创建出3 master、3 salve 环境。redis 采用 redis-3.2.4 版本。两台虚拟机都是 CentOS ,一台 CentOS6.5 (IP:192.168.31.245),一台 CentOS7(IP:192.168.31.210) 。安装过程1. 下载并解压cd /root/softwarewget http://d...

2018-06-11 15:26:29 233

转载 rpc的笔记

https://www.cnblogs.com/xiohao/category/826499.html

2018-06-07 14:40:03 171

转载 mysql-8.0.11-winx64.zip安装教程详解

下载zip安装包:  MySQL8.0 For Windows zip包下载地址:https://dev.mysql.com/downloads/file/?id=476233,进入页面后可以不登录。后点击底部“No thanks, just start my download.”即可开始下载。  或直接下载:https://dev.mysql.com/get/Downloads/MySQL-8....

2018-05-22 16:44:55 5865 1

原创 spring property 复杂类型属性注入:MAP/LIST/SET

&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"&gt;&lt;beans&gt;  &lt;bean id="ch

2018-05-11 10:15:42 6318

转载 mysql存储过程,用游标逐行操作查询出的结果集

delimiter $create PROCEDURE phoneDeal()BEGIN    DECLARE  id varchar(64);   -- id    DECLARE  phone1  varchar(16); -- phone    DECLARE  password1  varchar(32); -- 密码    DECLARE  name1 varchar(64);   --...

2018-05-02 07:08:36 5099

转载 Spring Quartz定时器 配置文件详解

在JavaEE系统中,我们会经常用到定时任务,比如每天凌晨生成前天报表,每一小时生成汇总数据等等。我们可以使用java.util.Timer结合java.util.TimerTask来完成这项工作,但时调度控制非常不方便,并且我们需要大量的代码。使用Quartz框架无疑是非常好的选择,并且与Spring可以非常方便的集成,下面介绍它们集成方法和Cron表达式的详细介绍。一、增加所依赖的JAR包1、...

2018-05-01 21:42:05 223

转载 dubbo源码分析(一)

阅读源码的作用提取设计思路,增强设计能力理解运行机制,便于快速解决问题以及功能扩展常见有关dubbo的问题dubbo的负载均衡是在哪个组件中处理的?dubbo默认的负载均衡算法是什么?如果注册中心挂掉了客户端是否能够继续调用dubbo?一个请求从调用端到服务端的处理流程是什么?如果你有仔细的研读dubbo的开发文档,大部分问题都是有答案的,为了进一步了解细节就有必要对源码进行了解。源码分析计划使用...

2018-04-30 22:19:50 238

转载 openfire利用nginx做负载均衡

openfire 采用Java开发,开源的实时协作(RTC)服务器基于XMPP(Jabber)协议。openfire安装和使用都非常简单,并利用Web进行管理。openfire集群,还比较容易配置的,但是没有连接池,这一缺点,我们可以用nginx来弥补。一,服务器说明192.168.10.235    //openfire  192.168.10.203    //openfire  192.16...

2018-04-29 08:37:27 1323

转载 jstack(查看线程)、jmap(查看内存)和jstat(性能分析)

随笔-1241  文章-2  评论-75 jstack(查看线程)、jmap(查看内存)和jstat(性能分析)公司内部同事分享的一篇文章 周末看到一个用jstack查看死锁的例子。昨天晚上总结了一下jstack(查看线程)、jmap(查看内存)和jstat(性能分析)命令。供大家参考 1.Jstack 1.1   jstack能得到运行java程序的java stack和native stack...

2018-04-23 09:04:14 90678 1

转载 nginx部署静态页面,和tomcat的区别

nginx只能部署静态web资源,如静态页面工程,tomcat部署动态或者静态web资源或者动静都有的的web资源,请求可以有代码处理,动态和静态web资源都可以放在web工程中,以前很多项目在web工程中同时又有java代码和jsp(或者html+js代码),现在基本都是静态页面和java代码分开放在不同的web工程中。静态页面的工程部署到nginx上,后台代码(一般是java)的工程部署在to...

2018-04-17 22:29:28 5879

转载 JVM调优实战

理论篇多功能养鱼塘-JVM内存大鱼塘O(可分配内存): JVM可以调度使用的总的内存数,这个数量受操作系统进程寻址范围、系统虚拟内存总数、系统物理内存总数、其他系统运行所占用的内存资源等因素的制约。小池塘A(堆内存):JVM运行时数据区域,它为类实例和数组分配的内存。堆可以是固定大小的也可以是可变大小的。其中 Heap = {Old + NEW = { Eden , from, to } }。小池...

2018-04-17 21:12:48 315

转载 Dubbo的配置及启动,provider是以jar形势打包,脚本启动很大部分内容是借鉴了dubbo官方脚本

Tomcat+Dubbo安装        1.将tomcat的webapps目录下的所有文件清空,讲Dubbo管理控制台的程序dubbo-admin-2.5.3.war放到webapps中,并且解压命名为ROOT。unzip dubbo.war -d ROOT        2.配置dubbo.properties     将以下地址改为你Zookeeper注册的地址。前提:已经安装过Zooke...

2018-04-12 09:08:15 330

转载 jvm调优实战,定位性能瓶颈

玩过性能优化的朋友都清楚,性能优化的关键并不在于怎么进行优化,而在于怎么找到当前系统的性能瓶颈。性能优化分为好几个层次,比如系统层次、算法层次、代码层次…JVM 的性能优化被认为是底层优化,门槛较高,精通这种技能的人比较少。笔者呆过几家技术力量不算弱的公司,每个公司内部真正能够进行 JVM 性能调优的人寥寥无几、甚至没有。如是乎,能够有效通过 JVM 调优提升系统性能的人往往被人们冠以”大牛”、”...

2018-04-11 15:28:18 669

转载 spring事务传播属性和隔离级别

 1 事务的传播属性(Propagation) 1) REQUIRED ,这个是默认的属性 Support a current transaction, create a new one if none exists. 如果存在一个事务,则支持当前事务。如果没有事务则开启一个新的事务。 被设置成这个级别时,会为每一个被调用的方法创建一个逻辑事务域。如果前面的方法已经创建了事务,那么后面的方法支持当...

2018-04-11 15:05:33 191

转载 Java NIO与IO的区别和比较,NIO与IO线程池性能比较

Java NIO与IO的区别和比较     传统的socket IO中,需要为每个连接创建一个线程,当并发的连接数量非常巨大时,线程所占用的栈内存和CPU线程切换的开销将非常巨大。使用NIO,不再需要为每个线程创建单独的线程,可以用一个含有限数量线程的线程池,甚至一个线程来为任意数量的连接服务。由于线程数量小于连接数量,所以每个线程进行IO操作时就不能阻塞,如果阻塞的话,有些连接就得不到处理,NI...

2018-04-09 17:22:57 4947 3

转载 设计模式大杂烩转载自左大虾的神贴,其中可能有很少的部分类图有瑕疵,但是依旧是神作

设计模式大杂烩(24种设计模式的总结以及学习设计模式的几点建议)         作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可。         迄今为止,LZ已经将24种设计模式介绍完了,其中包括GOF23种设计模式以及简单工厂模式,这些设计模式之间并不是完全独立的,而是互...

2018-04-09 15:53:10 146

转载 Spring Bean的生命周期(非常详细)附加作用域

这个是最好的一篇spring bean生命周期流程首先是bean作用域的笔记 在Spring中,那些组成应用程序的主体及由Spring IoC容器所管理的对象,被称之为bean。简单地讲,bean就是由IoC容器初始化、装配及管理的对象,除此之外,bean就与应用程序中的其他对象没有什么区别了。而bean的定义以及bean相互间的依赖关系将通过配置元数据来描述。  Spring中的...

2018-04-09 15:17:34 423 1

转载 24种设计模式详解

该文转载,链接处有每种设计模式具体的诠释:http://www.cnblogs.com/zuoxiaolong/p/pattern26.html

2018-04-08 12:32:05 656

转载 Java中的读/写锁

相比Java中的锁(Locks in Java)里Lock实现,读写锁更复杂一些。假设你的程序中涉及到对一些共享资源的读和写操作,且写操作没有读操作那么频繁。在没有写操作的时候,两个线程同时读一个资源没有任何问题,所以应该允许多个线程能在同时读取共享资源。但是如果有一个线程想去写这些共享资源,就不应该再有其它线程对该资源进行读或写(译者注:也就是说:读-读能共存,读-写不能共存,写-写不能共存)。...

2018-03-29 21:12:22 143

原创 springMVC中框架对HttpMessageConverter的选择原理

@RequestBody, @ResponseBody 注解详解(转)引言:关于简述httpMessageConvert原理解释的帖子:https://blog.csdn.net/j080624/article/details/70245741,这个帖子中总结的让人疑惑,就是springMVC具体怎么去选择httpMessageConvert的,有句总结的话不好理解:Spring首先根据请求头或响...

2018-03-29 10:26:03 17956

空空如也

空空如也

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

TA关注的人

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