Java基础
文章平均质量分 84
单向街的夏天
每天进步一点点
展开
-
JSON总结及其解析(Java---vs--PHP)
一、JSON介绍JSON(JavaScript Object Notation),类似于XML,是一种数据交换格式,比如JAVA产生了一个数据想要给JavaScript,则除了利用XML外,还可以利用JSON;JSON相比XML的优势是表达起来很简单;官网:http://www.json.org/JSON是AJAX中的X(就是可以取代XML);原创 2012-07-10 11:40:14 · 1521 阅读 · 0 评论 -
Log4j日志输出配置及Demo
java一些基础问题(听说是java应聘者老被问的问题!)1、作用域public,private,protected,以及不写时的区别答:区别如下:作用域 当前类 同一package 子孙类 其他packagepublic √ √原创 2012-11-11 22:32:17 · 1169 阅读 · 0 评论 -
使用Dom4j读写XML简介
要使用dom4j读写XML文档,需要先下载dom4j包,dom4j官方网站在 http://www.dom4j.org/目前最新dom4j包下载地址:http://nchc.dl.sourceforge.net/sourceforge/dom4j/dom4j-1.6.1.zip解开后有两个包,仅操作XML文档的话把dom4j-1.6.1.jar加入工程就可以了,如果需要使用XPat原创 2013-03-12 13:29:42 · 862 阅读 · 0 评论 -
java.util.Properties类---VS--properties文件
一 java.util.Properties类 学习目标:1、认识properties文件,理解其含义,会正确创建properties文件。2、会使用java.util.Properties类来操作properties文件。3、掌握相对路径,能正确书写一个properties文件的相对路径。一、认识properties文件1、properti原创 2013-07-03 14:00:04 · 978 阅读 · 0 评论 -
Java是传值的
一示例理解 java程序只有传值,没有传引用,传地址的说法。但是传递的值可以是具体的数值,也可以是一个对象的引用。可以用这样一句话来描述“java函数是传值的,java函数传递的参数是对象的引用”。 我看到过几个解释这个问题的例子,不过个人感觉看过例子之后还是只知道是什么不知道为什么,停留在照猫画虎的水平上还是挺容易出问题的。所以举例子之前,先从jvm的实现原理上有个了解应当原创 2013-07-24 19:47:25 · 903 阅读 · 0 评论 -
Java:编译时与运行时
在开发和设计的时候,我们需要考虑编译时,运行时以及构建时这三个概念。理解这几个概念可以更好地帮助你去了解一些基本的原理。下面是初学者晋级中级水平需要知道的一些问题。Q.下面的代码片段中,行A和行B所标识的代码有什么区别呢?12345678910111213原创 2013-07-24 16:35:52 · 1069 阅读 · 0 评论 -
Arrays.asList()方法注意
错误情况Java代码 import java.util.Arrays; import java.util.List; public class TestAsList { public static void main(String[] args) { String[] str = new String[]{原创 2013-07-12 21:13:51 · 1489 阅读 · 0 评论 -
关键字this、super、final、static、synchronized及 中断线程的方法
java中的this随处可见,用法也多,现在整理有四点:1 this是指当前对象自己。 当在一个类中要明确指出使用对象自己的的变量或函数时就应该加上this引用。如下面这个例子中: public class Hello { String s = "Hello"; public Hello(String s){ Syste原创 2013-05-05 20:01:21 · 1341 阅读 · 1 评论 -
String,SringBuffer和 StringBuilder的区别
1 简单介绍 简要的说,String类型和StringBuffer类型的主要性能区别其实在于 String 是不可变的对象,因此在每次对String类型进行改变的时候其实都等同于生成了一个新的 String对象,然后将指针指向新的String对象,所以经常改变内容的字符串最好不要用 String,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后, JVM 的GC原创 2012-09-14 22:48:56 · 1702 阅读 · 0 评论 -
Java 基础知识巩固(二)--持续更新
一 构造函数的相关注意 1 构造函数的修饰符 默认构造器的修饰符只跟当前类的修饰符有关。 比如B如果是public的,则默认构造方法是public的。 如果B是默认的访问权限,则构造方法相同。 当B是内部类是,前面也可以有protected,private等,默认原创 2013-08-03 22:02:42 · 1732 阅读 · 0 评论 -
Jackson--protobuf序列化积累
最近使用了jackson json来格式化数据输出,但是反序列化生成对象的时候碰到点麻烦,jackson把数据默认解析成了Map对象,经查询文档,问题解决,在ObjectMapper的readvalue方法中按Object所使用的类型声明即可,代码如下:Map srcMap = new LinkedHashMap();Map destMap;String jso原创 2014-03-19 18:08:09 · 4001 阅读 · 1 评论 -
Java 基础知识巩固(一)
一 java基本类型的转换的注意 1.1 复合操作自动实现窄化转换 对两个容量不一样的数据类型的变量进行算术运算时,java会自动将小容量的变量进行精度提升,然后再进行运算,得到的结果类型是提升后的大容量的数据类型.如果将该结果赋值给小容量的数据类型的变量,则必须进行强制的类型转换,否则编译程序会报损失精度错.例如:char c='a';int原创 2012-09-14 22:55:16 · 1263 阅读 · 0 评论 -
Java异常的栈轨迹及Java Exception性能问题
捕获到异常时,往往需要进行一些处理。比较简单直接的方式就是打印异常栈轨迹Stack Trace。说起栈轨迹,可能很多人和我一样,第一反应就是printStackTrace()方法。其实除了这个方法,还有一些别的内容也是和栈轨迹有关的。 1.printStackTrace() 首先需要明确,这个方法并不是来自于Exception类。Exception类本身除了定义了几个构造原创 2012-11-29 19:44:20 · 2439 阅读 · 0 评论 -
继承过程中重载VS重写---(重写规则)
一 子类---父类 中成员变量的继承及this--super 访问变量看声明,访问方法看实际对象类型(new出来的类型)子类从父类继承分成两种:1.方法的继承: 方法的继承,父类直接把自己的方法转移到子类中去,当然前提是父类的方法修饰符的访问范围是子类可以访问的范围,但是如果子类已经重写了父类的方法,这时候这原创 2013-07-24 10:32:27 · 1184 阅读 · 0 评论 -
Map遍历的两种方式(首推entrySet())--遍历Map时删除元素的方法
第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.next(); Object key = entry.getKey(); Obje原创 2012-11-12 10:23:36 · 11914 阅读 · 0 评论 -
随机不重复排序算法及Java产生随机数的3种方式
问题描述 给定任意个不重复的数字,对其进行随机排序算法分析 首先想到可以将给定的数字放在一个集合A中,初步定为一个ArrayList,这样,可以用A集合的长度来做为随机数的基数,取出一个数x,放到结果集合B中,然后将数x从A集合删除;接着用A集合剩下的长度作为基础重复上一步操作,最终可以得到结果集合B。考虑到用Arraylist删除比较慢,可以用Link原创 2013-07-12 23:04:02 · 4969 阅读 · 0 评论 -
常用回顾8------NIO (Java网络服务器编程(NIO版))
本文简介: JDK 1.4 中引入的新输入输出 (NIO) 库在标准 Java 代码中提供了高速的、面向块的 I/O。本实用教程从高级概念到底层的编程细节,非常详细地介绍了 NIO 库。您将学到诸如缓冲区和通道这样的关键 I/O 元素的知识,并考察更新后的库中的标准 I/O 是如何工作的。您还将了解只能通过 NIO 来完成的工作,如异步 I/O 和直接缓冲区。输入/输出:概念性描述转载 2013-01-27 18:52:57 · 728 阅读 · 0 评论 -
常用回顾3------Java的线程和Java Applet
课前索引【课前思考】 1. 什么是线程?它和进程有什么区别?适用方向是什么? 2. Java的线程是如何实现的? 3. Java的线程是如何调度的? 4. Java中的多线程有什么特点?同步和互斥的原理是如何实现的? 5. 什么是Java Applet,它和Application的区别是什么? 6. 如何创建Java Applet? 7. Applet转载 2012-11-23 20:34:05 · 621 阅读 · 0 评论 -
java反射详解
java反射详解本篇文章依旧采用小例子来说明,因为我始终觉的,案例驱动是最好的,要不然只看理论的话,看了也不懂,不过建议大家在看完文章之后,在回过头去看看理论,会有更好的理解。下面开始正文。【案例1】通过一个对象获得完整的包名和类名?123456789101112131415转载 2012-11-11 22:02:11 · 511 阅读 · 0 评论 -
常用回顾4------Swing用户界面设计
课前索引【课前思考】 1. 什么是Swing?它和AWT比有什么优点?使用上有什么区别? 2. Swing的组件层次结构有什么特点?是如何实现的? 3. Swing有哪些常用组件?怎么用? 4. Swing有几种容器?其功能特性是什么? 5. Swing的布局管理器有哪些特点,与AWT有哪些区别?7.1 Swing简介7.1.1 简介第五讲中我们学转载 2012-11-23 20:35:27 · 1058 阅读 · 1 评论 -
深入浅出单实例Singleton设计模式
深入浅出单实例Singleton设计模式陈皓前序单实例Singleton设计模式可能是被讨论和使用的最广泛的一个设计模式了,这可能也是面试中问得最多的一个设计模式了。这个设计模式主要目的是想在整个系统中只能出现一个类的实例。这样做当然是有必然的,比如你的软件的全局配置信息,或者是一个Factory,或是一个主控类,等等。你希望这个类在整个系统中只能出现一个实例。当然,作为一转载 2013-03-15 12:45:33 · 656 阅读 · 0 评论 -
一个简单的Thread缓冲池的实现
在应用中,我们常常需要Thread缓冲池来做一些事以提高程序的效率和并发性。本文演示了如何利用Queue这种数据结构实现一个简单的Thread缓冲池。 一个Thread缓冲池可以设计成以下这样:缓冲池由几个工作Thread和一个Queue组成,Client负责把任务放到Queue里面(put方法),而工作Thread就依次取出这些任务并执行它们(get方法)。 Queue的一个经典转载 2013-01-27 20:22:04 · 798 阅读 · 0 评论 -
常用回顾7------I/O层次图
本篇主要讲述IO相关的内容,主要包括:与IO相关的简单的历史背景知识;Java IO的简单分类;与IO设计相关的两个模式(适配器与装饰模式);同时列举几个简单的例子;分析其中几个实现的源代码;最后给大家一些简单扩展的例子。治学先治史,下面我们先从简单的历史开始吧! 一、 历史背景 “对语言设计人员来说,创建好的输入/输出系统是一项特别困难的任务。”――《T转载 2013-01-13 21:45:22 · 771 阅读 · 0 评论 -
关于多线程编程您不知道的 5 件事 有关高性能线程处理的微妙之处
关于多线程编程您不知道的 5 件事 有关高性能线程处理的微妙之处Steven Haines, 创始人兼 CEO, GeekCap Inc.简介: 多线程编程向来不容易,但是它确实有助于理解 JVM 进程如何巧妙地构建不同代码。Steven Haines 分享 5 个技巧,可以帮助您在使用同步方法、volatile 变量和原子类时做出更明智的决策。虽然很少有转载 2012-11-11 22:31:33 · 514 阅读 · 0 评论 -
常用回顾6------正则表达式
正则表达式用途甚广,各种语言脚本都兼容标准的正则表达式,下面总结基本符号和语法,做复习备忘之用。元字符表1.常用的元字符代码说明.匹配除换行符以外的任意字符\w匹配字母或数字或下划线或汉字\s匹配任意的空白符\d匹配数字\b匹配单词原创 2013-01-07 21:32:56 · 454 阅读 · 0 评论 -
常用回顾5----java中重载与重写的区别
多态的俩种表现形式:---重载(overloading,单一个类中同一方法的多种表现形式) ---重写(overriding,又称为覆盖,在继承过程中子类实现) 重写方法的规则:1、参数列表必须完全与被重写的方法相同,否则不能称其为重写而是重载。2、返回的类型必须一直与被重写的方法的返回类型相同,否则不能原创 2013-01-07 21:16:21 · 467 阅读 · 0 评论