Java
文章平均质量分 80
yangany1_sjtu
这个作者很懒,什么都没留下…
展开
-
Java RTTI机制
运行时类型识别(Run-time Type Identification, RTTI)主要有两种方式,一种是我们在编译时和运行时已经知道了所有的类型,另外一种是功能强大的“反射”机制。要理解RTTI在Java中的工作原理,首先必须知道类型信息在运行时是如何表示的,这项工作是由“Class对象”完成的,它包含了与类有关的信息。类 是程序的重要组成部分,每个类都有一个Class对象转载 2013-05-19 16:16:48 · 787 阅读 · 0 评论 -
Java Object类方法
java.lang.Object java.lang包在使用的时候无需显示导入,编译时由编译器自动导入。 Object类是类层次结构的根,Java中所有的类从根本上都继承自这个类。 Object类是Java中唯一没有父类的类。 其他所有的类,包括标准容器类,比如数组,都继承了Object类中的方法。 Object类中的方法 构造方法转载 2014-08-23 11:21:46 · 1078 阅读 · 0 评论 -
java动态代理(JDK和cglib)
JAVA的动态代理 代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。 按照代理的创建时期,代理类可以分为转载 2014-08-23 13:45:31 · 429 阅读 · 0 评论 -
深入研究java.lang.ThreadLocal类
一、概述 ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。线程局部变量(ThreadLocal)其实的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是Java中一种较为特殊的线程绑定机制,是每一转载 2014-08-11 16:50:52 · 369 阅读 · 0 评论 -
Java代理模式
、代理模式所谓代理,就是一个人或者一个机构代表另一个人或者另一个机构采取行动。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之前起到中介的作用。代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。生活中的例子:过年加班比较忙,没空去买火车票,这时可以打个电话到附近的票务中心,叫他们帮你买张回家的火车票,当然这会附加额外的转载 2014-08-23 14:06:38 · 459 阅读 · 0 评论 -
Java CyclicBarrier
1、类说明:一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用。因为该 barrier 在释放等待线程后可以重用,所以称它为循环 的 barrier。2、使用场景:需要所有的子任务都完成时,才执行主任务,这个时候就转载 2014-08-13 09:58:12 · 478 阅读 · 0 评论 -
Java多线程 Callable Future FutureTask
1.CallableCallable是类似于Runnable的接口,实现Callable接口的类和实现Runnable的类都是可被其它线程执行的任务。Callable和Runnable有几点不同: (1)Callable规定的方法是call(),而Runnable规定的方法是run(). (2)Callable的任务执行后可返回值,而Runnable的任务是不能返回值的。 (3原创 2014-08-12 22:55:19 · 631 阅读 · 0 评论 -
Java虚拟机的JVM垃圾回收机制
1.JVM内存空间 JVM堆(Heap)= 新生代(Young) + 旧生代(Tenured) 分区作用: 新创建的对象通常先将其分配在新生代中,在新生代中经过若干次GC之后仍未释放的对象,再将它移动到旧生代。为了让内存回收更高效(GC会暂停JVM中的应用),Sun JDK在1.2开始对堆采用了分代管理的方式。在分配对象遇到内存不足时,先对新生代进行GC(Young GC转载 2014-08-14 21:40:41 · 409 阅读 · 0 评论 -
网络IO模型解析:同步IO和异步IO,阻塞IO和非阻塞IO的对比分析
本文讨论的背景是Linux环境下的network IO。本文最重要的参考文献是Richard Stevens的“UNIX? Network Programming Volume 1, Third Edition: The Sockets Networking ”,6.2节“I/O Models ”,Stevens在这节中详细说明了各种IO的特点和区别,如果英文够好的话,推荐直接阅读。Steve转载 2014-09-11 13:20:19 · 775 阅读 · 0 评论 -
JVM内存配置详解
前段时间在一个项目的性能测试中又发生了一次OOM(Out of swap sapce),情形和以前网店版的那次差不多,比上次更奇怪的是,此次搞了几天之后啥都没调整系统就自动好了,死活没法再重现之前的OOM了!问题虽然蹊跷,但也趁此机会再次对JVM堆模型、GC垃圾算法等进行了一次系统梳理; 基本概念 堆/Heap JVM管理的内存叫堆;在32Bit操作系统上有4G的限制,一般来说Wi转载 2014-08-23 10:33:50 · 606 阅读 · 0 评论 -
阿里巴巴常考面试题及汇总答案
个人总结,仅自己学习用。愿与大家一起分享!如有错误请指正。一、String,StringBuffer, StringBuilder 的区别是什么?String为什么是不可变的?答: 1、String是字符串常量,StringBuffer和StringBuilder都是字符串变量。后两者的字符内容可变,而前者创建后内容不可变。2、String不可变是因为在JDK中St转载 2014-08-23 10:22:29 · 248 阅读 · 0 评论 -
Java内存模型-jsr133规范介绍
最近在看《深入理解Java虚拟机:JVM高级特性与最佳实践》讲到了线程相关的细节知识,里面讲述了关于java内存模型,也就是jsr 133定义的规范。系统的看了jsr 133规范的前面几个章节的内容,觉得受益匪浅。废话不说,简要的介绍一下java内存规范。什么是内存规范在jsr-133中是这么定义的A memory model describes, given a转载 2014-07-30 22:48:54 · 603 阅读 · 0 评论 -
深入研究java.lang.ThreadLocal类
一、概述 ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。线程局部变量(ThreadLocal)其实的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是Java中一种较为特殊的线程绑定机制转载 2013-07-02 20:32:53 · 464 阅读 · 0 评论 -
控制反转&依赖注入DI
1.(通俗的解释)Spring 中的技术,有别于一般的设计实现方式.控制反转(IoC = Inversion of Control)IoC,用白话来讲,就是由容器控制程序之间的关系,而非传统实现中,由程序代码直接操控。这也就是所谓“控制反转”的概念所在:控制权由应用代码中转到了外部容器,控制权的转移,是所谓反转。USB接口例子:笔记本电脑与外围存储设备通过预先指定的一个接口(U转载 2013-07-05 14:52:54 · 801 阅读 · 0 评论 -
java查看内存工具jmap
因为项目的原因服务器内存溢出,需要查看内存的使用情况,搜了下发现jmap可以跟踪java的内存分配情况windows下使用方法:1、首先用进入命令行用tasklist查看运行的java程序的pid2、jmap -histo pid > E:\output.txt 将内存信息输出到文件中3、打开文件如下:num #instances #bytes clas原创 2013-08-06 14:42:12 · 1195 阅读 · 0 评论 -
Java虚拟机(JVM)中的内存设置详解
转自http://www.cnblogs.com/zcshan/archive/2011/03/10/jvm.html在一些规模稍大的应用中,Java虚拟机(JVM)的内存设置尤为重要,想在项目中取得好的效率,GC(垃圾回收)的设置是第一步。PermGen space:全称是Permanent Generation space.就是说是永久保存的区域,用于存放Class转载 2013-08-16 17:34:43 · 532 阅读 · 0 评论 -
eclipse设置智能提示
eclipse智能提示今天有点时间,研究了一下MyEclispse的智能感知的功能。刚开始使用它时总是感觉如此不爽→智能感知功能太弱!与Visual Studio2008简直不是一个档次的!不过后来经过查看网上的资料发现它也并非如此的弱,就在上周我自己玩弄它时就发现可以通过如下设置来修改它的智 能感知的提示时间:Windows→Preferences→Java→Ed转载 2013-09-01 16:14:30 · 1054 阅读 · 0 评论 -
java工程师15本必读书籍推荐
一、Java编程入门类 对于没有Java编程经验的程序员要入门,随便读什么入门书籍都一样,这个阶段需要你快速的掌握Java基础语法和基本用法,宗旨就是“囫囵吞枣不求甚解”,先对Java熟悉起来再说。用很短的时间快速过一遍Java语法,连懵带猜多写写代码,要“知其然”。1、《Java编程思想》下载地址:http://www.shangxueba.co转载 2013-09-01 20:06:16 · 617 阅读 · 0 评论 -
Apache Commons工具集简介
Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动。我选了一些比较常用的项目做简单介绍。文中用了很多网上现成的东西,我只是做了一个汇总整理。一、Commons BeanUtilshttp://jakarta.apache.org/commons/beanutils/index.html说明:针对Bean的一个工具集。由于Bean转载 2013-11-12 15:41:21 · 662 阅读 · 0 评论 -
Java内存分配
本文将由浅入深详细介绍Java内存分配的原理,以帮助新手更轻松的学习Java。这类文章网上有很多,但大多比较零碎。本文从认知过程角度出发,将带给读者一个系统的介绍。进入正题前首先要知道的是Java程序运行在JVM(Java Virtual Machine,Java虚拟机)上,可以把JVM理解成Java程序和操作系统之间的桥梁,JVM实现了Java的平台无关性,由此可见JVM的重要性。所以在转载 2014-04-17 23:22:43 · 593 阅读 · 0 评论 -
java volatile by Brian Goetz
volatile 变量使用指南Java™ 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量。这两种机制的提出都是为了实现代码线程的安全性。其中 Volatile 变量的同步性较差(但有时它更简单并且开销更低),而且其使用也更容易出错。在这期的 Java 理论与实践 中,Brian Goetz 将介绍几种正确使用 volatile 变量的模式,并针对转载 2014-07-30 22:16:20 · 464 阅读 · 0 评论 -
java多线程模式ThreadLocal原理简述及其使用详解
原创整理不易,转载请注明出处:java多线程模式ThreadLocal原理简述及其使用详解代码下载地址:http://www.zuidaima.com/share/1781557457128448.htmThreadLocal是为了使每个线程保存一份属于自己的数据。先看一个使用ThreadLocal的实例。[java] view plaincopy转载 2014-09-03 12:53:17 · 461 阅读 · 0 评论