JAVA基础
文章平均质量分 82
just_keep_it_simple
这个作者很懒,什么都没留下…
展开
-
深入java虚拟机(四)——java虚拟机的垃圾回收机制
Java语言从出现到现在,一直占据编程语言前列,他很大的一个原因就是由于java应用程序所运行的平台有关。我们大家都知道java应用程序运行在java虚拟机上。这样就大大减少了java应用程序和底层操作系统打交道的频率。这也就为java程序的跨平台提供了良好的基础。在java虚拟机中为我们提供了一个很重要的机制就是java虚拟机的自动的内存管理机制。也就是我们平时所说的垃圾回收机制,这使得开发人员转载 2013-11-02 20:55:17 · 649 阅读 · 0 评论 -
深入java虚拟机(一)——java虚拟机底层结构详解
在以前的博客里面,我们介绍了在java领域中大部分的知识点,从最基础的java最基本语法到SSH框架。这里面应该包含了在java领域里面的大部分内容了吧。但是,那些知识点是让我们从一个应用的层面上了解了java,java程序真正底层的运行机制和一些底层虚拟机的工作我们还不了解,虽然这些内容在我们真正的开发中几乎用不到这些底层的东西,但对于我们对java的理解会有比较大的帮助。尤其也对以后java开转载 2013-11-02 19:26:39 · 763 阅读 · 0 评论 -
JAVA中异常处理问题
六种异常处理的陋习你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗? 1 OutputStreamWriter out = ... 2 java.sql.Connection conn = ... 3 try { // ⑸ 4 Statement stat = conn.create转载 2013-10-25 16:48:33 · 732 阅读 · 0 评论 -
Hashset、Hashmap、Hashtable与hashcode()和equals()的密切关系
Hashset是继承Set接口,Set接口又实现Collection接口,这是层次关系。那么Hashset、Hashmap、Hashtable中的存储操作是根据什么原理来存取对象的呢? 下面以HashSet为例进行分析,我们都知道:在hashset中不允许出现重复对象,元素的位置也是不确定的。在hashset中又是怎样判定元素是否重复的呢?在java的集合中,判断两个对象是否原创 2014-04-25 10:51:56 · 646 阅读 · 0 评论 -
Essential skills any web developer should have
s a web developer, besides writing HTML code, there is much more to do before the site can go live. You may consider about user experience, device compatibility, security etc. To be a good web develop转载 2014-03-23 11:02:19 · 753 阅读 · 0 评论 -
JAVA中StringBuffer与String的区别
StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。 所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用StringBuffer要更加适合一些。 在原创 2014-02-20 08:49:32 · 1049 阅读 · 1 评论 -
String.contains(CharSequence s)
jdk中对String.contains(CharSequence s) 方法的实现: /** * Code shared by String and StringBuffer to do searches. The * source is the character array being searched, and the target * is the原创 2014-12-10 17:24:18 · 2210 阅读 · 0 评论 -
虚拟机的理解
什么是Java虚拟机作为一个Java程序员,我们每天都在写Java代码,我们写的代码都是在一个叫做Java虚拟机的东西上执行的。但是如果要问什么是虚拟机,恐怕很多人就会模棱两可了。在本文中,我会写下我对虚拟机的理解。因为能力所限,可能有些地方描述的不够欠当。如果你有不同的理解,欢迎交流。我们都知道java程序必须在虚拟机上运行。那么虚拟机到底是什么呢?先看网上搜索到的比较靠谱的转载 2014-04-17 11:59:10 · 1353 阅读 · 0 评论 -
分布式处理————MapReduce的原理、例子与工作机制
MapReduce的原理、例子与工作机制http://www.itmian4.com/forum.php?mod=viewthread&tid=4764转载 2014-05-11 12:22:17 · 561 阅读 · 0 评论 -
深入java虚拟机(二)——类的生命周期(上)类的加载和连接
类加载器,顾名思义,类加载器(class loader)用来加载 Java 类到 Java 虚拟机中。一般来说,Java 虚拟机使用 Java 类的方式如下:Java 源程序(.java 文件)在经过 Java 编译器编译之后就被转换成 Java 字节代码(.class 文件)。类加载器负责读取 Java 字节代码,并转换成 java.lang.Class类的一个实例。每个这样的实例用来表示一个转载 2013-11-02 20:16:55 · 666 阅读 · 0 评论 -
深入java虚拟机(五)——java本地接口JNI详解 .
对于java程序员来说,java语言的好处和优点,我想不用我说了,大家自然会说出很多一套套的。但虽然我们作为java程序员,但我们不得不承认java语言也有一些它本身的缺点。比如在性能、和底层打交道方面都有它的缺点。所以java就提供了一些本地接口,他主要的作用就是提供一个标准的方式让java程序通过虚拟机与原生代码进行交互,这也就是我们平常常说的java本地接口(JNI——java native原创 2013-11-02 21:21:06 · 825 阅读 · 0 评论 -
ArrayList的实现
ArrayList的基本功能实现(忽略了jdk中复杂的继承基类等关系):import java.util.Arrays;/** * Created by smallstrong on 14-12-10. */public class MyArrayList{ private int size;// ArrayList中实际放入数据的个数 transient Objec原创 2014-12-10 13:54:33 · 454 阅读 · 0 评论 -
BigDecimal使用分析
由于对float或double 的使用不当,可能会出现精度丢失的问题。问题大概情况可以通过如下代码理解:Java代码 public class FloatDoubleTest { public static void main(String[] args) { float f = 20014999; double原创 2014-05-25 09:30:58 · 566 阅读 · 0 评论 -
java HashMap的原理
HashMap的数据结构: 在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,HashMap也不例外。HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体。 从上图中可以看出,HashMap底层就是一个数组结构,数组中的每一项又是一个链表。当新建一个HashMap的时候,就会初始化原创 2013-11-09 16:28:54 · 959 阅读 · 0 评论 -
深入java虚拟机(三)——类的生命周期(下)类的初始化
上接深入java虚拟机——深入java虚拟机(二)——类加载器详解(上),在上一篇文章中,我们讲解了类的生命周期的加载和连接,这一篇我们接着上面往下看。 类的初始化:在类的生命周期执行完加载和连接之后就开始了类的初始化。在类的初始化阶段,java虚拟机执行类的初始化语句,为类的静态变量赋值,在程序中,类的初始化有两种途径:(1)在变量的声明处赋值。(2)在静态代码块处赋值,转载 2013-11-02 20:33:35 · 701 阅读 · 0 评论