- 博客(34)
- 资源 (17)
- 收藏
- 关注
原创 初学Java,泛型类型通配符(三十七)
c#的泛型没有类型通配符,原因是.net的泛型是CLR支持的泛型,而Java的JVM并不支持泛型,只是语法糖,在编译器编译的时候都转换成object类型类型通配符在java中表示的是泛型类型的父类public void test(List c){ for(int i = 0;i < c.size();i++) { System.out.print
2012-02-28 14:50:32 2066 1
原创 初学Java,创建线程同步的集合类(三十六)
很幸运,Java已经帮程序员做好了创建线程同步集合的工作,只消调用集合对应的同步方法就可以了名称都是以这个形式出现,synchronizedXXXimport java.util.*;public class TestSynchronized { public static void main(String[] args) { //创建四个同步集合 Collection c =
2012-02-28 10:24:49 1828
原创 初学Java,集合类的排序,查找,替换操作(三十五)
排序比较简单,简略说一下ArrayList nums = new ArrayList();nums.add(.....)......Collections.reverse(nums); //次序反转Collections.sort(nums); //按自然顺序排序Collections.shuffle(nums); //随机排序查找,替换ArrayList nums = new Arra
2012-02-27 21:54:51 2862
原创 初学Java,EnumMap实现类(三十四)
从名字上看出来,EnumMap是为枚举类服务的,它的key不能为null,在创建它的时候,必须要指定一个枚举类,如:EnumMap enumMap = new EnumMap(Season.class);下面示范它的用法public enum Season{ SPRING,SUMMER,FALL,WINTER}import java.util.*;public class TestEnum
2012-02-27 21:41:48 10127
原创 初学Java,IdentityHashMap实现类(三十三)
IdentityHashMap又是一个我不明白会用在什么场合的类,用法了解一下吧,它是一个特殊的Map实现,它要求 两个key严格相等时才认为两个key相等import java.util.*;public class TestIdentityHashMap { public static void main(String[] args) { IdentityHashMap ihm
2012-02-27 21:18:37 7172
原创 初学Java,WeakHashMap实现类(三十二)
WeakHashMap这个类,说真的,我不知道Java为什么弄这么一个集合类出来,反正C#里面找不到类似的实现,不知道它是用在什么场景下的看它的名字就知道,WeakHashMap的每一个key对象保存了实际对象的弱引用,当系统回收了该key所对应的实际对象之后,WeakHashMap会自动删除该key对应的key-value对下面做个实验import java.util.*;public cla
2012-02-24 16:47:18 2881
原创 Jquery选择器,选择ID以"某某"字符开头的一组文本框只能输入数字
$.fn.numeral = function () { //注册一个全局函数numeral $(this).css("ime-mode", "disabled"); this.bind("keypress", function () { if (event.keyCode == 46) {
2012-02-24 10:37:59 17150
原创 初学Java,Hashtable,HashMap,LinkedHashMap和Properties(三十一)
Hashtable,呵呵,这个类的命名有问题啊,table的T没有大写,而C#中就是HashTable,这个类很"老",在JDK1.0就出现了,可能当时并没有人发现它的命名问题,待到后来已经牵涉到太多的其它类,此时已经无法轻易的修改它的名字了,也就这么着了,属于历史遗留问题.Hashtable与HashMap这两个类似乎很像,但还是有区别的 ,Hashtable是一个线程安全的Map实现,但Has
2012-02-22 22:20:57 2341
原创 初学Java,各种容器性能对比(三十)
实现机制随机访问排名迭代操作排名插入操作排名删除操作排名数组连续内存区保存元素1不支持 不支持不支持ArrayList内部以数组保存元素2222Vector内部以数组保存元素3333LinkedList内部以链表保存元素4111看得出这里面ArrayList性能是比较折中的,LinkedList在大多数情况下性能都不错,另外只有Vector是支持线程同步的,但性能就比较差了
2012-02-20 22:06:46 2016
原创 初学Java,LinkedList功能最全的集合类(二十九)
LinkedList是List接口的实现类,也是Deque接口的实现类,Deque接口是Queue的子接口,它代表一个双向队列.因此LinedList的功能十分强大,兼具双向队列,栈和List集合的用法。LinedList就像LinkedSet一样,内部以链表来保存集合的元素,因此在插入,删除元素时性能非常出色,因为只需改变指针地址即可,但在访问元素时就相对慢一些了,因为需要访问内部链表impor
2012-02-19 11:10:26 6189
原创 初学Java,List和ListIterator(二十八)
List代表的是一个有序的集合,每一个元素都有一个对应索引。List是Collection的子接口,所以Collection的所有方法都可以调用,另外也有它自身的方法。import java.util.*;public class TestList { public static void main(String[] args) { List books = new ArrayLis
2012-02-17 23:04:34 7727 2
原创 初学Java,比较HashSet,LinkedHashSet,TreeSet,EnumSet(二十七)
HashSet 集合存入元素时,会调用该对象的hashCode()方法得到hashCode值,根据hashCode值决定对象在HashSet中存储的位置,如有两个元素通过equals方法比较返回true,但它们的hashCode不同,HashSet会把它们存储在不同位置,也就可以添加成功迭代HashSet没什么好说的,可以用Iterator接口Iterator it = hashSet1.iter
2012-02-16 22:23:15 3349 1
原创 初学Java,操作Collection(二十六)
下面是操作Collection举例,即List,Set,Queue都可以使用的方法import java.util.*;public class TestCollection { public static void main(String[] args) { Collection c = new ArrayList(); //添加元素 c.add("苹果"); //虽然
2012-02-16 16:43:36 1556
原创 初学Java,集合类概述(二十五)
关于集合类,我觉得用图来描述是再好不好了,又能标明层次,又能标明用途这些图都是网上收集来的,可以很好的说明问题,够用了.Collection和Map是Java集合类的根接口,Collection 主要是元素集合,就像C#里面List一样,而Map就像C#里面的HashTable,Dictionary一样,属于键值对集合,上面的图是这两个类的体系结构.下面这么多类,它们的用处和区别也用图来表示
2012-02-16 16:07:27 1880 1
原创 使用Jquery向一个空白网页动态创建一个iframe,及嵌入页面,和向嵌入页面传参
using Microsoft.VisualBasic;using System;using System.Collections;using System.Collections.Generic;using System.Data;using System.Diagnostics;using System.Collections.Specialized;using Microsof
2012-02-15 09:53:07 18830
原创 初学Java,jar命令详解(二十四)
JAR文件是个压缩包,其实就是一个类库,相当于.net世界里面的dll,里面放的都是编译编码后生成的字节码文件(xxx.class),另外会有一个清单文件META-INF/MANIFEST.MF其文件也是可以数字签名的,所谓增强安全性罗。下面罗列一些jar命令创建 jar文件 jar cf test.jar test 将当前路径下的全部内容生成一个test.jar文件,如果存在该文件,那么覆盖该
2012-02-14 22:17:45 1920
原创 初学Java,对象的软,弱和虚引用(二十三)
java.lang.ref包下提供了三个类SoftReference,phantomReference WeakReference,分别代表软引用,虚引用和弱引用C#中没有这些概念强引用,最常见的引用,程序创建一个对象,并把这个对象赋值给一个引用变量,通过该引用来实际操作对象软引用,需要通过SoftReference类来实现,当一个对象只有一个软引用,它有可能被垃圾回收机制回收。内存空间足够时,不
2012-02-13 22:00:02 1392
原创 初学Java,枚举类(二十二)
Java的枚举类比C#枚举类更像类一点,因为它还可以定义属性和方法public enum Gender { MALE,FEMALE; private String name; public void setName(String name) { switch(this) { case MALE: if(name.equals("男")) {
2012-02-10 16:53:27 1743
原创 初学Java,闭包和回调(二十一)
闭包在Javascript中用的比较多,Java不显式支持闭包,但对于非静态内部类而言,它记录了其外部类的详细信息,还保留了一个创建非静态内部类对象的引用,并且可以直接调用外部类的private成员,因此可以把非静态内部类当成面向对象领域的闭包。通过这种仿闭包的非静态内部类,可以很方便的实现回调,回调就是允许客户类通过内部类引用来调用其外部类的方法。假设有一个人,是一个程序员,又是一个IT培训师。
2012-02-09 21:31:22 2997
原创 初学Java,匿名内部类(二十)
匿名类的作用一般是只需要使用一次的类,不需要复用,临时性比较强,C#中同样有匿名类,不过是在C# 3.0才加入var myVar = new{ field_string = “abcd” field_int = 12;};Java的格式很不一样,定义也很不一样new 父类构造器(实参列表) | 实现接口(){ //匿名内部类的类体部分}匿名内部类必须继承一个
2012-02-09 16:33:07 2172 2
原创 初学Java,内部类(十九)
非静态内部类访问外部类同名实例属性public class DiscernVariable { private String prop = "外部类属性"; private class InClass { private String prop = "内部类属性"; public void info() { String prop = "局部变量"; //通过外部类
2012-02-09 10:32:53 1673
原创 初学Java,面向接口编程,命令模式(十八)
命令模式 :把一个请求或者操作封装到一个对象中。命令模式把发出命令的责任和执行命令的责任分割开,委派给不同的对象。命令模式允许请求的一方和发送的一方独立开来,使得请求的一方不必知道接收请求的一方的接口,更不必知道请求是怎么被接收,以及操作是否执行,何时被执行以及是怎么被执行的。系统支持命令的撤消。命令模式就像是把“处理行为”作为参数传入一个方法,这个“处理行为”用编程来实现就是一段代码public
2012-02-08 22:02:02 6681 19
原创 初学Java,接口(十七)
Java的接口和C#一样,是interface关键字,但可以包含的成员不同C# 的接口只能包含方法签名,Java的接口确可以包含属性(必须是常量),还可以在接口中定义内部接口package test; public interface A { public void getA()throws AException; public static interface B{
2012-02-08 16:44:21 1425
原创 初学Java,final关键字(十六)
之所以单独把这个关键字拿出来说是因为C#没有这个关键字,但C#却有与之不同场景下对应的不同关键字final 所修饰的不管是类,变量,还是方法,都是赋初值后不允许再修改的.而C#要达到同样目的话,需要用不同的关键字下面是一个比较类:Javapublic final class MyFinalClass {...}C#public sealed class MyFinalClass {...}相当于
2012-02-07 21:16:14 1350
原创 初学Java,单例模式(十五)
下面的代码是使用Java实现设计模式中的单例模式public class Singleton { //使用一个变量来缓存曾经创建的实例 private static Singleton instance; //将构造器使用private修饰,隐藏该构造器 private Singleton(){} //提供一个静态方法,用于返回Singleton实例 //该方法可以加入自定义的控制
2012-02-07 15:35:00 1470
原创 初学Java,toString(十四)
C#里面也有个ToString,注意大小写的不同Java的toString的和C#的ToString完全不是同一概念,首先toString是一个"自我描述"的方法,然后它可以被重写public class Person { private String name; public Person(String name) { this.name = name; } public vo
2012-02-07 14:25:15 3800
原创 初学Java,初始化块(十三)
初始化块是什么?在Java中就是在构造器之前执行的一段代码,它的用处是,如果一段初始化处理代码对所有对象完全相同,且无须接受任何参数,就可以把这段提取到初始化块中.在C#中,没有初始化块public class Person{ //定义一个初始化块 { int a = 6; //在初始化块中 if (a >4) { System.out.println("Person
2012-02-06 17:59:40 9467 2
原创 初学Java,判断类型是否可强制转换(十二)
if(objPri instanceof String){ String str = (String)objPri;}Java中的instanceof 运算符相当于C#中的is,都是判断一个对象是否是某个类型If(objB is typeA){ objA = (typeA)objB;}
2012-02-06 14:18:45 8949
原创 初学Java,调用父类方法(十一)
在Java的继承关键字是extends,而C#是一个冒点:他们子类调用父类的关键字也不同,Java 子类调父类方法是''super.父类方法名称'',C#是''base.父类方法名称''public void callOverrideMethod(){ //在子类中通过super 显式调用父类被覆盖的实例方法 super.fly();}public void callOverrideMet
2012-02-06 10:22:37 1578
原创 初学Java,在构造器中调用另一个构造器(十)
在Java中在构造器中调用另一个构造器,和C#的写法有又那么一点点的不同public class Apple{ public String name; public String color; public String weight; public Apple() {} //两个参数构造器 public Apple(String name,String color,double
2012-02-06 10:00:45 6602
原创 初学Java,包的用法(九)
Java包的概念跟C#命名空间没什么区别,只是换个名称,语法还是有那么一点不同下面是定义一个叫lee的包package lee;public Class Test ......包的下面还可以定义子包Package lee.sub 这跟C#也是一样引用一个包的时候跟C#也不一样Java可以引用一个包里面的某个类,这种只引用一个包下的某个类的用法,在C#里没有,只能直接引用整个命名空间import p
2012-02-05 12:31:55 1570
原创 初学Java,形参长度可变的方法(八)
Java中如果在定义方法时,在最后一个形参的类型后增加三点(...),表明形参可以接受多个参数值,多个参数值被当成数组传入public class Varargs { //定义了形参长度可变的方法 public static void test(int a, String... Books) { //books被当成数组处理 for(String tmp : Books) {
2012-02-02 22:11:46 2439 5
原创 初学Java,参数传递无引用传递(七)
在Java 中方法参数只有值传递,没有引用传递,像C#中 method(ref value....) 这种传引用参数的做法是不被支持的public class StringTest { public int i=1; public StringTest(int i){ this.i=i; } public static void
2012-02-02 21:54:49 1595 2
原创 初学Java,方法中返回this,连续调用方法(六)
public class ReturnThis { public int age; public ReturnThis grow() { age++; //return this,返回调用该方法的对象 return this; } public static void main(String[] args) { ReturnThis rt = new ReturnT
2012-02-02 21:31:42 5899
.net 8 + Azure 登录 + Ant Design Blazor
2024-04-18
Advanced.Installer.v13.1注册机
2016-09-19
MySQLBackupFTP及注册工具
2016-09-19
AlwaysUp8.5及注册机
2015-09-25
数据库数据互导及文档生成工具(IT人员必备)
2015-01-19
类似SCSF中EventBroker解耦事件调用方和接受方,打破"+="带来的耦合
2014-08-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人