自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (1)
  • 收藏
  • 关注

原创 Google guava工具类的介绍和使用

概述工具类 就是封装平常用的方法,不需要你重复造轮子,节省开发人员时间,提高工作效率。谷歌作为大公司,当然会从日常的工作中提取中很多高效率的方法出来。所以就诞生了guava。。高效设计良好的API,被Google的开发者设计,实现和使用 遵循高效的java语法实践 使代码更刻度,简洁,简单 节约时间,资源,提高生产力Guava工程包含了若干被Google的 Java项目广泛依赖 的...

2017-02-11 15:09:33 25253 4

原创 简单介绍rpc

介绍rpc 全程为 remote procedure call 远程过程调用,当单机的性能满足不了日常业务需求时,我们需要多台服务器组成一个集群,每个集群上部署某一种业务,来满足业务正常的需求。比如电商下单请求交易接口1.1 请求商品中心,查看商品是否存在 1.2 请求优惠中心,冻结优惠 1.3 请求库存中心,锁定库存 ....等等一系列的操作,都需要各个中心协同工作,这时为了...

2019-02-26 22:52:01 198

转载 java线程池中的线程数应该如何设置?

线程池究竟设成多大是要看你给线程池处理什么样的任务,任务类型不同,线程池大小的设置方式也是不同的。 任务一般可分为:CPU密集型、IO密集型、混合型,对于不同类型的任务需要分配不同大小的线程池。 CPU密集型任务尽量使用较小的线程池,一般为CPU核心数+1。因为CPU密集型任务使得CPU使用率很高,若开过多的线程数,只能增加上下文切换的次数,因此会带来额外的开销。 

2017-11-12 23:02:46 2557

原创 HashMap 里数组下标如何确定?

HashMap是典型的key对应 value的接口,里面是数组加链表,当key的hash值冲突时 用链地址法解决冲突,在同一个相同下标的table中用链表的形式连接起来 在这里就可以产生问题:key的hash值是怎么来的?这样的hash方式有什么好处? 答: 在jdk1.7 中 static int indexFor(int h,

2017-11-12 23:00:36 9648

转载 MySQL设计规范

前言本规范是在项目开发中整理的一些开发规范和技巧,期望能更充分利用MySQL的特性,得到更好的性能。主要提供给需要基于MySQL做应用开发的人员作为参考,方便完成更有效率的开发。1.1 数据库设计数据库设计的目标三个:功能实现,可伸缩性,可用性。设计时需要平衡业务技术各个方面,做好取舍。数据库的架构设计时最重要的,80%的性能优势来自架构设计的优势。2.1 版本选择官方版本建议

2017-09-09 14:03:06 887

原创 pinpoint-APM工具

介绍当前,随着互联网架构的扩张,分布式系统变得日趋复杂,越来越多的组件开始走向分布式化,如微服务、消息收发、分布式数据库、分布式缓存、分布式对象存储、跨域调用,这些组件共同构成了繁杂的分布式网络。当应用A发出某个请求时,其背后可能有数十个甚至更多的服务被调用,可谓是“牵一发而动全身”。 如果将分布式系统比作高速公路网,每个前端的请求就相当于高速上行驶的车辆,而处理请求的应用就是高速

2017-08-27 22:32:27 3873 7

原创 ArrayList 源码解析 及其扩展(jdk1.7)

概述ArrayList 基于数组实现,是一个动态数组,其容量能自然增长(1.5倍增长)。不是线程安全,你可以使用Collection.synchronizedList方法将该列表包装起来,以防止意外对列表进行不同步的访问。也可以使用concurrent并发包下的CopyOnWriteArrayList类。java 1.6API对其解释返回指定列表支持的同步(线程安全

2017-05-15 21:21:37 401

原创 JVM处理java数组的方法

一丶什么是数组在我印象中的数组一般都是 int[] a = new int[4]; 通过new关键字创建并组装他们,然后通过整数索引值来访问其中的元素。 后来我又明白 数组是一个特殊的对象,在《java编程思想》中说 “数组是一种效率最高的存储和随机访问对象引用序列的方式。数组就是一个简单的线性序列,这使得元素访问非常快速。但是这种速度所付出的代价是数组对象的大小被固定,并且在其生命周期中

2017-05-15 21:20:31 1143

原创 jvm常见内存溢出异常

上面这幅图就是jvm虚拟机运行时的主要数据区,蓝色部分是线程共享区域,而白色部分就是线程私有区域。以下例子均在jdk1.7中运行1.堆内存溢出/** * VM Args: -Xms2m -Xmx2m * Created by Stay on 2017/5/15 14:50. */public class Base1 { public static void

2017-05-15 16:50:53 1717

原创 (java)工厂模式和策略模式

工厂模式工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式。工厂模式在Java程序系统可以说是随处可见。因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=new A() 工厂模式也是用来创建实例对象的,所以以后new时就要多个心眼,是否可以考虑使用工厂模式,虽然这样做,可能多做一些工作,但会给你系统带来更大的可扩展性和尽量

2017-04-12 21:49:18 1821

原创 Servlet监听器(附带spring中监听器使用分析)

一.简介Servlet监听器 是Servlet规范中定义的一种特殊类 ,或者说一种高级特性.常用于监听request,session,context的创建,销毁或属性改变二.监听器分类及作用(Servlet3.0规范)eclipse里创建listener所提供的监听器接口 1.ServletContextListener , SerlvetContextAt

2017-03-22 15:03:32 1253

原创 基础sql语句总结(mysql)

准备DROP TABLE IF EXISTS `grade`;CREATE TABLE `grade` ( `no` int(11) NOT NULL AUTO_INCREMENT, `grade` int(11) NOT NULL, PRIMARY KEY (`no`)) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8

2017-03-20 22:46:49 370

原创 判断两个链表是否存在交点 并求出位置

private static class Node { private int value; private Node next; public Node(int value) { this.value = value; } //省略get set}public static Node checkNodeIntersect(Node node1, Node node2) {

2017-03-19 13:50:53 436

原创 RabbitMQ安装和简单测试示例(windows版本)

环境安装erlang安装: http://erlang.org/download/otp_win64_19.2.exeRabbitMQ服务安装: http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6.exe就一直点下一步就能运行遇到的问题:Error: unable

2017-03-07 20:13:55 3271

原创 springmvc集成 velocity,实现多视图整合(jsp,velocity)

maven依赖dependency> groupId>org.apache.velocitygroupId> artifactId>velocityartifactId> version>1.7version>dependency>dependency> groupId>org.apache.velocitygroupId> artifactId>v

2017-02-23 20:27:49 7510 2

原创 Spring切面简记及应用(spring aop)

概念面向切面编程:把逻辑代码和处理琐碎事务的代码分离开,以便能够分离复杂度。切面(AOP)术语1.连接点(Joinpoint)2.切点(Pointcut)3.增强(Advice)Before adviceAfter returning adviceAfter throwing adviceAfter(finally

2017-02-19 10:56:37 430

原创 JMeter入门

创建线程组配置线程组参数为什么要建立线程组?原因很简单,因为我们要模拟多个线程(用户)来访问。 线程属性部分中,线程数是启动多少个线程,我这里填写的是10,Ramp-Up Period (in seconds)表示线程之间间隔多少时间允许,单位是秒,比如如果填写10,那么10/10=1表示10个线程间每隔1秒钟请求网站。创建http请求

2017-01-30 22:28:14 308

原创 ConcurrentHashMap分析(jdk 1.7)

HashMap分析: http://www.begincode.net/blog/55先看一段代码public class Main { private static ExecutorService executorService = Executors.newFixedThreadPool(10); public static final int threadCount =

2017-01-20 23:12:39 2892 2

文件恢复集合

删除的文件恢复 可能把删除的文件恢复 如果你从回收站也删除的话

2015-06-15

空空如也

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

TA关注的人

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