随笔分类 -  Java

java领域
JAVA – 虚函数、抽象函数、抽象类、接口
摘要:JAVA – 虚函数、抽象函数、抽象类、接口 1. Java虚函数 1. Java虚函数 虚函数的存在是为了多态。 C++中普通成员函数加上virtual关键字就成为虚函数 Java中其实没有虚函数的概念,它的普通函数就相当于C++的虚函数,动态绑定是Java的默认行为。如果Java中不希望某个函数 阅读全文

posted @ 2016-04-18 10:05 舒润 阅读(291) 评论(0) 推荐(0)

深入分析 iBATIS 框架之系统架构与映射原理
摘要:iBATIS 框架主要的类层次结构 总体来说 iBATIS 的系统结构还是比较简单的,它主要完成两件事情: 根据 JDBC 规范建立与数据库的连接; 通过反射打通 Java 对象与数据库参数交互之间相互转化关系。 iBATIS 的框架结构也是按照这种思想来组织类层次结构的,其实它是一种典型的交互式框 阅读全文

posted @ 2016-04-08 10:16 舒润 阅读(411) 评论(0) 推荐(0)

AtomicReference与volatile的区别
摘要:首先volatile是java中关键字用于修饰变量,AtomicReference是并发包java.util.concurrent.atomic下的类。首先volatile作用,当一个变量被定义为volatile之后,看做“程度较轻的 synchronized”,具备两个特性:1.保证此变量对所有线 阅读全文

posted @ 2016-04-07 19:09 舒润 阅读(3126) 评论(0) 推荐(0)

深度剖析ConcurrentHashMap(转)
摘要:概述 还记得大学快毕业的时候要准备找工作了,然后就看各种面试相关的书籍,还记得很多面试书中都说到: HashMap是非线程安全的,HashTable是线程安全的。 那个时候没怎么写Java代码,所以根本就没有听说过ConcurrentHashMap,只知道面试的时候就记住这句话就行了…至于为什么是线 阅读全文

posted @ 2016-04-07 18:47 舒润 阅读(309) 评论(0) 推荐(0)

ConcurrentHashMap原理分析
摘要:集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap)。这篇文章主要分析jdk1.5的3种并发集合类型(concurrent,copyonright,queue)中的 阅读全文

posted @ 2016-04-07 18:45 舒润 阅读(234) 评论(0) 推荐(0)

HashMap与ConcurrentHashMap的区别(转)
摘要:从JDK1.2起,就有了HashMap,正如前一篇文章所说,HashMap不是线程安全的,因此多线程操作时需要格外小心。 在JDK1.5中,伟大的Doug Lea给我们带来了concurrent包,从此Map也有安全的了。 ConcurrentHashMap具体是怎么实现线程安全的呢,肯定不可能是每 阅读全文

posted @ 2016-04-07 18:42 舒润 阅读(1602) 评论(0) 推荐(0)

XMLHTTP.readyState的五种状态
摘要:深入了解 HTTP 就绪状态 0:请求未初始化(还没有调用 open()) 1:请求已经建立,但是还没有发送(还没有调用 send()) 2:请求已发送,正在处理中(通常现在可以从响应中获取内容头)。 3:请求在处理中;通常响应中已有部分数据可用了,但是服务器还没有完成响应的生成。 4:响应已完成; 阅读全文

posted @ 2016-04-01 09:37 舒润 阅读(1143) 评论(0) 推荐(0)

JVM系统性能监控总结
摘要:(1) uptime 查看系统运行时间、连接数(终端连接数)、平均负载 (2) top 查看CPU、内存、交换空间使用情况,可以看到当前系统性能进程消耗资源情况 (3) vmstat 统计系统CPU、内存、swap、io情况, 例:vmstat 1 4 一秒一次的频率,一共采样4条记录 CPU占用过 阅读全文

posted @ 2016-04-01 07:57 舒润 阅读(485) 评论(0) 推荐(0)

用Netty开发中间件:高并发性能优化(转)
摘要:用Netty开发中间件:高并发性能优化 最近在写一个后台中间件的原型,主要是做消息的分发和透传。因为要用Java实现,所以网络通信框架的第一选择当然就是Netty了,使用的是Netty 4版本。Netty果然效率很高,不用做太多努力就能达到一个比较高的tps。但使用过程中也碰到了一些问题,个人觉得都 阅读全文

posted @ 2016-03-29 14:39 舒润 阅读(703) 评论(0) 推荐(0)

聊聊JVM的年轻代(转)
摘要:1.为什么会有年轻代 我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用,这样就会对堆的所有区域进行扫描。而我们的很多对象都是朝生夕死的,如果分代的话, 阅读全文

posted @ 2016-03-02 15:36 舒润 阅读(920) 评论(0) 推荐(0)

深入理解JVM--JVM垃圾回收机制(转)
摘要:Java语言出来之前,大家都在拼命的写C或者C++的程序,而此时存在一个很大的矛盾,C++等语言创建对象要不断的去开辟空间,不用的时候有需要不断的去释放控件,既要写构造函数,又要写析构函数,很多时候都在重复的allocated,然后不停的~析构。于是,有人就提出,能不能写一段程序在实现这块功能,每次 阅读全文

posted @ 2016-03-02 15:27 舒润 阅读(208) 评论(0) 推荐(0)

JVM调优浅谈(转)
摘要:1.数据类型 java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:它代表的值就是数值本身,而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。 基本类型包括:byte、short、int、lon 阅读全文

posted @ 2016-03-02 15:26 舒润 阅读(226) 评论(0) 推荐(0)

一个性能较好的JVM参数配置(转)
摘要:一个性能较好的web服务器jvm参数配置: -server//服务器模式-Xmx2g //JVM最大允许分配的堆内存,按需分配-Xms2g //JVM初始分配的堆内存,一般和Xmx配置成一样以避免每次gc后JVM重新分配内存。-Xmn256m //年轻代内存大小,整个JVM内存=年轻代 + 年老代 阅读全文

posted @ 2016-03-02 13:35 舒润 阅读(462) 评论(0) 推荐(0)

Netty中的那些坑
摘要:Netty中的那些坑(上篇) 最近开发了一个纯异步的redis客户端,算是比较深入的使用了一把netty。在使用过程中一边优化,一边解决各种坑。儿这些坑大部分基本上是Netty4对Netty3的改进部分引起的。 注:这里说的坑不是说netty不好,只是如果这些地方不注意,或者不去看netty的代码, 阅读全文

posted @ 2016-02-24 15:10 舒润 阅读(32002) 评论(2) 推荐(4)

Spring AOP中pointcut expression表达式解析 及匹配多个条件
摘要:Pointcut 是指那些方法需要被执行"AOP",是由"Pointcut Expression"来描述的. Pointcut可以有下列方式来定义或者通过&& || 和!的方式进行组合. args() @args() execution() this() target() @target() wit 阅读全文

posted @ 2016-02-17 15:18 舒润 阅读(97961) 评论(0) 推荐(3)

Java static 执行顺序
摘要:package com.rainy.main; import java.util.ArrayList; import java.util.List; public class Test extends A { static List<Object> p = new ArrayList<Object> 阅读全文

posted @ 2016-02-16 11:24 舒润 阅读(483) 评论(0) 推荐(0)

JVM监控添加参数
摘要:-Dcom.sun.management.jmxremote.port 远程主机端口号的-Dcom.sun.management.jmxremote.ssl=false 是否使用SSL连接-Dcom.sun.management.jmxremote.authenticate=false 是否开启远程 阅读全文

posted @ 2016-01-28 15:25 舒润 阅读(1670) 评论(0) 推荐(0)

Zookeeper客户端使用
摘要:参考链接: http://blog.csdn.net/jason5186/article/details/46314381 http://ifeve.com/zookeeper-path-cache/ 阅读全文

posted @ 2016-01-27 17:43 舒润 阅读(195) 评论(0) 推荐(0)

SpringMVC 拦截器实现
摘要:SpringMvc实现拦截器方式一: SpringMvc实现拦截器方式二: UnLoginInteteceptor.java文件内容 阅读全文

posted @ 2016-01-21 14:01 舒润 阅读(431) 评论(0) 推荐(0)

JDK各个版本的新特性jdk1.5-jdk8
摘要:JDK各个版本的新特性 对于很多刚接触java语言的初学者来说,要了解一门语言,最好的方式就是要能从基础的版本进行了解,升级的过程,以及升级的新特性,这样才能循序渐进的学好一门语言。今天先为大家介绍一下JDK1.5版本到JDK1.7版本的特性。希望能给予帮助。JDK1.5新特性:1.自动装箱与拆箱:... 阅读全文

posted @ 2016-01-16 23:03 舒润 阅读(313) 评论(0) 推荐(0)

导航