03 2017 档案
摘要:1 盒子模型 1.1 边框 border Border-top-style: solid 实线 dotted 点线 dashed 虚线 Border-top-color 边框颜色 Border-top-width 边框粗细 ◆边框属性的连写 特点:没有顺序要求,线型为必写项。 ◆四个边框值相同的写
阅读全文
摘要:1 行高 ◆浏览器默认文字大小 浏览器默认文字大小:16px 行高:是基线与基线之间的距离 行高=文字高度+上下边距 一行文字行高和父元素高度一致的时候,垂直居中显示。 2 行高的单位 总结:单位除了像素以为,行高都是与文字大小乘积。 总结:不带单位时,行高是和子元素文字大小相乘,em和%的行高是
阅读全文
摘要:1 链接伪类 a:link{属性:值;} a{属性:值}效果是一样的。 a:link{属性:值;} 链接默认状态 a:visited{属性:值;} 链接访问之后的状态 a:hover{属性:值;} 鼠标放到链接上显示的状态 a:active{属性:值;} 链接激活的状态 a:focus{属性:值;
阅读全文
摘要:标签分类 1.块元素 典型代表,Div,h1-h6,p,ul,li 特点: ★独占一行 ★可以设置宽高 ★ 嵌套(包含)下,子块元素宽度(没有定义情况下)和父块元素宽度默认一致。 2. 行内元素 典型代表 span ,a, ,strong , em, del, ins 特点:★在一行上显示 ★不能直
阅读全文
摘要:font-size:16px; 文字大小 Font-weight: 700 ; 值从100-900,文字粗细,不推荐使用font-weight:bold; Font-family:微软雅黑; 文本的字体 Font-style: normal | italic; normal 默认值 italic 斜
阅读全文
摘要:◆标签选择器: 选择器{属性:值; 属性:值;} 属性 解释 Width:20px; 宽 Height:20px; 高 Background-color:red; 背景颜色 font-size:24px; 文字大小 text-align:left | center| right 内容的水平对齐方式
阅读全文
摘要:1 另存为 ctrl+shift+s 1.1 锚链接 1.先定义一个锚点 <p id="sd"> 2.超链接到锚点 <a href="#sd">回到顶部</a> 1.2 空链 不知道链接到那个页面的时候,用空链 <a href="#">空链</a> 1.3 超链接优化写法 <base target
阅读全文
摘要:相对于文件自身出发,就是相对路径。 跳出当前目录使用../ ◆文件和图片(html文档)在同一个目录(文件夹) ,直接写文件名。 ◆图片(html文档)在文件在下一级目录里。文件夹名称+/+图片(html)名称 ◆图片(html)在文件的上一级目录里,..+/+图片(html)名称 ◆图片在文件的上
阅读全文
摘要:GUI(如何创建一个窗口并显示)* Graphical User Interface(图形用户接口)。* Frame f = new Frame(“my window”); f.setLayout(new FlowLayout());//设置布局管理器 f.setSize(500,400);//设置
阅读全文
摘要:设计模式(简单工厂模式概述和使用)* A:简单工厂模式概述 * 又叫静态工厂方法模式,它定义一个具体的工厂类负责创建一些类的实例* B:优点 * 客户端不需要在负责对象的创建,从而明确了各个类的职责* C:缺点 * 这个静态工厂类负责所有对象的创建,如果有新的对象增加,或者某些对象的创建方式不同,就
阅读全文
摘要:线程池的概述和使用* A:线程池概述 * 程序启动一个新线程成本是比较高的,因为它涉及到要与操作系统进行交互。而使用线程池可以很好的提高性能,尤其是当程序中要创建大量生存期很短的线程时,更应该考虑使用线程池。线程池里的每一个线程代码结束后,并不会死亡,而是再次回到线程池中成为空闲状态,等待下一个对象
阅读全文
摘要:线程组的概述和使用* A:线程组概述 * Java中使用ThreadGroup来表示线程组,它可以对一批线程进行分类管理,Java允许程序直接对线程组进行控制。 * 默认情况下,所有的线程都属于主线程组。 * public final ThreadGroup getThreadGroup()//通过
阅读全文
摘要:两个线程间的通信* 1.什么时候需要通信 * 多个线程并发执行时, 在默认情况下CPU是随机切换线程的 * 如果我们希望他们有规律的执行, 就可以使用通信, 例如每个线程执行一次打印* 2.怎么通信 * 如果希望线程等待, 就调用wait() * 如果希望唤醒等待的线程, 就调用notify();
阅读全文
摘要:Runtime类* Runtime类是一个单例类 * Runtime r = Runtime.getRuntime(); //r.exec("shutdown -s -t 300"); //300秒后关机 r.exec("shutdown -a"); //取消关机 Timer* Timer类:计时器
阅读全文
摘要:* 单例设计模式:保证类在内存中只有一个对象。 * 如何保证类在内存中只有一个对象呢? * (1)控制类的创建,不让其他类来创建本类的对象。private * (2)在本类中定义一个本类的对象。Singleton s; * (3)提供公共的访问方式。 public static Singleton
阅读全文
摘要:* 1.什么情况下需要同步 * 当多线程并发, 有多段代码同时执行时, 我们希望某一段代码执行的过程中CPU不要切换到其他线程工作. 这时就需要同步. * 如果两段代码是同步的, 那么同一时间只能执行一段, 在一段代码没执行结束之前, 不会执行另外一段代码.* 2.同步代码块 * 使用synchro
阅读全文
摘要:加入线程 相当于插队* join(), 当前线程暂停, 等待指定的线程执行结束后, 当前线程再继续。* join(int), 可以等待指定的毫秒之后继续。 礼让线程* yield让出cpu 设置线程的优先级* setPriority()设置线程的优先级
阅读全文
摘要:* 什么是线程 * 线程是程序执行的一条路径, 一个进程中可以包含多条线程 * 多线程并发执行可以提高程序的效率, 可以同时完成多项工作 多线程并行和并发的区别* 并行就是两个任务同时运行,就是甲任务进行的同时,乙任务也在进行。(需要多核CPU)* 并发是指两个任务都请求运行,而处理器只能按受一个任
阅读全文
摘要:Properties的概述和作为Map集合的使用* A:Properties的概述 * Properties 类表示了一个持久的属性集。 * Properties 可保存在流中或从流中加载。 * 属性列表中每个键及其对应值都是一个字符串。 * B:案例演示 * Properties作为Map集合的使
阅读全文
摘要:* 1.什么是打印流 * 该流可以很方便的将对象的toString()结果输出, 并且自动加上换行, 而且可以使用自动刷出的模式 * System.out就是一个PrintStream, 其默认向控制台输出信息 PrintStream ps = System.out; ps.println(97);
阅读全文
摘要:1.什么是序列流 * 序列流可以把多个字节输入流整合成一个, 从序列流中读取数据时, 将从被整合的第一个流开始读, 读完一个之后继续读第二个, 以此类推. 2.使用方式 * 整合两个: SequenceInputStream(InputStream, InputStream) * 整合多个: Seq
阅读全文
摘要:使用指定的码表读写字符* FileReader是使用默认码表读取文件, 如果需要使用指定码表读取, 那么可以使用InputStreamReader(字节流,编码表)* FileWriter是使用默认码表写出文件, 如果需要使用指定码表写出, 那么可以使用OutputStreamWriter(字节流,
阅读全文
摘要:装饰设计模式 * interface Coder { public void code(); } class Student implements Coder { @Override public void code() { System.out.println("javase"); System.
阅读全文
摘要:字符流是什么 * 字符流是可以直接读写字符的IO流 * 字符流读取字符, 就要先读取到字节数据, 然后转为字符. 如果要写出字符, 需要把字符转为字节再写出. 为什么读取的是字节数据? 计算机存储的数据是字节数据,先读取字节数据再转换为字符 * FileReader * FileReader类的re
阅读全文
摘要:BufferedInputStream和BufferOutputStream拷贝* A:缓冲思想 * 字节流一次读写一个数组的速度明显比一次读写一个字节的速度快很多, * 这是加入了数组这样的缓冲区效果,java本身在设计的时候, * 也考虑到了这样的设计思想(装饰设计模式后面讲解),所以提供了字节
阅读全文
摘要:* IO流用来处理设备之间的数据传输 * Java对数据的操作是通过流的方式 * Java用于操作流的类都在IO包中 * 流按流向分为两种:输入流,输出流。 * 流按操作类型分为两种: * 字节流 : 字节流可以操作任何数据,因为在计算机中任何数据都是以字节的形式存储的 * 字符流 : 字符流只能操
阅读全文
摘要:File类的概述 * File更应该叫做一个路径 * 文件路径或者文件夹路径 * 路径分为绝对路径和相对路径 * 绝对路径是一个固定的路径,从盘符开始 * 相对路径相对于某个位置,在eclipse下是指当前项目下,在dos下 * 查看API指的是当前路径 * 文件和目录路径名的抽象表示形式 /**
阅读全文
摘要:异常注意事项 * a:子类重写父类方法时,子类的方法必须抛出相同的异常或父类异常的子类。(父亲坏了,儿子不能比父亲更坏) * b:如果父类抛出了多个异常,子类重写父类时,只能抛出相同的异常或者是他的子集,子类不能抛出父类没有的异常 * c:如果被重写的方法没有异常抛出,那么子类的方法绝对不可以抛出异
阅读全文
摘要:* 编译时异常的抛出必须对其进行处理 * 运行时异常的抛出可以处理也可以不处理 throws和throw的区别 * a:throws * 用在方法声明后面,跟的是异常类名 * 可以跟多个异常类名,用逗号隔开 * 表示抛出异常,由该方法的调用者来处理 public void setAge(int ag
阅读全文
摘要:###异常(异常的概述和分类) * A:异常的概述 * 异常就是Java程序在运行过程中出现的错误。 * B:异常的分类 * 通过API查看Throwable * Error * 服务器宕机,数据库崩溃等 * Exception C:异常的继承体系 * Throwable * Error * Exce...
阅读全文
摘要:/** * Collection * List(存取有序,有索引,可以重复) * ArrayList * 底层是数组实现的,线程不安全,查找和修改快,增和删比较慢 * LinkedList * 底层是链...
阅读全文
摘要:/** * 泛型固定下边界 * ? super E * * 泛型固定上边界 * ? extends E */ public static void main(String[] args) { //demo1(); TreeSet ts1 = new TreeSet(new CompareBy...
阅读全文
摘要:/** * @param args * 面试题 * HashMap和Hashtable的区别 * 共同点: * 底层都是哈希算法,都是双列集合 * 区别: * 1,HashMap是线程不安全的,效率高,JDK1.2版本 * Hashtable是线程安全的,效率低,JDK1.0版本的 * 2,Ha...
阅读全文
摘要:hashmap 嵌套 hashmap HashMap<Student, String> hm88 = new HashMap<>(); hm88.put(new Student("张三", 23), "北京"); hm88.put(new Student("李四", 24), "北京"); hm88
阅读全文
摘要:获取功能* Set<Map.Entry<K,V>> entrySet():* V get(Object key):根据键获取值* Set<K> keySet():获取集合中所有键的集合* Collection<V> values():获取集合中所有值的集合 第一遍历方法原理图: 第二种遍历方法原理图
阅读全文
摘要:Map接口概述 * 查看API可以知道: * 将键映射到值的对象 * 一个映射不能包含重复的键 * 每个键最多只能映射到一个值 Map接口和Collection接口的不同 * Map是双列的,Collection是单列的 * Map的键唯一,Collection的子体系Set是唯一的 * Map集合
阅读全文
摘要:* TreeSet是用来排序的, 可以指定一个顺序, 对象存入之后会按照指定的顺序排列 * 使用方式 * a.自然顺序(Comparable) * TreeSet类的add()方法中会把存入的对象提升为Comparable类型 * 调用对象的compareTo()方法和集合中的对象比较 * 根据co
阅读全文
摘要:自定义类要显示排序,需要在自定义类中实现 comparable接口 年龄是比较的主要条件,姓名是比较的次要条件:
阅读全文
摘要:* LinkedHashSet: * 底层是链表实现的,是set集合中唯一一个能保证怎么存就怎么取的集合对象 * 因为是HashSet的子类,所以也是保证元素唯一的,与HashSet的原理一样 /** * * 使用Scanner从键盘读取一行输入,去掉其中重复字符, 打印出不同的那些字符 * aaa
阅读全文
摘要:HashSet存储自定义对象保证元素唯一性 * 存储自定义对象,并保证元素唯一性。 HashSet<Person> hs = new HashSet<>(); hs.add(new Person("张三", 23)); hs.add(new Person("张三", 23)); hs.add(new
阅读全文
摘要:API中比较 set 和 collection 集合都有一样的方法 * A:Set集合概述及特点 :一个不包含重复元素的 collection * 通过API查看即可* B:案例演示 * HashSet存储字符串并遍历 * HashSet<String> hs = new HashSet<>();
阅读全文
摘要:/*** 集合嵌套之ArrayList嵌套ArrayList * 案例: * 我们学科,学科又分为若个班级 * 整个学科一个大集合 * 若干个班级分为每一个小集合 */ public static void main(String[] args) { ArrayList<ArrayList<Pers
阅读全文
摘要:Arrays工具类的asList()方法的使用* A:案例演示 * Arrays工具类的asList()方法的使用 * Collection中toArray(T[] a)泛型版的集合转数组 数组转集合 : Arrays工具类的asList()方法的使用 public static void demo
阅读全文
摘要:/** * * A:可变参数概述 * 定义方法的时候不知道该定义多少个参数 * B:格式 * 修饰符 返回值类型 方法名(数据类型… 变量名){} * C:注意事项: * 这里的变量其实是一个数组 * 如果一个方法有可变参数,并且有多个参数,那么,可变参数肯定是最后一个 */ 静态导入的概述和使用*
阅读全文
摘要:* 普通for循环,可以删除,但是索引要 “--”* 迭代器,可以删除,但是必须使用迭代器自身的remove方法,否则会出现并发修改异常* 增强for循环不能删除 增强for * 简化数组和Collection集合的遍历 * B:格式: for(元素数据类型 变量 : 数组或者Collection集
阅读全文
摘要:* * A:泛型通配符<?> * 任意类型,如果没有明确,那么就是Object以及任意的Java类了 * B:? extends E * 向下限定,E及其子类 * C:? super E * 向上限定,E及其父类
阅读全文
摘要:* A:泛型接口概述 * 把泛型定义在接口上* B:定义格式 * public interface 接口名<泛型类型>* C:案例演示 * 泛型接口的使用
阅读全文
摘要:* 泛型的由来:通过Object转型问题引入 * 早期的Object类型可以接收任意的对象类型,但是在实际的使用中,会有类型转换的问题。也就存在这隐患,所以Java提供了泛型来解决这个安全问题。 泛型类的概述及使用* A:泛型类概述<T> * 把泛型定义在类上* B:定义格式 * public cl
阅读全文
摘要:集合框架(Vector的特有功能)* A:Vector类概述 * B:Vector类特有功能 * public void addElement(E obj) * public E elementAt(int index) * public Enumeration elements() * C:案例演
阅读全文
摘要:并发修改异常产生的原因及解决方案* A:案例演示 * 需求:我有一个集合,请问,我想判断里面有没有"world"这个元素,如果有,我就添加一个"javaee"元素,请写代码实现。 List list = new ArrayList(); list.add("a"); list.add("b"); l
阅读全文
摘要:集合框架(List集合的特有功能概述和测试)* A:List集合的特有功能概述 * void add(int index,E element) * E remove(int index) * E get(int index) * E set(int index,E element) 集合框架(Lis
阅读全文
摘要:集合框架(迭代器的原理及源码解析)* A:迭代器原理 * 迭代器原理:迭代器是对集合进行遍历,而每一个集合内部的存储结构都是不同的,所以每一个集合存和取都是不一样,那么就需要在每一个类中定义hasNext()和next()方法,这样做是可以的,但是会让整个集合体系过于臃肿,迭代器是将这样的方法向上抽
阅读全文
摘要:集合框架(集合的由来及集合继承体系图) * A:集合的由来 * 数组长度是固定,当添加的元素超过了数组的长度时需要对数组重新定义,太麻烦,java内部给我们提供了集合类,能存储任意对象,长度是可以改变的,随着元素的增加而增加,随着元素的减少而减少 * B:数组和集合的区别 * 区别1 : * 数组既
阅读全文
摘要:Calendar类的概述和获取日期的方法* A:Calendar类的概述 * Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。* B:成员方
阅读全文
摘要:Dateformat 是抽象类 ,抽象类不能直接实例化对象, 它的构造函数是protected , 可由子类继承,用于构造子类对象 DateFormat df1= DateFormat.getDateInstance(); 相当于父类引用指向子类对象,右边的方法返回一个子类 相当于 dateform
阅读全文
摘要:Random类的概述 /** A: * 此类用于产生随机数如果用相同的种子创建两个 Random 实例,* 则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列。 * B:构造方法 * public Random() * public Random(long seed) * C:成员方
阅读全文
摘要:string类中的matches方法: public boolean matches(String regex) { return Pattern.matches(regex, this); } 思考题: /* 需求:把一个字符串中的手机号码获取出来*/ public static void mai
阅读全文
摘要:正则表达式 官方手册API 类pattern 1.字符类 /* [abc] a、b 或 c(简单类) [^abc] 任何字符,除了 a、b 或 c(否定) [a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围) [a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](并
阅读全文
摘要:public static void main(String[] args) { Integer i1 = new Integer(97); Integer i2 = new Integer(97); System.out.println(i1 == i2); //false System.out.
阅读全文
摘要:JDK5的新特性 * 自动装箱:把基本类型转换为包装类类型 * 自动拆箱:把包装类类型转换为基本类型 * B:案例演示 * JDK5的新特性自动装箱和拆箱 * Integer ii = 100; * ii += 200; * C:注意事项 * 在使用时,Integer x = null;代码就会出现
阅读全文
摘要:基本数据类型包装类有八种,其中七种都有parseXxx的方法,可以将这七种的字符串表现形式转换成基本数据类型 int -- String * a:和""进行拼接 常用方法 * b:public static String valueOf(int i) 常用方法 * c:int -- Integer
阅读全文
摘要:常见对象(基本类型包装类的概述)* A:为什么会有基本类型包装类 * 将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据。* B:常用操作 * 常用的操作之一:用于基本数据类型与字符串之间的转换。* C:基本类型和包装类的对应* byte Byte short Short i
阅读全文
摘要:* 针对数组进行操作的工具类。 * 提供了排序,查找等功能。* 成员方法: * public static String toString(int[] a) * public static void sort(int[] a) * public static int binarySearch(int
阅读全文
摘要:冒泡排序 相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处 选择排序 * 从0索引开始,依次和后面元素比较,小的往前放,第一次完毕,最小值出现在了最小索引处
阅读全文
摘要:StringBuffer和StringBuilder的区别 * StringBuffer是jdk1.0版本的,是线程安全的,效率低 * StringBuilder是jdk1.5版本的,是线程不安全的,效率高 * String和StringBuffer,StringBuilder的区别 * Strin
阅读全文
摘要:A:StringBuffer的添加功能: public StringBuffer append(String str): 可以把任意类型数据添加到字符串缓冲区里面,并返回字符串缓冲区本身 public StringBuffer insert(int offset,String str): 在指定位置
阅读全文
摘要:string 的替换功能 A string replace(char old,char new) string replace(string old,string new) B string 的去除字符串空格 string trim() C string的按字典顺序比较两个字符串 int compa
阅读全文