07 2018 档案
pv操作与信号量详解
摘要:对于信号量,可以认为是一个仓库,有两个概念,容量和当前的货物个数。 P操作从仓库拿货,如果仓库中没有货,线程一直等待,直到V操作,往仓库里添加了货物,为了避免P操作一直等待下去,会有一个超时时间。 V操作往仓库送货,如果仓库满了,线程等待,直到有P操作,从仓库中拿走货物,有空的位置。 创建信号量,设 阅读全文
posted @ 2018-07-24 19:15 yonyong 阅读(2638) 评论(0) 推荐(2)
JSP请求是如何被处理的?jsp的执行原理
摘要:客户端通过浏览器发送jsp请求,服务器端接受到请求后,判断是否是第一次请求该页面,或者该页面是否改变,若是,服务器将jsp页面翻译为servlet,jvm将servlet编译为.class文件,字节码文件加载到服务器内存上执行,服务器将处理结果以.html页面的形式返回给客户端,若该页面不是第一次请 阅读全文
posted @ 2018-07-23 09:47 yonyong 阅读(1815) 评论(0) 推荐(0)
sendRedirect()和forward()方法有什么区别?
摘要:forward是服务器内部的跳转,浏览器的地址栏不会发生变化,同时可以把request和response传递给后一个请求。sendRedirect()是浏览器方面的跳转,要发送两次请求,地址栏也会发生变化,同时request和response也会发生变化,重新生成新的对象。 URL重定向的特点: 1 阅读全文
posted @ 2018-07-23 09:34 yonyong 阅读(2443) 评论(0) 推荐(0)
什么是cookie?什么是session?session和cookie有什么区别?
摘要:在技术面试中,经常被问到“说说Cookie和Session的区别”,大家都知道,Session是存储在服务器端的,Cookie是存储在客户端的,然而如果让你更详细地说明,你能说出几点?今天个推君就和大家谈谈“Cookie和Session”的那些事儿。 Cookie是什么? 从它的词语本身含义来看: 阅读全文
posted @ 2018-07-19 18:54 yonyong 阅读(6206) 评论(0) 推荐(0)
HTTP响应的结构是怎么样的?
摘要:HTTP响应由三个部分组成:状态码(Status Code):描述了响应的状态。可以用来检查是否成功的完成了请求。请求失败的情况下,状态码可用来找出失败的原因。如果Servlet没有返回状态码,默认会返回成功的状态码HttpServletResponse.SC_OK。HTTP头部(HTTP Head 阅读全文
posted @ 2018-07-19 18:39 yonyong 阅读(1212) 评论(0) 推荐(0)
doGet()方法和doPost()方法有什么区别?
摘要:1. 一般上,get是从服务器上获取数据,post是向服务器传送数据。 2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到AC 阅读全文
posted @ 2018-07-19 18:13 yonyong 阅读(2189) 评论(0) 推荐(0)
Servlet的生命周期
摘要:Servlet程序是由WEB服务器调用,web服务器收到客户端的Servlet访问请求后: ①Web服务器首先检查是否已经装载并创建了该Servlet的实例对象。如果是,则直接执行第④步,否则,执行第②步。 ②装载并创建该Servlet的一个实例对象。 ③调用Servlet实例对象的init()方法 阅读全文
posted @ 2018-07-19 18:05 yonyong 阅读(211) 评论(0) 推荐(0)
GenericServlet和HttpServlet有什么区别?
摘要:1.HttpServlet 1). 是一个 Servlet, 继承自 GenericServlet. 针对于 HTTP 协议所定制. 2). 在 service() 方法中直接把 ServletReuqest 和 ServletResponse 转为 HttpServletRequest 和 Htt 阅读全文
posted @ 2018-07-19 17:51 yonyong 阅读(3656) 评论(0) 推荐(1)
什么是RMI?
摘要:RMI(Remote Method Invocation,远程方法调用)是用Java在JDK1.2中实现的,它大大增强了Java开发分布式应用的能力。Java作为一种风靡一时的网络开发语言,其巨大的威力就体现在它强大的开发分布式网络应用的能力上,而RMI就是开发百分之百纯Java的网络分布式应用系统 阅读全文
posted @ 2018-07-19 11:42 yonyong 阅读(1743) 评论(0) 推荐(1)
什么是JDBC?
摘要:JDBC(Java DataBase Connectivity),是一套面向对象的应用程序接口(API),制定了统一的访问各类关系数据库的标准接口,为各个数据库厂商提供了标准的实现。通过JDBC技术,开发人员可以用纯Java语言和标准的SQL语句编写完整的数据库应用程序,并且真正地实现了软件的跨平台 阅读全文
posted @ 2018-07-19 11:16 yonyong 阅读(930) 评论(0) 推荐(0)
Applet和普通的Java应用程序有什么区别?
摘要:(1)运行方式不同。Java Applet程序不能单独运行,它必须依附于一个用HTML语言编写的网页并嵌入其中,通过与Java兼容的浏览器来控制执行。Java Application是完整的程序,可以独立运行,只要有支持Java的虚拟机,它就可以独立运行而不需要其他文件的支持。 (2)运行工具不同。 阅读全文
posted @ 2018-07-19 10:56 yonyong 阅读(1534) 评论(0) 推荐(0)
final关键字、finally代码块和finalize()方法有什么区别?
摘要:1. final是关键字,final可以修饰类、方法、属性。 如果一个类被final修饰,那么这个类就是最终类,不能派生出新的子类,不能作为父类被继承,该类中的所有方法都不能被重写,但是final类中的成员变量是可以改变的,要想final类中的成员变量的不可以改变,必须给成员变量添加final修饰。 阅读全文
posted @ 2018-07-19 10:48 yonyong 阅读(712) 评论(0) 推荐(0)
throw和throws有什么区别
摘要:1、Throw用于方法内部,Throws用于方法声明上 2、Throw后跟异常对象,Throws后跟异常类型 3、Throw后只能跟一个异常对象,Throws后可以一次声明多种异常类型 throw关键字用来在程序中明确的抛出异常,相反,throws语句用来表明方法不能处理的异常。每一个方法都必须要指 阅读全文
posted @ 2018-07-19 10:41 yonyong 阅读(426) 评论(0) 推荐(0)
Java中的两种异常类型是什么?他们有什么区别?
摘要:一、Throwable是所有异常的根,java.lang.Throwable Error是错误,java.lang.Error Exception是异常,java.lang.Exception 二、Exception 一般分为Checked异常和Runtime异常,所有RuntimeExceptio 阅读全文
posted @ 2018-07-19 10:36 yonyong 阅读(5211) 评论(0) 推荐(0)
Java堆的结构是什么样子的?什么是堆中的永久代(Perm Gen space)?
摘要:JVM的堆是运行时数据区,所有类的实例和数组都是在堆上分配内存。它在JVM启动的时候被创建。对象所占的堆内存是由自动内存管理系统也就是垃圾收集器回收。 堆内存是由存活和死亡的对象组成的。存活的对象是应用可以访问的,不会被垃圾回收。死亡的对象是应用不可访问尚且还没有被垃圾收集器回收掉的对象。一直到垃圾 阅读全文
posted @ 2018-07-19 10:17 yonyong 阅读(6292) 评论(0) 推荐(0)
flash插件
摘要:偶尔见到别人的博客侧边栏 有一些很有意思的flash插件,也想加入到自己博客里面,这里来大概讲一下~ 一、支持js代码 首先要在 博客设置 >开启博客侧边栏公告的js代码支持,提交审核后 很快就会通过,如图: 二、添加flash插件 之后我们要做的事情就很简单了,我们只需要将我们想要的flash插件 阅读全文
posted @ 2018-07-19 09:28 yonyong 阅读(683) 评论(0) 推荐(0)
算法复杂度分析中的符号(大Θ符号、大Ο符号...)
摘要:Θ,读音:theta、西塔;既是上界也是下界(tight),等于的意思。 Ο,读音:big-oh、欧米可荣(大写);表示上界(tightness unknown),小于等于的意思。 ο,读音:small-oh、欧米可荣(小写);表示上界(not tight),小于的意思。 Ω,读音:big omeg 阅读全文
posted @ 2018-07-18 14:35 yonyong 阅读(2340) 评论(0) 推荐(1)
Python异常体系结构图
摘要: 阅读全文
posted @ 2018-07-18 10:21 yonyong 阅读(754) 评论(0) 推荐(0)
Enumeration接口和Iterator接口的区别有哪些?
摘要:Enumeration速度是Iterator的2倍,同时占用更少的内存。但是,Iterator远远比Enumeration安全,因为其他线程不能够修改正在被iterator遍历的集合里面的对象。同时,Iterator允许调用者删除底层集合里面的元素,这对Enumeration来说是不可能的。 另外: 阅读全文
posted @ 2018-07-18 09:33 yonyong 阅读(1781) 评论(0) 推荐(1)
Java集合类框架的最佳实践?
摘要:根据应用的需要选择合适的集合对性能是非常重要的。如果一个集合的元素数量是固定的,而且我们能够提前知道固定的数量,那么就可以使用数组,而不是ArrayList。 每个集合都可以设置初始容量,如果我们提前能够估算出它的初始容量,那么就可以避免重新计算它的hash值与扩容。 为了保证程序的类型安全、健壮性 阅读全文
posted @ 2018-07-18 09:13 yonyong 阅读(1107) 评论(0) 推荐(0)
Comparable和Comparator接口是干什么的?列出它们的区别。
摘要:ava提供了只包含一个compareTo()方法的Comparable接口。这个方法可以个给两个对象排序。具体来说,它返回负数,0,正数来表明已经存在的对象小于,等于,大于输入对象。Java提供了包含compare()和equals()两个方法的Comparator接口。compare()方法用来给 阅读全文
posted @ 2018-07-17 16:00 yonyong 阅读(2087) 评论(0) 推荐(0)
ArrayList和LinkedList有什么区别?
摘要:ArrayList和LinkedList都实现了List接口,他们有以下的不同点:ArrayList是基于索引的数据接口,它的底层是数组。它可以以O(1)时间复杂度对元素进行随机访问。与此对应,LinkedList是以元素列表的形式存储它的数据,每一个元素都和它的前一个和后一个元素链接在一起,在这种 阅读全文
posted @ 2018-07-17 15:26 yonyong 阅读(14051) 评论(0) 推荐(3)
数组(Array)和列表(ArrayList)有什么区别?什么时候应该使用Array而不是ArrayList?
摘要:下面列出了Array和ArrayList的不同点:Array可以包含基本类型和对象类型,ArrayList只能包含对象类型。Array大小是固定的,ArrayList的大小是动态变化的。ArrayList提供了更多的方法和特性,比如:addAll(),removeAll(),iterator()等等 阅读全文
posted @ 2018-07-17 15:20 yonyong 阅读(22430) 评论(10) 推荐(4)
HashMap和Hashtable有什么区别?
摘要:HashMap和Hashtable都实现了Map接口,因此很多特性非常相似。但是,他们有以下不同点: 1、HashMap是非线程安全的,HashTable是线程安全的。 2、HashMap允许键和值是null,而Hashtable不允许键或者值是null。 3、因为线程安全的问题,HashMap效率 阅读全文
posted @ 2018-07-17 15:02 yonyong 阅读(817) 评论(0) 推荐(0)
Java中的HashMap的工作原理是什么?
摘要:Java中的HashMap是以键值对(key-value)的形式存储元素的。HashMap需要一个hash函数,它使用hashCode()和equals()方法来向集合/从集合添加和检索元素。当调用put()方法的时候,HashMap会计算key的hash值,然后把键值对存储在集合中合适的索引上。如 阅读全文
posted @ 2018-07-17 14:40 yonyong 阅读(1285) 评论(0) 推荐(1)
快速失败(fail-fast)和安全失败(fail-safe)的区别是什么?
摘要:一:快速失败(fail—fast) 在用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了修改(增加、删除、修改),则会抛出Concurrent Modification Exception。 原理:迭代器在遍历时直接访问集合中的内容,并且在遍历过程中使用一个 modCount 变量。集 阅读全文
posted @ 2018-07-17 14:35 yonyong 阅读(1801) 评论(0) 推荐(0)
Java集合类框架的基本接口有哪些?
摘要:总共有两大接口:Collection 和Map ,一个元素集合,一个是键值对集合; 其中List和Set接口继承了Collection接口,一个是有序元素集合,一个是无序元素集合; 而ArrayList和 LinkedList 实现了List接口,HashSet实现了Set接口,这几个都比较常用; 阅读全文
posted @ 2018-07-17 11:20 yonyong 阅读(741) 评论(0) 推荐(0)
为什么要使用同步?
摘要:为何要使用同步? java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查), 将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用, 从而保证了该变量的唯一性和准确性。 1.同步方法 即有synchronized关键字修 阅读全文
posted @ 2018-07-17 10:52 yonyong 阅读(1137) 评论(0) 推荐(0)
值传递还是引用传递?
摘要:今天,我在一本面试书上看到了关于java的一个参数传递的问题: 写道 java中对象作为参数传递给一个方法,到底是值传递,还是引用传递? 我毫无疑问的回答:“引用传递!”,并且还觉得自己对java的这一特性很是熟悉! 结果发现,我错了! 答案是: 值传递!Java中只有按值传递,没有按引用传递! 回 阅读全文
posted @ 2018-07-17 09:21 yonyong 阅读(182) 评论(0) 推荐(0)
java面试题干货126-170
摘要:这部分主要是开源Java EE框架方面的内容,包括Hibernate、MyBatis、Spring、Spring MVC等,由于Struts 2已经是明日黄花,在这里就不讨论Struts 2的面试题,如果需要了解相关内容,可以参考一篇文章《Java面试题集(86-115)》。此外,这篇文章还对企业应 阅读全文
posted @ 2018-07-16 12:41 yonyong 阅读(440) 评论(0) 推荐(0)
java面试题干货96-125
摘要:这部分主要是与Java Web和Web Service相关的面试题。 96、阐述Servlet和CGI的区别? 答:Servlet与CGI的区别在于Servlet处于服务器进程中,它通过多线程方式运行其service()方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产 阅读全文
posted @ 2018-07-16 12:29 yonyong 阅读(283) 评论(0) 推荐(0)
java面试题干货51-95
摘要:51、类ExampleA继承Exception,类ExampleB继承ExampleA。 有如下代码片断: 请问执行此段代码的输出是什么? 答:输出:ExampleA。(根据里氏代换原则[能使用父类型的地方一定能使用子类型],抓取ExampleA类型异常的catch块能够抓住try块中抛出的Exam 阅读全文
posted @ 2018-07-16 12:18 yonyong 阅读(534) 评论(0) 推荐(0)
java面试题干货1-50
摘要:1、面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: - 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。 - 继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父 阅读全文
posted @ 2018-07-16 11:35 yonyong 阅读(458) 评论(0) 推荐(0)
python故障排除
摘要:在初学 Python 时,想要弄懂 Python 的错误信息的含义可能有点复杂。这里列出了常见的的一些让程序 crash 的运行时错误。 1)忘记在 if , elif , else , for , while , class ,def 声明末尾添加 :(导致 “SyntaxError :inval 阅读全文
posted @ 2018-07-12 09:36 yonyong 阅读(509) 评论(0) 推荐(0)