《黑马程序员JavaEE基础班知识点整理(共23页).docx》由会员分享,可在线阅读,更多相关《黑马程序员JavaEE基础班知识点整理(共23页).docx(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上黑马程序员JavaEE基础班知识点整理天地玄黄,宇宙洪荒。如果你也和我一样看过不少网络小说,那你的想象力肯定很丰富,这点作为程序员是很重要的。如果你和我一样喜欢黑客帝国银河系漫游指南钢铁侠三体西部世界。那有可能科幻就是你坚持钻研技术的动力来源。虽然我们暂时不能像黑客帝国里一样进入虚拟世界,不能像邓肯一样到宇宙尽头餐馆吃饭,没有贾维斯的智能管家系统,也不能把机器人做的无法分辨真伪,但是如果没有人们对未来的想象我们的技术就没有了追求。这些追求促使我们不断的学习,让技术不断的前进,我相信这些电影电视小说里的情节一定会实现。抱有这样的期待和好奇很多同学来到黑马学习技术,首先接
2、触的就是黑马的基础班。视频课程,讲义是必须的,但是我们还要有知识的梳理。今天我们就整理了基础班的一下问答和笔试题供大家交流学习。希望大家梳理一下自己的基础知识,基础知识是我们技术飞船的主架,主架坚固才能让我们在宇宙里航行的更远理论知识点一、基础概念1、面向对象的理解并举例2、面向对象的三大特性,并分别阐述对每个特性的理解3、阐述成员变量和局部变量的区别4、构造方法的概念和作用,和一般方法的区别5、静态代码块、构造代码块、构造方法的特点及执行顺序6、描述类和对象的关系7、创建对象的步骤 等二、IO流理论知识点:1、io流的基本流都有哪些,简单说说基本流的体系2、字节流和字符流的使用场景3、拷贝文
3、本文件一般会用到哪个流?为什么?4、在io流中拷贝文件一般会用哪几个流?5、在io流的拷贝过程中,通过while 循环读取字节进行拷贝,需要通过哪个流 的什么方法读取字节6、File类的常用方法都有哪些?7、遍历指定目录下的文件的所有名称,一般用什么方法?8、在io流中一般常用的字符编码集都有哪些?简单阐述几种9、在字符流中,带缓冲区的包装流都有哪一些?具体阐述一下。10、为什么read()方法返回值是int类型?11、标准输入流和输出流是什么?三、集合理论知识点1、 集合的由来2、 数组和集合的使用场景3、 数组和集合的区别4、 集合的遍历5、 在迭代集合中元素时,可不可以通过集合对象的方法
4、操作集合中的元素?6、 List的三个子类的特点7、 栈和队列数据结构8、 List有三个儿子,在不同的场景分别应该使用谁呢?9、 HashSet保证元素唯一的原理10、TreeSet两种排序方式11、list集合和set集合有什么区别?12、双列集合获取键和值的两种方式13、HashMap和Hashtable的区别14、Collection和Collections的区别?四、反射理论知识点1、 反射概述2、 获取类的字节码文件三种方式五、线程理论知识点1、 线程的生命周期。2、 多线程的使用场景是什么?3、 简述通过Runnable实现多线程的步骤。4、 线程和进程的区别是什么?5、 一个线
5、程从等待状态被唤醒后是直接进入运行状态么?6、 实现多线程有几种方式?7、 对常用的实现多线程的方法做一个对比。8、 如何使用匿名内部类实现多线程?9、 如何获取当前线程的名字?10、如何实现线程的等待和休眠?11、Sleep和Wait方法的可以传参数么?12、Sleep方法和Wait方法的参数代表什么意义?13、如何唤醒等待中的线程?14、同步代码块和同步方法的使用场景是什么?15、同步方法的锁对象是什么?16、对懒汉式和饿汉式做一个对比。17、什么是工厂设计模式?18、死锁产生的原因是什么?19、简述线程池的应用场景。20、Timmer类的使用场景。21、说一下你所学过的和线程安全有关并且
6、是线程安全的类有哪些?编程知识点一、IO流编程知识点:1、车库里有各种牌子的车,请根据这个生活中的案例用代码实现出来。有一个garage类(车库类),里面有很多车,车库类有车名(name),车牌号(number),颜色(colour),价格(price)等属性。提示用户输入自己喜欢的三种车的车名,车牌号,颜色,价格。然后根据输入的车的价格的降序进行排序,将输出的结果存到根目录下的a.txt中。比如: 路虎-京B8888-黑色-2、提示用户输入一串字符串,统计出字符串中每个字符出现的次数,将结果写入到a.txt中。二、集合编程知识点:1、按照以下需要实现相关功能,需求如下:1)分别键盘录入5个人
7、的相关信息(姓名、年龄、性别)2)定义一个方法将键盘录入的相关信息封装成Person对象,把对象存储在集合中并且遍历输出Person对象所有相关信息。3)将集合中Person对象年龄大于60的对象删除并且将其相关信息输出到控制台上2、已知有一Map集合,请实现如下需求: A:向map集合中添加3组数据, 例如:1=woaijavajavaaiwo; 2=woaiheima,b ; B: 提示用户录入编号及内容,然后将内容(value)进行反转 /例如: 用户输入woaijava存入顺序为avajiaow; C:将集合中的值写入到D:a.txt中。三、线程编程知识点:1、通过继承Thread类的
8、方式创建两个线程 ,在Thread类的构造方法中指定线程的名字,开启线程并输出10次每次执行的是哪条线程。2、用多线程知识完成模拟抢红包的过程, 5个人共抢10个红包,红包的金额06元不等(包含0和6),每个人相当于1个线程。在控制台打印出每个人抢到红包的总金额。四、JDBC知识点:利用SQLyog创建itheimadb数据库和stu表,表中字段有:name(varchar类型),age(int类型),java(double类型),c(double类型),oc(double类型),Chinese(double类型),并将以下数据添加到stu表中(以上操作均可以使用SQLyog完成);利用JDB
9、C连接itheimadb数据库使用sql语句按要求完成以下功能idnameagejavacocchinese1zs1210098100202ls245051921003andi34201015604aliy213010015655wn1180218712a. 输出年龄在20岁以上的学员所有学科的总分b. 将andi的java成绩改为100,C语言成绩改为60c. 在控制台上打印出Java学科和c学科都是60分以下的学员姓名参考答案:一 1:车库类AppleScript纯文本查看复制代码0102030405060708091011121314151617181920212223242526272
10、8293031323334353637383940414243public class Garage private String name;private String number;private String colour;private int price;public Garage(String name, String number, String colour, int price) super();this.name = name;this.number = number;this.colour = colour;this.price = price;public String
11、 getName() return name;public void setName(String name) this.name = name;public String getNumber() return number;public void setNumber(String number) this.number = number;public String getColour() return colour;Overridepublic String toString() return Garage name= + name + , number= + number + , colo
12、ur=+ colour + , price= + price + ;public void setColour(String colour) this.colour = colour;public int getPrice() return price;public void setPrice(int price) this.price = price;示例代码:AppleScript纯文本查看复制代码010203040506070809101112131415161718192021222324252627282930313233343536public class Test01 publi
13、c static void main(String args) throws IOException ArrayList list = new ArrayList();System.out.println(请输入自己喜欢的三种车的车名,车牌号,颜色,价格);Scanner sc = new Scanner(System.in);for (int i = 0; i 3; i+) String name = sc.next();String number = sc.next();String colour = sc.next();int price = sc.nextInt();/ System.
14、out.println(name+ +number+ +colour+ +price);Garage cars = new Garage(name,number,colour,price);list.add(cars);System.out.println(添加成功!);for (int j = 0; j list.size() - 1; j+) / 降序排列for (int i = 0; i list.size() - 1 - j; i+) Garage car1 = list.get(i);Garage car2 = list.get(i + 1);if (car1.getPrice()
15、car2.getPrice() list.set(i + 1, car1);list.set(i, car2);BufferedWriter bf = new BufferedWriter(new FileWriter(a.txt);for (int i = 0; i list.size(); i+) bf.append(list.get(i).toString();bf.newLine();bf.flush();/ System.out.println(list.get(i).toString();bf.close();System.out.println(信息已写入a.txt);一、2:A
16、ppleScript纯文本查看复制代码0102030405060708091011121314151617181920212223242526272829public class Test02 public static void main(String args) throws IOException System.out.println(请输入一个字符串);Scanner sc = new Scanner(System.in);String str = sc.next();/ System.out.println(str);Set set = new HashSet();char char
17、s = str.toCharArray();for (int i = 0; i chars.length; i+) set.add(charsi);/ 去重,Map map = new HashMap();for (int i = 0; i chars.length; i+) if (set.contains(charsi) & !map.containsKey(charsi) map.put(charsi, 1); else if (set.contains(charsi) & map.containsKey(charsi) map.put(charsi, (int) map.get(cha
18、rsi) + 1);BufferedWriter bw = new BufferedWriter(new FileWriter(a.txt);for (Object key : map.keySet() bw.append(key + 出现了 + map.get(key) + 次);bw.newLine();bw.flush();bw.close();System.out.println(信息已写入a.txt);二、1AppleScript纯文本查看复制代码010203040506070809101112131415161718192021222324public class Test03 p
19、ublic static void main(String args) System.out.println(请输入5个人的相关信息:姓名,年龄,性别);ArrayList list = new ArrayList();for (int i = 0; i =0; i-) if (list.get(i).getAge() 60) System.out.println(list.get(i)+已删除);list.remove(i);for (int i = 0; i list.size(); i+) System.out.println(list.get(i)+-);二、2AppleScript纯
20、文本查看复制代码0102030405060708091011121314151617181920212223public class Test04 public static void main(String args) throws IOException Map map = new HashMap();System.out.println(请输入编号及内容);for(int i=0;i 0) synchronized (this) System.out.println(Thread.currentThread().getName();i-;三、2AppleScript纯文本查看复制代码01
21、0203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960public class Test06 public static void main(String args) People p = new People();Thread t1 = new Thread(p);Thread t2 = new Thread(p);Thread t3 = new Thread(p);Thread t4 = new Thread(
22、p);Thread t5 = new Thread(p);t1.setName(t1);t2.setName(t2);t3.setName(t3);t4.setName(t4);t5.setName(t5);t1.start();t2.start();t3.start();t4.start();t5.start();while (!p.flag);for (Entry entry : p.map.entrySet() System.out.println(entry.getKey() + 抢了 + entry.getValue() + 元);class People extends Threa
23、d Map map = new HashMap();boolean flag = false;private int num = 10;public void run() while (true) synchronized (this) if (num 0) try Thread.sleep(100); catch (InterruptedException e) e.printStackTrace();Random r = new Random();int money = r.nextInt(7);String name = Thread.currentThread().getName();
24、if (!map.containsKey(name) map.put(name, money); else if (map.containsKey(name) map.put(name, map.get(name) + money);num-;System.out.println(num + + name + + money); else flag = true;break;四、sql命令java代码:AppleScript纯文本查看复制代码01020304050607080910111213141516171819202122232425262728293031323334353637383
25、940414243444546474849505152535455public class Test07 public static void main(String args) throws ClassNotFoundException,SQLException Class.forName(com.mysql.jdbc.Driver);String url = jdbc:mysql:/localhost:3306/itheima;String username = root;String password = 123;Connection con = DriverManager.getConnection(url, username, password);/ 插入一条数据Statement stat = con.createStatement();/ int row =/ stat.executeUpdate(INSERT INTO stu (sname,age,java,c,oc,chinese) VALUES(meng,26,80,8,100,20);/ System.out.println(row);
限制150内