快速失败fail—fast)和安全失败(fail—safe)
摘要:快速失败: 在上节list集合中就包含快速失败, 在用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的结构进行了修改(增加、删除), 则会抛出Concurrent Modification Exception。 java.util包下的集合类都是快速失败的,不能在多线程下发生并发修改(迭代过程中
阅读全文
posted @
2019-06-23 20:52
印记XP
阅读(225)
推荐(0) 编辑
集合---list
摘要:Iterable 是所有集合的超类, collection继承了iterable ,而list和set又继承了 collection,而在Iterable中定义了一个iterator()方法返回一个迭代器Iterator 而 Iterator是一个超类接口,为各种容器提供了公共的操作接口,里边有 h
阅读全文
posted @
2019-06-23 20:18
印记XP
阅读(159)
推荐(0) 编辑
jdk和jre
摘要:链接:https://www.nowcoder.com/questionTerminal/36bd480a52d542298a8ca2056021f774来源:牛客网JDK顾名思义是java开发工具包,是程序员使用java语言编写java程序所需的开发工具包,是提供给程序员使用的。 JDK包含了JR
阅读全文
posted @
2019-06-23 13:40
印记XP
阅读(121)
推荐(0) 编辑
什么是java虚拟机,为什么java被称作是“平台无关的编程语言”
摘要:java虚拟机是一个可以执行java字节码的虚拟机进程,java源文件被编译成能被java虚拟机执行的字节码文件。 java源程序经过javac被编译成二进制的.class的字节码文件,java的跨平台就是指.class字节码文件的跨平台,.class字节码文件是与平台无关的, .class字节码文
阅读全文
posted @
2019-06-23 11:03
印记XP
阅读(441)
推荐(0) 编辑
forward和redirect
摘要:写法: forward : request.getRequestDispatcher("转发地址").forward(request,response);(a找b借钱,b说没有,b去找c,再把最终的结果告诉a) redirect :request.sendRedirect("重定向路径"); (a找
阅读全文
posted @
2019-06-20 09:38
印记XP
阅读(193)
推荐(0) 编辑
Servlet和CGI的区别
摘要:与传统的CGI和许多其他类似CGI的技术相比,Java Servlet具有更高的效率,更容易使用,功能更强大,具有更好的可移植性,更节省投资。 Servlet处于服务器进程中,它通过多线程方式运行其service()方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,CGI对每个请求都产生新的
阅读全文
posted @
2019-06-16 21:12
印记XP
阅读(177)
推荐(0) 编辑
Servlet 3中的异步处理
摘要:有人可能会质疑,既然都有多线程了,还需要异步处理请求吗?答案是肯定的,因为如果一个任务处理时间相当长,那么Servlet或Filter会一直占用着请求处理线程直到任务结束,随着并发用户的增加,容器将会遭遇线程超出的风险,这这种情况下很多的请求将会被堆积起来而后续的请求可能会遭遇拒绝服务,直到有资源可
阅读全文
posted @
2019-06-16 20:42
印记XP
阅读(160)
推荐(0) 编辑
JSP中的静态包含和动态包含的区别
摘要:<%-- 静态包含 --%><%@ include file="..." %><%-- 动态包含 --%><jsp:include page="..."><jsp:param name="..." value="..." /></jsp:include> 区别: 1.最终编译成的java文件的数量不
阅读全文
posted @
2019-06-16 09:47
印记XP
阅读(1271)
推荐(0) 编辑
get和post请求的区别
摘要:最直观的的区别是get请求将参数直接写在url中,而post是通过request body传递参数的 get在浏览器回退时是无害的,而post请求在浏览器回退时会重新提交 get请求可以收藏为书签,而post不可以 get请求可以被浏览器主动缓存,而post不会 get请求参数保留在浏览器历史中,而
阅读全文
posted @
2019-06-16 09:18
印记XP
阅读(184)
推荐(0) 编辑
java中cas的使用
摘要:CAS是compare and swap的缩写,即我们所说的比较交换。cas是一种基于锁的操作,而且是乐观锁。 在java中锁分为乐观锁和悲观锁 synchronized就是一种悲观锁(独占锁),会导致其它所有需要锁的线程挂起,等待持有锁的线程释放锁。 而乐观锁采取了一种宽泛的态度,通过某种方式不加
阅读全文
posted @
2019-06-15 20:40
印记XP
阅读(2243)
推荐(0) 编辑
sleep和wait的区别
摘要:public class SleepAndWait { public static void main(String[] args) { new Thread(new Thread1()).start(); try { //sleep不会释放锁对象,但是导致了程序暂停执行指定的时间,让出cpu给其他
阅读全文
posted @
2019-06-14 20:04
印记XP
阅读(198)
推荐(0) 编辑