![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 68
grey_mouse
Love life , love java
展开
-
HashMap 原理和面试常见的问题
hashmap原理HashMap 是基于哈斯表的 Map 接口的非同步实现,此实现提供所有可选的映射操作,并允许 null 值、null 键的存在,它存储的是键值对,但不保证映射的顺序,不保证该循序有恒不变。数据结构HashMap 底层是数组+链表的组合,结合了数组和链表优势,使寻址和插入、删除变容易了。1.7结构如下图:1.8结构如下图:从1.7的结构可以看出,如...原创 2019-03-07 19:07:55 · 957 阅读 · 2 评论 -
cookie和session(请求转发和请求重定向的区别、cookie 和 session的区别、session的生命周期)
cookiecookie 本意是小甜点, 在web开发中是用来维系状态的一种技术,可以用它实现记住用户名、密码这些参数的操作,就如我们每次登陆页面,跳转到其他页面时我们还是登陆的状态,这就用到了cookie记住用户名密码这一项功能(也就是服务器要向浏览器返回cookie),它的缺点是有安全风险,因为信息是存储在浏览器端的。创建cookie服务器要向浏览器返回cookie ...原创 2019-02-11 14:12:36 · 2925 阅读 · 0 评论 -
Spring中 mybatis的配置
Spring中 mybatis的配置配置相关步骤:1. 添加相关依赖<!-- spring 依赖 --><dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> ...原创 2019-02-21 21:43:06 · 472 阅读 · 0 评论 -
java -- 简单的Servlet 与 JSP的介绍及应用(Servlet 与 JSP的生命周期、EL表达式、生成动态内容及引入标签库,验证码的生成)
ServletJava Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层,使用 它可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页(前提是需要把Tomcat配置完成),准确的说它是服务 HTTP 请求并实现 javax.servlet.S...原创 2019-02-09 19:36:23 · 883 阅读 · 2 评论 -
java -- Tomcat和maven的配置以及在idea中的配置
web服务器1、分类静态静态网页,内容一旦设计好,就不能在运行过程中改变,常见的有Apache、Nginx。动态动态网页,内容可以根据用户的不同,展示不同的网页,或内容来自数据库,常见的 tomcat, jetty (免费的,开源的) ,商业的有weblogin websphere jboss2、Tomcat (Apache 用java语言编写) ...原创 2019-01-22 21:49:19 · 301 阅读 · 0 评论 -
java--单元测试工具(junit 断言)
单元测试工具每个测试方法都可以作为一个独立的入口, 可以测试执行类中的所有测试方法。需要导入hamcrest-core-1.3.jar和junit-4.12.jar(junit内部使用了反射知识完成单元测试)两个jar包,以下附赠它们的下载地址:(https://pan.baidu.com/s/1d-bLO39iDJfKDtU4lQt64w,https://pan.baidu.com/s/...原创 2018-12-29 22:20:17 · 1551 阅读 · 0 评论 -
java--反射
反射通过java的反射机制,可以在程序中访问已经加载到JVM中的java对象的描述,实现访问、检测、和修改描述java对象本身信息的功能,它是字java.lang.reflect包下的,并且想要调用访问信息的方法,就要得到class类的对象。 反射可访问的主要描述信息组成部分 访问方法 返回值类型 说明 包路径 getPackage() Package...原创 2018-12-13 18:35:12 · 125 阅读 · 1 评论 -
java--设计模式(7种)
设计模式设计模式(GOF,Gound Of Four)一共有23中,这些模式是为了让我们的代码更有效率而被开发的。1、单例模式单例模式也就是虚拟机只有一个实例对象,好处是可以直接访问,不需要实例化该类的对象。。代码演示1.1饿汉式public class Demo1 { //创建一个私有静态常量对象,这样子这个对象就不可以被更改,也不可以直接被访问 pri...原创 2018-11-29 19:59:14 · 226 阅读 · 0 评论 -
Java Stream API概述
概述Java Stream API可以使代码变得简洁,也就是在Java中引入函数式编程(函数式编程你可能会以为是某种数据结构,但非如此,它只是一种数据源的视图,数据源可以是数组、java容器(包括List、ArrayList、Vector及map、HashTable、HashMap、HashSet,也就是集合啦)、I/O或channel等)的概念,这也就是为什么JDK1.8会引入此接口的原因。...原创 2018-12-05 22:59:50 · 685 阅读 · 1 评论 -
java--Socket类和URL类
客户端Socket类Socket类底层的协议是TCP协议(传输控制协议,在传输层),可以给你想要获取数据的地址(ip地址)发送请求,然后获取数据。方法:构造函数public Socket(String host,int port);//"ip地址",端口号,如:127.0.0.1,5000发数据public OutputStream getOutputStream()...原创 2018-11-29 18:15:41 · 464 阅读 · 0 评论 -
java--枚举类
枚举类枚举类里面写的是对象,你也可以在下面写上成员方法或变量,这里面的对象可以调用这些方法,也可以说枚举类是用来存放固定个数的对象的。格式:public enum 枚举类名{}注意:枚举不能被继承,构造方法不能是公共的。代码演示public enum Demo8 { //枚举对象,直接写名字就可以,而且直接必须使用逗号,还有最重要的一点是所有枚举对象的类型...原创 2018-11-29 12:45:00 · 224 阅读 · 0 评论 -
java--进程和线程
进程和线程的概述在学习线程之前要先知道什么是进程,进程就是正在运行的程序,它是系统资源调度的独立单位,并且一个进程可以执行多个任务,而线程就是程序执行的任务,它是程序使用CPU的基本单位,因此也可以说线程是依赖于进程的。进程进程就是正在运行的程序,它是系统资源调度的独立单位,各个进程之间不会相互影响,因为系统给它们分配了不同的空间和资源,它分为单进程和多进程。单进程与多进程的概述...原创 2018-11-25 22:55:49 · 10386 阅读 · 3 评论 -
java--IO流
IO流的概述IO流用来处理设备之间的数据传输, 在Java中对数据的操作是通过流的方式进行的,Java用于操作流的对象都在IO包中,因此要导入IO包。File类File类是文件和目录路径名的抽象表现形式,它既可以用来表示目录,也可以用来表示文件。代码演示判断桌面是否有 .png 文件,有就输出该文件的绝对路径。import java.io.File;publi...原创 2018-11-16 16:27:54 · 207 阅读 · 0 评论 -
spring mvc 文件上传特殊配置及操作
文件上传1) pom.xml添加依赖<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.3</version>&原创 2019-02-24 23:33:36 · 219 阅读 · 0 评论 -
spring mvc 概述、配置及应用
spring mvc它是用来开发基于 web 的应用程序。流行的 mvc 框架 struts 1.x webwork struts 2.x (webwork+struts 1.x) ssh 经常暴露安全问题 springmvc 更容易上手,相对更安全mvc 思想model 模型 - 数据 domainview 视图 - 数据的展现方式 jsp, jstl, ...原创 2019-02-24 21:43:00 · 157 阅读 · 0 评论 -
spring 框架 (简化控制反转,事务管理)
简化控制反转spring 2.5开始, 提供了注解方式的控制反转和依赖注入。注解:@Component 加在类上,spring 扫描到它之后,就把它交给 spring 容器管理@Controller(表现层或叫控制层)@Service(业务逻辑层或叫服务层)@Repository(对应数据访问层) @Component(不属于前3层,不好分类时)@PostCons...原创 2019-02-22 00:00:25 · 211 阅读 · 0 评论 -
spring boot 介绍、配置及与 mybatis 的结合
spring boot在 spring 基础上进行了简化,提供一些配置的默认值,大大减少了配置。创建spring boot项目方法一使用向导(web 页面), 要联网 方法二 使用 maven 项目, 需要配置 pom.xmlpom.xml 参考:<!-- 1. parent 中是一些公共的pom 配置, 我们的项目从中继承即可 --><parent&...原创 2019-03-03 15:38:36 · 169 阅读 · 0 评论 -
java--线程安全集合 CopyOnWriteArrayList、ConcurrentHashMap、ConcurrentSkipListMap、BlockingQueue
概要线程安全集合可以分为三大类:从以前 jdk 传承下来的 Hashtable、Vector; 使用Collections装饰的线程安全集合,如:Collections.synchronizedCollection、Collections.synchronizedList、Collections.synchronizedMap、Collections.synchronizedSet ...原创 2019-03-06 19:51:50 · 708 阅读 · 0 评论 -
vue(vue.js) 框架 介绍及简单应用
前端框架介绍老牌jquery -> 更简单的方式去操作 dom 对象(标签对象) extjs -> 更适合做后台管理系统 easyui -> 模仿了 extjs 免费新式vue 国内开源的js框架 argularjs 国外js框架他们都提倡前后台分离,下面是对前后台分离的解释:传统的后台开发人员,需要做一下步骤:controller -> j...原创 2019-02-27 20:16:03 · 1032 阅读 · 0 评论 -
spring mvc 拦截器 配置及应用
spring mvc 中的拦截器拦截器和过滤器的作用是相同的,都是要把不符合情况的代码给拦截或者可以说是过滤掉,如:登录的密码或用户名不符合时,不可以登录等,这些都是需要被拦截或者过滤的。1)编写拦截器(实现 HandlerInterceptor 接口) @Componentpublic class Interceptor1 implements HandlerIntercept...原创 2019-02-26 13:12:02 · 144 阅读 · 0 评论 -
spring mvc ajax 的操作(内含对 json 数据的支持和请求跨域的内容)
spring mvc 中的拦截器1)编写拦截器(实现 HandlerInterceptor 接口) @Componentpublic class Interceptor1 implements HandlerInterceptor { // 在控制器方法执行前被调用, 返回 true 放行请求, 如果返回 false 拦截请求(不会前进了) @Override ...原创 2019-02-26 11:27:59 · 209 阅读 · 0 评论 -
spring mvc 异常处理(全局、局部异常)
异常处理局部的异常处理器,只针对某个控制器// 专门定义一个处理异常的方法,如: ArrayIndexOutOfBoundsException 异常@ExceptionHandler(Exception.class) // 异常处理器, 可以指定具体的异常类型public String error(Exception e) { System.out.println("进入了 E...原创 2019-02-24 22:41:48 · 1491 阅读 · 0 评论 -
spring mvc 乱码的解决方法
乱码问题的配置在没配置前,返回到服务器上的汉字是乱码,以下是具体配置:汉字乱码在 web.xml 中添加一个 spring 提供的 CharacterEncodingFilter<!-- 配置字符编码过滤器 ,name可以随意,但是两个必须一样 --><filter> <filter-name>bb</filter-name&...原创 2019-02-24 22:11:58 · 174 阅读 · 0 评论 -
spring 框架 AOP 面向切面编程原理及应用
面向切面编程在传统的编程业务逻辑处理代码时,通常会习惯性地做几件事:日志记录、事务控制及权限控制等,然后才是编写核心的业务逻辑处理代码,完成这几件事之后会发现代码量巨大,但是真正用于核心业务的代码很少,因此引入了切面编程,它把所有共有的代码全部抽出,放置在一个集中的地方进行管理,让后集体运行时,再由容器动态织入这些共有的代码,这样不但可以提高效率,而且也会使代码变得更加简洁。AOP (a...原创 2019-02-23 22:09:12 · 625 阅读 · 0 评论 -
spring 框架(核心思想、IOC 控制反转、依赖注入、管理连接池)
分层开发 1、表现层 直接和用户打交道,大部分跟界面有关(html,jsp,servlet) 2、服务层 指业务逻辑,业务逻辑由一个到多个基本的增删改查组成 3、 持久层(数据访问层) 将数据永久的保存,jdbc,mybatisspring 框架 将其他框架进行整合,便于开发,提高程序的扩展性 声明式的...原创 2019-02-20 22:24:21 · 516 阅读 · 0 评论 -
java--动态代理技术
动态代理技术在学习动态代理之前,需要了解的是一种常用的设计模式--代理模式,而对于代理,根据创建代理类的时间点,又可以分为静态代理和动态代理。代理模式代理模式是常用的java设计模式,他的特点是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等,它们之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的...原创 2019-02-22 23:14:32 · 986 阅读 · 0 评论 -
java--ajax技术和json的介绍及应用(自动补全、省级联动)
Ajax的定义ajax是多种技术的统称,它向服务器发送请求的一种手段,但发送请求时不会导致页面刷新或跳转。 a - asynchronous - 可以通过 xhr 对象发送异步请求 j - javascript a - and x - xml - 指响应格式 ,后来应用主流是json,但是名字已经定下,这里的x'也可以说是xml和jsonXMLHttpRequest 对象的...原创 2019-02-13 16:32:52 · 301 阅读 · 0 评论 -
mybatis框架 配置及应用(xml文件形式的增删改、接口标签形式的增删改、 #{ } 与 ${ } 的区别、日志工具监控mybatis生成的sql语句)
mybatis的概述MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射,它避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集,它可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。框架分类1) 持久层框架 (与数据库打...原创 2019-02-17 22:56:01 · 340 阅读 · 0 评论 -
java--异常
异常在学习IO流之前要先学习异常,因为IO流无非就是上传文件和下载文件,在这过程中或许会出现问题,我们要解决这个问题,因此要先学习异常,异常也就是在程序运行时出现的错误,它分为运行异常和编译异常。编译异常和运行异常的区别 编译异常 运行异常 Java程序必须显示处理,否则程序就会发生...原创 2018-11-14 15:47:06 · 109 阅读 · 0 评论 -
java--Map集合
Map集合Map对象是将键映射到值的对象, 一个映射不能包含重复的键,每个键最多只能映射到一个值,并且它也是一个接口,因此它不能直接实例化,但可以用多态的方式创建对象。Map接口和Collection接口的区别Map接口和Collection接口的区别 Map接口 Collection接口 Map是双列的 Collection是单列的 Map的键值是唯一的...原创 2018-11-07 23:27:54 · 201 阅读 · 0 评论 -
java--基本类型包装类的概述
基本类型包装类的概述 为了对基本数据类型进行更多的操作,更方便的操作,java就针对每一种基本数据类型提供了对应的类类型,我们常常用它来进行基本数据类型与字符串之间的转换。基本类型和包装类的对应基本数据类型包装类byteByteshortShortcharCharacterintIntegerfloatFloatdoubleDouble...原创 2018-11-02 15:22:53 · 142 阅读 · 1 评论 -
java--static关键字、package关键字、import关键字
static关键字、package关键字、import关键字static关键字静态成员变量与成员变量的区别静态成员变量成员变量所属不同静态属于类,因此也叫类变量成员变量属于对象,因此也叫实例变量或对象变量内存中的位置不同存储于内存中方法区的静态区存储于堆内存中出现在内存中的时间不同随着类的加载而加载,随着类的消失而消失随着对象的创建而创建,随...原创 2018-10-25 19:39:34 · 659 阅读 · 0 评论 -
java--构造方法
构造方法调用构造方法的演示Student类public class Student { public Student() { System.out.println("我是Student的无参构造函数"); } public Student(int a) { //方法重载 System.out.print...原创 2018-10-20 23:16:17 · 213 阅读 · 0 评论 -
java--匿名对象
匿名对象 前面说的创建对象都是有名字的对象,现在我要说的是匿名对象,即没有名字的对象,它与有名字的对象的区别,在于只能调用一次,请看下面例子。public class Text { public static void main(String[] args) { Text n = new Text(); //创建一个名为n的Text对象 n.m(...原创 2018-10-20 21:37:54 · 119 阅读 · 0 评论 -
java--Java数组
数组 在学习数组之前要先了解什么是数组,数组就是储存同一种类型的数据的集合,它是为了方便我们储存数据,如果不用数组的话,想要储存数据时,就要定义变量,如果变量多了,会使代码变得繁琐。数组示意图![在这里插入图片描述](https://img-blog.csdn.net/20181016210847628?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubm...原创 2018-10-17 18:46:23 · 221 阅读 · 0 评论 -
java--Scanner键盘录入的基本格式
Java 键盘录入的基本格式 在学习怎么用键盘输入数据之前,要先了解为什么要用键盘输入数据,因为,在开发程序时用符合程序的数据进行录入,可以让程序更加灵活。如何实现录入首先在class上面写导包 import Java.util.Scanner;然后创建键盘录入对象 Scanner x=new Scanner(System.in); 注:这里的x只是创建一个Scanner对象,而取...原创 2018-10-10 19:48:22 · 2892 阅读 · 1 评论 -
java--成员变量和局部变量的区别
成员变量和局部变量的区别 前面讲类的那一篇博客中有提到成员变量,它也称为全局变量,既然有全局变量,也就有局部变量,让我们看看它们的区别吧。局部变量成员变量在方法定义中或方法声明上在类中,方法外在栈中在堆中随着方法的调用而存在,方法调用结束后消失随着对象的创建而创建,随着对象的消失而消失没有默认初始值,需要赋值后,才能使用有默认初始值注:局部变量和成...原创 2018-10-19 21:01:52 · 290 阅读 · 0 评论 -
java--类与对象
类与对象 你可能会疑惑什么是类?什么又是对象呢?打个比方吧,人类就是一个类,而包含在其中的你就是一个对象,也就是说类是某种对象的集合,对象就是对类的具体体现。事物与类的关系图类的定义修饰符 class 类名 { 数据类型 变量名; //成员变量 修饰符 返回值类型 方法名(){ // //方法体 ...原创 2018-10-19 19:54:11 · 126 阅读 · 0 评论 -
java--面向对象的思想
面向对象 你可能会疑惑什么是面向对象呢?面向对象其实就是针对一个或多个对象,我要对它或他们做些什么,只考虑对象的需求和要求,比如说喝水,我就拿起水杯装水就行了,不需要考虑之间的一系列过程,,这一过程已经被封装好了,直接调用就可以完成这件事情了;而面向过程呢,是要具体到过程,比如喝水这件事,在面向过程中我要先拿个杯子,然后走到水壶前,最后将水倒进杯子里,这就是面向过程。示意图...原创 2018-10-18 22:55:19 · 236 阅读 · 0 评论 -
java--递归
递归 有肯能你会疑惑什么是递归呢?递归就是调用其本身,说白了就是在方法定义中调用方法自身。不过在学习递归之前,先了解一下堆和栈把。堆与栈栈堆用来存放局部变量的局部变量:在方法定义中和声明上的变量存放的是new出来东西特点每一个new出来的东西,都会对其分配一个空间,如果是一个变量的话,会为其赋上默认值,最后使用完毕后会等待垃圾回收器,将其回收数据类型...原创 2018-10-18 19:55:12 · 391 阅读 · 0 评论