
java基础知识点
枫-无-痕
风之无痕,波澜不惊。
展开
-
1.String类相关
https://www.jianshu.com/p/64519f1b1137原创 2019-11-19 16:57:08 · 129 阅读 · 0 评论 -
运行时异常和非运行时异常区别
一,异常的概念Java异常类层次结构图:Throwable: 有两个重要的子类:Exception(异常)和 Error(错误),二者都是 Java 异常处理的重要子类,各自都包含大量子类。Error(错误):是程序无法处理的错误,表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM(Java 虚拟机)出现的问题。例如,Java虚拟机运行错误...原创 2019-10-29 20:59:58 · 478 阅读 · 0 评论 -
String类常用方法
1.equals和equalsIgnoreCase的区别。String a="ABC";a.equals("abc")为false,a.equalsIgnoreCase("abc")为true;equalsIgnoreCase与equals区别是前者不区分大小写,而后者区分。2.进行字符串大小比较。该方法返回一个int数据(普通方法)public int compareTo(S...翻译 2019-10-29 14:51:35 · 190 阅读 · 0 评论 -
9.集合类总结以及面试常用
Java集合面试总结★★★★★集合框架:用于存储数据的容器。特点:1:对象封装数据,对象多了也需要存储。集合用于存储对象。2:对象的个数确定可以使用数组,但是不确定怎么办?可以用集合。因为集合是可变长度的。 集合和数组的区别:1:数组是固定长度的;集合可变长度的。2:数组可以存储基本数据类型,也可以存储引用数据类型;集合只能存储引用数据类型。3:数组存储...转载 2018-08-02 10:07:49 · 293 阅读 · 0 评论 -
10.泛型简单理解
在没有泛型之前,一旦吧一个对象“丢进”java集合中,集合就会忘记对象的类型,把所有的对象都当成是Object类型处理。当程序从集合中取出对象之后,就要进行强制类型转换,这种强制类型转换不仅代码臃肿还容易引起ClassCastException异常。在JDK1.5之后,Java引用了“参数化类型(parameterized type)”的概念,允许我们在创建集合是指定集合元素的类型。如List...翻译 2018-08-02 15:15:30 · 155 阅读 · 0 评论 -
16.Servlet的生命周期
对每一个客户端的请求,Servlet引擎载入Servlet,调用它的init()方法,完成Servlet的初始化。然后,Servlet对象通过为每一个请求单独调用service()方法来处理所有随后来自客户端的请求,最后,调用Servlet(注意:这里应该是Servlet而不是server)的destroy()方法把Servlet删除掉。...翻译 2018-08-07 09:31:17 · 190 阅读 · 0 评论 -
17.HTTP响应的结构是怎么样的?
HTTP响应由三个部分组成:状态码(Status Code):描述了响应的状态。可以用来检查是否成功的完成了请求。请求失败的情况下,状态码可用来找出失败的原因。如果Servlet没有返回状态码,默认会返回成功的状态码HttpServletResponse.SC_OK。HTTP头部(HTTP Header):它们包含了更多关于响应的信息。比如:头部可以指定认为响应过期的过期日期,或者是指定用...转载 2018-08-07 10:27:24 · 751 阅读 · 0 评论 -
18.xml有哪些解析技术?区别是什么?
1.DOM生成和解析XML文档为 XML 文档的已解析版本定义了一组接口。解析器读入整个文档,然后构建一个驻留内存的树结构,然后代码就可以使用 DOM 接口来操作这个树结构。优点:整个文档树在内存中,便于操作;支持删除、修改、重新排列等多种功能;缺点:将整个文档调入内存(包括无用的节点),浪费时间和空间;使用场合:一旦解析了文档还需多次访问这些数据;硬件资源充足(内存、CPU)。 2...转载 2018-08-07 10:28:43 · 245 阅读 · 0 评论 -
19.MVC理解
1、MVC设计模式理解MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户...转载 2018-08-07 15:43:48 · 213 阅读 · 0 评论 -
POI导出Excel
private void downLoadFile(@RequestParam String jsonStr, HttpServletResponse response) { //转码 jsonStr = Utils.decodeURL(jsonStr); //将json字符传转换为json对象 JSONObject jsonObj = JSONObject.pa...原创 2019-08-27 15:01:18 · 153 阅读 · 0 评论 -
4.类中static的作用
static表示“全局”或者“静态”的意思,用来修饰成员变量和方法。 被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,他不依赖类特定的实例,被类的所有实例共享。 static修饰的成员变量和成员方法习惯上称为静态变量和静态方法,可以直接通过类名来访问,访问语法是:类名.静态方法名(参数列表...)类名.静态变量名。 如果需要定义方法,只...原创 2018-07-28 09:47:42 · 2179 阅读 · 0 评论 -
15.Array、List和ArrayList的区别
一、 数组(Array)Java中最基本的数据结构,提供动态创建和访问java数组的方法,根据定义的Array类型,其中的元素与类型必须相同。Array是一个固定大小的容器,底层采用的是线性连续空间来存放元素。优点:在内存中时连续的,速度较快,操作简单。缺点:定义数组时要定义其长度,不是很灵活,过长过短都会造成问题。不方便进行数据的添加、插入和移除。例如:int [] i=new ...翻译 2018-08-05 10:18:44 · 671 阅读 · 0 评论 -
14.Java中的HashMap的工作原理
Java中的HashMap是以键值对(key-value)的形式存储元素的。HashMap需要一个hash函数,它使用hashCode()和equals()方法来向集合/从集合添加和检索元素。当调用put()方法的时候,HashMap会计算key的hash值,然后把键值对存储在集合中合适的索引上。如果key已经存在了,value会被更新成新值。HashMap的一些重要的特性是它的容量(capaci...原创 2018-08-05 10:02:35 · 286 阅读 · 0 评论 -
6.==和equals的区别
1.String st1=new String(''hello''); String st2=new String(''hello''); System.out.println(st1==st2);//输出false System.out.println(st1.equals(st2));//输出true原因: ==比较的是两个对象的地址 equals...原创 2018-07-29 15:21:21 · 366 阅读 · 0 评论 -
11.数据库知识
第一范式(1NF) 在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多...原创 2018-08-03 17:30:39 · 168 阅读 · 0 评论 -
1.Java程序的运行机制和JVM
主要说下Java程序是怎么运行的。1.1.java语言编写的程序需要经过编译步骤,但是这个编译步骤并不会产生特定平台的机器码,而是生成一种与平台无关的字节码(这个就是*.class文件)。1.2.生成的字节码文件当然是不可执行的,必须使用Java解释器来解释执行,这个解释器想必大家都猜到了,对,那就是JVM(java虚拟机)。1.3.JVM是可运行Java字节码文件的虚拟机,所有平台...原创 2018-07-27 09:08:28 · 229 阅读 · 0 评论 -
2.Java的面向对象特征
2.1. Java的面向对象特征 java是纯粹的面向对象编程语言,完全支持面向对象三大基本特征:封装,继承和多态。java程序的组成单位就是类,不管多大的Java应用程序,都是由一个个类组成的。2.2.一切都是对象。在java语言中,除了8个基本数据类型值以外,一切都是对象,而对象就是面向对象程序设计的中心。8个基本数据类型值了解一下:整数:int ,short,long,b...原创 2018-07-27 10:06:10 · 177 阅读 · 0 评论 -
3.数据类型和运算符
3.1:标识符标识符:标识符用于给程序中的变量,类,方法命名的符号。Java语言的标识符必须以字母,下划线(_),美元符($)开头,后面可以跟任意数目的字母,数字等。标识符规则注意:标识符可以由字母,数字,下划线和美元符号组成,其中数字不能打头。标识符不能是Java关键字和保留字,但可以包含关键字和保留字。标识符不能包含空格。标识符只能包含美元符,不能包含@,#等其他特...原创 2018-07-27 11:13:20 · 162 阅读 · 0 评论 -
12.线程池
线程池原理: 一个线程池中有多个处于可运行状态的线程,当向线程池中添加Runnable或Callable接口对象时, 就会有一个线程来执行run()方法或call()方法。如果方法执行完毕,则该线程并不终止, 而是继续在池中处于可运行状态,以运行新的任务。为什么要用线程池: public class ThreadCondition implements...转载 2018-08-04 12:03:00 · 132 阅读 · 0 评论 -
13.反射机制
一.什么是反射? 在运行状态中,对于任意一个类,都能够获取到这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法和属性(包括私有的方法和属性),这种动态获取的信息以及动态调用对象的方法的功能就称为java语言的反射机制。通俗点讲,通过反射,该类对我们来说是完全透明的,想要获取任何东西都可以。 想要使用反射机制,就必须要先获取到该类的字节码文件对象(.cla...翻译 2018-08-04 14:42:17 · 155 阅读 · 0 评论 -
7.Sting,StringBuffer和StringBuilder类
Java提供了String和StingBuffer两个类来封装字符串,并提供了一系列方法来操作字符串对象。(StringBuilder类是jdk1.5新增的) String类是不可变类,是不可以继承的,因为它被final修饰。一旦一个String对象被创建以后,包含在这个对象的字符串序列是不可改变的,直到这个对象被销毁。 StringBuffer对象则代表一...原创 2018-07-31 09:40:18 · 728 阅读 · 0 评论 -
8.Java Calendar获取年、月、日、时间
Java Calendar获取年、月、日、时间 Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00")); //获取东八区时间 int year = c.get(Calendar.YEAR); //获取年 int month = c.get(Calendar.MONTH) + 1; //...转载 2018-07-31 10:23:19 · 2195 阅读 · 0 评论 -
5.单例(Singleton)类
主要谈谈单例类。1.从名字我们都能看出单例类它是“单例的”,如果一个类始终只能创建一个实例,则这个类被称为单例类。2.总的来说这个单例类就是要求不允许自由创建该类的对象,只允许为该类创建一个对象。(避免其他类自由创建该类的实例,应该把该类的构造器私有化,用private修饰。)3.但是一旦把该类的构造器私有化了,就需要提供一个public方法作为该类的访问点,用于创建该类的对象,且这个...原创 2018-07-29 10:33:03 · 401 阅读 · 0 评论