- 博客(179)
- 收藏
- 关注
原创 分布式锁
转发自:https://www.cnblogs.com/austinspark-jessylu/p/8043726.html在很多场景中,我们为了保证数据的最终一致性,需要很多的技术方案来支持,比如分布式事务、分布式锁等。有的时候,我们需要保证一个方法在同一时间内只能被同一个线程执行。在单机环境中,Java中其实提供了很多并发处理相关的API,但是这些API在分布式场景中就无能为力了。也就...
2018-10-15 15:12:52
212
原创 linux下面/usr/local和opt目录有何区别
转自:http://blog.51cto.com/mystery888/1835223听完马哥的Linux培训关于Linux文件系统及文件类型,有一个疑惑,同样是存放第三方应用程序的安装位置,/opt跟/usr/local 有何区别,为什么存在两个相同功能的地方,让人混淆呢。带着这个问题,我寻找了资料,原来Linux的结构是这样的。 /usr/local下一般是你安装软件的目录,这个...
2018-09-30 11:26:27
3362
原创 acid与acp
传统关系型数据库事务acid原子性、一致性、隔离性、持久性1、A (Atomicity) 原子性 原子性很容易理解,也就是说事务里的所有操作要么全部做完,要么都不做,事务成功的条件是事务里的所有操作都成功,只要有一个操作失败,整个事务就失败,需要回滚。比如银行转账,从A账户转100元至B账户,分为两个步骤:1)从A账户取100元;2)存入100元至B账户。这两步要么一起完成,要么一...
2018-09-30 11:09:31
459
原创 SOA与微服务对比
SOA:服务注册到企业服务总线 SOA与微服务对比 微服务架构的优点:边界清晰,开发测试维护简单技术栈灵活松耦合可用性高可以按需扩展 微服务架构的缺点:接口依赖分布式带来的复杂性网络延迟容错消息序列化数据一致性 SpringCloud是微服务架构解决方案的全家桶 Dubbo只是实现了服务治理,而Spring Cl...
2018-09-30 09:25:24
211
原创 数据库优化
数据库瓶颈:连接数处理能力存储量 优化方案:扩展硬件SQL优化索引连接池缓存读写分离分库分表大数据 搜索引擎 什么时候考虑切分?能不切分尽量不要切分超过500W条或2G数据量过大数据增长过快安全性和可用性考虑 切分类型与特点垂直切分、水平切分、水平分库分表垂直切分与基于结构的、基于业务的水平切分...
2018-09-28 16:10:33
176
原创 servlet的url-pattern匹配规则
转自:https://www.cnblogs.com/canger/p/6084846.html首先需要明确几容易混淆的规则:servlet容器中的匹配规则既不是简单的通配,也不是正则表达式,而是特定的规则。所以不要用通配符或者正则表达式的匹配规则来看待servlet的url-pattern。Servlet 2.5开始,一个servlet可以使用多个url-pattern规则,&l...
2018-09-17 10:15:26
129
原创 redis
使用场景:数据字典,比如账期,只支持最近12个月,最早从已有开始它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。 Redis 与其他 key - value 缓存产品有以下三个特点:Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,...
2018-08-20 15:09:37
96
原创 Spring, MyBatis 多数据源的配置和管理
来自https://www.cnblogs.com/digdeep/p/4512368.html 分布式的多数据源,建议采用MyCat
2018-08-16 16:36:41
109
原创 idea快捷键
上次编辑位置 Ctrl+Shift+Backspace 或者 Ctrl+Shift+方向键在路径中查找 Ctrl+Shift+F修改全局变量名:Shift+F6 ,然后选择Rename all occurrences代码格式化:Ctrl+Alt+L全局查找Java类:Ctrl+N 全局查找文件:Ctrl+Shift+N 1、main方法: 键入psvm...
2018-08-14 11:22:01
119
原创 MyBatis理解
我们把Mybatis的功能架构分为三层: API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。 数据处理层:负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。它主要的目的是根据调用的请求完成一次数据库操作。 基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置...
2018-08-10 16:03:36
146
原创 SpringMVC学习笔记
原文地址:https://www.cnblogs.com/sunniest/p/4555801.htmlSpringMVC学习笔记----一、SpringMVC基础入门,创建一个HelloWorld程序1.首先,导入SpringMVC需要的jar包。2.添加Web.xml配置文件中关于SpringMVC的配置 <!--configure the s...
2018-08-03 14:17:46
84
原创 maven私有库Sonatype Nexus
企业为了安全,常使用maven私有库,Sonatype Nexus是首先。具体的安装与使用参见如下文章:https://blog.csdn.net/u010468602/article/details/53787445https://blog.csdn.net/liulihui1988/article/details/72730974下面谈一下,我对Nexus的理解Nexu...
2018-07-31 11:31:11
155
原创 前后端分离后,使用token进行接口调用验证处理
目前项目的发展趋势是前后端分离,前端使用vue、React、angular等技术,后端提供接口。这种方式将后端开发人员从JSP(HTML、css、JS)中解放出来,更专注于后台逻辑的实现。但前后端分离后,由于后端接口是无状态的,那用户信息等敏感数据如何拿到呢?可以使用token(令牌)机制进行实现,思路如下:前端第一次登录后,后端使用userid、时间戳等信息组成字符串,然后使用A...
2018-07-27 09:51:17
8492
原创 java Pattern和Matcher详解
转载自:http://blog.csdn.net/cclovett/article/details/12448843/ 结论:Pattern与Matcher一起合作.Matcher类提供了对正则表达式的分组支持,以及对正则表达式的多次匹配支持. 单独用Pattern只能使用Pattern.matches(String regex,CharSequence input)一种最基础最简单的匹...
2018-07-12 09:33:53
181
原创 nginx优化 突破十万并发
来源:http://www.fwqtg.net/nginx%E4%BC%98%E5%8C%96-%E7%AA%81%E7%A0%B4%E5%8D%81%E4%B8%87%E5%B9%B6%E5%8F%91.html 一、一般来说nginx 配置文件中对优化比较有作用的为以下几项:1. worker_processes 8;nginx 进程数,建议按照cpu 数目来指定,一般为它的...
2018-06-25 15:24:19
274
原创 mysql拆分
数据库拆分有两种方式:垂直拆分和 水平拆分 垂直拆分:什么情况下适合垂直拆分?1、表中的字段,占用空间较大,比如BLOB或TEXT,这时可以将大字段,单拆出一个表2、某块功能,需独立出来,这时可将这块功能,单独拆出一个数据库如何进行垂直拆分?使用主从备份与切换的方式1、创建主从备份,然后同步2、停止主写入3、切至从备份 水平拆分:什么情况下适...
2018-06-11 10:31:29
175
原创 2018学习计划
深入掌握 redis zookeeper mysql分库分表 session共享 spring boot spring cloud
2018-06-05 11:13:02
195
原创 堆栈的理解
堆(heap)的数据结构是完全二叉树新增示意图删除示意图先进先出,这种结构适合做存储。堆是存储的单位,而栈是运行时的单位。栈(stack)是后进先出,存储运行时的变量,即方法中的变量代码中,越里层的变量,作用域越小,用完就释放,适合栈这种数据结构 栈解决程序的运行问题,即程序如何执行,或者说如何处理数据;堆解决的是数据存储的问题,即数据怎么放、放在哪儿。...
2018-06-01 14:15:15
581
原创 MIME与mime.types
引自:https://my.oschina.net/plutonji/blog/527797当你刚安装完Nginx,打开默认的配置文件nginx.conf时,你会看到http上下文中有这一行配置:include mime.types; 有的小伙伴就有疑问了:mime.types是什么文件?在Nginx中又是什么作用呢? 下面我们就来看看,mime.types究竟是怎...
2017-07-19 14:46:49
160
原创 linux下tail -f加过滤
在查看服务器日志时,服务器日志过多,这时可以使用grep命令加过滤tail -f stdout.log |grep "要查询内容"grep是linux下的文本搜索工具
2017-07-17 11:25:29
2834
原创 常用正则
/* 允许输入: 数字 字母(大小写) 中文 英文字符:!、(、)、-、_、:、;、.、?、/、| 中文字符:!、¥、……、——、、、:、;、”、“、《、》、,、。、?、【、】 换行、空格 ...
2016-11-16 16:53:02
65
原创 Java-String类型的参数传递问题
转自:http://www.iteye.com/topic/412531刚才看见一个兄弟在为Java的String传值/传引用问题困惑,翻箱倒柜找到了这篇我很久以前写的文章,发在这里,希望能对迷惑的朋友有些帮助。 提要:本文从实现原理的角度上阐述和剖析了:在Java语言中,以String作为类型的变量在作为方法参数时所表现出的“非对象”的特性。 一、 最开始的示例 写代码最重要的就是实践,不...
2016-11-04 15:40:01
202
原创 IP从HttpServletRequet中获取
private String getIpAddr(final HttpServletRequest request) { String ipString = request.getHeader("X-Forwarded-For"); if (StringUtils.isBlank(ipString) || "unknown".equalsIgnoreCas...
2016-11-01 14:33:08
77
原创 经典语录
一斗米养个恩人,一担米养个仇人凡事都要有个度,不能对一个人好到舍弃自我,这样他(她)就会把你对他(她)的好当成理所应当,不知感恩。将来一旦你做的事,稍微不稍微顺他(她)意,他(她)就会怨恨你。...
2016-08-29 10:21:44
87
原创 数据库优化
引自:http://shensy.iteye.com/blog/1664549前一段时间做了某产品实时统计的报表,这周在对报表性能进行优化。其中逐步积累了一些优化经验,总结一下记录下来,欢迎大家一起探讨。本文仅限于探讨单个数据库的查询sql及统计报表调优,不涉及分布式数据库架构或垂直、水平扩展等知识。(本文中的统计数据库为Mysql) 一、SQL调优:1、提升统计查...
2016-08-17 11:13:02
80
原创 Mysql中limit的用法详解
Mysql中limit的用法:在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了这样一个功能。 SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LI...
2016-08-05 11:31:21
152
原创 微观SOA:服务设计原则及其实践方式(下篇)
原文引自:http://kb.cnblogs.com/page/505538/在上一篇文章中,我说到SOA是一个特别大 的话题,不但没有绝对统一的原则,而且很多原则本身的内容也具备相当模糊性和宽泛性。虽然我们可以说SOA ≈ 模块化开发 + 分布式计算,但由于其原则的模糊性,我们仍然很难说什么应用是绝对符合SOA的,只能识别出哪些是不符合SOA的。 本篇将对8种可操作的服务设计原则进...
2016-07-29 18:01:14
100
原创 微观SOA:服务设计原则及其实践方式(上篇)
引自:http://www.infoq.com/cn/articles/micro-soa-1/真是好文章大量互联网公司都在拥抱SOA和服务化,但业界对SOA的很多讨论都比较偏向高大上。本文试图从稍微不同的角度,以相对接地气的方式来讨论SOA, 集中讨论SOA在微观实践层面中的缘起、本质和具体操作方式,另外也用相当篇幅介绍了当今互联网行业中各种流行的远程调用技术等等,比较适合从事实际工...
2016-07-29 17:14:04
116
原创 Git详细教程
本文引自:http://p.primeton.com/articles/53ccec89e1382367e2000011Git基础 若是理解了 Git 的思想和基本工作原理,用起来就会知其所以然,游刃有余。 下面就从它的基本思想和工作原理讲起:直接记录快照,而非差异比较 Git 和其他版本控制系统的主要差别在于,Git 只关心文件数据的整体是否发生变化,而大多数...
2016-07-27 10:22:07
197
原创 eclipse 中git解决冲突
本文引自:http://blog.csdn.net/rosten/article/details/17068285Team-Pull用来从远程库下载代码,若有冲突,如下方案解决。SVN是先比较再下载,再解决冲突,再上传Git是先下载再比较,1、工程->Team->同步: 2、从远程pull至本地,就会出现如下内容: 3、使用Merge Tool,执行...
2016-07-27 08:18:32
102
原创 Spring常用注解
使用注解来构造IoC容器用注解来向Spring容器注册Bean。需要在applicationContext.xml中注册<context:component-scan base-package=”pagkage1[,pagkage2,…,pagkageN]”/>。如:在base-package指明一个包1 <context:component-scan base...
2016-07-22 15:00:28
75
原创 eclipse常用快捷键
Eclipse 常用快捷键Eclipse的编辑功能非常强大,掌握了Eclipse快捷键功能,能够大大提高开发效率。Eclipse中有如下一些和编辑相关的快捷键。 1. 【ALT+/】 此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类、方法和属性的名字时,多体验一下【ALT+/】快捷键带来的好处吧。...
2016-07-22 14:09:23
63
原创 在eclipse中使用resin启动maven web项目
在eclipse中使用resin启动maven web项目ide:eclipse应用服务器:resin4.x项目管理工具:mavenweb项目新加入了项目组,需要在eclipse中运行上述环境的项目,具体操作如下:1、eclipse添加resin插件2、下载resin,并解压3、eclipse resin插件关联新下载的resin4、maven项目build:...
2016-07-22 10:42:09
284
eclipse装不上git插件
项目中使用了git作为版本控制工具,于是进行了学习。 msysgit下载,安装,学习都很顺利。但我是java开发者,之前用的是svn,所以都会在eclipse中安装相关插件。于是在网上搜,git插件的eclipse在线安装地址(http://download.eclipse.org/egit/updates),但装了几次都不行,总是提示依赖有问题,于是在网上搜索,原来是...
2016-07-21 14:53:23
268
原创 JSP学习笔记(一百二十五):javascript中引用java变量出现换行符等会报错的解决方法...
源文地址:http://www.cnblogs.com/modou/articles/3572874.html有这么一种实际情况,就是在javascript代码片段中引用java变量,比如:<script type="text/javascript">var str1 = "${javastr1}";</script>一般情况下,这么使用是没...
2016-03-23 11:57:45
617
原创 oracle查找锁表并解锁
一些ORACLE中的进程被杀掉后,状态被置为"killed",但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库。现在提供一种方法解决这种问题,那就是在ORACLE中杀不掉的,在OS一级再杀。1.下面的语句用来查询哪些对象被锁:select object_name,machine,s.sid,s.serial#from v$locked_object l,dba_object...
2016-01-29 15:48:29
87
旧版系统IE兼容性问题
公司上了个门户系统,需要把项目组下的项目都集成在门户中。 集成工作中,遇到了这样一个问题。 有一个系统,是8年前开发,当时IE浏览器的最高版本为IE8,系统也就支持到IE8。去年我接手了这个项目,当时接触过这个系统的同事就告诉我,这个系统只能在IE8以下正常访问,高版本浏览器会出问题,客户也知道这个情况。 本来一切相安无事,但这个门户...
2016-01-26 14:42:20
307
团队成功
一个团队做事情,可以这样比喻。把事情看成方框,把团队成员做的事情比做圆。有这样几种团队1、团队之间,各做各的事,缺乏沟通2、一两个人忙得团团转,其他人做与事情无关的工作3、每个团队成员工作互有交集,共同完成目标 ...
2015-10-21 11:31:40
120
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人