自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Tomcat 优化方案 和 配置详解

转:http://201605130349.iteye.com/blog/2298985Service.xml Server.xml配置文件用于对整个容器进行相关的配置。<Server>元素:是整个配置文件的根元素。表示整个Catalina容器。属性:className:实现了org.apache.catalina.Server接口的类名,标准实现类是org.ap...

2016-05-19 10:19:25 132

原创 JVM类加载器加载过程

转:http://yizhenn.iteye.com/blog/2299034有三种默认的类加载器,分别为Bootstrap ClassLoader,Extension CLassLoader以及App ClassLoader。其中,Bootstrap Classloader用于加载JAVA的核心类库,Extension Classloader用于加载JAVA的扩展类库,而App Class...

2016-05-19 10:13:49 128

原创 业务层面缓存穿透的解决方案

网上有一些关于缓存穿透和缓存雪崩的解决方案,无非是:      1.如果查询数据为null,则把null进行缓存      2.使用布隆过滤器 先来说说缓存穿透的概念:我们在项目中使用缓存通常都是APP先检查缓存中是否存在,如果存在直接返回缓存内容,如果不存在就直接查询数据库然后再缓存查询结果返回。这个时候如果我们查询的某一个数据在缓存中一直不存在,就会造成每一次请求都查询DB...

2016-04-29 16:51:48 159

原创 java各种序列化性能测试

        最近在做redis封装的过程中,需要使用序列化进行数据的传输,索性就把各种序列化方案都拿出来做了一个对比。        序列化有两种用途:                    1)把对象的字节序列永久的保存在硬盘中                    2)在网络上传输对象的字节序列         场景:通过模拟一个普通的POJO类进行序列化和反序列化...

2016-04-21 08:40:25 325

原创 MYBATIS insert返回类型

受影响的行数,但是主键会自动拼装到对象中

2016-04-20 08:31:10 1330

原创 服务化之后本地和远程缓存的应用

经过服务化之后,拆分出的用户中心,经过一段时间的监控,发现几个问题:1.每天的调用次数大约在2-3亿之间2.60%的调用集中在TOP100个接口之中3.用户中心的memcached压力在用户中心的线程排在第一个4.个别接口成为了服务化过程中的瓶颈5.memcached使用过程中监控到数据每天有几千次的超时调用,导致服务最大单次耗时被拉长6.网络开销7.序列化与反序列化,在缓存中的开销通过分...

2016-04-19 10:21:52 147

原创 dubbo在多机房多注册中心的方案

 技术交流群:534368042起因:项目在服务化之后,开辟了一个新的专有云机房A,在原有物理机房B系统不迁移的情况下,需要A的系统调用B的各种dubbo服务,且A到B之间不能直接访问需要通过交换机做网络映射,现有B内部的网段是192.168.1.X A网段59.10.59.X 映射后A访问B的网段是10.59.10.X,造成A消费者无法直接注册到B的zookeeper集群注册中心,访...

2016-04-19 10:20:27 1408

原创 软件架构资源

 架构网站 中文:1)http://www.infoq.com/cn/architecture/  英文:1)http://www.codingthearchitecture.com/2)  http://www.softwarearchitecturefordevelopers.com/3)http://processofsoftwarearchitecting...

2015-10-12 17:00:37 66

原创 Linux软连接和硬链接

1.Linux链接概念Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。【硬连接】硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种...

2015-10-12 16:55:16 76

原创 为什么程序员也能成为伟大的CEO

现在对程序员的普遍(暗黑)看法是,这是一群所有时间都窝一个黑暗的房间里,与数百万行代码为伍,也许甚至不具备人际交往能力的“程序猿”。好吧,虽然我也有编程背景,所以可能会有点偏颇,但是这显然是无稽之谈。程序员不仅能力卓绝——是创造现代生活和商业的基石,而且还参与多种社会生产活动。许多程序员同时也会去经营企业。是的,从程序员到CEO的旅途不可谓不艰辛,在某些情况下,这是一个重大的转变。但只要你...

2015-07-29 08:57:33 187

mysql-5.6.25-winx64免安装配置

1.下载mysql免安装包2. 解压MySQL压缩包将以下载的MySQL压缩包解压到自定义目录下。3. 添加环境变量变量名:MYSQL_HOME变量值:D:\Program Files\mysql-5.6.25-winx64即为mysql的自定义解压目录。再在Path中添加 %MYSQL_HOME%\bin4. 注册windows系统服务将my...

2015-07-02 14:31:28 198

原创 大型网站后台架构的演变

随着用户访问量的不断增加,网站的后台也会不断变化以应对需求。本文主要从一个小型网站到大型网站的过度与变化来陈述。  1.1 网站后台架构  主要指由web server 、应用服务器、数据库、存储、监控等组成的网站后台系统。  1.2 架构演变  个人站点后台架构。如图2-1所示。图2-1 单台一组  如图所示,如果是个人站点,访问量不大,一般都是将web serv...

2015-07-02 10:52:16 116

原创 何为系统架构师、项目经理、系统分析师、产品经理

【转】在我国,可能很少有程序员能说清楚“系统架构师、项目经理、系统分析师、产品经理”这些职位的区别(职责、工作内容及性质等),对这些概念混淆不清,自身也很难有清晰的职业规划。也难怪,毕竟土壤不好。中国的软件行业还处于发展初期,刚刚起步,很多小公司都是三五人的程序员团队,甚至还有“单兵作战”的。条件有限,不可能分得这么细。规划的那般理想化。就连我所接触到的金蝶软件(CMM4的软件公司),也对...

2015-07-01 08:06:04 750

原创 分析数据高水位

ANALYZE TABLE BASEINFO COMPUTE STATISTICS;select * from organizations;SELECT blocks, empty_blocks, num_rowsFROM user_tablesWHERE table_name = 'BASEINFO';alter table BASEINFO ena...

2015-07-01 08:05:33 153

原创 Spring3.1新属性管理API:PropertySource、Environment、Profile

Spring3.1提供了新的属性管理API,而且功能非常强大且很完善,对于一些属性配置信息都应该使用新的API来管理。 新的属性管理APIPropertySource:属性源,key-value属性对抽象,比如用于配置数据PropertyResolver:属性解析器,用于解析相应key的valueEnvironment:环境,本身是一个PropertyResolver,但是...

2015-07-01 08:05:10 115

原创 spring bean的创建方式

bean命名定义一个通用数据源,假设其名字为component-dataSource 二个模块使用同一个数据源[code="java"][/code]bean创建使用构造方法穿件bean的实例使用静态工厂方法创建bean的实例使用实例化的工厂方法创建bean的实例[code="java"] //使用静态工厂方法创建bean的实例要求所使用的方...

2015-06-30 08:20:03 64

原创 事务管理

事物管理spring事物的好处为不同的事物API提供了一致的编程模型支持声明式事务管理提供比大多数事务API更简单更易于使用的编程式事务管理API整合spring的各种数据访问抽象TransactionDefinition定义了事务策略int getIsolationLevel()得到当前事务的隔离级别READ_COMMITTED ...

2015-06-30 08:19:23 72

原创 spring常用属性或是构造方法参数的配置

常用属性或是构造方法参数的配置使用常量[code="java"] 750000 42[/code]通过type参数指定常量参数引用其他bean在或是元素内部还可以使用ref元素,该元素用来将bean中指定属性的值设置为对容器中的另外一个Bean的作用1)第一种是通过使用ref元素的bean属性指定目标bean(无论是否在...

2015-06-30 08:18:59 267

原创 spring4 初始化bean回调

初始化回调的几种方式 1)采用xml配置[code="java"][/code][code="java"]public class ExampleBean { public void init() { // do some initialization work }}[/code] 2...

2015-06-30 08:18:27 131

原创 spring bean继承

XML配置中使用parent属性进行bean的继承[code="java"] [/code]

2015-06-30 08:18:05 77

原创 bean作用域

bean作用域通过bean元素的scope属性进行配置singleton ioc只会创建唯一实例 对于该bean 的所有引用以及请求都是使用唯一 通常都是无状态的 导致多进程同时调用该bean的时候产生冲突propertype ioc容器对于每次请求bean都会创建一个新多实例request 在一次http请求中 spring ioc容器会返回...

2015-06-29 07:46:47 74

原创 链表栈

[code="java"]public class Node { private Object object; private Node next; public Node() { this.next = null; this.object = null; } public Object getObject() { return object;...

2015-06-29 07:44:58 91

原创 定义初始化方法和销毁方法

定义初始化方法和销毁方法[code="java"][/code]使用depends-on延迟初始化beanapplicationContext实现的默认行为就是在启动时将所有singleton bean提前进行实例化[code="java"][/code]自动装配自动装配autowire 相互协作bean之间的关联关系。5钟类...

2015-06-29 07:44:02 217

原创 oracle监控

Sar –u 检查CPU的繁忙程度列说明Usr用户模式下cpu运行所占的百分比Sys系统模式下cpu运行所占的百分比Wio因为有进程等待块I/O而使cpu处于闲置状态所占百分比IdleCpu为闲置状态所占百分比sar –u 10 8 第一个数字展示二次相邻的sar读取之间隔了多少秒,第二数字是打算好了让sar运行的次数。 较低的idel时间可...

2015-06-29 07:43:16 80

原创 lookup方法注入

lookup方法注入当singleton类型的bean引用prototype类型的bean时候,就会有问题在这里假设A为singleton类型的bean B为prototype类型的bean A需要引用Blookup方法注入利用了 ioc 容器复写bean的抽象方法的能力 从而返回指定名字的bean实例 原理是通过CGLIB库运行生成二进制代码。在使用lookup方法注...

2015-06-29 07:42:54 133

原创 堆排序法

转:http://www.cnblogs.com/hexiaochun/archive/2012/09/04/2671076.html堆排序是一种利用完全二叉树来解决问题的高效算法,合法的最大堆树要满足一个条件就是每一个结点值都要大于或等于它的孩子结点值。在一个数组中那专业法表示为:arrays[i]>=arrays[2*i+1] && arrays[i]>...

2015-06-28 11:12:54 83

原创 合并排序算法

合并排序算法就是将多个有序数据表合并成一个有序数据表。如果参与合并的只有两个有序表,则称为二路合并。 排序流程: 原始数据: 67 65 77 38 97 3 33 49 34 第一遍: 65 67 38 77 3 79 33 49 34 第二遍: 38 65 67 77 3 33 49 97 34 第三遍: 3 3...

2015-06-28 11:07:31 103

原创 快速排序算法

快速排序算法和冒泡排序算法类似,都是基于交换排序思想的,快速排序算法对冒泡排序算法进行了改进,从而具有更高的执行效率 通过多次比较和交换来实现排序,流程如下: 1)首先设定一个分界值,通过该分界值将数组分成左右两部分 2)将大于等于分界值得数据集中到数组右边,小于分界值得数据集中到数组的左边。此时,左边部分中各元素都小于等于分界值,而右边部分中各元素都大于等于...

2015-06-28 10:53:59 103

原创 一个简单的队列

[code="java"]public class MyQueue { private long[] arr; private int front; private int end; // 有效数据的大小 private int elements; public MyQueue() { arr = new long[10]; elements =...

2015-06-28 10:26:09 61

原创 一个简单的java栈

[code="java"]public class MyStack { private long[] arr; private int top; public MyStack() { arr = new long[10]; top = -1; } public MyStack(int maxsize) { arr = new long[maxs...

2015-06-28 10:25:56 84

原创 java枚举

[code="java"]public class TrafficLampTest { public static void main(String[] args) { } public enum TrafficLamp { RED(30) { public TrafficLamp nextLamp() { return GREED; };...

2015-06-27 22:32:20 100

原创 shell排序算法

shell排序算法严格来说基于插入排序的思想,其又称为希尔排序或者缩小增量排序。shell排序算法的排序流程如下: 1)将n个元素的数组分为n/2个数据序列,第一个数据和第n/2+1个数据为一对 2)一次循环使每一个序列对应排好顺序 3)然后,再变为n/4个序列,再次排序 4)不断重复上述过程 例如如下数据排序 初始数据 ...

2015-06-27 22:23:52 157

原创 插入排序算法

插入排序算法通过对未排序的数据执行逐个插入至合适的位置而完成排序工作。 通过比较和插入来实现排序,其排序流程如下: 1)首先对数组的前两个数据进行从小到大的排序 2)接着将第三个数据与排好序的二个数据比较。将第三个数据插入合适的位置 3)然后,将第四个数据插入已排好序的前3个数据中。 4)不断重复上述过程,直到最后一个数据插入合适的位置...

2015-06-27 22:10:29 54

原创 选择排序算法

选择排序算法是比较简单的排序算法,其思路比较直观,选择排序算法在每一步中选取最小值来重新判断,从而达到排序的目的。 排序流程如下: 1)首先从原始数组中选择最小的一个数据,将其和位于第一个位置的数据交换 2)接着从剩下的n-1个数据中选词次小的一个数据,将其和第二个位置的数据交换 3)然后不断重复上述过程,直到最后二个数据完成交换 例如...

2015-06-27 22:03:08 55

原创 冒泡排序算法

冒泡排序算法是所有排序算法中最简单、最基本的一种。冒泡排序算法的思路就是交换排序,通过相邻数据的交换来达到排序的目的。 排序流程: 1)对数组中的各个数据,一次比较相邻的二个元素的大小 2)如果前面的数据大于后面的数据,就交换这两个数据的。经过第一轮的多次比较排序后,便可将最小的数据排好 3)再用同样的方法依次进行比较 例如...

2015-06-27 21:53:55 69

空空如也

空空如也

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

TA关注的人

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