- 浏览: 82858 次
- 性别:
- 来自: 西安
最新评论
文章列表
来自:http://www.haogongju.net/art/1223673
一、JVM的概念
通常我们所提到的“JVM”有着多重的意义,一般来讲,JVM既可以用来描述一个“抽象规范”,也可以用来描述一个规范的具体实现,同时还可以用来一个运行中的虚拟机实例。而JVM具体指这些含义中的哪一个,要根据该词所处的上下文环境来进行分析。
二、JVM的生存周期
一个JVM的作用就是用来负责运行一个
JVM GC之(一)垃圾回收算法
- 博客分类:
- JVM GC
来自:http://blog.csdn.net/java2000_wl/article/details/8022293
跟踪收集器
跟踪收集器采用的为集中式的管理方式,全局记录对象之间的引用状态,执行时从一些列GC Roots的对象做为起点,从这些节点向下开始进行搜索所有的引用链,当一个对象到GC Roots 没有任何引用链时,则证明此对象是不可用的。
下图中,对象Object6、Object7、Object8虽然互相引用,但他们的GC Roots是不可到达的
JVM GC之(三)gc参数设置与分析
- 博客分类:
- JVM GC
来自:http://hi.baidu.com/i1see1you/item/295c1dc81f91ab55bdef69e5
JVM gc参数设置与分析
一.概述
java的最大好处是自动垃圾回收,这样就无需我们手动的释放对象空间了,但是也产生了相应的负效果,gc是需要时间和资源的,不好的gc会 ...
JVM GC之(二)垃圾收集器
- 博客分类:
- JVM GC
来自:http://blog.csdn.net/java2000_wl/article/details/8030172
HotSpot JVM收集器
上面有7中收集器,分为两块,上面为新生代收集器,下面是老年代收集器。如果两个收集器之间存在连线,就说明它们可以搭配使用。
Serial(串行GC)收集器
Serial收集器是一个新生代收集器,单线程执行,使用复制算法。它在进行垃圾收集时,必须暂停其他所有的工作线程(用户线程)。是Jvm client模式下默认的新生代收集器。对于限定单个CPU的环境来说,Serial收集器由于没有线程交互 ...
来自:http://kingj.iteye.com/blog/1452427
除了加锁外,其实还有一种方式可以防止并发修改异常,这就是将读写分离技术(不是数据库上的)。
先回顾一下一个常识:
1、JAVA中“=”操作只是将引用和某个对象关联,假如同时有一个线程将引用指向另外一个对象,一个线程获取这个引用指向的对象,那么他们之间不会发生ConcurrentModificationException,他们是在虚拟机层面阻塞的,而且速度非常快,几乎不需要CPU时间。
2、JAVA中两个不同的引用指向同一个对象,当第一个引用指向另外一个对象时,第二个引用还将保持原来的对象。
基于上面 ...
来自:http://yaojialing.iteye.com/blog/717607
Java中的阻塞和非阻塞IO包各自的优劣思考 NIO 设计背后的基石:反应器模式,用于事件多路分离和分派的体系结构模式。 反应器(Reactor):用于事件多路分离和分派的体系结构模式 通 ...
设计模式之(二)动态代理
- 博客分类:
- 设计模式
来自:http://www.cnblogs.com/kongxx/archive/2005/08/08/209749.html
Java动态代理实现
在目前的Java开发包中包含了对动态代理的支持,但是其实现只支持对接口的的实现。
其实现主要通过是java.lang.reflect.Proxy类和java.lang.reflect.InvocationHandler接口。
Proxy类主要用来获取动态代理对象,InvocationHandler接口用来约束调用者实现,如下,HelloWorld接口定义的业务方法,
来自:http://weixiaolu.iteye.com/blog/1479656
Java NIO原理图文分析及代码实现 前言: 最近在分析hadoop的RPC(Remote Procedure Call Protocol ,远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协 ...
netty 源码分析之(九)框架API概述
- 博客分类:
- netty
来自:http://linugb118.blog.51cto.com/272628/418501
org.jboss.netty.bootstrap本身 Netty 可以作为一个server存在的,因此他存在启动入口,他具有client启动,server启动以及connectionless 启动(比如UDP)1.基类bootstrap:他包含ChannelFactory,ChannelPipeline,ChannelPipelineFactory。ClientBootstrap: 有connect()方法ConnectionlessBootstrap:有connect(),bind()方法S ...
来自:http://fbi.taobao.org/?p=64
看的主要是Netty的3.X版本,先贴一段Netty初始化代码
// ChannelFactory中主要是线程资源
ClientBootstrap bootstrap = new ClientBootstrap(
new NioClientSocketChannelFactory(
网络基础之(一)网络七层协议模型
- 博客分类:
- 网络基础
来自:http://book.51cto.com/art/200906/127291.htm
重点:IP是网络层,TCP/UDP是传输层,socket在传输层上,HTTP在第七层应用层
1.1.2 TCP/IP四层模型和OSI七层模型
表1-1是 TCP/IP四层模型和OSI七层模型对应表。我们把OSI七层网络模型和Linux TCP/IP四层概念模型对应,然后将各种网络协议归类。
表1-1 TCP/IP四层模型和OSI七层模型对应表
Java并发之并发与并行的区别
- 博客分类:
- Java并发
来自:http://developer.51cto.com/art/200908/141553.htm
并发和并行的区别:吃馒头的比喻
本文简单阐述了并发和并行的区别:一个处理器同时处理多个任务和多个处理器或者是多核的处理器同时处理多个不同的任务。
java并发之(六)离线锁
- 博客分类:
- Java并发
来自:http://www.blogjava.net/super2/archive/2008/11/01/237994.html
离线并发的来源
在Web项目中,离线并发显得尤其严重。例如,用户A和用户B同时修改数据库中的某张表的R行,加入R行有两个字段分别是C1,C2。
...
java 基础之蓉姐总结知识点
- 博客分类:
- Java基础
这是蓉姐总结的
1、初始化和清理
a. 在类中,构造器中调用构造器可以用this,继承是super,每个构造器只能调用一个
b. static方法内部不能调用非static方法
c. 重载方法需要完全独一无二的参数列表
d. 垃圾回收只与内存有关,java不允许创建局部对象,必须用new创建对象。
e. 内存泄露,实际上是无用的内存没有被及时回收,稳妥的做法是在对象被使用完成后,将对象赋值为null,对于强引用(普通的申明方式),只有显示赋值为null,GC
设计模式之(一.1)单例
- 博客分类:
- 设计模式
来自:http://www.jdon.com/designpatterns/singleton.htm
单态定义:Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。
在很多操作中,比如建立目录 数据库连接都需要这样的单线程操作。
还有, singleton能够被状态化; 这样,多个单态类在一起就可以作为一个状态仓库一样向外提供服务,比如,你要论坛中的帖子计数器,每次浏览一次需要计数,单态类能否保持住这个计数,并且能synchronize的安全自动加1,如果你要把这个数字永久保存到数据库,你可以在不修改单态接口的情况下方便的做到。
另外方面, ...