J2EE
lelewenzibin
这个作者很懒,什么都没留下…
展开
-
当你写代码的时候该想到的
当你写一行代码的时候,应该想到,以后还会修改这段代码吗?要不要放在一个单独的类中?当你创建一个类的时候,要想到,还会有其他类调用不?要不要放在一个包里面?当你创建一个包的时候,应该想到,这样的包结构合理吗?会被其他包调用不?最后,你还应该想到,我这里应用会和其他应用有关系不?我要为他们提供接口不?这个接口怎么写呢?原创 2014-12-16 15:48:06 · 457 阅读 · 0 评论 -
Java父、子类成员变量和方法的调用关系
成员变量的调用和创建类时new后面的类型无关,和当前实力所属的类型有关;调用方法时,只与new后面的类型有关。代码:public class Mastiff extends Dog { public String type="子类成员变量赋值"; @Override public void fun1() { System.out.println("Mastiff fu原创 2014-12-12 14:39:24 · 717 阅读 · 0 评论 -
Java堆、栈的区别
Java把内存分成两种,一种叫做栈内存,一种叫做堆内存。在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。堆内存用于存放由new创建的对象和数组。在堆中分配的内存,由java虚拟机自动垃圾回收转载 2014-12-12 12:21:12 · 363 阅读 · 0 评论 -
Java内存分配全面浅析
本文将由浅入深详细介绍Java内存分配的原理,以帮助新手更轻松的学习Java。这类文章网上有很多,但大多比较零碎。本文从认知过程角度出发,将带给读者一个系统的介绍。 进入正题前首先要知道的是Java程序运行在JVM(Java Virtual Machine,Java虚拟机)上,可以把JVM理解成Java程序和操作系统之间的桥梁,JVM实现了Java的平台无关性,由此可见J转载 2014-12-12 14:45:31 · 478 阅读 · 1 评论 -
ThreadLocal介绍以及使用
ThreadLocal是什么当一个对象实例同时被多个线程使用的时候,而每一个线程我们又希望单独维护这个变量,就可以在类中声明ThreadLocal使这个变量线程化。注意这里只有一个对象实例,也就是说,如果我们使用普通的成员变量,不仅是多个线程共享了资源,还会引起并发性;如果使用多线程synchronized,这个变量成为了多个线程共享的资源了,与我们各个线程单独维护的初衷不符合。Threa原创 2014-12-15 11:06:56 · 449 阅读 · 0 评论 -
String.valueOf和字符串直接相加的性能比较
啥也不说了,直接代码,别人的,我试的,哈哈:/** * 测试StringValueOf * 2015年3月20日 wenzibin1 新建 */ public static void testStringValueOf() { long t = System.currentTimeMillis(); for (int i = 0; i < 10000转载 2015-03-20 21:50:35 · 2331 阅读 · 1 评论 -
获取字符串的字节数
直接上代码了/** ====================================== * Copyright (c) 2015, NSNG All Rights Reserved. * Date:2015年3月13日 下午1:56:22 */package test;public class TestLen { public static void main(Str原创 2015-03-13 14:21:20 · 717 阅读 · 0 评论 -
Java中hashCode()的使用
关于hashCode()的一些知识,很早之前还是做了比较系统深入的研究,可惜时间长都忘了,现在再回顾一下吧,也记下来,以备以后的查阅。为什么设计hashCode()hashCode()返回的是一个值,我们称之为哈希值,记为hashCode值。他的主要用途是在对对象进行散列的时候作为key值输入,所以,我们的每一个对象的hashCode值需要尽可能的不一样。JDK对基类Object的ha原创 2014-12-18 21:46:14 · 514 阅读 · 0 评论 -
JDK的安装和配置
JDK(JDK5,6,7)的安装和配置首先,不建议使用.exe的安装程序,而是直接使用jdk压缩包。因为安装程序会在电脑上安装update...等等,这些玩意事后很难删除,每次打开电脑看到这些无关紧要的后台程序,就抓狂。下面说下JDK5,6,7的配置。第一步:解压JDK到指定目录,比如:C:\Program Files\注意,Java目录里面有2个文件夹jdk7和jre7(这个目前原创 2014-12-11 09:50:16 · 444 阅读 · 0 评论 -
Java程序执行顺序
代码执行顺序1、静态块:父类静态块、子类静态块2、父类块、父类构造器3、子类块、子类构造器也就是:静态块优于其他代码块和构造器,然后是父类中的代码块和者构造器、最后才是子类中的代码块和者构造器。代码:public class Mastiff extends Dog { // 静态方法块 static { System.out.println("st转载 2014-12-12 13:57:31 · 375 阅读 · 0 评论 -
Java关键字:this、super、static
Thisthis只能在方法内部使用,表示对调用方法或者属性的那个对象的引用。public class MyClass { private Stringname; public MyClass() {} public MyClass(String name) { this();// 必须在这个构造器顶部,并且一原创 2014-12-11 15:03:58 · 355 阅读 · 0 评论 -
比较“==”和equals
补充知识:hashCode()是基类Object的方法,表示变量的地址引用,是一个地址值。创建的不同的变量因为地址不一样,所以他们的hashCode()值不一样。比如: Object o1 = new Object(); Object o2 = new Object(); Object o3 = o2; // 他们指向同一个地址 System.out.println(o1.has原创 2014-12-12 10:12:33 · 380 阅读 · 0 评论 -
Java基类
Java的基类Object都有什么方法呢?他们的作用是什么?1、getClass()返回类Class,注意一点即可,Class也是一个“类”,也是继承于Object类;还有一点,自定义对象.class和自定义对象的.getClass返回的结果一致。.class 静态加载Class.forName(...) 静态加载.getClass() 运行时动态加载2、hashCode()原创 2014-12-24 10:39:56 · 1284 阅读 · 0 评论 -
Java接口编程参数类型选择
问题描述:编写接口的时候,参数的类型选择Java的基本类型和自带类型呢,还是选择自己编写的对象类型呢?场景描述:今天修改一个Service层的接口,其中一个方法的参数改变了,比如本来是:void fun(int, int),修改后为:void fun(String, String),导致的结果是,其他调用这个接口的地方我需要一个一个的修改,这样的设计合理吗?问题分析原创 2014-12-09 23:21:17 · 2733 阅读 · 0 评论 -
重载和重写的区别
什么是重载?什么是重写?重载和重写的区别又是什么?看了Java编程思想,总结如下:重载一个类里面相同方法名称,参数列表不同的情况称为重载;可以重载方法,也可以重载构造器。注意:参数列表不同包括顺序,但是返回值和抛出的异常不能用于判断重载。 // 重载构造器 public MyClass(int i, String s) {} public My原创 2014-12-11 14:58:12 · 604 阅读 · 0 评论 -
Java中Comparable和Comparator的比较
首先从翻译上来说,Comparable是可比较的,修饰的是对象,所以当一个对象实现这个接口的时候,这个对象就变成可比较的对象了,需要实现的方法为compareTo(T o)。Comparator是比较器,是一个名词,当我们比较两个对象的时候,标准是什么呢?可以通过这个比较器Comparator来定义,需要实现的接口是compare(T o1, T o2),还有一个equals(Object原创 2014-12-11 12:34:11 · 321 阅读 · 0 评论 -
String相关的知识
1、String、StringBuffer与StringBuilder的区别String 字符串常量,长度不可变;StringBuffer 字符串变量,长度可变,线程安全;StringBuilder 字符串变量,长度可变,非线程安全。2、StringUtils.isBlank和StringUtils.isEmpty区别区别在于前后空格的处理,isBlank判定时,如果非null原创 2014-12-11 13:42:35 · 357 阅读 · 0 评论 -
Java集合总结
1 集合分为两大类:Collection和Map2 CollectionCollection有两个子类:List和Set。他们的区别,简单来说,List有序可重复,Set无序不可重复。(这里的顺序是指插入顺序)2.1 List特点:有序的集合,元素可以重复。ArrayList和LinkedList,非线程安全,区别在于底层的实现上;Vector线程安全的。2.1.1 Arr原创 2014-12-11 11:07:25 · 404 阅读 · 0 评论 -
Java访问权限的控制
Private只有当前类可以访问。Public都可以访问。Proteced当前包(不包括子包)可以访问;子类可以访问。默认当前包(不包括子包)可以访问。原创 2014-12-11 15:07:46 · 412 阅读 · 0 评论 -
数组和list的互换
前提大爷的,总是记不住,这次写这里,以后需要的时候来看看。1、数组转list方式1String[] userid = {"aa","bb","cc"};List userList = new ArrayList();Collections.addAll(userList, userid);方式2String[] userid = {"aa","bb","cc"};转载 2016-10-27 10:51:04 · 416 阅读 · 0 评论