java se
文章平均质量分 83
pillosz
这个作者很懒,什么都没留下…
展开
-
Java中堆、栈、常量池等概念解析
程序运行时,我们最好对数据保存到什么地方做到心中有数。特别要注意的是内存的分配。有六个地方都可以保存数据:(1) 寄存器。这是最快的保存区域,因为它位于和其他所有保存方式不同的地方:处理器内部。然而,寄存器的数量十分有限,所以寄存器是根据需要由编译器分配。我们对此没有直接的控制权,也不可能在自己的程序里找到寄存器存在的任何踪迹。(2) 栈(stack)。存放基本类型的变量数据和对象翻译 2014-08-21 14:57:38 · 263 阅读 · 0 评论 -
深入java虚拟机(八)开发自己的类加载器
在大多数情况下,系统默认提供的类加载器实现已经可以满足需求。但是在某些情况下,您还是需要为应用开发出自己的类加载器。比如您的应用通过网络来传输 Java 类的字节代码,为了保证安全性,这些字节代码经过了加密处理。这个时候您就需要自己的类加载器来从某个网络地址上读取加密后的字节代码,接着进行解密和验证,最后定义出要在 Java 虚拟机中运行的类来。下面将通过两个具体的实例来说明类加载器的开发。翻译 2014-08-21 15:12:19 · 338 阅读 · 0 评论 -
深入java虚拟机(七)深入源码看java类加载器ClassLoader
ClassLoader类加载器是负责加载类的对象。ClassLoader 类是一个抽象类。如果给定类的二进制名称(即为包名加类名的全称),那么类加载器会试图查找或生成构成类定义的数据。一般策略是将名称转换为某个文件名,然后从文件系统读取该名称的“类文件”。java.lang.ClassLoader类的基本职责就是根据一个指定的类的名称,找到或者生成其对应的字节代码,然后从这些字节代码中定义出一个翻译 2014-08-21 15:12:40 · 407 阅读 · 0 评论 -
深入java虚拟机(四)——java虚拟机的垃圾回收机制
Java语言从出现到现在,一直占据编程语言前列,他很大的一个原因就是由于java应用程序所运行的平台有关。我们大家都知道java应用程序运行在java虚拟机上。这样就大大减少了java应用程序和底层操作系统打交道的频率。这也就为java程序的跨平台提供了良好的基础。在java虚拟机中为我们提供了一个很重要的机制就是java虚拟机的自动的内存管理机制。也就是我们平时所说的垃圾回收机制,这使得开发人员翻译 2014-08-21 15:10:27 · 327 阅读 · 0 评论 -
深入java虚拟机(三)——类的生命周期(下)类的初始化
上接深入java虚拟机——深入java虚拟机(二)——类加载器详解(上),在上一篇文章中,我们讲解了类的生命周期的加载和连接,这一篇我们接着上面往下看。 类的初始化:在类的生命周期执行完加载和连接之后就开始了类的初始化。在类的初始化阶段,java虚拟机执行类的初始化语句,为类的静态变量赋值,在程序中,类的初始化有两种途径:(1)在变量的声明处赋值。(2)在静态代码块翻译 2014-08-21 15:09:35 · 348 阅读 · 0 评论 -
深入java虚拟机(一)——java虚拟机底层结构详解
在以前的博客里面,我们介绍了在java领域中大部分的知识点,从最基础的java最基本语法到SSH框架。这里面应该包含了在java领域里面的大部分内容了吧。但是,那些知识点是让我们从一个应用的层面上了解了java,java程序真正底层的运行机制和一些底层虚拟机的工作我们还不了解,虽然这些内容在我们真正的开发中几乎用不到这些底层的东西,但对于我们对java的理解会有比较大的帮助。尤其也对以后java开翻译 2014-08-21 15:05:29 · 378 阅读 · 0 评论 -
深入java虚拟机(二)——类的生命周期(上)类的加载和连接
类加载器,顾名思义,类加载器(class loader)用来加载 Java 类到 Java 虚拟机中。一般来说,Java 虚拟机使用 Java 类的方式如下:Java 源程序(.java 文件)在经过 Java 编译器编译之后就被转换成 Java 字节代码(.class 文件)。类加载器负责读取 Java 字节代码,并转换成 java.lang.Class类的一个实例。每个这样的实例用来表示一个翻译 2014-08-21 15:08:15 · 393 阅读 · 0 评论 -
java在线预览txt、word、ppt、execel,pdf代码
在页面上显示各种文档中的内容。在servlet中的逻辑word: BufferedInputStream bis = null; URL url = null; HttpURLConnection httpUrl = null; // 建立链接 url = new URL(urlReal); httpUrl = (HttpURLConnection) url翻译 2014-08-21 15:05:55 · 795 阅读 · 0 评论 -
java runtime.exec() 的编写详细介绍
那就首先说点Runtime类吧,他是一个与JVM运行时环境有关的类,这个类是Singleton的。我说几个自己觉得重要的地方。1、Runtime.getRuntime()可以取得当前JVM的运行时环境,这也是在Java中唯一一个得到运行时环境的方法。2、Runtime上其他大部分的方法都是实例方法,也就是说每次进行运行时调用时都要用到getRuntime方法。3、Runti翻译 2014-08-21 15:05:08 · 313 阅读 · 0 评论 -
巧用while循环避免执行除了异常处理的的另一个处理机制
今天利用try。。。catch捕获异常。。。我的意愿是如果有异常,捕获异常。。执行catch里面语句(往界面输出一个错误界面框架)如果没有异常的话。。就执行catch下面的语句(往界面输出正确界面框架)可是结果令我有点头疼。。。因为不管有没有异常都会执行catch下面的语句(往界面输出正确界面框架) 呵呵。。情急之下。。想了一个巧妙的方法解决了这个问题。。给翻译 2014-08-21 15:04:20 · 1294 阅读 · 0 评论 -
java读写文本文件大全
使用Java操作文本文件的方法详解摘要: 最初java是不支持对文本文件的处理的,为了弥补这个缺憾而引入了Reader和Writer两个类最初java是不支持对文本文件的处理的,为了弥补这个缺憾而引入了Reader和Writer两个类,这两个类都是抽象类,Writer中 write(char[] ch,int off,intlength),flush()和close()方法翻译 2014-08-21 15:03:03 · 331 阅读 · 0 评论 -
java 集合ArrayList及LinkList源码分析
首先是ArrayList的继承体系,代码如下:Java代码 public class ArrayList extends AbstractList implements List, RandomAccess, Cloneable, java.io.Serializable [java] view plaincop翻译 2014-08-21 15:00:16 · 369 阅读 · 0 评论 -
java核心之内容分配管理
JAVA内存分配与管理是Java的核心技术之一,之前我们曾介绍过Java的内存管理与内存泄露以及Java垃圾回收方面的知识,今天我们再次深入Java核心,详细介绍一下Java在内存分配方面的知识。一般Java在内存分配时会涉及到以下区域:寄存器:我们在程序中无法控制栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中堆:存放用new产生的数据静翻译 2014-08-21 14:58:19 · 246 阅读 · 0 评论 -
JDK5.0中JVM堆模型、GC垃圾收集详细解析 .
前段时间在一个项目的性能测试中又发生了一次OOM(Out of swap sapce),情形和以前网店版的那次差不多,比上次更奇怪的是,此次搞了几天之后啥都没调整系统就自动好了,死活没法再重现之前的OOM了!问题虽然蹊跷,但也趁此机会再次对JVM堆模型、GC垃圾算法等进行了一次系统梳理;基本概念堆/HeapJVM管理的内存叫堆;在32Bit操作系统上有4G的限制,一般来说Windo翻译 2014-08-21 14:56:50 · 317 阅读 · 0 评论 -
Java程序员面试中的多线程问题
很多核心Java面试题来源于多线程(Multi-Threading)和集合框架(Collections Framework),理解核心线程概念时,娴熟的实际经验是必需的。这篇文章收集了 Java 线程方面一些典型的问题,这些问题经常被高级工程师所问到。0.Java 中多线程同步是什么?在多线程程序下,同步能控制对共享资源的访问。如果没有同步,当一个 Java 线程在修改一个共享变量翻译 2014-08-21 14:55:46 · 252 阅读 · 0 评论 -
深入java虚拟机(六)——类加载的父亲委托机制
在前面两篇博客中我们简单介绍了类加载器的基础和类的生命周期的基础内容,今天我们来继续深入的来看一下java的类加载器的详细内容。我们都知道。类加载器用来把类加载到java虚拟机。从JDK2.0开始,类的加载过程采用父亲委托机制。JVM的ClassLoader采用的是树形结构,除了根类加载器以外,每个ClassLoader都会有且仅有一个父类加载器,用户自定义的ClassLoader默认的父类加载器翻译 2014-08-21 15:10:15 · 348 阅读 · 0 评论 -
深入java虚拟机(五)——java本地接口JNI详解
对于java程序员来说,java语言的好处和优点,我想不用我说了,大家自然会说出很多一套套的。但虽然我们作为java程序员,但我们不得不承认java语言也有一些它本身的缺点。比如在性能、和底层打交道方面都有它的缺点。所以java就提供了一些本地接口,他主要的作用就是提供一个标准的方式让java程序通过虚拟机与原生代码进行交互,这也就是我们平常常说的java本地接口(JNI——java native翻译 2014-08-21 15:11:08 · 523 阅读 · 0 评论 -
泛型详解:什么是泛型???
什么是泛型 我们在编写程序时,经常遇到两个模块的功能非常相似,只是一个是处理int数据,另一个是处理string数据,或者其他自定义的数据类型,但我们没有办法,只能分别写多个方法处理每个数据类型,因为方法的参数类型不同。有没有一种办法,在方法中传入通用的数据类型,这样不就可以合并代码了吗?泛型的出现就是专门解决这个问题的。读完本篇文章,你会对泛型有更深的了解。 为什么要翻译 2014-08-21 14:59:01 · 649 阅读 · 0 评论 -
IO 的一般使用原则
一、按数据来源(去向)分类:1 、是文件: FileInputStream, FileOutputStream, ( 字节流 )FileReader, FileWriter( 字符 )2 、是 byte[] : ByteArrayInputStream, ByteArrayOutputStream( 字节流 )3 、是 Char[]: CharArrayReader, CharArra翻译 2014-09-23 09:44:40 · 545 阅读 · 0 评论