自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 四大作用域九大内置对象

jsp四大作用域:page范围:只在一个页面保留数据(javax.servlet.jsp.PageContext(抽象类))request范围:只在一个请求中保存数据(javax.servlet.httpServletRequest)Session范围:在一次会话中保存数据,仅供单个用户使用(javax.servlet.http.HttpSession)Application范围:在整个服...

2019-10-27 20:39:53 137

原创 cookie与session的区别

Cookie通俗讲,Cookie是访问某些网站以后在本地存储的一些网站相关的信息,下次再访问的时候减少一些步骤。另外一个更准确的说法是:Cookies是服务器在本地机器上存储的小段文本并随每一个请求发送至同一个服务器,是一种在客户端保持状态的方案。Cookie的主要内容包括:名字,值,过期时间,路径和域。使用Fiddler抓包就可以看见,比方说我们打开百度的某个网站可以看到Headers包括C...

2019-10-20 16:15:51 243

原创 滚动轮播

HTML文件 </head><body> <div id="box" class="all"> <div class="inner"><!-- 相框--><ul> <li><a href="#"><img src="img/01.jpg" width="...

2019-10-13 15:53:45 144

原创 装饰者模式和代理模式的区别

首先先看下两个模式的代码:代理模式://代理模式public class Proxy implements Subject{ private Subject subject; public Proxy(){ //关系在编译时确定 subject = new RealSubject(); } public void doAction()...

2019-09-22 15:28:00 220

原创 存储过程与函数的区别

1、函数只能返回一个变量,而存储过程可以返回多个;例如:函数可以嵌入sql中和存储过程中使用,但是存储过程需要让sql的query可以执行,将mysql_real_connect的最后一个参数设置为CLIENT_MULTI_STATEMENTS2、函数的限制比较多,不能用临时表,只能用表变量,有些函数不能用,存储过程限制少;3、存储过程处理的功能比较复杂,而函数实现的功能针对性强;4、存储...

2019-09-22 15:18:24 374

原创 in和exists区别

如果查询语句使用了not in 那么内外表都进行全表扫描,没有用到索引;而not extsts 的子查询依然能用到表上的索引。所以无论那个表大,用not exists都比not in要快。exists 与 in 最大的区别在于 in引导的子句只能返回一个字段;exists : 强调的是是否返回结果集,不要求知道返回什么;多字段in、not in在db2数据中可以执行,SQL Server不行...

2019-09-08 20:59:21 424

原创 Mysql和Oracle的区别

相同点:1.都是关系型数据库管理系统2.都是目前比较流行的数据库(1) 对事务的提交MySQL默认是自动提交,而Oracle默认不自动提交,需要用户手动提交,需要在写commit;指令或者点击commit按钮(2) 分页查询MySQL是直接在SQL语句中写"select… from …where…limit x, y",有limit就可以实现分页;而Oracle则是需要用到伪列ROW...

2019-08-16 17:14:11 59

原创 三次握手四次挥手

建立连接协议(三次握手):第一次握手:客户端发送syn包(syn=x)的数据包到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(syn=y),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),...

2019-08-16 15:56:27 65

原创 TCP和UDP的区别

想要了解两者的区别需要先了解清楚TCP和UDP的概念;UDP(User Datagram Protocol)UDP不提供复杂的控制机制,利用IP提供面向无连接的通信服务。并且它是将应用程序发来的数据在收到的那一刻,立刻按照原样发送到网络上的一种机制。 即使是出现网络拥堵的情况下,UDP也无法进行流量控制等避免网络拥塞的行为。此外,传输途中如果出现了丢包,UDO也不负责重发。甚至当出现包的到达顺...

2019-08-12 15:00:00 162

原创 volatile和synchronized的区别

要想知道volatile和synchronized的区别首先得了解他们并知道他们各自的特点。synchronized关键字方式一:同步代码块synchronized(对象锁){//常用锁:this和类名.class}方式二:同步方法,默认锁为this方式三:同步静态方法,默认锁为类名.class同步注意事项:(1)代码尽量简短(2)不要阻塞(3)“死锁”: 在持有锁的时候,不要...

2019-08-09 15:59:05 102

原创 sleep和wait的区别

对于sleep和wait的区别①sleep方法是Thread类的静态方法,wait()是Object超类的成员方法②sleep()方法导致了程序暂停执行指定的时间,让出cpu该其他线程,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。在调用sleep()方法的过程中,线程不会释放对象锁。而当调用wait()方法的时候,线程会放弃对象锁,进入等待此对象的等待锁定池,只有针对此...

2019-08-09 15:30:01 67

原创 多线程执行过程(生命周期)

一、多线程执行过程start—>ready<—>running—>blocking(可以返回到ready,但不能直接返回到running)|||dead①start状态start状态就是我们通过new关键字实例化出一个线程类的对象时的状态。②ready状态当我们调用了start状态下的线程对象的 start() 方法来启动这个线程,并且线程对象已经准备好了...

2019-08-06 14:49:11 244

原创 Thread和Runnable区别

实现implements Runnable接口比继承 extends Thread类所具有的优势:1):适合多个相同的程序代码的线程去处理同一个资源2):可以避免java中的单继承的限制(不能访问父类的私有成员?)3):增加程序的健壮性,代码可以被多个线程共享,代码和数据独立4):线程池只能放入实现Runable或callable类线程,不能直接放入继承Thread的类在java中,...

2019-08-02 15:28:35 156

原创 进程和线程区别

什么是进程,什么是线程系统要做一件事,运行一个任务,所有运行的任务通常就是一个程序;每个运行中的程序就是一个进程,这一点在任务管理器上面可以形象的看到。当一个程序运行时,内部可能会包含多个顺序执行流,每个顺序执行流就是一个线程。进程的特性独立性:进程是系统中独立存在的实体,它可以拥有自己独立的资源,每个进程都拥有自己私有的地址空间。在没有经过进程本身运行的情况下是不能访问其中的内容的。...

2019-08-02 15:18:33 74

原创 IO流

所谓IO流,顾名思义,I就是input,O就是output。IO流的分类:按照流的流向分,可以分为输入流和输出流。输入流: 只能从中读取数据,而不能向其写入数据。输出流:只能向其写入数据,而不能向其读取数据。按照操作单元划分,可以划分为字节流和字符流。字节流和字符流的用法几乎完成全一样,区别在于字节流和字符流所操作的数据单元不同,字节流操作的单元是数据单元是8位的字节,字符流操作的是数...

2019-07-11 18:30:30 83

原创 抽象工厂模式

抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创建多个产品族中的产品对象。根据里氏替换原则,任何接受父类型的地方,都应当能够接受子类型。因此,实际上系统所需要的,仅仅是类型与这些抽象产品角色相同的一些实例,而不是这些抽象产品的实例。换言之,也就是...

2019-06-26 12:49:50 84

原创 ArrayList和LinkedList的区别

一、ArrayListArrayList是一个可以处理变长数组的类型,这里不局限于“数”组,ArrayList是一个泛型类,可以存放任意类型的对象。顾名思义,ArrayList是一个数组列表,因此其内部是使用一个数组来存放对象的,因为Object是一切类型的父类,因而ArrayList内部是有一个Object类型的数组类存放对象。ArrayList类常用的方法有add()、clear()、get...

2019-06-26 12:39:59 74

原创 Hashmap与Treemap的区别

HashMap通过hashcode对其内容进行快速查找,而 TreeMap中所有的元素都保持着某种固定的顺序,如果你需要得到一个有序的结果你就应该使用TreeMap(HashMap中元素的排列顺序是不固定的)。HashMap 非线程安全 TreeMap 非线程安全HashMap:基于哈希表实现。使用HashMap要求添加的键类明确定义了hashCode()和equals()[可以重写hashC...

2019-06-26 12:36:07 139

原创 简单实现一个LinkedList的增删改查

简单实现一个LinkedList的增删改查LinkedList简介LinkedList 是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或双端队列进行操作。LinkedList 实现 List 接口,能对它进行队列操作。LinkedList 实现 Deque 接口,即能将LinkedList当作双端队列使用。LinkedList 实...

2019-06-19 11:36:37 1248

原创 插入排序

插入法排序原理利用插入法对无序数组排序时,我们其实是将数组R划分成两个子区间R[1..i-1](已排好序的有序区)和R[i..n](当前未排序的部分,可称无序区)。插入排序的基本操作是将当前无序区的第1个记录R[i]插人到有序区R[1..i-1]中适当的位置上,使R[1..i]变为新的有序区。因为这种方法每次使有序区增加1个记录,通常称增量法。插入排序与打扑克时整理手上的牌非常类似。摸来的第1...

2019-05-28 15:47:16 95

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除