注意要点
嘿嘿嘿1212
知识在于累计
展开
-
错题
第一题对下列代码描述正确的是()public class Student{ final int age = 10; final String name; public Student(String name){ this.name = name; } }A.可以在...原创 2019-07-12 20:47:49 · 232 阅读 · 0 评论 -
Java中 VO、 PO、DO、DTO、 BO、 QO、DAO、POJO的概念
PO(persistant object) 持久对象在 o/r 映射的时候出现的概念,如果没有 o/r 映射,没有这个概念存在了。通常对应数据模型 ( 数据库 ), 本身还有部分业务逻辑的处理。可以看成是与数据库中的表相映射的 java 对象。最简单的 PO 就是对应数据库中某个表中的一条记录,多个记录可以用 PO 的集合。 PO 中应该不包含任何对数据库的操作。DO(Domain Obj...转载 2019-09-24 14:45:03 · 106 阅读 · 0 评论 -
进程与线程的区别
调度在传统操作系统中,拥有资源和被操作系统独立调度的基本单位都是进程。但是引入线程之后,线程成为操作系统独立调度的基本单位,而进程则仍是拥有系统资源的独立单位。在同一进程中,线程的切换不会引起进程的切换。但是,不同进程中线程的切换势必会引起进程之间的切换。拥有资源不论是传统的还是引入线程概念的操作系统,进程都是拥有系统资源的基本单位,线程不拥有资源(除了一点线程运行时所必须要的资源...转载 2019-09-05 13:50:43 · 202 阅读 · 0 评论 -
编写多线程程序有几种实现方式?synchronized关键字的用法?启动一个线程是调用run()还是start()方法?
线程的实现方法实现Runable接口继承Theradl类实现Callable接口线程池synchronized的用法修饰一个代码块,被修饰的代码块称为同步代码块,其锁可以进行自定义对象或类.修饰一个方法,被修饰的方法称为同步方法,其锁为调用的对象.修饰一个静态的方法,其锁为当前类.修饰一个类,其锁为当前类.注意:同步方法不会被继承启动一个线程是调用run()还...原创 2019-08-30 14:39:52 · 476 阅读 · 0 评论 -
什么是线程池(thread pool)?谈谈线程的生命周期(状态)?)
线程池线程池是类似于连接池是为了避免频繁的创建和销毁线程系统在启动是就创建大量空闲的线程,当程序将一个Runnable对象或Callable对象传给线程池时,线程池会从中拿出一个线程来执行它们的run()或call()方法,当run()方法或call()方法执行结束时,该线程不会死亡,而是归还给线程池,成为空闲状态,等待下一次被调用.参考链接线程的生命周期新建:创建线程对象...原创 2019-08-30 14:28:56 · 1145 阅读 · 0 评论 -
线程的sleep()方法和yield()方法有什么区别?
在执行sleep方法时,线程进入阻塞态,而yield()方法执行后进入就绪态在sleep方法执行后,释放的CPU资源,其他线程不管线程优先级进行抢夺CPU资源,而yield()方法执行后,释放的CPU资源,只有同优先级或更高优先级的线程可以进行抢夺CPU资源由于sleep方法执行后进入阻塞态,而yield()方法执行后进入就绪态,所以在执行了yield()方法后,可能存在执行了yield()...原创 2019-08-30 14:28:09 · 275 阅读 · 0 评论 -
Thread类的sleep()方法和对象的wait()方法都可以让线程暂停执行,它们有什么区别?
sleep()方法是Thread类sleep是Thread的静态native方法,可随时调用,会使当前线程休眠,并释放CPU资源,但不会释放对象锁;wait()方法是Object类wait()方法是Object的native方法,只能在同步方法或同步代码块中使用,调用会进入休眠状态,并释放CPU资源与对象锁,需要我们调用notify/notifyAll方法唤醒指定或全部的休眠线...原创 2019-08-28 23:31:48 · 1195 阅读 · 0 评论 -
TreeMap和TreeSet在排序时如何比较元素?Collections工具类中的sort()方法如何比较元素?
TreeMap和TreeSet在排序时如何比较元素?TreeMap其放入键值对的键必须实现Comparable接口然后根据其compareTo()方法,进行排序TreeSet使用自然排序元素所属的类实现Comparable接口,重写compareTo(T o)方法然后在compareTo()中根据主要和次要进行编写的排序规则,产生返回值根据compareTo()的返回值,...原创 2019-08-28 23:10:04 · 1195 阅读 · 0 评论 -
List、Map、Set三个接口存取元素时,各有什么特点?
List特有方法get(int index):因为List集合是有索引且存储有序的,可以按照存储顺序取元素也可以使用迭代器和增强型for循环进行获取值SetSet集合因无序存储且无索引,只能够使用迭代器(Iterator)和增强型for循环进行取元素迭代器:使用hasNext作为where条件,使用next()取元素增强型for循环:根据格式取出值MapMap是双列...原创 2019-08-28 22:35:23 · 391 阅读 · 0 评论 -
ArrayList扩容机制,一图即可
根据源码注意:在使用ArrayList(int initalCapcity)方法直接指定的是初始化的数组,即将 new Object[initialCapacity] 赋值给数组指定为0时为空的数组,即将{}赋给数组除ArrayList(int initalCapcity)外,调用了都使用了Arrays.copyOf(T[] original, int newLength)对数组进行...原创 2019-08-28 12:55:22 · 587 阅读 · 0 评论 -
HashMap的jdk1.8 底层实现(数组+链表+红黑树)
HashMap根据键的hashCode值存储数据,大多数情况下可以直接定位到它的值,因而具有很快的访问速度,但遍历顺序却不是确定的,HashMap最多只允许一条记录的键为null,允许多条记录的值为null,HashMap非线程安全,即任一时刻可以有多个线程同时写HashMap,可能会导致数据的不一致,如果需要满足线程安全,可以用Collections的synchronizedMap方法使Has...转载 2019-08-26 14:24:57 · 1398 阅读 · 2 评论 -
final,finally,finalize的区别?
final修饰符,可用于修饰类,成员变量和成员方法,被final修饰的类不能被继承,也当然所有方法都不能被重写被final修饰方法,该方法不能被重写,同时不能被abstract修饰因为abstract(抽象的)表示需要子类重写该方法,两需求相勃被final修饰变量,在初始化后不能改变值,如果是引用数据类型,将其指向的对象不能变,但是其对象内的值不能变(即指向的内存地址不能变化),如果...原创 2019-08-26 09:48:40 · 191 阅读 · 0 评论 -
HashSet和TreeSet的区别
不同底层HashSet底层使用的哈希表,根据对象的hashCode()值计算存储位置,比较hashCode()值,equals()方法,进行比较是否相同.TreeSet底层数据结构是红黑树,按照第一个为为根元素,再根据其是自然排序或重写Comparator的compare(T o1,T o2)方法比较与根元素比较大小,小的放左边大的放右边,如果左边或者右边存在元素,则进行比较规则依然是小...原创 2019-08-26 00:38:13 · 162 阅读 · 0 评论 -
JVM简述
序言垃圾回收包含的内容不少,但顺着下面的顺序捋清知识也并不难。首先要搞清垃圾回收的范围(栈需要GC去回收吗?),然后就是回收的前提条件如何判断一个对象已经可以被回收(这里只重点学习根搜索算法就行了),之后便是建立在根搜索基础上的三种回收策略,最后便是JVM中对这三种策略的具体实现。范围:要回收哪些区域?Java方法栈、本地方法栈以及PC计数器随方法或线程的结束而自然被回收,...转载 2019-08-15 11:29:39 · 178 阅读 · 0 评论 -
SQL&JDBC注意要点
where 和 having 的区别?where 在分组之前进行限定,如果不满足条件,则不参与分组。having在分组之后进行限定,如果不满足结果,则不会被查询出来where 后不可以跟聚合函数,having可以进行聚合函数的判断。...原创 2019-08-04 10:28:06 · 188 阅读 · 0 评论 -
内部类练习题
第一题:分析以下需求,并用代码实现 interface Inter { void show(); } class Outer { //补齐代码 public Inter method(){ -------------------- } } } public class Ou...原创 2019-07-16 11:07:19 · 625 阅读 · 0 评论 -
字符串常量池&JDK1.7与JDK1.6的String.Intern()
在JDK1.7与JDK1.6中常量池的区别在jdk6中的常量池是放在 Perm 区中的,Perm 区和正常的 JAVA Heap 区域是完全分开的,而 new 出来的 String 对象是放在 JAVA Heap 区域。所以拿一个 JAVA Heap 区域的对象地址和字符串常量池的对象地址进行比较肯定是不相同的,即使调用String.intern方法也是没有任何关系的。在jdk7中的字符串常...原创 2019-06-30 17:04:53 · 602 阅读 · 0 评论 -
可用案例
1.首字母大写,其余的小写已知字符串如下:“good good study day day up”请定义方法将字符串中每一个单词的首字母大写,其余的小写最后打印的结果如下: (各位,千万别 sout(“Good Good Study Day Day Up”); 哟)“Good Good Study Day Day Up”package zuoyei.Test01;publ...原创 2019-07-15 10:09:28 · 167 阅读 · 0 评论 -
equals与"=="的区别
在不重写quals方法的情况下Object源码public boolean equals(Object obj) { return (this == obj);}所以在不重写的情况下,就是与"=="是一样的在重写了quals方法的情况下String源码public boolean equals(Object anObject) { if (this == an...原创 2019-10-09 10:47:09 · 89 阅读 · 0 评论