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

原创 Google guava工具类的介绍和使用
概述工具类 就是封装平常用的方法,不需要你重复造轮子,节省开发人员时间,提高工作效率。谷歌作为大公司,当然会从日常的工作中提取中很多高效率的方法出来。所以就诞生了guava。。高效设计良好的API,被Google的开发者设计,实现和使用 遵循高效的java语法实践 使代码更刻度,简洁,简单 节约时间,资源,提高生产力Guava工程包含了若干被Google的 Java项目广泛依赖 的...
2017-02-11 15:09:33
25449
2
原创 简单介绍rpc
介绍rpc 全程为 remote procedure call 远程过程调用,当单机的性能满足不了日常业务需求时,我们需要多台服务器组成一个集群,每个集群上部署某一种业务,来满足业务正常的需求。比如电商下单请求交易接口1.1 请求商品中心,查看商品是否存在 1.2 请求优惠中心,冻结优惠 1.3 请求库存中心,锁定库存 ....等等一系列的操作,都需要各个中心协同工作,这时为了...
2019-02-26 22:52:01
253
转载 java线程池中的线程数应该如何设置?
线程池究竟设成多大是要看你给线程池处理什么样的任务,任务类型不同,线程池大小的设置方式也是不同的。 任务一般可分为:CPU密集型、IO密集型、混合型,对于不同类型的任务需要分配不同大小的线程池。 CPU密集型任务尽量使用较小的线程池,一般为CPU核心数+1。因为CPU密集型任务使得CPU使用率很高,若开过多的线程数,只能增加上下文切换的次数,因此会带来额外的开销。
2017-11-12 23:02:46
2626
原创 HashMap 里数组下标如何确定?
HashMap是典型的key对应 value的接口,里面是数组加链表,当key的hash值冲突时 用链地址法解决冲突,在同一个相同下标的table中用链表的形式连接起来 在这里就可以产生问题:key的hash值是怎么来的?这样的hash方式有什么好处? 答: 在jdk1.7 中 static int indexFor(int h,
2017-11-12 23:00:36
9762
转载 MySQL设计规范
前言本规范是在项目开发中整理的一些开发规范和技巧,期望能更充分利用MySQL的特性,得到更好的性能。主要提供给需要基于MySQL做应用开发的人员作为参考,方便完成更有效率的开发。1.1 数据库设计数据库设计的目标三个:功能实现,可伸缩性,可用性。设计时需要平衡业务技术各个方面,做好取舍。数据库的架构设计时最重要的,80%的性能优势来自架构设计的优势。2.1 版本选择官方版本建议
2017-09-09 14:03:06
956
原创 pinpoint-APM工具
介绍当前,随着互联网架构的扩张,分布式系统变得日趋复杂,越来越多的组件开始走向分布式化,如微服务、消息收发、分布式数据库、分布式缓存、分布式对象存储、跨域调用,这些组件共同构成了繁杂的分布式网络。当应用A发出某个请求时,其背后可能有数十个甚至更多的服务被调用,可谓是“牵一发而动全身”。 如果将分布式系统比作高速公路网,每个前端的请求就相当于高速上行驶的车辆,而处理请求的应用就是高速
2017-08-27 22:32:27
3965
原创 ArrayList 源码解析 及其扩展(jdk1.7)
概述ArrayList 基于数组实现,是一个动态数组,其容量能自然增长(1.5倍增长)。不是线程安全,你可以使用Collection.synchronizedList方法将该列表包装起来,以防止意外对列表进行不同步的访问。也可以使用concurrent并发包下的CopyOnWriteArrayList类。java 1.6API对其解释返回指定列表支持的同步(线程安全
2017-05-15 21:21:37
447
原创 JVM处理java数组的方法
一丶什么是数组在我印象中的数组一般都是 int[] a = new int[4]; 通过new关键字创建并组装他们,然后通过整数索引值来访问其中的元素。 后来我又明白 数组是一个特殊的对象,在《java编程思想》中说 “数组是一种效率最高的存储和随机访问对象引用序列的方式。数组就是一个简单的线性序列,这使得元素访问非常快速。但是这种速度所付出的代价是数组对象的大小被固定,并且在其生命周期中
2017-05-15 21:20:31
1208
原创 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
1795
原创 (java)工厂模式和策略模式
工厂模式工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式。工厂模式在Java程序系统可以说是随处可见。因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=new A() 工厂模式也是用来创建实例对象的,所以以后new时就要多个心眼,是否可以考虑使用工厂模式,虽然这样做,可能多做一些工作,但会给你系统带来更大的可扩展性和尽量
2017-04-12 21:49:18
2214
原创 Servlet监听器(附带spring中监听器使用分析)
一.简介Servlet监听器 是Servlet规范中定义的一种特殊类 ,或者说一种高级特性.常用于监听request,session,context的创建,销毁或属性改变二.监听器分类及作用(Servlet3.0规范)eclipse里创建listener所提供的监听器接口 1.ServletContextListener , SerlvetContextAt
2017-03-22 15:03:32
1358
原创 基础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
409
原创 判断两个链表是否存在交点 并求出位置
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
476
原创 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
3376
原创 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
7616
1
原创 Spring切面简记及应用(spring aop)
概念面向切面编程:把逻辑代码和处理琐碎事务的代码分离开,以便能够分离复杂度。切面(AOP)术语1.连接点(Joinpoint)2.切点(Pointcut)3.增强(Advice)Before adviceAfter returning adviceAfter throwing adviceAfter(finally
2017-02-19 10:56:37
472
原创 JMeter入门
创建线程组配置线程组参数为什么要建立线程组?原因很简单,因为我们要模拟多个线程(用户)来访问。 线程属性部分中,线程数是启动多少个线程,我这里填写的是10,Ramp-Up Period (in seconds)表示线程之间间隔多少时间允许,单位是秒,比如如果填写10,那么10/10=1表示10个线程间每隔1秒钟请求网站。创建http请求
2017-01-30 22:28:14
459
原创 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
2942
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人