
JAVA 基础
文章平均质量分 58
怎么连话都说不清楚
这个作者很懒,什么都没留下…
展开
-
Java的30个常见问题
本文回答了30个Java入门级初学者的常见问题。 我可以用%除以一个小数吗? a += b 和 a = a + b 的效果有区别吗? 声明一个数组为什么需要花费大量时间? 为什么Java库不用随机pivot方式的快速排序?1.2 基本数据类型Q. 为什么 -0/3 结果是 0,而 -0.0/3.0 结果是 -0.0?(注意后边的结果0带负号)A. 在Java里,转载 2013-03-04 21:51:23 · 575 阅读 · 0 评论 -
深入理解Java虚拟机
在C里面我们想执行一段自己编写的机器指令的方法大概如下:typedef void(*FUNC)(int); char* str = "your code"; FUNC f = (FUNC)str; (*f)(0); 也就是说,我们完全可以做一个工具,从一个文件中读入指令,然后将这些指令运行起来。上面代码中“编好的机器指令”当然指的是能在CPU上运行的,如果这里我还实现了一个翻译机转载 2012-11-20 19:25:14 · 468 阅读 · 0 评论 -
Java多线程程序设计详细解析
多线程是这样一种机制,它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立。线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线程没有独立的存储空间,而是和所属进程中的其它线程共享一个存储空间,这使得线程间的通信远较进程简单。多个线程的执行是并发的,也就是在逻辑上“同时”,而不管是否是物理上的“同时”。如果系统只有一个CPU,那么真正的转载 2012-11-20 20:09:32 · 400 阅读 · 0 评论 -
Java面向对象学习
一、 类、对象、方法和变量 1. 类是一批对象的抽象,对象是具体存在的实体。可以把类当做一种抽象的数据类型,使用类来定义的变量成为引用型变量。 2. 类中包含的三种成员:构造器,属性和方法;各成员之间的定义顺序没有任何影响,各成员之间可以相互调用;构造器是一个类创建对象的根本途径,如果在Java中一个类没有定义,则系统会提供一个默认的无参数的构造器。 3. 使用new关键字调原创 2012-11-10 09:11:28 · 459 阅读 · 0 评论 -
应该远离的6个Java特性
本文来源于我在InfoQ中文站原创的文章,原文地址是:http://www.infoq.com/cn/news/2013/11/six-java-features-to-avoidNikita Salnikov Tarnovski是plumbr的高级开发者,也是一位应用性能调优的专家,他拥有多年的性能调优经验。近日,Tarnovski撰文谈到了普通开发者应该尽量避免使用的6个J转载 2013-11-13 22:24:57 · 879 阅读 · 0 评论 -
JAVA垃圾回收机制分析
引言 Java的堆是一个运行时数据区,类的实例(对象)从中分配空间。Java虚拟机(JVM)的堆中储存着正在运行的应用程序所建立的所有对象,这些对象通过new、newarray、anewarray和multianewarray等指令建立,但是它们不需要程序代码来显式地释放。一般来说,堆的是由垃圾回收 来负责的,尽管JVM规范并不要求特殊的垃圾回收技术,甚至根本就不需要垃圾回收,但是由于转载 2014-05-23 17:54:51 · 619 阅读 · 0 评论 -
Java程序员面试中的多线程问题
很多核心Java面试题来源于多线程(Multi-Threading)和集合框架(Collections Framework),理解核心线程概念时,娴熟的实际经验是必需的。这篇文章收集了 Java 线程方面一些典型的问题,这些问题经常被高级工程师所问到。0.Java 中多线程同步是什么?在多线程程序下,同步能控制对共享资源的访问。如果没有同步,当一个 Java 线程在修改一个共享变量原创 2012-11-10 09:21:02 · 445 阅读 · 0 评论 -
java中的堆和栈
1.简单的说:Java把内存划分成两种:一种是栈内存,一种是堆内存。在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。堆内存用来存放由new创建的对象和数组。在堆中分配的内存,由Java虚拟机的转载 2013-09-16 10:37:36 · 517 阅读 · 0 评论 -
写Java程序的要遵守的规则
(1) 类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。例如: ThisIsAClassName thisIsMethodOrFieldName 若在定义中出现了常数初始化字符,则大写static final基本类型标识符中的所有字母。这样便可标志出它们属于编译期的常数。转载 2012-11-10 09:10:06 · 1697 阅读 · 0 评论 -
分析Java类加载全过程
今天去涉猎了一下类的加载的过程,现在也总结一下:一个java文件从被加载到被卸载这个生命过程,总共要经历4个阶段:加载->链接(验证+准备+解析)->初始化(使用前的准备)->使用->卸载其中加载(除了自定义加载)+链接的过程是完全由jvm负责的,什么时候要对类进行初始化工作(加载+链接在此之前已经完成了),jvm有严格的规定(四种情况):1.遇到new,getst转载 2012-11-20 19:27:21 · 438 阅读 · 0 评论 -
Java的30个基本概念
在我们学习Java的过程中,掌握其中的基本概念对我们的学习无论是J2SE,J2EE,J2ME都是很重要的,J2SE是Java的基础,所以有必要对其中的基本概念做以归纳,以便大家在以后的学习过程中更好的理解java的精髓,在此我总结了30条基本的概念. Java概述: 目前Java主要应用于中间件的开发(middleware)---处理客户机于服务器之间的通信技术,早期转载 2013-09-03 08:54:01 · 683 阅读 · 0 评论 -
Java 枚举常见7种用法
用法一:常量在JDK1.5 之前,我们定义常量都是: publicstaticfianl....。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。Java代码 public enum Color {RED, GREEN, BLANK, YELLOW}用法二:switch转载 2013-01-08 19:44:08 · 467 阅读 · 0 评论 -
ObjectInputStream类和ObjectInputStream类的使用
ObjectInputStream和ObjectInputStream类创建的对象被称为对象输入流和对象输出流。创建文件输出流代码:FileOutputStream file_out = new FileOutputStream(“student.dat”);ObjectOutputStream object_out = new ObjectOutputStream(file_out)转载 2013-09-11 09:46:10 · 10853 阅读 · 0 评论 -
115个Java面试题和答案——终极列表
本文我们将要讨论Java面试中的各种不同类型的面试题,它们可以让雇主测试应聘者的Java和通用的面向对象编程的能力。下面的章节分为上下两篇,第一篇将要讨论面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,第二篇主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servlet和JSP。开始!目录面向对象编转载 2014-04-23 16:28:24 · 5048 阅读 · 2 评论 -
Java集合框架使用总结
Java集合框架使用总结 前言:本文是对Java集合框架做了一个概括性的解说,目的是对Java集合框架体系有个总体认识,如果你想学习具体的接口和类的使用方法,请参看Java API文档。 一、概述数据结构对程序设计有着深远的影响,在面向过程的C语言中,数据库结构用struct来描述,而在面向对象的编程中,数据结构是用类来描述的,并且包含有对该数据结构操作的方法。转载 2014-05-23 12:14:49 · 757 阅读 · 0 评论 -
8张图理解Java
一图胜千言,下面图解均来自Program Creek 网站的Java教程,目前它们拥有最多的票选。如果图解没有阐明问题,那么你可以借助它的标题来一窥究竟。1、字符串不变性下面这张图展示了这段代码做了什么12String s = "abcd";s = s.concat("ef");转载 2014-06-12 12:36:48 · 751 阅读 · 0 评论 -
Java的垃圾回收之算法
引言 Java的堆是一个运行时数据区,类的实例(对象)从中分配空间。Java虚拟机(JVM)的堆中储存着正在运行的应用程序所建立的所有对象,这些对象通过new、newarray、anewarray和multianewarray等指令建立,但是它们不需要程序代码来显式地释放。一般来说,堆的是由垃圾回收 来负责的,尽管JVM规范并不要求特殊的垃圾回收技术,甚至根本就不需要垃圾回收,但是转载 2014-04-15 18:00:04 · 544 阅读 · 0 评论 -
Java线程同步
/* * 1.同步方法 * synchronized 方法声明 * { * //方法体 * } * * 2.同步块 * synchronized(资源对象) * { * //需要进行同步的方法 * } * */1.代码示例:public class ThreadClass{ public static void main(String args[]) {原创 2012-11-11 11:10:19 · 458 阅读 · 0 评论 -
网络编程
UDP代码示例:class UdpShiyan{ public static void main(String[] args)throws Exception { DatagramSocket sendSocket=new DatagramSocket();//发送端的socket DatagramSocket receSocket=new DatagramSocket(1000原创 2012-11-22 20:26:53 · 399 阅读 · 0 评论