Java
文章平均质量分 63
哪知道
工作不能被安逸的生活所累。学习亦是如此。
展开
-
EL表达式fn:endsWith函数的bug
今天页面使用fn:endsWith函数的时候发现不是自己想要的结果,把参数写死发现还是同样的结果。由于自己的参数含有斜杠,因此怀疑是不是转义字符的问题,换成普通字符串,问题依旧。。网上查了查发现底层类写的有问题。上代码: public static boolean endsWith(String input, String substring) { if (input == null原创 2016-03-17 13:31:23 · 1906 阅读 · 0 评论 -
IO模拟键盘输入输出
IO模拟键盘输入输出看了毕向东老师关于模拟键盘录入的视频。试验了下用自定义InputStream类的对象模拟键盘录入,用自定义PrintStream类的对象模拟键盘输出。并写了下后来的小练习:通过键盘录入数据。当输入一行数据后,就将该行数据进行打印。如果录入的数据时over,那么停止录入。cmd_1为自己用byte数组接收一行命令并判断是否是over。cmd_2是毕老师原创 2012-03-14 02:02:36 · 1319 阅读 · 1 评论 -
IO流自定义字节流的缓冲区
IO流自定义字节流的缓冲区:思路:BufferedInputStream类中read()方法的工作原理1)先一个一个从字节流中读取字节,读取一定量(自定义)之后,存储在一个字节数组(缓冲区)(FileInputStream.read(byte[] b)),并获得存储数量(read方法的返回值)。2)一个一个字节返回,返回一个,存储数量减1,然后指针往后移一位,准备取下一个。3)原创 2012-03-13 23:58:36 · 3576 阅读 · 0 评论 -
日期相关类以及IO输入输出流
1、一个从来都忽视的小问题:以前学习java都是在eclipse中,一写好程序就直接点击运行(eclipse中,保存文件时就自动编译)。现在看视频中,老师在命令行下进行编译,自己也试了下,直接在命令行输入javac Test.java报错,很奇怪,后来发现是没有给系统指定文件的位置,所以:编译时应该先指定位置,或转到该目录下,比如文件在D盘,命令行输入D:回车,然后再编译(编译产生的类文件原创 2012-03-12 01:08:28 · 537 阅读 · 0 评论 -
Maven初学之插件配置位置
最近在研究Maven,发现照着网上教程走一遍下来,到打包生成可执行的jar文件的地方,需要一个插件maven-shade-plugin,但是不知道具体插件代码放在什么文件的什么地方。尝试了几次,发现是放在工程下的pom.xml中,和之间。下面是一个完整的pom.xml文件。工程为下面网址教程中提到的。http://www.cnblogs.com/dcba1112/archive/2011/原创 2013-01-07 00:58:31 · 2368 阅读 · 0 评论 -
20120417 杂知识点记录
20120417 杂知识点记录没有方法的接口,通常称为:标记接口(就是给实现该接口的类盖个戳)。,如java.io.Serializable。可以手动为类指定一个序列化UID,注意,静态成员是不能被序列化的。因为,非静态的成员变量在内存中是放在堆栈中的,而静态变量是放在方法区的。序列化UID只能序列化堆里的变量。如果也想让某个非静态的变量不被序列化,可以给它加一个修饰符:tra原创 2012-04-22 16:42:30 · 393 阅读 · 0 评论 -
20120414-16杂知识点记录
20120415-17 杂知识点记录Properties是Hashtable的子类。也就是说它具备map集合的特点,而且它里面存储的键值对都是字符串。是集合中和IO技术相结合的集合容器。该对象的特点:可以用于键值对形式的配置文件。Properties的方法:Set stringPropertyNames():返回此属性列表中的键集,其中该键及其对应值是字符串。其键或值不是 Stri原创 2012-04-17 03:24:23 · 444 阅读 · 0 评论 -
20120413杂知识点记录
FileWriter(String fileName):采用这种方式创建文件,该文件就会被创建到指定目录下,如果该目录下已有同名文件,将覆盖。也就是说每次new都要重新创建,原来数据就没有了。FileWriter(String fileName, boolean append):采用这种方式,并给append赋值true,如果不存在则创建新文件,如果已存在同名文件,则不覆盖,并且会在文件末原创 2012-04-15 15:52:13 · 515 阅读 · 0 评论 -
杂知识点记录
一、单例设计模式:解决一个类在内存中只存在一个对象。用代码体现:1,将构造方法私有化;2,在类中创建一个本类对象;3,提供一个方法可以获取到该对象。1)饿汉式(开发一般用这个方式,安全简单):class NumberMachine { //instance一定是static的,因为,在实例还没创建之前,就要有这个对象。 private static Number原创 2012-04-29 03:10:54 · 410 阅读 · 0 评论 -
Socket和ServerSocket以及枚举类
1、xxx.xxx.1.0和1.255两个IP不能用。0代表当前网络段,255代表这个网络段里的广播地址。2、Socket和ServerSocket建立客户端和服务器端建立连接后,通过Socket中的IO流进行数据的传输关闭Socket 同样,客户端和服务器端是两个独立的应用程序。socket:“插座”Socket就是为网络服务提供的一种机制。通原创 2012-03-28 19:52:39 · 661 阅读 · 0 评论 -
反射
反射:1、Class类如何得到各个字节码对应的实例对象(Class类型)1)类名.class,例如System.class2)对象.getClass(),例如new Date().getClass()3)Class.forName("类名"),例如,Class.forName("java.util.Date");九个预定义Class实例对象:参看Class.is原创 2012-03-29 23:22:46 · 390 阅读 · 0 评论 -
泛型
泛型java的集合原来不支持添加基本类型元素,从jdk1.5开始,它提供了基本类型的自动装箱拆箱功能,所以可以将基本类型自动装箱为相应类型对象(比如int->Integer)添加进去。泛型:jdk1.5之后出现的新特性,用于解决安全问题,是一个安全机制。升级三要素:高效、简化书写、安全。泛型定义例子:ArrayList al = new ArrayList(); //将原创 2012-05-06 02:43:26 · 554 阅读 · 0 评论 -
String、集合
1、字符串相关String s1 = “abc”;//s1是一个类类型变量,所以要指向一个对象-”abc”字符串最大特点:一旦被初始化,就不可以被改变。这里指的是该字符串对象值不可以被改变,而s1这个引用变量可以变。String s2 = new String(“abc”);这两句的区别?s1在内存中有一个对象,s2在内存中有两个对象(new、”abc”)。方法区在内存中原创 2012-05-06 02:33:31 · 1147 阅读 · 0 评论 -
多线程
多线程1、进程:一个正在执行的程序,每一个进程执行都有一个执行顺序,该顺序是一个执行路径,或者叫一个控制单元。线程:进程中的一个独立的控制单元,线程在控制着进程的执行。创建线程的方式:1)继承Thread类:①定义类继承Thread类;②复写Thread类的run方法;目的:将自定义的代码存储在run方法中,让线程运行(启动方式:被start方法调用)。③调用线程的原创 2012-05-06 02:20:32 · 462 阅读 · 0 评论 -
异常
异常1、main函数抛出的异常是交给了虚拟机,产生了运行时异常,虚拟机默认的处理方式是打印异常信息,并且终止程序。调用方法时,对方声明几个异常,就对应有几个catch块,如果多个catch块中的异常间出现继承关系时,父类异常catch块放在最下面。自定义异常类中,可以通过构造方法传入该异常的描述,在方法体中继承父类的即可:public MyException(String msg)原创 2012-05-01 04:38:19 · 590 阅读 · 0 评论 -
内部类
内部类知识点记录内部类的访问规则:①内部类可以直接访问外部类中的成员,包括私有;之所以可以直接访问,是因为内部类中持有了一个外部类的引用,格式为:外部类名.this.②外部类如果要访问内部类中的成员,必须要建立内部类的对象。访问格式:①当内部类定义在外部类的成员位置上,而且非私有,可以在外部其他类中,直接建立内部类对象。格式:外部类名.内部类名 变量名 = 外部类对原创 2012-04-30 03:00:01 · 521 阅读 · 0 评论 -
模板方法模式、接口、多态、Object类
一、模板方法模式:在定义功能时,功能的一部分是确定的,但是有一部分是不确定的,而确定的部分在使用不确定的部分,这时,就将不确定的部分暴露出去,由该类的子类去完成。这样可以提高扩展性、提高复用性。比如,想设计一个获取某功能运行时间的类。这个时候,获取运行前后的时间并计算,这部分是确定的,只是中间运行的部分代码是不确定的。所以,可以将中间部分的功能抽取出来成为一个方法,其他部分确定的再成为一个原创 2012-04-30 02:46:39 · 789 阅读 · 0 评论 -
内省、注解、泛型
一、内省:IntroSpector-->JavaBean-->特殊的类比如int getAge() //get方法的返回值是属性的类型,且没有参数void setAge(int age) //set方法的返回值是void,且要有参数JavaBean根据set和get方法名,得到相应的属性名规则:如果第二个字母是小写,则把第一个字母变成小写,即Age-->age原创 2012-04-03 01:19:46 · 1006 阅读 · 0 评论 -
泛型通配符、定义泛型类型
一、泛型的通配符1、如果要定义一个方法,用于打印出任何参数化类型的集合中的所有数据,该如何定义呢?上一篇提到过了,参数化类型不考虑参数类型间的继承关系。因此如下定义就通不过编译:public static void printCollection(Collection cols) { for(Object obj:cols) { System.o原创 2012-04-03 23:13:03 · 4882 阅读 · 0 评论 -
Java线程同步与多线程
20120408交通灯、银行项目都涉及到了多线程。先搞懂线程里大概的知识点吧。一、进程与线程首先就是进程与线程的区别。我们在操作系统中运行一个程序,都会在系统建立一个进程(任务管理器的exe),而在这个进程中,就至少有一个线程在运行,它叫做主线程,也是这个程序运行的入口点,感觉就像一个java工程的含有main主程序(入口点)的那个java程序一样。线程也是程序运行时的基本执行单元原创 2012-04-09 00:09:21 · 731 阅读 · 0 评论 -
网络理论知识
1、网络模型。1)OSI参考模型分为七层: 应用层、表示层、会话层、传输层、网络层、数据链路层、物理层2)TCP/IP参考模型。分为三层: 应用层、传输层、网络层2、网络通讯三要素:1)IP地址 网络中设备的标识 不易记忆,可用主机名 本地回环地址:127.0.0.1,主机名:localhost(比如www.baid原创 2012-03-22 23:42:59 · 758 阅读 · 0 评论