自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

答案是肯定的

1+1等于2,谁再问这问题就是傻子

  • 博客(200)
  • 资源 (1)
  • 收藏
  • 关注

原创 string 的内存分配情况,以及intern()方法

特别 注意:在jdk1.7以及以后对于intern()方法,保存的是第一次在常量池中创建对象的索引。也就是说后面字符串对象调用intern()获取都是第一次创建该字符串对象的实例的索引。String tr1 = new StringBuffer().append("计算机").append("课程").toString(); System.out.println(tr1.int

2017-01-12 15:56:26 1250

转载 Hystrix 使用与分析

一:为什么需要Hystrix?在大中型分布式系统中,通常系统很多依赖(HTTP,hession,Netty,Dubbo等),如下图: 在高并发访问下,这些依赖的稳定性与否对系统的影响非常大,但是依赖有很多不可控问题:如网络连接缓慢,资源繁忙,暂时不可用,服务脱机等.如下图:QPS为50的依赖 I 出现不可用,但是其他依赖仍然可用. 当

2017-01-12 15:35:14 1070

原创 Hystrix的使用(一)

(一)下载网址https://github.com/kennedyoliveira/standalone-hystrix-dashboard注意:第一次使用的时候下载的一致有问题,后来详细阅读网址中的文章,一步一步的才正确下载使用。所以一定要阅读原始文章,并且按照文档操作!下载后,随便放在一个地方,执行语句:就可以使用了(但是有个问题,每次都

2017-01-12 15:13:45 7499 1

原创 防雪崩利器:熔断器 Hystrix 的原理与使用

前言分布式系统中经常会出现某个基础服务不可用造成整个系统不可用的情况, 这种现象被称为服务雪崩效应. 为了应对服务雪崩, 一种常见的做法是手动服务降级. 而Hystrix的出现,给我们提供了另一种选择.服务雪崩效应的定义服务雪崩效应是一种因 服务提供者 的不可用导致 服务调用者 的不可用,并将不可用 逐渐放大 的过程.如果所示:上图中, A为服务提供者, B

2017-01-12 14:49:14 1350 1

原创 DELETE和TRUNCATE 的区别

语法delete from aa truncate table aa 区别 1.delete from后面可以写条件,truncate不可以。2.delete from记录是一条条删的,所删除的每行记录都会进日志,而truncate一次性删掉整个页,因此日至里面只记录页释放,简言之,delete from更新日志,truncate基本不,所用的事务日志空间较少。

2016-03-10 17:02:17 1691 1

转载 SQL Server日期计算(使用DATEADD和DATEDIFF函数)

通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天。你们大部分人大概都知道怎样把日期进行分割(年、月、日等),然后仅仅用分割出来的年、月、日等放在几个函数中计算出自己所需要的日期!在这篇文章里,我将告诉你如何使用DATEADD和DATEDIFF函数来计算出在你的程序中可能你要用到的一些不同日期。 在使用本文中的例子之前,你必须注意以下的问题。大部

2016-02-24 13:52:50 4105

转载 SpringMVC拦截器(资源和权限管理)

1.DispatcherServlet    SpringMVC具有统一的入口DispatcherServlet,所有的请求都通过DispatcherServlet。    DispatcherServlet是前置控制器,配置在web.xml文件中的。拦截匹配的请求,Servlet拦截匹配规则要自已定义,把拦截下来的请求,依据某某规则分发到目标Controller来处理。  所以我们现在w

2016-02-19 14:20:59 705

转载 Memcache安全配置

0x00 Memcache简介Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。Memcache是danga的一个项目,最早是LiveJournal 服务的,最初为了加速 LiveJo

2016-01-15 10:20:40 654

原创 使用namp扫描端口

(1)扫描指定的端口nmap -n --open -p 11211 X.X.X.X/24(2)扫描指定网段的远程桌面连接端口nmap -sT -p3389 218.206.112.0/24(3)使用nmap来扫描端口UDP nmap -sU 202.96.128.86 -p 53 -Pn(4)进行安全检测 nmap -v -A

2016-01-15 10:19:08 47507

转载 xmemcached详解

变更历史XMemcached简介XMemcached的主要特性高性能支持完整的协议支持客户端分布允许设置节点权重动态增删节点支持JMX与Spring框架和Hibernate-memcached的集成客户端连接池可扩展性使用指南依赖包如果你使用maven简单例子touch更新数据超时时间客户端分布CAS操作更全面的例子迭代所有keyIncr/Decr命名空间查看统计信息SASL验

2016-01-07 16:26:08 2223

原创 @ModelAttribute注解的使用

先看一下,spring官方给的解释:@ModelAttribute has two usage scenarios in controllers. When you place it on a method parameter, @ModelAttribute maps a model attribute to the specific, annotated method paramete

2016-01-06 16:20:25 8164 2

原创 sql server总exists的性能好于in

在sqlserver中exists的性能好于in,所以尽量在能用exists的情况下少用in,在脚本中尽量少用not ,等否定的词

2016-01-06 15:11:30 1206 1

转载 Linux下运行java DES解密失败,报javax.crypto.BadPaddingException:Given final block not properly padded

DES java源代码如下:[java] view plaincopyimport java.security.InvalidKeyException;  import java.security.NoSuchAlgorithmException;  import java.security.SecureRandom;  import j

2015-12-23 13:10:36 18053

原创 varchar和Nvarchar区别

类型长度使用说明长度说明char(n) 定长索引效率高 程序里面使用trim去除多余的空白n 必须是一个介于 1 和 8,000 之间的数值,存储大小为 n 个字节varchar(n)变长效率没char高 灵活n 必须是一个介于 1 和 8,000 之

2015-12-20 12:11:29 1006

原创 select @@SERVERNAME

@@SERVERNAME返回运行 Microsoft® SQL Server™ 的本地服务器名称。语法@@SERVERNAME返回类型nvarchar注释SQL Server 安装程序在安装时将服务器名设置为计算机名。可通过使用 sp_addserver 然后重新启动 SQL Server 来更改 @@SERVERNAME。不过,通常不需要这种方法。

2015-12-20 11:58:56 4643

原创 java加密技术比较好的博客地址

http://snowolf.iteye.com/blog/379860

2015-12-08 18:21:22 759

转载 几种加密算法的测试,包括对称加密和非对称加密

对称加密算法  Blowfish 加密解密Blowfish 加密算法介绍:BlowFish是对称加密算法的其中一种,加密后的数据是可逆的。由于BlowFish加密/解密速度快,更重要的是任何人都可以免费使用不需要缴纳版权费,所以有不少游戏都采用BlowFish加密资源文件数据。BlowFish 每次只能加密和解密8字节数据,加密和解密的过程基本上由ADD和XOR指令运算组成,所以速

2015-12-08 18:16:28 4165

原创 Blowfish加密算法

摘要:Blowfish是一个64位分组及可变密钥长度的分组密码算法,可用来加密64Bit长度的字符串。算法由两部分组成:密钥扩展和数据加密。密钥扩展把长度可达到448位的密钥转变成总共4168字节的几个子密钥。BlowFish是对称加密算法的其中一种,加密后的数据是可逆的。由于BlowFish加密/解密速度快,更重要的是任何人都可以免费使用不需要缴纳版权费,所以有不少游戏都

2015-12-08 18:07:51 4365

原创 spring 定时任务的配置文件解析

scheduler : 在同一时间可以启动的定时任务的数量。这边设置的是20,那就是说,在某一特定时刻,只能有20个定时任务(使用@scheduler注解的方法)被启用。execotor :   (使用@Asyn注解)    task:executor/@pool-size:可以指定执行线程池的初始大小、最大大小     task:executor/@queue-capacity:等待执行的任务队

2015-12-08 15:47:06 948

原创 spring 定时任务

spring中的定时任务可以通过注解来实现。(一)首先在spring的配置文件applicationContext.xml中加入如下配置:[html] view plaincopyxmlns:task="http://www.springframework.org/schema/task"  xsi:schemaLocation=" 

2015-12-08 14:10:23 417

转载 tomcat-jdbc-pool 实现简单分析

什么是连接池?池,不由自主的会想到水池。小时候,我们都要去远处的水井挑水,倒进家中的水池里面。这样,每次要用水时,直接从水池中「取」就行了。不用大老远跑去水井打水。数据库连接池就如此,我们预先准备好一些连接,放到池中。当需要时,就直接获取。而不要每次跟数据库建立一个新的连接。特别对数据库连接这类耗时,耗资源的操作。当连接用完后,再放回池中,供后续使用。连接池的作用?

2015-12-08 13:52:21 1367

转载 闯红灯理论

闯红灯理论现在,你是一个风流潇洒的高富帅,开着一辆,呃不对,是骑着一辆大永久(我们那个年代的年青人最豪华的装备,跟现在大家开大奔的感觉从心理上讲一样的)在路上兜风,阳光洒在你身上,妹子们投来火辣辣的目光,一切都是这么愉快,你骑到一个十字路口,前方正好绿灯,你哈哈一笑,照常通过。突然,斜刺里一辆大奔闯红灯,风驰电掣的对着你开了过来,duang~~~~,你在空中720度自由转体两周半再接三个后

2015-12-08 13:24:16 1004

原创 同步或者重构Activiti Identity用户数据的多种方案

相信每个涉及到用户的系统都有一套用户权限管理平台或者模块,用来维护用户以及在系统内的功能、数据权限,我们使用的Activiti工作流引擎配套设计了包括User、Group的Identify模块,怎么和业务数据同步呢,这个问题是每个新人必问的问题之一,下面介绍几种同步方案,最后总结比较。方案一:调用IdentifyService接口完成同步参考IdentifyService接口J

2015-12-07 18:04:57 1669

原创 工作流的学习(四)

这章我主要记录一下自己遇到的问题和总结。(1)activiti的配置中,对于history的配置是可以优化的。历史信息级别可以配置成以下几种:none: 忽略所有历史存档。这是流程执行时性能最好的状态,但没有任何历史信息可用。activity: 保存所有流程实例信息和活动实例信息。 在流程实例结束时, 最后一个流程实例中的最新的变量值将赋值给历史变量。 不会保存

2015-12-07 17:50:52 1331

原创 工作流学习(三)

数据库表命名规则:Activiti工作流引擎的数据库表中的表名称都是以 ACT_.第二部分两个字母表示表的类型。使用模糊匹配的方式说明表的类型匹配activiti的服务API.·         ACT_RE_*: RE代表仓储(Repository).这种表前缀以“static”表示流程定义信息或者流程资源信息(如流程的图表和规则等).·         ACT_RU_*: RU标识

2015-12-07 17:11:40 467

原创 工作流学习(二)

做公司的oa系统,所以接触到了工作利用,我们这里的工作流用的是activiti。我这里主要总结一下自己学习的过程,以及遇到的问题和解决方案。(一)学习过程1)安装插件我用的是myeclipse,有activiti插件,我们可以直接安装。1.help------install new software2.Add 3.http://activiti.org/desi

2015-12-07 16:43:26 649

原创 工作流学习(一)

Activiti工作流引擎使用1.简单介工作流引擎与Activiti对于工作流引擎的解释请参考百度百科:工作流引擎1.2 Activiti与JBPM5?对于Activiti、jBPM4、jBPM5我们应该如何选择,在InfoQ上有一篇文章写的很好,从大的层面比较各个引擎之间的差异,请参考文章:纵观jBPM:从jBPM3到jBPM5以及Activiti5

2015-12-07 16:11:24 1099

转载 AngularJS $http 异步后台无法获取请求参数

angular在通过异步提交数据时使用了与jquery不一样的请求头部和数据序列化方式,导致部分后台程序无法正常解析数据。原理分析(网上的分析):[javascript] view plaincopyprint?"font-size:14px;">对于AJAX应用(使用XMLHttpRequests)来说,向服务器发起请求

2015-12-07 12:19:33 640

原创 SQL Server中bit数据类型应用

在 SQL Server 中,用来处理判断flag的字段,使用bit类型。在使用过程中有几点需要注意的:1、bit 与 SQL Server 的整型和数字数据相似的数字数据,但 bit 列只能存储 0 和 1。2、在插入、修改 bit 数据时,使用 0 或 1 ,而不是 false 或 true,bit 字段放在 where 查询条件中也是这样。3、利用 RecordSet

2015-12-07 10:51:41 39055 4

转载 Spring中Autowired注解,Resource注解和xml default-autowire工作方式异同

前面说到了关于在xml中有提供default-autowire的配置信息,从spring 2.5开始,spring又提供了一个Autowired以及javaEE中标准的Resource注释,都好像可以实现类似的自动注入。那么是不是每个都实现同样的方式呢,这里面的几个配置到底有哪些异同点。哪个更全,哪个更优先,这些都需要对spring的内部原理有详细的了解才可以进行了解。在以下文章时,首先有几个

2015-12-02 13:51:07 2007

原创 maven构建war包之间依赖

本文包括两个Maven管理的示例应用——Warsaw和Global。Warsaw是进行了全面配置的Web应用,带有两个简单的Web页面。Global依赖于Warsaw项目,引入了一个服务和几个新的Web页面,还修改了Warsaw组件的拷贝。这两个Web应用都打包为WAR文件,并进行了配置,能在Jetty或其它Servlet容器中运行。在命令行运行mvn jetty:run-war命令即可轻松启

2015-12-02 12:13:13 1836

转载 打包的技巧

打包“这个词听起来比较土,比较正式的说法应该是”构建项目软件包“,具体说就是将项目中的各种文件,比如源代码、编译生成的字节码、配置文件、文档,按照规范的格式生成归档,最常见的当然就是JAR包和WAR包了,复杂点的例子是Maven官方下载页面的分发包,它有自定义的格式,方便用户直接解压后就在命令行使用。作为一款”打包工具“,Maven自然有义务帮助用户创建各种各样的包,规范的JAR包和WAR包自然不

2015-12-02 12:06:47 1380

转载 maven模块化管理

现在java 项目一般使用maven、gradle等工具来管理jar包、打包、发布。如果一个项目有很多模块,那般是分成多个module,主目录有个parent,负责包含全部的module,然后目录中多个module文件夹,分别依赖parent或者其他module。最近有个项目,项目很久,代码全部放在一起,随着业务拓展变得与越来越庞大,于是其对进行module拆分。问题多个模块可

2015-12-02 12:03:04 2333

转载 模块化管理(二)

这一章我们介绍的是,Overlay的使用,通过将多个war包最终打成一个war包。一、工程介绍 该项目由5个maven项目组成  task-aggregator是父工程,同时承担聚合模块和父模块的作用,没有实际代码和资源文件 task-common是基础工程,里面是公共的代码 task-sla是某一个业务子模块,不包含web内容 task-sla-web是某

2015-12-02 11:26:26 516

原创 模块化管理(一)

这一章我们先讲一个简单的模块依赖关系。即A依赖B,B依赖C所有用Maven管理的真实的项目都应该是分模块的,每个模块都对应着一个pom.xml。它们之间通过继承和聚合(也称作多模块,multi-module)相互关联。那么,为什么要这么做呢?我们明明在开发一个项目,划分模块后,导入Eclipse变成了N个项目,这会带来复杂度,给开发带来不便。 为了解释原因,假设有这样一个项

2015-12-02 11:17:00 1961

原创 java中尽量使用integer等封装类型,除非是计算少用基本类型

java中尽量使用integer等封装类型,除非是计算少用基本类型。基本类型的转换,如果基本类型的值为0时,不报错,但是运行完成后会报运行时异常,常常会不注意,之前我遇到一次,就是死活找不到出错的地方,最终打断点才找出错误点。不像封装类型,默认是null,隐式转换时会报空指针异常

2015-11-29 11:54:48 1825 1

转载 Java为什么需要保留基本数据类型

基本数据类型对以数值计算为主的应用程序来说是必不可少的。自从1996年Java发布以来,基本数据类型就是Java语言的一部分。John Moore通过对使用基本类型和不使用基本类型做java基准测试给Java中为什么要保留基本数据类型做了一个很有力的说明。然后,他还在特定类型的应用中把Java和Scala、C++和JavaScript的性能做了对比。在这些应用中,使用基本数据类型应用性能会

2015-11-29 11:48:12 1548

原创 数据库代码编写规范

1.除非影响业务,读取表(select)时,请使用WITH(NOLOCK),以提高并发性;2.除了exists语句外,不要使用SELECT *,必须指明列名;3.多表链接时,取有意义的表别名,并在每列前加表别名(如:a.id,b.name....),不要偷懒,防止对表增改列而造成列名冲突。同时可增强可读性;4.使用表,存储过程,函数等资源时,必须指明架构(scheme).如:“dbo.

2015-11-29 11:35:13 1283

转载 Spring动态加载、编辑数据源

最近有一个项目需求,要求实现SAAS服务,最终结果大致如上图,当然这只是其中的一部分。这个项目有一个很明确的需求:所有站点用的是一套代码,有一个主站,多个子站,所有子站的数据结构是一致的,A登录时访问子站一,B登录时访问子站二,子站一与子站二的数据分别位于不同的数据库中,数据内容互不影响。        网上查了一些资料,总结并实践后得出此文。        我项目中用的是Spri

2015-11-23 19:30:46 985 1

原创 dbcp数据源加密

为了数据库的安全,密码是需要加密放在配置文件中的,这样别人就不能轻易的从配置文件中获取到数据库的明文密码,然后登陆我们的数据库,造成数据泄露。通过分析dbcp的数据源源码,我们发现,主要的密码和用户名是在getConnection的时候用来获取datasource的。(一)通过修改dabasource源码,使用对称加密解密算法,解密已经加密并且放在配置文件中的数据库密码,然后创建数据库连接

2015-11-23 19:27:30 3499

java反编译工具

很好用的反编译工具,可以查看class文件的源代码了

2014-10-29

空空如也

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

TA关注的人

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