java基础
文章平均质量分 74
shanliangliuxing
这个作者很懒,什么都没留下…
展开
-
JSONObject和JSONArray遍历数组与对象
1、识别json格式字符串是JSONObject还是JSONArrayJSON数据格式只有两种形式,分别是:12{"key":"value"}//JSONObject(对象)[{"key1":"value1"}, {"key2":"value2"}]//JSONArray(数组)转载 2014-05-06 22:26:17 · 48158 阅读 · 0 评论 -
配置JDK环境变量
搞java好多年了,环境变量配的也很熟,但有时候还是会忘,以免再次发生这样的事件,决定把它简单记载下来:先安装jdk软件,没有的话可以参照这篇贴子:http://blog.csdn.net/shanliangliuxing/article/details/6882828下载完成后要配置环境变量,总共有三个参数:JAVA_HOME PATH CLASSPATH (大小写都可以)原创 2012-04-17 13:51:48 · 889 阅读 · 0 评论 -
异常
不管是在java中还是在python中,对于异常如果“最终”没有被捕获,则会导致程序终止,如果被捕获并“处理”,则不会使程序终止,程序会照常执行,只不过发生了异常 最终表示有很多层,有可能在这一层没有被捕获,它会往上抛,在上一层被捕获处理了,最终没有被捕获表示一直抛到最上层都没有被捕获,这样就会导致程序终止。处理表示要真正的处理掉,不能再往上抛了,不能捕获到了再直接抛出去,那样也会导致原创 2012-04-29 23:21:59 · 537 阅读 · 0 评论 -
清空ArrayList所引发的思考(List相关操作)
清空ArrayList所引发的思考 ArrayList list = new ArrayList();list.add("a111");list.add("b111");list.add("c111");list.add("e111");list.add("f111");list.add("g111");想办法把list清空,猛一看,这还不简单,so easy ,直原创 2011-10-10 13:57:24 · 11965 阅读 · 1 评论 -
内存泄露和内存溢出是什么?他们之间的区别是什么?
内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况,是应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成了内存的浪费。一般我们常说的内存泄漏是指堆内存的泄漏。堆内存是指程序从堆中分配的,大小任意的(内存块的大小可以在程序运行期决定),使用完后必须显示释放的内存。应用程序一般使用malloc,realloc,new等函数从堆中分配到一块内存,使用完后,程序必须负转载 2012-03-16 13:53:35 · 1069 阅读 · 0 评论 -
java中提高性能的编码规范(提高性能)
原文网址:http://javatgo.iteye.com/blog/1155702最近的机器内存又爆满了,出了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了。下面是参考网络资源和总结一些在java编程中尽可能做到的一些地方-1.尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短转载 2012-03-31 11:33:33 · 1369 阅读 · 0 评论 -
Java泛型的好处
java 泛型是java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。可以把类型参数看作是使用参数化类型时指定的类型原创 2012-03-28 13:53:19 · 4298 阅读 · 1 评论 -
大数相加(两个数相加结果大于int能表示的范围时怎么办?)
从上文可以看出,每个数据类型都有其所能表示的范围,超过这个范围就会出一些莫名其妙的错误上文网址:http://blog.csdn.net/shanliangliuxing/article/details/7394319比方说两个int型数据相加时就有可能出现这样的错误package com.autonavi.test;import java.math.BigInteger;原创 2012-03-26 16:12:58 · 3838 阅读 · 0 评论 -
List的removeAll方法异常?
现在正在实现的一个模块,是用Hibernate做的,一个用户对应多个频道,用的是一对多的关联,配置方件如下:User表:Java code<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "原创 2012-03-26 09:37:25 · 1258 阅读 · 0 评论 -
Java数据类型及对应取值范围
这个问题很简单,初学java编程的时候都会遇见到,但时间长了肯定会模糊,以至于还要花时间去查,这里总结一下,以免下次查找的时候浪费时间。原文网址:http://www.cnblogs.com/wangchenyang/archive/2012/02/01/2334743.html在Java中,数据类型分为两大种:基本数据类型(值类型)和包装类型(引用数据类型)。基本数据类型不是对象,不能调原创 2012-03-26 11:29:51 · 1240 阅读 · 0 评论 -
HashCode的作用
首先,想要明白hashCode的作用,你必须要先知道Java中的集合。 总的来说,Java中的集合(Collection)有两类,一类是List,再有一类是Set。你知道它们的区别吗?前者集合内的元素是有序的,元素可以重复;后者元素无序,但元素不可重复。那么这里就有一个比较严重的问题了:要想保证元素不重复,可两个元素是否重复应该依据什么来判断呢?这就是Object.equals方法了。但是,转载 2012-07-12 21:52:13 · 700 阅读 · 0 评论 -
关于全局变量思考
项目快做完了,在自己偶然的测试中发现了一个问题,程序中有两处用到了全局变量,这样不同的用户点击就会修改全局变量的值,导致查看的结果与预期大相径庭,后来网上查了下,遇到这样的问题还不少,最后得出的结论是:禁用全局变量,或者只使用final static的全局变量,只读取,不修改。下面引用某一篇贴子里面的内容:http://topic.csdn.net/u/20090312/10/b38b18原创 2012-07-19 10:51:14 · 1055 阅读 · 0 评论 -
java中使用net.sf.json对json进行解析
转自:http://blog.csdn.net/madun/article/details/5782882转载 2014-05-06 22:18:15 · 1549 阅读 · 0 评论 -
Win7下Eclipse中文字体太小
转自:http://blog.csdn.net/cuihaiyang/article/details/7221516最近新装了Win7,打开eclipse3.7中文字体很小,简直难以辨认。在网上搜索发现这是由于Eclipse 3.7 用的字体是 Consolas,显示中文的时候默认太小了。 解决方式有两种:一、把字体设置为Courier New 操作步骤:打开Elcipse,转载 2014-05-05 11:36:37 · 762 阅读 · 0 评论 -
java对象创建过程/初始化顺序
转自:http://blog.csdn.net/yakihappy/article/details/3979357Java虚拟机创建一个对象都包含以下步骤。(1)给对象分配内存。(2)将对象的实例变量自动初始化为其变量类型的默认值。(3)初始化对象,给实例变量赋予正确的初始值。 对于以上第三个步骤,Java虚拟机可采用3种方式来初始化对象,到底采用何种初始化方式取决于创建转载 2013-10-15 17:36:15 · 3423 阅读 · 0 评论 -
什么是java序列化,如何实现java序列化?
转自:http://blog.csdn.net/yakihappy/article/details/3979373Java 串行化技术可以使你将一个对象的状态写入一个Byte 流里,并且可以从其它地方把该Byte 流里的数据读出来,重新构造一个相同的对象。这种机制允许你将对象通过网络进行传播,并可以随时把对象持久化到数据库、文件等系统里。Java的串行化机制是RMI、EJB等技术的技术基础转载 2013-10-15 11:57:36 · 772 阅读 · 0 评论 -
java反射机制
转自:http://blog.csdn.net/yakihappy/article/details/3979369反射机制最重要的部分是准许你检查类的结构。java.lang.reflect包中的三个类Field、Method、Constructor相应的描述了一个类的字段、方法、构造函数。使用这些类的时候必须要遵循下面步骤:第一步是获得你想操作的类的 java.lang.Class转载 2013-10-15 17:37:04 · 786 阅读 · 0 评论 -
认识BufferedReader的readLine、ready,以及InputStream的available
转自:http://blog.csdn.net/neusoftware_20063500/article/details/3723176最近,同学做实验的时候,在读取服务器端返回的时候,使用了BufferedReader类的readLine,他是这么写的,while(reader.ready()) {//执行读取操作,即readLine}这个方法很经常被用到, 但是返回的却都是转载 2013-05-30 19:44:28 · 4089 阅读 · 0 评论 -
关于MyEclipse8.5 错误 background indexer crash recovery java.lang.stackoverflowerror
转自:http://blog.csdn.net/zdwzzu2006/article/details/6010354环境: MyEclipse8.5 Tomcat6.0 SVN1.6Error: 在myeclipse环境中,用svn导出项目后出现如下错误 background indexer crash recovery转载 2013-02-20 23:09:43 · 891 阅读 · 0 评论 -
优先级
运算符优先级表 运算符解释结合方式() [] -> .括号(函数等),数组,两种结构成员访问由左向右! ~ ++ -- + - * & (类型) sizeof否定,按位否定,增量,减量,正负号,间接,取地址,类型转换,求大小原创 2012-08-30 13:11:06 · 787 阅读 · 0 评论 -
一个本科毕业生的Java学习之路
转自:http://my.oschina.net/flynewton/blog/7770如有谬误请见谅 声明: 我是一个普通本科生 以下仅个人见解,如有反对意见,勿人肉我 觉得写代码是软件工程师中混得最锉的人请绕过 觉得Java就是用来做网站的请绕过 觉得SSH就是*鸟的同学培训学习的请绕过转载 2012-07-22 20:15:57 · 1006 阅读 · 0 评论 -
java Map 的遍历
//最常规的一种遍历方法,最常规就是最常用的,虽然不复杂,但很重要,这是我们最熟悉的,就不多说了!!public static void work(Map map) { Collection c = map.values(); Iterator it = c.iterator(); for (; it.hasNext();) {转载 2012-03-01 09:10:49 · 551 阅读 · 0 评论 -
java(Date,Calendar类)学习笔记
9.6 java.util包 java.util包是Java语言提供的工具类包,该包中包含了如日期、随机数和数据结构实现类等一系列的工具类实现,是学习Java语言的基础包之一。 本部分就以Java语言中常用的时间和日期处理、随机数处理以及集合框架为基础进行介绍。9.6.1 时间和日期处理 使用程序进行时间和日期处理,是程序员必须的一种转载 2012-03-07 09:23:25 · 2382 阅读 · 0 评论 -
系统路径问题
1.如何获得当前文件路径常用:(1).Test.class.getResource("")得到的是当前类FileTest.class文件的URI目录。不包括自己!(2).Test.class.getResource("/")得到的是当前的classpath的绝对URI路径。(3).Thread.currentThread().getContextClassLoader().getRes原创 2012-02-19 15:25:27 · 1497 阅读 · 0 评论 -
时间格式及关于时间的操作(SimpleDateFormat)
用SimpleDateFormat显示24小时制时间:package com.autonavi.test;import java.util.Date;import java.text.SimpleDateFormat;;/** * 24/12小时制时间显示: * @author dashan.yin * */public class Datetime {原创 2011-09-15 15:06:45 · 1730 阅读 · 0 评论 -
重新理解对象参数的用法
最近一直在用Swing编程,碰到了一个问题,想的很长时间都没有解决,最终请教了高人一下:问题是:父面板和子面板,父面板上有一个按钮,点击后弹出子面板,在子面板上填加相应的信息,最后把信息回传到父面板上,刚开始是这样设计:if(e.getSource() == addArgsButton) { HTTPWEBDetailsPane httpWebDetailsPane = ne原创 2011-12-31 16:02:21 · 784 阅读 · 0 评论 -
内部类如果要引用外部类的变量,则该变量必须为final
今天程序中突然贵蹦出来一个这么错误:Cannot refer to a non-final variable service inside an inner class defined in a different method上网查最一下才知道:内部类引用了一个非final的变量, 内部类如果要引用外部类的变量,则该变量必须为final,这是规定 (我觉得应该是生命周期的原创 2011-12-12 10:20:12 · 2536 阅读 · 1 评论 -
java中枚举类型Enum的用法
以前对Enum只有一个模糊的概念,最近项目中要用,所以就专门研究了一下:java的Enum枚举类型终于在j2se1.5出现了。之前觉得它只不过是鸡肋而已,可有可无。毕竟这么多年来,没有它,大家不都过得很好吗?今日看《Thinking in Java》4th edition,里面有一句话“有时恰恰因为它,你才能够"优雅而干净"地解决问题。优雅与清晰很重要,正式它们区别了成功的解决方案与失败的解决原创 2011-12-06 10:21:55 · 18820 阅读 · 5 评论 -
java中的单例模式
一、定义单例模式(Singleton pattern):确保一个类只有一个实例,并提供一个全局的访问点。这个定义包含两层意思:第一:我们把某个类设计成自己管理的一个单独实例,同时也要避免其他类再自行产生实例。要想取得单个实例,通过单例类是唯一的途径。第二:我们必需提供对这个实例的全局访问点:当你需要实例时,向类查询,它会给你返回单个实例。注意:单例模式确保一原创 2011-11-09 16:15:35 · 1328 阅读 · 0 评论 -
java中的io系统总结及一些常用的操作
java中的io中的(input/output)stream无非就是包括基于字符的stream、基于字节的stream和把字节导向的stream转换字符为导向的stream的stream。(很难理解么?)以字节为导向的stream------InputStream/OutputStreamInputStream 和 OutputStream是两个abstact类,对于字节为导向的str转载 2011-11-02 14:49:21 · 1356 阅读 · 0 评论 -
Java中堆、栈、常量池等概念解析
程序运行时,我们最好对数据保存到什么地方做到心中有数。特别要注意的是内存的分配。有六个地方都可以保存数据:(1) 寄存器。这是最快的保存区域,因为它位于和其他所有保存方式不同的地方:处理器内部。然而,寄存器的数量十分有限,所以寄存器是根据需要由编译器分配。我们对此没有直接的控制权,也不可能在自己的程序里找到寄存器存在的任何踪迹。(2) 栈(stack)。存放基本类型的变量数据和对象的引转载 2011-11-21 11:04:55 · 690 阅读 · 0 评论 -
利用java实现的一个发送手机短信的小例子
今天闲来无事,在微博上看到一个关于用java实现的一个发送手机短信的程序,看了看,写的不太相信,闲的没事,把他整理下来,以后可能用得着JAVA发送手机短信,流传有几种方法:(1)使用webservice接口发送手机短信,这个可以使用sina提供的webservice进行发送,但是需要进行注册;(2)使用短信mao的方式进行短信的发送,这种方式应该是比较的常用,前提是需要购买硬件设备,呵呵(3)转载 2012-01-07 22:53:52 · 754 阅读 · 0 评论 -
windows系统和linux系统编程时要注意的事项(连载中)
>>1.最近在做项目,项目运行的时候会生成大量的图片,一段时间以后,图片量是惊人的,为了解决这个问题,所以就写了一个方法,删除指定目录下的指定格式的图片,执行某个操作时会触发这个事件。程序代码如下:/** * 删除指定目录下指定格式的文件 * 由于生成报表的过程中会生成很多bmp格式的图片,现在设定每次刷新的时候把这些图片都删除掉 */ public void delet原创 2012-02-27 21:36:45 · 697 阅读 · 0 评论 -
正斜杠反斜杠问题及怎样把反斜杠转成正斜杠?
正斜杠,又称左斜杠,符号是"/";反斜杠,也称右斜杠,符号是"\"。 package com.autonavi.test;public class TestPath { public static void main(String [] args) { String path = "D:\\apache-tomcat-6.0.26\\webapps\\createpdf"原创 2011-09-25 17:45:56 · 4335 阅读 · 1 评论 -
Class.forName() 初始化、Thread.currentThread().getContextClassLoader().getResourceAsStream
Class.forName() 和 ClassLoader.loadClass()的区别? Class.forName() 和 Class.forName().NewInstance()的区别?Class.forName("xx.xx")等同于Class.forName("xx.xx",true,CALLClass.class.getClassLoader()),第二个参数(bool)表示原创 2011-08-29 22:20:44 · 6843 阅读 · 0 评论 -
解决JAVA switch case 里面case A, A不能为 变量的问题
解决JAVA switch case 里面case A, A不能为 变量的问题 有个朋友问我Java switch case里面的用法,由于 switch case 和 if-else 工作原理不一样,可能某些公司会避免使用if-else而采用switch case的方法来解决问题。在jdk1.6 中:int i= "test".hashcode();String s =原创 2011-09-15 23:19:52 · 7667 阅读 · 4 评论 -
两种Java容器类List和Set分析
容器类可以大大提高编程效率和编程能力,在Java2中,所有的容器都由SUN公司的Joshua Bloch进行了重新设计,丰富了容器类库的功能。 Java2容器类类库的用途是“保存对象”,它分为两类: Collection----一组独立的元素,通常这些元素都服从某种规则。List必须保持元素特定的顺序,而Set不能有重复元素。 Map----一组成对的“键值对”原创 2011-09-19 15:48:03 · 725 阅读 · 0 评论 -
迭代器的介绍和使用
13.6.1 迭代输出:Iterator1.Iterator接口简介在讲解Iterator接口之前,先向读者说一下个人的经验总结:"在使用集合输出时必须形成一个思路:'只要是碰到了集合输出的操作,就一定使用Iterator接口',因为这是最标准的做法"。Iterator是专门的迭代输出接口,所谓的迭代输出就是将元素一个个进行判断,判断其是否有内容,如果有内容则把内容取出,如图13-3原创 2011-09-19 16:53:38 · 957 阅读 · 0 评论 -
Eclipse中用到的知识点
1. 打开MyEclipse 6.0.1,然后“window”→“Preferences”2. 选择“java”,展开,“Editor”,选择“Content Assist”。3. 选择“Content Assist”,然后看到右边,右边的“Auto-Activation”下面的“AutoActivation triggers for java”这转载 2011-10-09 12:13:29 · 1917 阅读 · 1 评论 -
java序列化的相关知识
又前只知道java类实现Serializable接口也就实现了序列化,只是不知道为什么会这样,序列化究竟起到了什么作用?所又专门抽个时间研究一下,哈哈!1、序列化是干什么的? 简单说就是为了保存在内存中的各种对象的状态,并且可以把保存的对象状态再读出来。虽然你可以用你自己的各种各样的方法来保存Object States,但是Java给你提供一种应该比你自己好的保存对象状态的机制,那就是序列原创 2011-11-04 11:34:05 · 739 阅读 · 0 评论