JAVA
SY-
这个作者很懒,什么都没留下…
展开
-
乱码
解决乱码问题 1. 将get请求改为post请求 2. String a=new String(b.getBytes(“iso-8859-1”), “UTF-8”):String(b.getBytes(“iso- 8859-1”), “UTF-8”):将b按 iso-8859-1进行解码 然后再按UTF-8进行编码。 3. 在tomcat中配置字符集,eg:配置文件路径:/{pro原创 2017-11-23 10:34:24 · 320 阅读 · 0 评论 -
集合框架--Map集合之HashMap存储自定义对象
将学生对象和学生的归属地通过键与值存储到map集合中。import java.util.HashMap;import java.util.Iterator;import java.util.Set;import java.util.Map;class Student { String name; int age; public Student(String name,in转载 2016-05-09 17:09:54 · 5477 阅读 · 0 评论 -
集合框架--Map集合常见子类对象
Map常用的子类:1、Hashtable:内部结构是哈希表,是同步的。不允许null作为键,不允许null作为值。其子类Properties用来存储键值对型的配置文件的信息,可以和IO技术相结合。2、HashMap:内部结构是哈希表,是不同步的。允许null作为键,null作为值。3、TreeMap:内部结构是二叉树,是不同步的。可以对Map集合中的键进行排序。转载 2016-05-09 16:30:27 · 346 阅读 · 0 评论 -
集合框架--Map集合values
Collection values():返回映射中包含的值的collection集合。import java.util.Iterator;import java.util.Set;import java.util.Map;import java.util.Collection;public class MapDemo{ public static void main(String转载 2016-05-09 16:30:01 · 610 阅读 · 0 评论 -
集合框架--Map集合entrySet
通过Map转成Set集合就可以迭代,那么有另一个方法:entrySet,该方法将键和值的映射关系作为对象存储到了Set集合中,而这个映射关系的类型就是Map.Entry(接口)类型(例如结婚证这种映射关系)。import java.util.Iterator;import java.util.Set;import java.util.Map;public class MapDemo{转载 2016-05-08 20:38:32 · 312 阅读 · 0 评论 -
集合框架--keySet
在Map集合中无迭代器,要取出map中的所有元素,转载 2016-05-08 20:14:44 · 236 阅读 · 0 评论 -
集合框架--Map集合
Map集合:同Collection,是集合框架中的顶层接口。一次添加一对元素,Collection一次添加一个元素。所有,Map集合也称为双列集合,collection集合称为单列集合。接口Map:key是键,value是值,其实map集合中存储的就是键值对,map集合中必须保证键的唯一性。常用方法:1、添加:value put(K key,V value):返回前一个和k转载 2016-05-08 18:59:39 · 225 阅读 · 0 评论 -
集合框架--TreeSet集合练习之字符串长度排序
String类的compareTo是通过字母的顺序进行排序,所以我们要自定义comparator比较器:import java.util.Comparator;import java.util.Iterator;import java.util.TreeSet;class ComparatorByLength implements Comparator{ //按长度比较,继承Comp转载 2016-05-08 18:57:12 · 732 阅读 · 0 评论 -
集合框架--TreeSet集合Comparator比较器
如果不按照对象中具备的自然顺序进行排序,或者说对象不具备自然顺序,可以使用TreeSet集合第二种排序方式,让集合自身具备比较功能。这就是通过定义一个类实现Comparator接口,覆盖它的compare方法,将该类对象作为参数传递给TreeSet集合的构造函数。import java.util.Comparator;import java.util.Iterator;import jav转载 2016-05-08 17:40:54 · 362 阅读 · 0 评论 -
集合框架--TreeSet集合
TreeSet集合:可以对Set集合中的元素进行排序。是不同步的。转载 2016-05-08 17:30:48 · 295 阅读 · 0 评论 -
集合框架--ArrayList练习实例
功能:去除ArrayList中的重复元素import java.util.ArrayList; public class ArrayListDemo{ public static void mian(String[] args){ ArrayList al=new ArrayList(); al.add("abc1"); al.add("abc2"); al.add("a转载 2016-05-08 15:42:20 · 891 阅读 · 0 评论 -
集合框架--HashSet存储自定义对象
往HashSet集合中存储Person对象,如果姓名和年龄相同,视为同一人同一元素:import java.util.HashSet;class Person{ String name; int age; public Person(){ super(); } public Person(String name,int age){ super(); this.nam转载 2016-05-08 14:58:26 · 856 阅读 · 1 评论 -
集合框架--Map集合之TreeMap存储自定义对象
用TreeMap按姓名进行排序:import java.util.TreeMap;import java.util.Iterator;import java.util.Set;import java.util.Comparator;import java.util.Map;class Student { String name; int age; public Stud转载 2016-05-09 17:33:13 · 1838 阅读 · 0 评论 -
集合框架--Map集合之LinkedHashMap
import java.util.HashMap;import java.util.Iterator;import java.util.LinkedHashMap;import java.util.Map;public class LinkedHashMapDemo{ public static void main(String[] args){ HashMap hm=new Li转载 2016-05-09 17:40:56 · 377 阅读 · 0 评论 -
九种基本数据类型的大小,以及他们的封装类
java提供的九种基本数据类型:boolean、byte、char、short、int、long、float、double、void 以及它们的封装类:Boolean、Byte、Character、Short、Integer、Long、Float、Double、Void在java中使用面向过程的基本类型来存储基本数据,主要是从性能方面考虑,使用对象来处理必然会引起一些不必要的开销。 然而java原创 2016-09-19 22:02:44 · 1978 阅读 · 0 评论 -
实现Serializable接口
Serializable接口:该接口仅仅是一个标记接口,无任何方法定义。 当一个类实现了Serializable接口表示该类可序列化。序列化是将一个实现Serializable接口的对象转化成一个字节序列(一组byte)。可以把该字节序列保存起来,以后要用这个对象时候,就能把这些byte数据恢复出来,并据此重新构建那个对象。甚至可以将该字节序列放到其他计算机上或者通过网络传输到其他计算机上恢复,只原创 2016-09-19 15:43:19 · 1359 阅读 · 0 评论 -
java注解
JAVA中常见注解: 1.JDK中自带的注解:@Override:该方法覆盖或实现父类中的方法@Deprecated:表示该方法已过时@SuppressWarnings:忽略警告2.常见第三方注解: Spring:@Autowired:自动生成dao实例@Service@RepositoryMybatis:@InsertProvider@UpdateProvider@Opt转载 2016-08-13 17:04:45 · 209 阅读 · 0 评论 -
HTTP协议
HTTP:超文本传输协议,是TCP/IP协议的一个应用层协议(工作在TCP/IP协议之上),用于定义web浏览器和web服务器之间交换数据的过程。 HTTP协议的版本:HTTP/1.0、HTTP/1.1,两者的区别是: HTTP/1.0协议中,客户端和web服务器建立连接后,只能获得一个web资源。 HTTP/1.1协议,允许客户端和web服务器建立连接后,在一个连接上获取多个web资源。HT转载 2016-05-23 19:40:59 · 350 阅读 · 1 评论 -
互联网上常用的协议以及它们的工作端口
web服务器基于http协议的端口号:80 基于SMTP(邮件发送协议)设计的服务器端口号:25 基于pop3设计的服务器端口号:110 基于ftp设计的服务器端口号:23 基于https设计的服务器端口号:443原创 2016-05-21 11:13:05 · 437 阅读 · 0 评论 -
overload重载、override重写
overload:重载,是同一个类中有相同的方法名,但是参数类型或参数个数或参数顺序不同。通常存在于父类和子类、同类中。 override:重写, 是在子类与父类中,子类中的方法名、参数个数、参数类型、返回值都和父类中的完全一样,在子类中覆盖掉了父类中的方法。(注:子类方法不能缩小父类方法的访问权限,子类方法不能抛出比父类方法更多的异常)原创 2016-05-29 19:12:05 · 223 阅读 · 0 评论 -
final、finally、finalize
final:用于声明属性、方法和类,表示属性不可改变,方法不可覆盖,类不可继承。 finally:是异常处理机制语句的最后部分,表示一定执行。 finalize:是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供的垃圾收集时的其他资源回收,例如关闭文件等。原创 2016-05-29 18:43:53 · 223 阅读 · 0 评论 -
String、StringBuffer、StringBuilder
String:字符串常量,字符串长度不可变。 StringBuffer:字符串变量,字符串长度可变。在进行字符串修改时,都是改变自身对象,不生产新的对象。StringBuffer是线程安全的,但效率就有所降低。 StringBuilder:线程不安全,执行效率快。 总结:速度:StringBuilder>StringBuffer>String使用环境: 操作少量数据用String原创 2016-05-29 17:26:53 · 218 阅读 · 0 评论 -
集合图
手动集合框架图~原创 2016-05-29 10:01:56 · 305 阅读 · 0 评论 -
集合框架--LinkedList集合练习堆栈和队列
使用LinkedList模拟一个堆栈或者队列数据结构。堆栈:先进后出first in last out(FILO)队列:先进先出first in first out(FIFO)编写一个队列:import java.util.LinkedList;class DuiLie //先进先出{ private LinkedList link; DuiLie() {转载 2016-05-08 11:41:00 · 398 阅读 · 0 评论 -
集合框架--Map集合之记录字母次数练习
练习:“fdgavcbsacdfs”获取该字符串中每一个字母出现的次数。分析:字母和次数之间存在着映射关系,而且这种关系很多,就需要能存储映射关系的容器:数组和Map集合。关系中一方如果是有序编号,用数组;否则map集合。本例中使用Map集合。又发现可以保证唯一性的一方具备顺序如a、b、c......所以使用TreeMap集合。这个集合中最终应该存储的是字母和次数的对应关系:转载 2016-05-09 19:09:17 · 953 阅读 · 0 评论 -
集合框架--哈希表
哈希算法计算出来的值,存储起来形成哈希表。哈希表还是数组。哈希表确定元素是否相同:1、判断的是两个元素的哈希值是否相同,如果相同,再判断两个对象的内容是否相同。2、判断哈希值相同,其实判断的是对象的hashCode方法;判断内容相同,用的是equals方法。注:如果哈希值不同,是不需要判断equals。哈希冲突:哈希值相同但内容不同。原创 2016-05-08 13:40:42 · 215 阅读 · 0 评论 -
集合框架--HashSet集合
Set集合:元素不可以重复,无序。Set接口中的方法与Collection一致。Set接口两个常用的子类(实现类):1、HashSet:内部数据结构是哈希表,是不同步的。用一个例子来说明HashSet:import java.util.HashSet;public class HashSetDemo{ public static void mian(String[] arg转载 2016-05-08 13:39:25 · 312 阅读 · 0 评论 -
集合框架--ArrayList集合存储自定义对象
ArrayList集合存储自定义对象:class Person{ String name; int age; public Person(){ super(); } public Person(String name,int age){ super(); this.name=name; this.age=age; } public String getName(转载 2016-05-08 13:21:53 · 4433 阅读 · 5 评论 -
多线程安全问题
在上一个卖票实例中,我们在Ticket类中定义了run()方法:public void run() { while(true) { if(num>0){ System.out.println(Thread.currentThread().getName()+"卖"+num-原创 2016-05-07 11:19:30 · 1021 阅读 · 0 评论 -
多线程--创建线程两种方式实例
通过一个案例来实现多线程,例如一个卖票系统,我们假设有四个窗口同时卖票,因此可以构造四个线程来实现:转载 2016-03-17 19:24:17 · 594 阅读 · 0 评论 -
多线程
进程:正在进行中的程序。线程:就是进程中一个负责程序执行的控制单元(执行路径),一个进程中可以有多个执行路径,称为多线程。开启多个线程是为了同时运行多部分代码。每一个线程都有自己运行的内容,这个内容可以称为线程要执行的任务。注:一个进程中至少要有一个线程。多线程的好处:解决了多部分同时运行的问题。多线程的弊端:线程太多会导致效率的降低。原创 2016-05-07 10:06:35 · 954 阅读 · 1 评论 -
XML解析方式和调整jvm大小
XML编程(CRUD):在XML文档中增删改查数据。XML解析方式:dom和sax,都用来解析XML文档。dom解析:将文档放在内存中变成一个Document对象,将文档中的节点、文本、属性全都变成一个对象。优点:对文档增删改查(CRUD)容易。缺点:消耗内存大,所以它解析的XML文档不能太大。sax解析:从上往下读取xml文档,读取一行处理一行。优点:内存转载 2016-05-14 16:39:55 · 482 阅读 · 0 评论 -
beanUtils操作javabean
用内省操作javabean较为麻烦,我们使用beanUtils操作javabean。因为beanUtils是第三方Apache开发的,所以我们需要导入beanUtils相关的开发包(第三方jar包)。步骤:在我们的工程下新建一个Floder,名为lib,再拷贝commons-beanutils-1.8.3.jar。但是因为beanUtils这个jar包在工作过程中,需要一个日志记录器的支持,那么还转载 2016-05-13 20:49:51 · 766 阅读 · 0 评论 -
内省
内省是操作javabean的属性。j我们所写的Person类就是一个javabean:package introspector;public class Person { //Person类就可以称为一个javabean private String name; //字段(没有提供get和set方法就不能称为属性) private String password; priva转载 2016-05-13 17:30:33 · 168 阅读 · 0 评论 -
myeclipse程序断点调试
step into(F5):跳入step over(F6):跳过(跳到下一行)step return(F7):跳出(跳出某个方法,跳回去)drop to frame:跳到当前方法第一行resume:跳到下一个断点(如果没有下一个,则运行完整个程序)watch:观察变量或表达式的值断点注意的问题:1、断点调试完成后,要在breakpoints视图中清除所有转载 2016-05-13 15:53:49 · 236 阅读 · 0 评论 -
反射机制--练习实例
我将所有创建的.java文件都放在包text下,演示一个电脑运行的实例,电脑具有一个主板类,通过反射机制,我们可以扩展其功能,添加声卡。网卡等。主函数类:package text;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java转载 2016-05-12 11:14:52 · 414 阅读 · 0 评论 -
反射机制--获取Class中的方法
package text;import java.lang.reflect.Method;public class ReflectDemo4 { public static void main(String[] args) throws Exception { getMethodDemo(); } /* * 获取指定Class中所有的公共函数 * */ public转载 2016-05-11 20:33:47 · 326 阅读 · 0 评论 -
反射机制--获取Class中的字段
前面我们获取到了Class中的构造函数,现在我们来获取Class中的字段package text;import java.lang.reflect.Field;public class ReflectDemo3 { public static void main(String[] args) throws Exception { getFieldDemo(); } /转载 2016-05-11 19:35:23 · 1247 阅读 · 0 评论 -
反射机制--获取实例化对象
在上一节中,获取到了字节码文件对象,那么如何获取该字节码文件对应的Person对象呢?(仍然使用在text包下定义的Person类。)运行早期的方法:package text;public class ReflectDemo2 { public static void main(String[] args) throws ClassNotFoundException, Instan转载 2016-05-11 11:01:41 · 1308 阅读 · 0 评论 -
java--同步的前提
在解决线程安全问题中时,我们运用了同步,但是在使用同步时要具备前提条件:同步中必须有多个线程并使用同一个锁(对象)。什么是使用同一个锁呢?我们在解决线程安全问题是,在Ticket类中这样书写的代码:class Ticket implements Runnable{ private int num=100; //共有100张票 Object obj=new Object();转载 2016-05-07 11:28:57 · 380 阅读 · 0 评论