java基础知识
文章平均质量分 80
Stream_star
梦想有时候天马行空,但是现实却是靠梦想来支撑的,你的成功取决于你对梦想的忠诚度。
展开
-
集合 详解
1.List:是有序的Collection。使用此接口能够精确地控制每一个元素插入的位置。用户能够使用索引(元素在list中的位置,类似于数组下标)来访问list中的元素。和Set不同,List允许有相同的元素。常见的List的实现类:①.LinkedList:是以元素列表的形式存储它的数据,每一个元素都和它的前一个元素和后一个元素链接在一起,在这种情况下,查找某个元素的时间复杂度是O(N)。原创 2017-07-16 15:00:52 · 335 阅读 · 0 评论 -
jvm垃圾收集器 以及 垃圾收集算法
一.垃圾收集器:1.串行回收器1.1, 新生代串行回收器(1)特点: –它仅仅使用单线程进行垃圾回收 –它是独占式的垃圾回收 –进行垃圾回收时, Java应用程序中的线程都需要暂停(Stop-The-World) –使用复制算法 –适合CPU等硬件不是很好的场合 (2)设置参数: -XX:+UseSerialGC 指定原创 2017-09-21 18:33:03 · 358 阅读 · 0 评论 -
springMvc简要总结
1.SpringMvc的工作流程:1.用户发送请求至前端控制器DispatcherSevvlet.2.DispatcherSerlet收到请求调用HanderMapping处理器映射器。3.处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet.4.DispatcherServlet调用HandlerAdapter原创 2017-09-21 11:38:13 · 235 阅读 · 0 评论 -
spring 简要总结
1. 什么是spring?Spring 是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring 框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯。2. 使用Spring框架的好处是什么?轻量:Spring 是轻量的,基本的版本大约2MB。原创 2017-09-21 09:40:24 · 260 阅读 · 0 评论 -
struts2 简要总结
1.struts2的简要流程:1)客户端初始化一个指向Servlet容器的请求;2)这个请求经过一系列的过滤器(Filter) (这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin)3)接着FilterDispatcher被调用, FilterDispat原创 2017-09-21 02:21:31 · 272 阅读 · 0 评论 -
死锁
1. 产生死锁的原因主要是: (1) 因为系统资源不足。 (2) 进程运行推进的顺序不合适。 (3) 资源分配不当等。 如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。其次,进程运行推进顺序与速度不同,也可能产生死锁。2. 产生死锁的四个必要条件:(1) 互斥条件:一个资源每次只能被一个进程使用。原创 2017-09-21 01:53:56 · 208 阅读 · 0 评论 -
反射机制
1. JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。2. Java反射机制主要提供了以下功能:在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法;生原创 2017-09-20 22:57:53 · 465 阅读 · 0 评论 -
内存泄露与内存溢出
一、概念与区别 内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。 内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但 内存泄露堆积后果很严重,无论多少内存,迟早会被占光。memory原创 2017-09-28 09:39:06 · 493 阅读 · 0 评论 -
java io流
Java流操作有关的类或接口:流的概念和作用流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。 IO流的分类根据处理数据类型的不同分为:字符流和字节流根据数据流向不同分为:输入流和输出流字符流和字节流原创 2017-09-27 15:30:12 · 195 阅读 · 0 评论 -
深拷贝和浅拷贝
浅复制与深复制概念 :⑴浅复制(浅克隆) 被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。 ⑵深复制(深克隆) 被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。那些引用其他对象的变量将指向被复制过的新对象,而不再是原有的转载 2017-09-27 14:34:46 · 698 阅读 · 0 评论 -
spring的IOC详解
一.IoC的基础知识以及原理:1.IoC理论的背景:在采用面向对象方法设计的软件系统中,底层实现都是由N个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑。即软件系统中对象之间的耦合,对象A和对象B之间有关联,对象B又和对象C有依赖关系,这样对象和对象之间有着复杂的依赖关系,所以才有了控制反转这个理论。2.什么是控制反转(IoC):(1).IoC是I转载 2017-09-27 12:47:11 · 286 阅读 · 0 评论 -
http请求状态码
1xx - 信息提示这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应。· 100 - Continue 初始的请求已经接受,客户应当继续发送请求的其余部分。(HTTP 1.1新)· 101 - Switching Protocols 服务器将遵从客户的请求转换到另外一种协议(HTTP 1.1新)2xx - 成功这类状态代码表明原创 2017-09-27 12:05:40 · 368 阅读 · 0 评论 -
过滤器和拦截器的区别
1.过滤器Servlet中的过滤器Filter是实现了javax.servlet.Filter接口的服务器端程序,主要的用途是过滤字符编码、做一些业务逻辑判断等。其工作原理是,只要你在web.xml文件配置好要拦截的客户端请求,它都会帮你拦截到请求,此时你就可以对请求或响应(Request、Response)统一设置编码,简化操作;同时还可进行逻辑判断,如用户是否已经登陆、有没有权限访问该页面原创 2017-09-27 11:54:24 · 326 阅读 · 0 评论 -
多线程与线程池总结
1.线程:进程中负责程序执行的执行单元。一个进程中至少有一个线程。2.多线程:解决多任务同时执行的需求,合理使用CPU资源。多线程的运行是根据CPU切换完成,如何切换由CPU决定,因此多线程运行具有不确定性。3.线程池:基本思想还是一种对象池的思想,开辟一块内存空间,里面存放了众多(未死亡)的线程,池中线程执行调度由池管理器来处理。当有线程任务时,从池中取一个,执行完成后线程对原创 2017-09-19 01:19:14 · 490 阅读 · 0 评论 -
排序----4种排序
1.冒泡排序:(稳定)O(n*n)①.比较相邻的元素,如果前一个比后一个大,就把她们两个调换位置①.对每一对相邻的元素作同样处理,从开始到最后一对,这步做完后,最后的元素会是最大的数。//冒泡排序//从小到大排序,从第一个元素开始,相邻元素比较,j比j+1大的,交换位置。public class BubbleSort {public static void swap(in原创 2017-09-19 00:43:54 · 561 阅读 · 0 评论 -
jvm 之 对象的创建
1. 虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、加载和初始化过。如果没有,那必须先执行相应的类加载过程。 2.在类加载检查通过后,接下来虚拟机将为新生对象分配内存。对象所需内存的大小在类加载完成后便可以完全确定,为对象分配空间的任务等同于把一块确定大小的内存从java堆中划分出来。假设ja原创 2017-07-25 10:34:40 · 208 阅读 · 0 评论 -
jvm自动内存管理机制 之 java内存区域
1.程序计数器: 是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值来选取下一条所需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。 由于java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,在任何一个确定的时刻,一个处理器都只会执原创 2017-07-22 11:26:04 · 287 阅读 · 0 评论 -
jvm判断对象的死活
堆中存放着几乎所有的对象实例,垃圾收集器在堆堆进行回收前,首先要确定这些对象哪些还“活着”,哪些已经“死去”。方法有如下两种:1. 引用计数法 算法思想:为对象添加一个引用计数器,每当有一个地方引用该对象时,则该引用计数器值加1,;当引用失效时,则该引用计数器值减1;最后,计数器为0的对象就是不可能再被使用的,也即所谓的“死去”的对象。 Java中并没有使用这原创 2017-09-21 18:44:52 · 240 阅读 · 0 评论