- 博客(335)
- 资源 (3)
- 收藏
- 关注
转载 SpringCloud实现原理图
引用:https://m.imooc.com/article/23679引言面试中面试官喜欢问组件的实现原理,尤其是常用技术,我们平时使用了SpringCloud还需要了解它的实现原理,这样不仅起到举一反三的作用,还能帮助轻松应对各种问题及有针对的进行扩展。以下是《Java深入微服务原理改造房产销售平台》课程讲到的部分原理附图,现在免费开放给大家,让大家轻松应对原理面试题。服务注册发...
2018-07-25 22:39:29
2533
1
转载 SpringCloud微服务(原理篇)
引用:https://blog.csdn.net/shinlyzsljay/article/details/79162270SpringCloud微服务微服务的模式和形式我在前面已经进行部分的提及,但是一直没落实到技术层面,这段时间我也在次研究了一下微服务,下面我先贴出SpringCloud整体涉及的结构上面展示的这些是SpringCloud整体的结构先对这些空间做一个初步的介...
2018-07-25 22:37:57
557
转载 深入理解Java 8 Lambda(语言篇——lambda,方法引用,目标类型和默认方法)
引用:http://zh.lucida.me/blog/java-8-lambdas-insideout-language-features/关于深入理解 Java 8 Lambda(语言篇——lambda,方法引用,目标类型和默认方法)深入理解 Java 8 Lambda(类库篇——Streams API,Collector 和并行)深入理解 Java 8 Lambda(原理篇——Java 编译...
2018-06-14 16:27:00
790
原创 在redis cluster中key带大括号的rpoplpush操作结论
之前的redis的是采用redis sentinel来搭建HA,后来改用了redis cluster。以前的业务使用到了rpoplpush方法,之前的代码版本测试也都是OK。前几天需要做个业务测试,就手动造了几条数据,然后使用redis自带的client进行操作的时候,竟然神奇的报错了(当时吓出了一身的冷汗,因为系统已经在生产环境运行了)。报错的内容为“CROSSSLOT Keys in requ...
2018-05-07 19:14:41
3748
1
原创 通过openssl生成nginx和tomcat的https通讯双向证书
前提:nginx作为服务端,java httpclient作为客户端nginx需要增加nginx ssl的模块:./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-openssl=/usr/local/openssl此时,可能还需要解决make时,ope...
2018-03-12 00:04:29
1011
原创 关于使用httpclient发送https(双向)时,报SSLHandshakeException: Remote host closed connection during handshake的问题
最近有个业务的通讯方式换成https双向认证,然后就驾轻就熟地生成了https证书,然后就掉到了坑里。在代码调试的时候,遇到了报错SSLHandshakeException: Remote host closed connection during handshake然后就是网上说的TSL协议版本不对,亦或是openssl、jdk、tomcat的版本不对,诸如此类。然后就是不停的更换参数,更换版本...
2018-03-11 23:50:24
33475
4
原创 深度学习之路
深度学习需要掌握的基本知识主题内容机器学习概要a) 什么是机器学习 & 与传统软件开发的异同b) 机器学习的分类和特点c) 机器学习可以解决的问题和应用现状广义线性模型a) 感知器模型 Perceptronb) 线性神经元 Linear Neuron / Adalinec) 逻辑回归 Logistic Regressiond) 误差曲面和三种梯度下降算法 Gradient Descende...
2018-03-02 21:56:51
439
原创 微服务之路
微服务需要掌握的概念、设计和工具主题内容1.基础知识架构演进过程架构与架构师单块架构的问题微服务的概念微服务的挑战微服务与 SOA 的区别微服务应用场景微服务基础设施微服务技术团队微服务 API 的特点微服务边界切分方法微服务架构全景图微服务技术选型微服务冰山模型2.容器技术技术选型:DockerDocker 核心概念Docker 镜像仓库Docker 快速入门Docker 常用工具Docker ...
2018-03-02 21:54:00
757
原创 spring4+mybatis出现AOP方法结束后,事务不释放连接,导致连接数被用完的案例分析
现象:在进行压测的时候,出现了数据库连接数被用完的情况经过日志分析,发现是因为在一个线程业务启动后,在首次开启事务后,并没有在AOP的方法结束后进行释放,而是一直到线程结束才释放了连接。日志如下图所示:经过分析,一开始以为是出现了锁的问题,但是经过业务上和日志的排查,并没有发现并发死锁的现象。后来排查了Spring AOP的设置,只有propagation的属性为REQURES_NEW和NOT_S...
2018-02-27 20:48:19
4993
2
原创 高并发时,JVM调优
现象:在分布式部署时,单个服务的虚拟机不断变大,直到内存被用的所剩无几,然后出现各种各样的异常解决思路:优化虚拟机堆的空间大小,根据实际物理内存的大小进行比例分配,并且,堆不进行自动扩展。然后使用ParNew+CMS进行垃圾回收,在多线程高并发的情况下,表现很好export CATALINA_OPTS="$CATALINA_OPTS -Xms3000m" //堆初...
2018-02-22 10:20:55
4213
原创 线程wait和notify报错java.lang.IllegalMonitorStateException
本质上就是:sleep是Thread类的方法,wait是Object类中定义的方法JavaDoc中说到:A thread becomes the owner of the object's monitor in one of three ways:1. By executing a synchronized instance method of that object.
2018-01-29 17:03:13
1433
原创 关于分布式程序从DB获取唯一资源的思考
场景:DB的A表中已经有了资源,但是还没有被分配。有水平扩展的3个服务(srv1、srv2、srv3),都会去A表中查询可用的资源,然后更新其状态,但是这个时候如果更新的资源相同,就可能出现阻塞或者获取资源失败的情况,如果在大并发下能够获得更好的支持呢?想到了2个解决办法:方法一:思路:先查询出一定的可用资源,然后选取其中的一条进行更新1、先根据业务条件在A表进行查询,
2018-01-24 17:20:22
382
原创 调用httpclient出现[read] I/O error: Read timed out的问题分析和解决办法
在使用httpclient 发送http请求时,基本每次都是3秒后,服务器才能收到交易。日志如下:2017-12-25 09:08:26,001 [http-nio-8080-exec-8] DEBUG o.a.h.wire - http-outgoing-322 >> "Connection: Keep-Alive[\r][\n]"2017-12-25 09:08:26,00
2017-12-27 15:19:21
38708
原创 double类型转int类型,精度丢失的问题
碰到一个问题,就是double类型在进行降级强转int类型的时候,发生了精度丢失。先来看一下现象比如 double num1 = 49.99; int num2 = (int)(num1 *100);输出后,num2 等于 4998但是在num1 等于49.97或49.98的时候,转换成int后的值分别为
2017-12-20 09:28:44
12829
3
转载 linux下Tomcat+OpenSSL配置单向&双向认证(自签CA)
引用:http://www.jianshu.com/p/045f95c008a0背景由于ios将在2017年1月1日起强制实施ATS安全策略,所有通讯必须使用https传输,本文只针对自制证书,但目前尚不确定自制证书是否能通过appstore审核。1、必须支持传输层安全(TLS)协议1.2以上版本2、证书必须使用SHA256或更高的哈希算法签名3、必须使用2048位以上RSA密钥或
2017-11-15 22:57:32
1154
转载 【spring】关于location路径的设置(相对路径和绝对路径)
引用:http://blog.csdn.net/szwangdf/article/details/439694451、相对路径可以通过classpath和classpath*设置、如: 关于classpath和classpath*的区别请参照:1.无论是classpath还是clas
2017-10-16 13:58:49
6014
1
转载 从0到1,打造DevOps易用工具链(精挑细选27种)
从0到1,打造DevOps易用工具链(精挑细选27种)DevOps是一种文化,但创立或改变文化技术和工具必不可少,今天小数就和大家分享下覆盖整个生命周期的易用工具链。DevOps操作上越来越成熟不是一蹴而就的,而是使用了一些新的工具,在团队内不仅改变了文化,同时也打破了沟通上的壁垒,进而开发出更好的应用,虽然仅靠工具还不够,但通过应用自动化,在提高了交付效率和质量的同时也促进了成员
2017-09-28 19:11:06
901
转载 spring4.x注解概述
引用:http://www.cnblogs.com/davidwang456/p/4432410.htmlspring4.x注解概述1. 背景注解可以减少代码的开发量,spring提供了丰富的注解功能,因项目中用到不少注解,因此下定决心,经spring4.x中涉及到的注解罗列出来,供查询使用。2. spring注解图 2.1 spring-context模块的
2017-09-13 17:55:30
642
转载 关于Spring Data redis几种对象序列化的比较
引用:http://stamen.iteye.com/blog/1907984问题 最近在整一个spring data redis,网上有一本《Spring Data》的电子书(我一个朋友正在翻译,应该今年会有中文版出来,人邮的),下载来看了一下,其中第8章讲到了Spring data对redis的支持。 redis虽然提供了对list set hash等数
2017-09-13 17:52:37
381
转载 Java压缩算法性能比较
引用:https://my.oschina.net/OutOfMemory/blog/805427?from=20161218前言游戏开发中,经常在玩家进入游戏的时候进行必要的信息初始化,往往这个初始化信息数据包是相对来说还是比较大的,一般在30-40kb左右,还是有必要进行压缩一下再发送消息,刚好前段时间看过,里面列举了一些常用的压缩算法,如下图所示:是否可切分表示是
2017-09-11 11:21:29
794
原创 Oracle Update多表关联更新
项目中用到了Oracle Update多表关联更新,简单记录一下写法一:update TBL_COMPANY_USER card set card.status = 9 where card.company_id = (select company.ID from TBL_COMPANY_INFO company
2017-07-27 10:53:01
2192
原创 grpc的java实现,从无到有
1、Eclipse创建Maven项目新建一个空的maven工程(不选archetype)。2、修改POM文件增加grpc的依赖 io.grpc grpc-all ${grpc-version} 增加protocol buffers编译插件项: kr.motd.
2017-05-19 19:11:26
6407
转载 Nginx 的启动、停止、平滑重启、信号控制和平滑升级
引用:http://zachary-guo.iteye.com/blog/1358312● Nginx 的启动 假设 nginx 安装在 /usr/local/nginx 目录中,那么启动 nginx 的命令就是: Command代码 [root@localhost ~]# /usr/local/nginx/sbin/nginx -c /usr
2017-04-20 14:47:32
490
原创 关于ECDSA/ECC(密钥加密传输)和ECDSA/ECDH(密钥磋商)
最近项目中用到了ECC的相关算法,恶补了一下相关知识ECC:Elliptic Curves Cryptography,椭圆曲线密码编码学ECDSA:用于数字签名,是ECC与DSA的结合,整个签名过程与DSA类似,所不一样的是签名中采取的算法为ECC,最后签名出来的值也是分为r,s。ECDH:是基于ECC(Elliptic Curve Cryptosystems,椭圆曲线密码
2017-03-16 19:04:15
14300
转载 SVN版本控制——SVN merge 三种方式
引用:http://blog.csdn.net/han_dongwei/article/details/77543281、Merge a range of revisions2、Reintegrate a branch3、Merge two different trees以下是转载自chunanyong的一篇关于svn分支合并类型的文章,出处
2017-03-15 18:55:36
1113
转载 ExecutorService的正确关闭方法
引用:http://blog.csdn.net/zaozi/article/details/38854561前言最近在使用ExecutorService的时候,对于与ExecutorService相关的概念有些迷糊,加上本身ExecutorService内部的有些方法名在取名上也容易让使用者误解,导致犯了一些错误。在解决的过程中,偶尔看到了日本人写的一篇
2017-03-10 16:51:47
9930
转载 UML常用图的几种关系的总结
引用:http://blog.csdn.net/suxinpingtao51/article/details/8011335在UML的类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization), 关联(Association), 聚合(Aggregation), 组合(Composition), 依赖(Dependency)
2017-02-20 18:09:09
599
转载 那些证书相关的事儿(SSL,X.509,PEM,DER,CRT,CER,KEY,CSR,P12等)
引用:http://blog.csdn.net/stephenzhu/article/details/50687648之前没接触过证书加密的话,对证书相关的这些概念真是感觉挺棘手的,因为一下子来了一大堆新名词,看起来像是另一个领域的东西,而不是我们所熟悉的编程领域的那些东西,起码我个人感觉如此,且很长时间都没怎么搞懂.写这篇文章的目的就是为了理理清这些概念,搞清楚它们的含义及关联,还有一些
2017-02-09 10:13:16
1395
原创 关于maven项目报错,但是找不到问题的所在的一个解决办法
项目编译的时候正常,但是在运行时就报错了。只能说明配置文件是正确的,但是项目有可能编译和运行的内容不一致导致的。项目中有一个红叉,但是在项目结构中又看不到哪里出现问题,在problems一直提示这两个错误:One or more constraints have not been satisfiedDynamic Web Module 3.1 requires Java 1
2017-01-09 18:52:56
3574
转载 HTTPS的七个误解
引用:http://www.chinaz.com/web/2015/0320/391752.shtml【编者按】近日,百度全站开启了HTTPS加密搜索,从而引发了关于HTTPS的各种讨论:HTTPS和HTTP有什么区别、如何看待百度全面开启HTTPS加密搜索、HTTPS加密对网站有何影响等等……本文是一篇2011年的老文,但在“HTTPS协议”认知这一问题上还有很有价值的。
2017-01-03 10:03:12
308
转载 HTTPS重定向到HTTP
引用:http://www.2cto.com/kf/201209/158531.html一.场景: 在企业内网应用,以及一些安全要求不高的网站会有一些https转http的需求,例如只是登陆https协议,其他请求都是走http协议,走http协议不再需要重新登陆一次。 二.解决方案 Cookie时效: 当cookie是secure的情况下
2017-01-03 09:59:36
13590
转载 ssl证书类型区别
引用:http://blog.chinaunix.net/uid-15790905-id-5575366.html虽然ssl证书的制作原理、加密方式大同小异,但在SSL类型上还是有很大区别的。我们经常见到的https网站,地址栏大都是绿色。这些都是使用的EV证书,属于经过正规安全厂商认证,安全级别最高的证书,基本可以认为绿色地址栏的网站不是钓鱼/诈骗网站。其实还有其他类型的ht
2016-12-23 16:09:07
2502
原创 关于spring+mybatis多数据源,报Invalid bound statement的问题
(这里顺便插个简单的介绍,现在spring+mybitis的多数据源配置主要有两种方式。 一是采用spring配置文件直接配置多个数据源,此种方式的话,两个数据库的事务在不同的service中分别操作。 另一种是基于 AbstractRoutingDataSource 和 AOP 的多数据源的配置,此方式的特点是,可以在service中混合操作不同的数据源,需要哪个调
2016-10-12 19:45:20
4574
原创 在windows环境中,redis的安装、启动步骤(多实例,master-slave)
在window环境中创建多个实例1、编辑redis.windows.conf文件,将端口6379改为6380,并将文件名改为redis.windows6380.conf2、安装服务,指定端口和服务名redis-server --service-install redis.windows6380.conf --service-name RedisServer6380 --port 6380
2016-09-21 17:49:34
1811
转载 Android Add外部library工程,总是链接失败的原因
引用:http://blog.csdn.net/lvge5574/article/details/38921965项目经常需要引用别人的library工程,在选项中add进来后,点击应用或者确定,关闭页面。回到代码中却发现无法链接,重新打开properties查看,发现导入的工程总是提示红色,add失败的样子。原因:这种情况,主要是因为两个A
2016-06-13 16:37:52
775
原创 tomcat多工程SSL双向认证的实现(每个端口对应一个工程,每个工程有各自双向的证书)
本例适用的情况是:相同地址,不同端口,每个端口对应一个工程,每个工程有各自双向的证书 有两个工程:WEBAPP_ONE,WEBAPP_TWO1、分别创建两个工程的客户端和服务端的证书,关于证书的生成请参考 双向证书生成2、找到tomcat的主目录,打开conf文件夹,找到并打开server.xml文件。3、复制一个Service(...之间的内容),将Servic
2016-05-30 17:52:19
1312
转载 Spring MVC默认欢迎页面的配置方法
引用:http://simen-net.iteye.com/blog/1489928之前的SpingMVC配置控制器的代码Xml代码 welcome-file-list> welcome-file>/index.htmlwelcome-file> welcome-file-list>
2016-05-24 14:10:20
14260
3
转载 cmd-bat批处理命令延时方法
引用:http://blog.163.com/cb_dt/blog/static/481041420090322011317/?latestBlog方法一:ping缺点:时间精度为1秒,不够精确Copy code@echo off@ping 127.0.0.1 -n 6 >nulstart gdh.txt方法二:vbs start
2016-03-22 15:01:58
1001
转载 aop-config中expression表达式解析 以及propagation的7种配置的意思
expression表达式解析:(* com.xx.xx.dao.impl..*.*(..)) 第一个*表示匹配所有类型的返回值 第二个*表示匹配所有的类(前面的..表示impl包及其所有子包) 第三个*表示匹配类中所有的方法 最后括号中..表示匹配方法所有参数=====================================================
2016-03-08 17:05:47
1888
原创 抛出自定义异常,spring AOP事务不回滚的解决方案
Spring AOP 默认对RuntimeException()异常或是其子类进行事务回滚,也就是说事务回滚:throw new RuntimeException("xxxxxxxxxxxx"); 事物不回滚:throw newException("xxxxxxxxxxxx"); 那么,如何在抛出Exception或者自定义异常时,事务也进行回滚呢?有以下几种方案:
2016-03-08 16:59:58
8526
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人